COMPUTER ARCHITECTURE - 2

Academic year
2022/2023 Syllabus of previous years
Official course title
ARCHITETTURA DEGLI ELABORATORI - MOD.2
Course code
CT0615 (AF:379949 AR:198877)
Modality
On campus classes
ECTS credits
6 out of 12 of COMPUTER ARCHITECTURE
Degree level
Bachelor's Degree Programme
Educational sector code
ING-INF/05
Period
2nd Semester
Course year
1
Where
VENEZIA
Moodle
Go to Moodle page
The teaching falls within the basic educational activities of the degree course in Computer Science.
It allows to learn foundations and techniques for the design of the main components of a computer: Processor - Input/Output - Memory.
It also allows deepening the knowledge on the machine/assembly levels of a conventional computer. The course provides further knowledge on measures and techniques for performance evaluation of a computer.

Finally, the course emphasizes the hardware/software interface of computers.
Knowledge and understanding.

The student will have mastered the specific technical terminology.
She will be able to recognize and understand the theoretical foundations and techniques for designing the main components of a computer.
She will have knowledge on the representation of information and on measures for performance evaluation.
She will understand the complexity of modern computer architectures, and their influence on software design and performance.
Furthermore, the student will acquire knowledge on the level of machine/assembly programming, and on the translation of simple high-level programs in assembly language.

Ability to apply knowledge and understanding.

The student will be able to carry out exercises aimed at applying the knowledge acquired in the various topics of the course; in particular, on the representation of integer and real numeric values, on the logical design of circuits, on the parallelism at the level of instructions, on the realization of the various levels of memory hierarchies, on performance evaluation of processors and I/O subsystems, on assembly translation of high-level imperative programs.
She will also be able to make hardware/software choices applying the principles of performance evaluation.
- Computer Architecture (Mod.1)
- C programming language
- Advanced project of a CPU: pipeline
- Memory hierarchies
- Input/Output
- Performance evaluation
- The ARM instruction set
- Program execution: compiler, assembler, linker, loader
- The translation process: from C to ARM assembly
- Laboratory examples on real-world ARM architectures (like the Raspberry Pi)
- David A. Patterson, John L. Hennessy. "Struttura e Progetto dei Calcolatori" 4th Italian edition based on 5th English edition. Zanichelli, 2015
- David A. Patterson, John L. Hennessy. "Computer Organization and Design ARM Edition", Morgan Kaufmann; 1st edition (March 16, 2016)
- David Money Harris Sarah L. Harris. "Sistemi digitali e architettura dei calcolatori. Progettare con tecnologia ARM", Trad. di O. Scarabottolo, rev. di N. Scarabottolo, Zanichelli, 2017
The exam is composed of some open-ended theoretical questions and exercises to test the proficiency of the student with respect to the various topics of the course

The exam is written with a time limit of 90 minutes. It comprises 4 exercises and 3 theoretical questions to test the student's proficiency with respect to the various topics of the course.

Exam structure:
Exercise 1 (max 5 points): Cache
Exercise 2 (max 6 points): Dependencies between instructions and temporal execution diagram of a CPU
Exercise 3 (max 5 points): Translation from C to Assembly ARM A64
Exercise 4 (max 8 points): Coding in Assembly ARM A64
3 theoretical questions (max 2 points each) on the topics studied along the course.
- Frontal theoretical lessons
- Practical examples shown by the teacher on embedded ARM devices
- Exercises
Italian
written
Definitive programme.
Last update of the programme: 12/07/2022