COMPUTER ARCHITECTURES-FOUNDATIONS

Academic year
2024/2025 Syllabus of previous years
Official course title
COMPUTER ARCHITECTURES-FOUNDATIONS
Course code
CT0668 (AF:521406 AR:292736)
Modality
On campus classes
ECTS credits
6 out of 9 of COMPUTER ARCHITECTURES
Degree level
Bachelor's Degree Programme
Educational sector code
INF/01
Period
1st Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
The course is part of the foundational training activities of the Bachelor's degree program in Computer Science, as it provides the essential knowledge that a graduate must hold both in their area of specialisation and in the broader context of Computer Science. It also helps developing critical awareness of the epistemology of the discipline.
The course places particular emphasis on the interface between hardware and software in a computer system, enabling students to acquire the theoretical foundations and basic techniques for the design of the main computer components: processor, main memory and cache, and Input/Output systems. Furthermore, it allows for an in-depth understanding of the machine/assembler levels of a conventional computer.
The course aims at the following results.

Knowledge and understanding. The student will:
- Master the specific technical terminology.
- Be able to recognise and understand the theoretical foundations and techniques for designing the main components of a computer.
- Be familiar with the digital information representation and the Boolean logic operations.
- Understand the complexity of modern computer architectures and their influence on software design and performance.
- Understand economic, social and environmental impacts of digital transformation due to technology advancements.

Ability to apply knowledge and understanding. The student will:
- Be able to execute exercises applying the knowledge acquired during the course: representation and conversion of numeric values, implementation of logical circuits, parallelism at instruction level (pipeline), implementation of the memory hierarchies.
- Use the computer architectures knowledge to evaluate their influence on the software design and performance evaluation.

Independent Judgment. The student will be able to analyse and propose solutions that align with available resources while meeting quality standards.
- Basics of mathematics and logic.
- Computer organization and abstraction levels
- Information representation, computer arithmetics, Boolean algebra
- Machine instructions: MIPS processor, basic notions
- Combinatorial/sequential circuits
- Advanced CPU project and instruction level parallelism: pipeline
- Memory hierarchies: cache
- Virtual memory
- Input and Output
- David A. Patterson, John L. Hennessy. "Computer Organization and Design MIPS Edition: The Hardware/Software Interface", 6th edition (2020). ISBN: 9780128201091
- Professor's and tutoring lecture notes.
The exam is written with a time limit of 2 hours.
The aim of the test is to verify the student proficiency and knowledge of the various topics covered during the course, including theoretical questions and practical exercises requiring a direct application of theoretical knowledge.

The exam will include practical exercises and theoretical open-ended questions. The total score (30 points) is assigned as follows:
Exercise (4 points): Information representation, combinatorial/sequential circuits
Exercise (5 points): Cache memory
Exercise (5 points): Dependencies between instructions in pipelined CPU, performances
Theoretical open-ended questions (total 16 points) on the course topics.
written
- Frontal theoretical lessons
- Practical examples shown by the teacher
- Exercises
English
Definitive programme.
Last update of the programme: 28/01/2025