|Teoria||9||II semestre, I semestre||Franco Fummi, Luca Geretti|
|Laboratorio||2||II semestre, I semestre||Francesco Setti|
|Esercitazioni||1||II semestre, I semestre||Luca Marchetti|
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.
- information coding,
- Boolean functions,
* 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.
* Automatic design of a programmable device
* Assembly programming of the Intel 80X86 architecture
* Interaction between assembly and high-level code
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.