I moderni elaboratori e l'evoluzione tecnologica. Il ruolo delle prestazioni. Introduzione ai linguaggi assembly. Il linguaggio MIPS. Il simulatore Spim. Reti logiche combinatorie e sequenziali. Concetti fondamentali di rappresentazione dei numeri e aritmetica binaria. Il progetto di una ALU. Moltiplicazione e divisione. Numeri in virgola mobile. Progetto della CPU a ciclo singolo e a cicli multipli. Eccezioni. Pipelining. Il sistema interruzioni. Le interazioni con le periferiche.
D. Patterson, J. Hennessy. Computer Organization and Design (The Hardware/Software Interface), Morgan & Kaufmann, 4/e, 2009 (edizione italiana dello stesso testo: Struttura e Progetto dei Calcolatori, 3/e, Zanichelli, 2010).
C. Bolchini, C. Brandolese, F. Salice e D. Sciuto. Reti logiche, 2/e, Apogeo, 2009.
Obiettivi Formativi
Il corso intende fornire gli elementi di base per comprendere l'architettura dei calcolatori e l'interfaccia tra quest'ultima ed i livelli di astrazione superiori di un sistema di calcolo. Inoltre l'insegnamento di un linguaggio assembly (MIPS) intende fornire gli elementi per comprendere i linguaggi assembly e l'interfaccia che essi costituiscono fra l'architettura hardware ed i livelli di astrazione superiori di un sistema di calcolo.
Prerequisiti
Nessuno
Metodi Didattici
CFU: 12
Numero di ore totali del corso: 300
Numero di ore per studio personale e altre attività formative di tipo individuale: 194
Numero di ore relative alle attività in aula: 82
Numero di ore relative ad attività di laboratorio (lezioni in laboratorio): 20
Numero di ore relative ad attività di esercitazioni (in laboratorio e in campo): 0
Numero di ore relative ad attività seminariali: 0
Numero di ore relative ad attività di stage: 0
Numero di ore per prove in itinere: 4
Altre Informazioni
Frequenza delle lezioni ed esercitazioni: Raccomandata
Strumenti a supporto della didattica UniFi E-Learning: http://e-l.unifi.it
Orario di ricevimento:
Prof. Andrea Bondavalli,
Su appuntamento. Contattare il docente tramite numero telefonico o e-mail (bondavalli@unifi.it).
DiMaI, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751481
Dott. Paolo Lollini,
Su appuntamento. Contattare il docente tramite numero telefonico o e-mail (lollini@unifi.it).
DiMai, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751486
Modalità di verifica apprendimento
Scritta e orale.
Programma del corso
I moderni elaboratori e l’evoluzione tecnologica.
Il ruolo delle prestazioni.
Reti logiche combinatorie: specifica, sintesi, minimizzazione.
Metodologie di timing ed elementi di memoria.
Macchine a stati finite e reti sequenziali.
Introduzione al linguaggio assembly del sistema MIPS.
Il simulatore QtSpim.
Laboratorio: programmazione in ambiente QtSpim;
Concetti fondamentali di rappresentazione dei numeri e aritmetica binaria.
Il progetto di una ALU.
Moltiplicazione e divisione.
Numeri in virgola mobile.
Progetto della CPU a ciclo singolo: il cammino dei dati ed il controllo.
Progetto della CPU a cicli multipli: il cammino dei dati ed il controllo.
Eccezioni.
Miglioramento delle prestazioni col Pipelining: il cammino dei dati ed il controllo.
Gerarchie di memoria.
Le interazioni con le periferiche ed Il sistema interruzioni.