ARCHITETTURE DEI CALCOLATORI

Obiettivi formativi

Obiettivi generali: Obiettivo del corso è di fornire agli studenti i primi strumenti per la scelta della migliore architettura del sistema di elaborazione in funzione degli obiettivi di prestazione ed affidabilità che si vuole raggiungere. Ciò verrà fatto partendo dalle metodologie di progettazione dell'hardware per passare poi all'organizzazione di base dei calcolatori elettronici, includendo quella della memoria, delle periferiche e delle modalità di interazione tra queste e i processori. Lo studio delle diverse soluzioni verrà effettuato attraverso l'analisi della relazione tra l'hardware e il software di sistema. Tali conoscenze consentiranno agli studenti di comprendere i vantaggi e gli svantaggi delle varie soluzioni architetturali dei processori disponibili sul mercato, nonché le modalità di interazione tra di loro e con le periferiche. Obiettivi specifici: Conoscenza e comprensione: Arrivare tramite il progetto ad apprendere le modalità di scelta, basate sul rapporto costo/prestazioni, delle migliori soluzioni hardware e software dei sistemi di elaborazione Applicare conoscenza e comprensione: Essere in grado di progettare e scegliere un sistema di elaborazione. Capacità critiche e di giudizio: Essere in grado di verificare la qualità di un sistema di elaborazione e verificarne la capacità a soddisfare le esigenze dei clienti e dei gestori. Capacità comunicative: Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di lavorare in un gruppo di progettisti multidisciplinare. Capacità di apprendimento: Apprendere le metodologie di progettazione dei sistemi digitali e poi applicarle alla progettazione di un sistema di elaborazione permette agli studenti di identificare le migliori soluzioni progettuali indipendentemente dalle tecnologie utilizzate

Canale 1
GIUSEPPE ANTONIO DI LUNA Scheda docente

Programmi - Frequenza - Esami

Programma
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.
Prerequisiti
Conoscenze di base dei sistemi di calcolo.
Testi di riferimento
Il corso è basato sul materiale reperibile in diversi testi. 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. Vengono fornite durante il corso le presentazioni utilizzate per lo svolgimento delle lezioni e ulteriori esercizi di approfondimento autonomo.
Modalità insegnamento
Modalità blended
Frequenza
tradizionale
Modalità di esame
La prova di esame consiste in un esame scritto con vari esercizi, e una discussione orale dell'elaborato con ulteriori domande di approfondimento e valutazione.
Bibliografia
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.
Modalità di erogazione
Modalità blended
  • Codice insegnamento1041751
  • Anno accademico2025/2026
  • CorsoIngegneria Informatica e Automatica
  • CurriculumInformatica
  • Anno3º anno
  • Semestre2º semestre
  • SSDING-INF/05
  • CFU6