Computer architectures

Course objectives

The aim of the course is to provide the first tools for the selection of the best architecture of the processing system according to the performance and reliability goals. This will be done starting from the hardware design methodologies and then on the description of the organization of the actual computers, including that of the memory, of the peripheral devices, and the interaction mode among them and the processors. The study of the different solutions will be done through the analysis of the relationship between the hardware and software of the system. This knowledge will enable students to understand the advantages and disadvantages of the different architectures of the processors available in the market, as well as how they interact with each other and with the peripheral devices. Specific objectives: Knowledge and understanding: Learn through the project the choice, taking care of the cost / performance ratio, of the best hardware and software solutions of the computing systems Apply knowledge and understanding: Being able to design and choose a computing system. Critical and judgment skills: Be able to verify the quality of a processing system and verify its ability to meet the needs of customers and managers. Communication skills: The project activities and the course exercises allow the student to be able to work in a group of multidisciplinary designers. Learning ability: Learning the design methods of digital systems and then applying them to the design of a computing system allows students to identify the best design solutions regardless of the technologies used

Channel 1
GIUSEPPE ANTONIO DI LUNA Lecturers' profile

Program - Frequency - Exams

Course program
Il corso si propone di dare una panoramica delle architetture moderne con un focus specifico sugli elementi di base di un calcolatore: CPU e Memoria. Gli strumenti didattici utilizzati saranno l'hardware description language Verilog e l'ISA RISC V. Il corso segue un approccio bottom-up in cui partendo dagli elementi di base (transistor) si mostra prima come creare reti combinatorie e sequenziali e poi si mostra come blocchi di base possono essere composti per formare sistemi digitali complessi. Questa prima parte discuterà gli aspetti fondamentali delle reti logiche combinatorie (sintesi e la minimizzazione delle stesse), problematiche di timing (tempo critico di un circuito e ritardi di contaminazione). Inoltre verrano analizzati gli aspetti di base delle reti sequenziali (sintesi di reti di moore) con la descrizione degli elementi di memoria fondamentali (flip-flop e registri). La prima parte si conclude con la presentazione del linguaggio di descrizione hardware verilog. La seconda parte è dedicata a CPU e memorie. Vengono spiegati i principi dietro le varie tipologie di ISA, e presentata l'isa di riferimento ISA RISC-V (https://en.wikipedia.org/wiki/RISC-V). Vengono presentate micro-architetture implementanti RISC-V a singolo ciclo e con pipeline, con particolare focus sulle problematiche introdotte dal pipelining (Hazard di dati e di controllo). Viene discusso come questi problemi possono essere attenuati con tecniche quali branch prediction e out-of-order execution. Dopo vengono brevemente descritte le architetture vettoriali e infine le problematiche hardware dietro l'implementazione di una gerarchia di memoria in particolare l'interazione tra virtual memory e caching. Durante il corso vengono forniti i riferimenti a testi, video e implementazioni di processori per un'approfondimento autonomo di argomenti avanzati da parte degli studenti interessati.
Prerequisites
Conoscenze di base dei sistemi di calcolo.
Books
1) John L. Hennessy, David A. Patterson -Computer Organization and Design RISC-V Edition 2) D. Harris and S. Harris, "Digital Design and Computer Architecture". 2nd edition 3) John L. Hennessy, David A. Patterson, "Computer architecture, a quantitative approach" 6th edition, Morgan Kaufmann.
Teaching mode
Mixed mode remote and in person
Frequency
tradizionale
Exam mode
Written test.
Bibliography
1) John L. Hennessy, David A. Patterson -Computer Organization and Design RISC-V Edition 2) D. Harris and S. Harris, "Digital Design and Computer Architecture". 2nd edition 3) John L. Hennessy, David A. Patterson, "Computer architecture, a quantitative approach" 6th edition, Morgan Kaufmann.
Lesson mode
Mixed mode remote and in person
  • Lesson code1041751
  • Academic year2025/2026
  • CourseComputer and Control Engineering
  • CurriculumInformatica
  • Year3rd year
  • Semester2nd semester
  • SSDING-INF/05
  • CFU6