Architettura degli Elaboratori

Prof. E. Tramontana

Corso da 9 CFU, Primavera 2016 (AA 2015-16)
Corso di Laurea in Informatica, Università di Catania

Il libro di riferimento del corso è C. Hamacher, et al. Introduzione all'architettura dei calcolatori. Terza edizione. McGraw-Hill.

Le slide usate durante le lezioni sono disponibili su moodle a questo link e sono accessibili dopo aver fatto log in. Su moodle, oltre alle slide, sono disponibili vari esercizi.

Il seguente programma riguarda 6 CFU tenuti da me, mentre gli altri 3 CFU sono stati tenuti dal Prof. G. Pappalardo.
Data Argomento trattato
14 Marzo Famiglie di calcolatori, componenti funzionali, concetti di base, istruzioni Load, Add, Store, e programmi Assembly per la somma di due numeri, tre numeri e n numeri (Capitolo 1, sez. 1.1, 1.2, 1.3)
16 Marzo Rappresentazione di numeri, somme binarie, conversioni da binario a decimale, rappresentazione dei caratteri, controllo di errore con bit di parità parallelismo (Capitolo 1, sez. 1.4, 1.5, 1.6)
23 Marzo Logica della commutazione (Appendice A) (Dott. Napoli)
4 Aprile Porte logiche (Appendice A) (Dott. Napoli)
6 Aprile Generazioni dei calcolatori (Capitolo 1, sez. 1.7), memoria e indirizzamento, notazioni, insiemi di istruzioni, modi di indirizzamento (Capitolo 2, sez. 2.1, 2.2, 2.3, 2.4, 2.13)
11 Aprile Direttive assemblatore, pila, sottoprogrammi e passaggio parametri (Capitolo 2, sez. 2.5, 2.6, 2.7)
13 Aprile Programmazione Assembly per calcolo prodotto scalare fra due vettori e ricerca minimo su una lista di numeri (Capitolo 2, sez. 2.12. Eserciziario, Probl. 2.2)
18 Aprile Area di attivazione e chiamate a sottoprogrammi annidate, salvataggio di FP e LR, operazioni di Shift, rotazione, And e Or. Esercizio su impaccamento di bit. Istruzioni per processori CISC, Add e autoincremento (Capitolo 2, sez. 2.7, 2.8, 2.9, 2.10, 2.11)
4 Maggio Accesso ai dispositivi di I/O, registri delle interfacce dei dispositivi, interruzioni, priorità, interruzioni vettorizzate, eccezioni, esempi (Capitolo 3)
11 Maggio Assemblatore, caricatore, collegatore, librerie, compilatore, debugger, uso di C per le operazioni di I/O (Capitolo 4)
16 Maggio Interazioni fra Assembly e C, Sistema operativo (Capitolo 4)
18 Maggio Hardware per l'elaborazione di dati, esecuzione di istruzioni (Capitolo 5, sez. 5.1, 5.2)
25 Maggio Componenti hardware: banco di registri e ALU, percorso dati, prelievo istruzioni, passi di esecuzione, salti e chiamate a sottoprogramma (Capitolo 5, sez. 5.3, 5.4)
1 Giugno Segnali di controllo, controllo di tipo cablato, ritardi da memoria (Capitolo 5, sez. 5.5, 5.6)
6 Giugno Processori in stile CISC, interconnessione tramite bus, controllo microprogrammato (Capitolo 5, sez. 5.7), Organizzazione in pipeline, dipendenze di dato, inoltro di operandi, ritardi della memoria (Capitolo 6, sez. 6.1, 6.2, 6.3, 6.4, 6.5)
9 Giugno Ritardi nei salti, posto del ritardo di salto, predizione di salti, limiti di risorse, valutazioni di prestazioni, funzionamento superscalare, esecuzione fuori ordine, pipeline nei CISC (Capitolo 6, sez. 6.6, 6.7, 6.8, 6.9, 6.10). Sistema di ingresso uscita, bus, sincrono e asincrono (Capitolo 7, sez. 7.1, 7.2)
13 Giugno Sistema di ingresso uscita, arbitraggio del bus (Capitolo 7, sez. 7.3). Sistema di memoria, memoria RAM a semiconduttori, memoria statica e dinamica asincrona e sincrona, banco di memoria, rinfresco, DMA (Capitolo 8, sez. 8.1, 8.2, 8.4)
15 Giugno Gerarchia di memoria, memoria cache, indirizzamento diretto, associativo, e associativo a gruppi, algoritmo di sostituzione, considerazioni di prestazione, guadagno di prestazione, esercizi su tempo di accesso alla memoria (Capitolo 8, sez. 8.5, 8.6, 8.7)
17 Giugno Esercitazione su esecuzione istruzioni su percorso dati, esecuzione in pipeline, uso della cache
22 Giugno Esercitazione