Computer Architecture [Matricole dispari] (2019/2020)

Course code
4S00011
Credits
12
Coordinator
Franco Fummi
Academic sector
ING-INF/05 - INFORMATION PROCESSING SYSTEMS
Language of instruction
Italian
Teaching is organised as follows:
Activity Credits Period Academic staff Timetable
Teoria 9 II semestre, I semestre Franco Fummi, Luca Geretti

Go to lesson schedule

Laboratorio 2 II semestre, I semestre Francesco Setti

Go to lesson schedule

Esercitazioni 1 II semestre, I semestre Luca Marchetti

Go to lesson schedule

Learning outcomes

This course presents the theoretical and practical knowledge to implement an algorithm into a digital architecture. Some design alternatives are presented ranging from a pure software, running on a general purpose computer, to an ad-hoc hardware implementation. At the end of the course, the student shall prove: to possess the practical and theoretical notions required for the digital realization of an algorithm, along with an understanding of the issues related to hardware implementation of such algorithms; to be able to apply the acquired notions for the identification of the requirements of a machine able to realize the given task; to evaluate the underlying complexity of the digital realization; to be able to present the main features of a project developed autonomously, and to interact with colleagues when working on a common project; to be able to autonomously build the competences required to continue studies in the field of digital systems design.

Syllabus

Theory
----------
* Fundamentals:
- information coding,
- Boolean functions,
- arithmetic.

* Digital devices design:
- combinational circuits,
- sequential circuits,
- controller-datapath circuits,
- programmable units.

* Computer architecture:
- basic principles,
- instruction set,
- elaboration unit,
- memory hierarchy,
- I/O organization,
- actual architectures (cache, virtual memory, pipeline),
- parallel architectures.

Laboratory:
-----------------
* Automatic design of a programmable device
* Assembly programming of the Intel 80X86 architecture
* Interaction between assembly and high-level code

Assessment methods and criteria

To pass the exam, the students must show that:
- they are able to design a digital device,
- they have understood the principles of a computer architecture,
- they are able to program in assembly code by correcly interacting with all computer components,
- they are able to apply the acquired knowledge to solve application scenarios described by means of exercises,, questions and projects.
Theory comprehension is checked through a written examination, eventually divided in parts that will be checked during each semester.
Practical skills are evaluated through two designs which can have a maximal impact of 4/30 on the final mark.
Theory without practical marks are preserved through examination sessions at the cost of a reduction.