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

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

L_01 07.03.2016 Introduzione. CPU a singolo ciclo.Esecuzione delle istruzioni (Prof. Borghese, ultima modifica 07.03.16).
L_02 09.03.2016

Introduzione della pipeline e principi di funzionamento. La struttura della CPU MIPS con pipeline e il ruolo dei registri. Unità di controllo (Prof. Borghese, ultima modifica 16.03.16).

B_01 11.03.2016

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

L_03 14.03.2016 Esempi di esecuzione. Hazard, stalli e bolle (Prof. Borghese, ultima modifica 16.03.16).
L_04 16.03.2016 Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. (Prof. Borghese, ultima modifica 16.03.16).
B_02 18.03.2016 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_05 21.03.2016

Soluzione degli Hazard sui dati mediante stallo. Stall on load. Criticità sul controllo. Hazard sul controllo. (Prof. Borghese, ultima modifica 23.03.16).

L_06

23.03.2016

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

    Vacanze Pasquali
B_03 01.04.2016 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_07 04.04.2016 Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 04.04.16).
L_08 06.04.2016 Trend di sviluppo delle architetture. Parallelismo a livello di istruzione. Parallelizzazione statica e dinamica. Architetture SIMD e le istruzioni MMX e AVX. La pipeline dell'ARM Cortex A-8 e dell'Intel Core i7. (Prof. Borghese, ultima modifica 06.04.16).
B_04 08.04.2016 LABORATORIO: Assembler: Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (Dott. Frosio, Dott. Basilico).
  11.04.2016 Lezione sospesa
L_09 13.04.2016 I/O e driver. Trasferimento a controllo di programma. Architetture di bus. Trasferimento a interrupt. I dischi e le memorie flash . Esercizi. (Prof. Borghese, ultima modifica 14.04.16).
    Input/Output
C_01 18.04.2016 Primo Compitino: CPU + I/O (fino alla lezione 09). Aula 405 ore 8.30. Esercizi (Ultima modifica 04.04.2016). Risultati.
    Le memorie
L_10 20.04.2016

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

B_05 22.04.2016 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Basilico).
  25.04.2016

Festa della Liberazione

L_11 27.04.2016

Lettura / scrittura di una cache a mappatura diretta. Cache associative. (Prof. Borghese, ultima modifica 27.04.16).

B_06 29.04.2016 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_12 02.05.2016

Cache ad n-vie. Esempi. (Prof. Borghese, ultima modifica 02.05.16).

L_13 04.05.2016 La tecnologia SRAM e DRAM. Gestione delle Miss. Codici di errore (Prof. Borghese, ultima modifica 04.05.16).
B_07 06.05.2016 Programmazione in assembler (Dott. Basilico).
   

Architetture avanzate

L_14

09.05.2016 I multi-core. Coerenza della memoria nei sistemi multi-processore. (Prof. Borghese, ultima modifica, 09.05.16).
L_15 11.05.2016

La virtualizzazione e la JVM. La memoria virtuale. (Prof. Borghese, ultima modifica 11.05.16).

B_08

13.05.2016 Dal codice sorgente all'eseguibile al codice interpretato. (Dott. Basilico).
L_16 16.05.2016

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

L_17 18.05.2016 Valutazione delle prestazioni: CPI, MIPS e MFLOP. Il modello roof-line per la valutazione delle prestazioni dei multi-core (Prof. Borghese, ultima modifica (18.05.16).
20.05.2016 Sospensione della didattica per indisponibilità aula.
L_18 23.05.2016 Ripasso generale

B_09

27.05.2016 Dal codice sorgente all'eseguibile al codice interpretato. (Dott. Basilico).
C_02 30.05.2016 Secondo Compitino, ore 08.45. Aula 405 Esercizi (ultima modifica 11.06.14). Risultati.
B_10 03..06.2016 LABORATORIO: Programmazione assembler (Dott. Basilico).