Programma del corso di Architettura degli Elaboratori II - A.A. 2013-2014

N.B.: Il diritto a scaricare il materiale accessibile da questa pagina è riservato solamente agli studenti regolarmente iscritti al corso.
Notice: The right to download the material accessible from this page is granted only to the students regularly enrolled in the hereabove University course.

Le lezioni di esercitazione sono riportate in colore rosso, le lezioni di laboratorio in verde le lezioni frontali in nero. Per la parte di laboratorio, consultare la pagina del Dott. Frosio: http://homes.di.unimi.it/frosio/.

Le slide sono da considerare bozze avanzate fino al giorno della lezione. Le slide in versione definitiva, saranno disponibili sul sito il giorno dopo la lezione.

   

La CPU

L_01 10.03.2014 Introduzione. CPU a singolo ciclo.Esecuzione delle istruzioni (Prof. Borghese, ultima modifica 10.03.2014).
L_02 13.03.2014

Introduzione della pipeline e principi di funzionamento. La struttura della CPU MIPS con pipeline e il ruolo dei registri. Esempio di esecuzione in pipeline delle istruzioni di tipo R, lw/sw e branch. (Prof. Borghese, ultima modifica 14.03.14).

B_01 14.03.2014

LABORATORIO: Introduzione a SPIM. Direttive dell'assemblatore. La visibilità sull'Hardware: register file e memoria (Dott. Basilico)

L_03 17.03.2014 Controllo della pipeline. Sintesi dell'Unità di Controllo per la CPU con pipeline. Criticità della pipeline. (Prof. Borghese, ultima modifica 19.03.14) .
L_04 20.03.2014 Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. Soluzione degli Hazard sui dati mediante stallo. Stall on load.(Prof. Borghese, ultima modifica 20.03.14).
B_02 21.03.2014

LABORATORIO: Introduzione a SPIM. Direttive dell'assemblatore. La visibilità sull'Hardware: register file e memoria (Dott.Basilico)

L_05

24.03.2014
aula G22

Criticità sul controllo. Hazard sul controllo. (Prof. Borghese, ultima modifica 21.03.14).
L_06 27.03.2014
aula G21
Soluzione degli hazard sul controllo. Delayed branch. Branch prediction (Prof. Borghese, ultima modifica 28.03.14).
B_03 28.03.2014
Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_07 31.03.2014
aula G22

Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 03.03.14).
L_08 03.04.2014
aula G21

Trend di sviluppo delle architetture. Parallelismo a livello di istruzione. Parallelizzazione statica e dinamica. La pipeline dell'ARM Cortex A-8 e dell'Intel Core i7 (Prof. Borghese, ultima modifica 03.04.14).

B_04 04.04.2014 LABORATORIO: Assembler: Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (Dott. Frosio, Dott. Basilico).
L_09 07.04.2014
aula G22
Parallelismo a livello di parola e le istruzioni MMX e AVX. Il bus. Tipologie di bus. I bus seriali: Firewire, USB e PCI-Express. Transazioni su bus e schemi di arbitraggio. (Prof. Borghese, ultima modifica 07.04.14).
L_10

10.04.2014
aula G21

Input-Output. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi e le memorie flash . Esercizi. (Prof. Borghese, ultima modifica 10.04.14).
B_05 11.04.2014 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Basilico).
E_01

14.04.2014
aula 301
ore 8.45

Esercitazione di riepilogo sul compitino

    Vacanze Pasquali
C_01 24.04.2014 Primo Compitino: CPU + I/O (fino alla lezione 10). Esercizi (Ultima modifica 10.04.2014). Risultati.
  25.04.2014 Festa della liberazione
    Input/Output
L_11 28.04.2014 La gerarchia delle memorie. Le cache. Cache a mappatura diretta (Prof. Borghese, ultima modifica 12.05.14).
  01.05.2014 Festa del lavoro
  02.05.2014

Chiusura Università

    Le memorie
L_12 05.05.2014

Lettura / scrittura di una cache a mappatura diretta. Cache associative. Cache ad n vie. (Prof. Borghese, ultima modifica 05.05.14).

L_13

08.05.2014 La tecnologia SRAM e DRAM. Criteri di progettazione di una memoria cache. Gestione delle Miss. Codici di errore (Prof. Borghese, ultima modifica 22.05.14).
B_06 09.05.2014 LABORATORIO: Assembler: Istruzioni di controllo del flusso: salti condizionati ed incondizionati. La Jump Address Table (Dott. Basilico).
L_14 12.05.2014

La virtualizzazione e la JVM. La memoria virtuale. Esercizi sulle cache (Prof. Borghese, ultima modifica 21.05.14).

   

Architetture avanzate

 

15.05.2014 Lezione sospesa per meeting di progetto Europeo. 
B_07 16.05.2014 LABORATORIO: Meccanismi di chiamata delle procedure. Lo stack. (Dott. Basilico).
L_15 19.05.2014 Dal codice sorgente all'eseguibile al codice interpretato. Esercizi sulle cache (Prof. Borghese, , ultima modifica 21.05.14).
L_16 22.05.2014 I multi-core. Coerenza della memoria nei sistemi multi-processore. (Prof. Borghese, ultima modifica, 22.05.14).
B_08 23.05.2014 LABORATORIO: Dal codice sorgente all'eseguibile. Esempi di compilazione (Dott. Basilico).
L_17 26.05.2014 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica (Prof. Borghese, ultima modifica 27.05.14).
L_18 29.05.2014 Valutazione delle prestazioni: CPI, MIPS e MFLOP. Il modello roof-line per la valutazione delle prestazioni dei multi-core. (Prof. Borghese, ultima modifica 29.05.14).
B_09 30.05.2014

LABORATORIO: le procedure ricorsive (Dott. Basilico).

  02.06.2014 Festa della Repubblica
E_02 03.06.2014 Esercitazione di riepilogo sul secondo compitino (ore 9.00, sala riunioni di via Celoria).
B_10 06.06.2014 LABORATORIO: programmazione (Dott. Basilico).
C_02 12.06.2014 Secondo Compitino, ore 10.30. Aula G21. Esercizi (ultima modifica 11.06.14). Risultati.
B_11 13.06.2014 LABORATORIO: programmazione (Dott. Basilico).