Computer Architecture [Matricole pari] (2018/2019)



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 Claudio Tomazzoli

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.

Reference books
Activity Author Title Publisher Year ISBN Note
Teoria C. Hamacher, Z. Vranesic, S. Zaky, N. Manjikian Introduzione all'architettura dei calcolatori (Edizione 1) McGraw-Hill 2012 9788838667510 seconda parte del corso
Teoria Franco Fummi, Mariagiovanna Sami, Cristina Silvano Progettazione Digitale (Edizione 2) McGraw-Hill 2007 8838663521 prima parte del corso
Teaching aids
Title Format (Language, Size, Publication date)
Orario Dettagliato I Semestre html html (it, 82 KB, 31/10/18)

Student opinions - 2017/2018