COMPUTER ARCHITECTURES-LABORATORY

Academic year
2024/2025 Syllabus of previous years
Official course title
ARCHITETTURA DEGLI ELABORATORI-LABORATORIO
Course code
CT0681 (AF:528592 AR:297314)
Modality
On campus classes
ECTS credits
3 out of 9 of COMPUTER ARCHITECTURE
Degree level
Bachelor's Degree Programme
Educational sector code
INF/01
Period
1st Semester
Course year
1
Where
VENEZIA
The teaching falls within the basic educational activities of the degree course in Computer Science.
It allows for learning foundations and techniques for the design of the main components of a computer: Processor - Input/Output - Memory.
It also permits to deepen the knowledge on the machine/assembly levels of a conventional computer.
Finally, the course emphasizes the hardware/software interface of computers.
Knowledge and understanding:
The student will acquire knowledge on the machine/assembly programming level, the role of the compiler, linker, and loader, and the translation of simple high-level programs into 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 assembly translation of high-level imperative programs.
- Basic concepts of the C programming language (skills acquired in parallel with the Programming course)
The following topics will be covered during the course:

- Writing and executing of assembly programs on the Linux operating system
- The ARM A64 CPU instruction set
- Role of the compiler, assembler, linker, and loader in program development
- Translation process from C to assembly
- Memory management: global variables, stack and heap
- SIMD architectures with ARM NEON case study
- Smith, Stephen. "Programming with 64-Bit ARM Assembly Language: Single Board Computer Development for Raspberry Pi and Mobile Devices." Apress, 2020.
- David A. Patterson, John L. Hennessy. "Computer Organization and Design MIPS Edition: The Hardware/Software Interface", 5th edition, 2013
The written exam lasts 60 minutes. It includes 2 exercises and 2 open-ended theoretical questions to test the skills acquired during the course.

Composition of the written exam:

Exercise 1 (max 9 points): Translation from C code to ARM A64 Assembly code
Exercise 2 (max 16 points): Programming a function in Assembly ARM A64 based on the given specifications
Theoretical questions (5 points total) on the topics covered during the course.
- Frontal theoretical lessons
- Practical examples are shown by the teacher on emulators and/or embedded ARM devices
- Exercises
Italian
written
Definitive programme.
Last update of the programme: 01/03/2024