Giorno |
Orario |
Sessione |
Aula |
Obiettivi Formativi
Il Corso ha lo scopo di descrivere l'architettura di base di un calcolatore, di illustrare gli aspetti architetturali che influenzano il nucleo del sistema operativo e di presentare le regole di corrispondenza tra linguaggio assembly e linguaggio ad alto livello.
Programma
01. Introduzione:
01.01 Automazione.
01.02 Breve storia del calcolo automatico.
02. Codifica delle informazioni:
02.01 Il problema della codifica digitale.
02.02 Rappresentazione digitale di insiemi numerici e aritmetica binaria.
02.03 Rappresentazione digitale di insiemi non numerici e segnali.
03. Reti logiche:
03.01 Porte logiche e reti di interruttori, algebra di Boole, reti logiche.
03.02 Sintesi di reti logiche combinatorie.
03.03 Reti logiche sequenziali.
03.04 Progettazione di circuiti logici a livello gate.
03.05 Sistemi digitali.
03.06 Laboratorio: progetto e simulazione di reti logiche con TkGate.
04. Sistemi a microprocessore:
04.01 Il modello di Von Neumann.
04.02 Il repertorio delle istruzioni e la classificazione delle architetture.
05. L'architettura interna della CPU:
05.01 Pipelining e prestazioni.
05.02 Architettura di riferimento: DLX.
05.03 Conflitti e stalli.
05.04 Laboratorio: simulazione della pipeline del DLX con WinDLX.
05.05 Microprocessori multiple-issue.
06. La memoria:
06.01 Dispositivi di memoria: RAM statiche e dinamiche.
06.02 La gerarchia di memoria: caching e memoria virtuale.
07. La comunicazione:
07.01 I bus e i dispositivi di I/O.
07.02 Le interruzioni.
Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento
- Modalità didattiche
- Lezioni frontali ed esercitazioni di laboratorio.
- Obblighi
- Nessuno.
- Testi di studio
- Bucci, "Architetture dei Calcolatori Elettronici", McGraw-Hill, 2001.
Hennessy, Patterson, "Computer Organization and Design: The Hardware/Software Interface", Morgan Kaufmann, 1998.
- Modalità di
accertamento
- Prova scritta, tesina individuale e prova orale