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

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. Basilico: http://homes.di.unimi.it/basilico/.

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

B_01 12.03.2015

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

L_01 18.03.2015 Introduzione. CPU a singolo ciclo.Esecuzione delle istruzioni (Prof. Borghese, ultima modifica 18.03.15).
B_02 19.03.2015

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

L_02 20.03.2015

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

  25.03.2015 Lezione sospesa per missione all'estero del docente
B_03 26.03.2015
Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_03 27.03.2015 Unità di controllo della pipeline. Esercizi. (Prof. Borghese, ultima modifica 27.03.15).
L_04 01.04.2015 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 01.04.15).
    Vacanze Pasquali
B_04 09.04.2015
Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
  10.04.2015 Lezione sospesa.
L_05 15.04.2015

Criticità sul controllo. Hazard sul controllo. (Prof. Borghese, ultima modifica 17.04.15).

B_05 16.04.2015 LABORATORIO: Assembler: Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (Dott. Frosio, Dott. Basilico).
L_06 17.04.2015

Soluzione degli hazard sul controllo. Delayed branch. Branch prediction (Prof. Borghese, ultima modifica 28.04.15).

L_07

22.04.2015

Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 22.04.15).
B_06 23.04.2015 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Basilico).
L_08

24.04.2015

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 28.04.15).
    Input/Output
L_09 29.04.2015
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 29.04.15).
B_07 30.04.2015
Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
  01.05.2015 Festività del 1o Maggio
L_10 05.05.2015
Input-Output. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi e le memorie flash . Esercizi. (Prof. Borghese, ultima modifica 05.05.15).
B_08 07.05.2015 Programmazione in assembler (Dott. Basilico).
C_01 08.05.2015 Primo Compitino: CPU + I/O (fino alla lezione 10). Esercizi (Ultima modifica 10.04.2015). Risultati.
    Le memorie
L_11 12.05.2015 La gerarchia delle memorie. Le cache. Cache a mappatura diretta (Prof. Borghese, ultima modifica 22.05.15).
B_09 14.05.2015 LABORATORIO: Assembler: Istruzioni di controllo del flusso: salti condizionati ed incondizionati. La Jump Address Table (Dott. Basilico).
L_12 15.05.2015

Lettura / scrittura di una cache a mappatura diretta. Esercizi. (Prof. Borghese, ultima modifica 22.05.15).

L_13 20.05.2015

Cache associative. Cache ad n vie. (Prof. Borghese, ultima modifica 22.05.15).

B_10 21.05.2015 LABORATORIO: Programmazione assembler (Dott. Basilico).
L_14 22.05.2015 La tecnologia SRAM e DRAM. Gestione delle Miss. Codici di errore (Prof. Borghese, ultima modifica 27.05.15).
L_15 27.05.2015

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

B_11

28.05.2015 Dal codice sorgente all'eseguibile al codice interpretato. (Dott. Basilico).
   

Architetture avanzate

L_16

29.05.2015 I multi-core. Coerenza della memoria nei sistemi multi-processore. (Prof. Borghese, ultima modifica, 29.05.15).
L_17 03.06.2015

L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica (Prof. Borghese, ultima modifica 03.06.15).

B_12

04.06.2015 LABORATORIO: Impostazione progetto laboratorio (Dott. Basilico)
L_18 05.06.2015 Valutazione delle prestazioni: CPI, MIPS e MFLOP. Il modello roof-line per la valutazione delle prestazioni dei multi-core (Prof. Borghese, ultima modifica 08.06.15).
C_02

12.06.2015

Secondo Compitino, ore 10.30. Aula V3. Esercizi (ultima modifica 11.06.14). Risultati.