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

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 04.03.2013 Introduzione. CPU a singolo ciclo.Esecuzione delle istruzioni (Prof. Borghese, ultima modifica 04.03.2013).
L_02 07.03.2013

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 07.03.13).

B_01 08.03.2013

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

  11.03.2013 Lezione sospesa per missione del docente
L_03 14.03.2013 Controllo della pipeline. Sintesi dell'Unità di Controllo per la CPU con pipeline. (Prof. Borghese, ultima modifica 14.03.13) .
B_02 15.03.2013

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

L_04 18.03.2013 Criticità della pipeline. Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. Soluzione degli Hazard sui dati mediante stallo. (Prof. Borghese, ultima modifica 21.03.13).
L_05 21.03.2013 Stall on load. Criticità sul controllo. Hazard sul controllo. (Prof. Borghese, ultima modifica 21.03.13).
B_03 22.03.2013 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Frosio).
L_06 25.03.2013 Soluzione degli hazard sul controllo. Delayed branch. Branch prediction (Prof. Borghese, ultima modifica 25.03.13).
    Vacanze Pasquali
L_07 04.04.2013 Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 05.04.13).
B_04 05.04.2013 LABORATORIO: Assembler: Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (Dott. Frosio, Dott. Marchi).
    Input/Output
L_08 08.04.2013

Il bus. Tipologie di bus. I bus seriali: Firewire, USB e PCI-Express. Transazioni sul bus e schemi di arbitraggio. Gestione dell'I/O. (Prof. Borghese, ultima modifica 08.04.13).

L_09 11.04.2013 Input-Output. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi e le memorie flash (Prof. Borghese, ultima modifica 10.04.13).
B_05 12.04.2013 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Frosio / Dott. Marchi).
C_01 15.04.2013 Primo Compitino, CPU + I/O (fino alla lezione 09). Esercizi (Ultima modifica 10.04.2013).Risultati.
    Le memorie
L_10 18.04.2013 Trend di sviluppo delle architetture. Parallelismo a livello di istruzione. Parallelizzazione statica e dinamica. (Prof. Borghese, ultima modifica 21.04.13).
L_11 22.04.2013

La gerarchia delle memorie. Le cache. Cache a mappatura diretta (Prof. Borghese, ultima modifica 21.04.13).

B_06 19.04.2013

LABORATORIO: Assembler: Istruzioni di controllo del flusso: salti condizionati ed incondizionati. La Jump Address Table (Dott. Frosio / Dott. Marchi).

  25.04.2013 Festa della liberazione

L_12

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

02.05.2013

La tecnologia SRAM e DRAM. Criteri di progettazione di una memoria cache. Gestione delle Miss (Prof. Borghese, ultima modifica 02.05.13).
B_07 03.05.2013 LABORATORIO: Meccanismi di chiamata delle procedure. Lo stack. (Dott. Frosio / Prof. Borghese).
E_01 06.05.2013 Esercitazione: Le cache (Prof. Borghese, ultima modifica 06.05.13).
   

Architetture avanzate

L_14

09.05.2013 Dal codice sorgente all'eseguibile. Esempi di compilazione (Dott. Frosio / Dott. Marchi, ultima modifica, 15.05.13).
B_08 10.05.2013 LABORATORIO: Le procedure annidate (Dott. Frosio / Dott. Marchi).
L_15 13.05.2013 I multi-core. Coerenza della memoria nei sistemi multi-processore. I codici di correzione degli errori (Prof. Borghese, ultima modifica, 13.05.13).
L_16 16.05.2013 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica (Prof. Borghese, ultima modifica 16.05.13).
B_09 17.05.2013 LABORATORIO: le procedure ricorsive (Dott. Frosio / Dott. Marchi).
L_17 20.05.2013 Valutazione delle prestazioni: CPI, MIPS e MFLOP. Il modello roof-line per la valutazione delle prestazioni dei multi-core. (Prof. Borghese, ultima modifica 20.05.13).
L_18 23.05.2013 Le GPU: struttura e funzionamento (Dott. Frosio 26.05.2013)
B_10 24.05.2013 LABORATORIO: programmazione GPU (Dott. Frosio / Dott. Marchi).
C_02 06.06.2013 Secondo Compitino, ore 8.15-11.30, aula 301. Esercizi (ultima modifica 16.05.13). Risultati.