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

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 06.03.2017 Introduzione. CPU a singolo ciclo. Datapath multi-ciclo (Prof. Borghese, ultima modifica 06.03.17).
L_02 08.03.2017

Unità di controllo per CPU multi-ciclo (Prof. Borghese, ultima modifica 08.03.17).

B_01 10.03.2017

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

L_03 13.03.2017 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.17).
L_04 15.03.2017 Esempi di esecuzione. Hazard, stalli e bolle (Prof. Borghese, ultima modifica 15.03.17).
B_02 17.03.2017 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_05 20.03.2017 Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. (Prof. Borghese, ultima modifica 27.03.17).
  22.03.2017 Lezione sospesa per missione del docente.
B_03 24.03.2017 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_06 27.03.2017

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

L_07

29.03.2017

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

B_04 31.03.2017 LABORATORIO: Assembler: Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (Dott. Frosio, Dott. Basilico).
  03.04.2017 Lezione matematica
L_08 05.04.2017 Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 05.04.17).
L_09 07.04.2017 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.17).
B_05 07.04.2017 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Basilico).
C_01 10.04.2017 Primo compitino. Aula V3. Inizio ore 9.30. Esercizi. Risultati.
  12.04.2017 Vacanze Pasquali
L_10 17.04.2017 La gerarchia delle memorie. Le cache. Cache a mappatura diretta (Prof. Borghese, ultima modifica 21.04.17).
    Le memorie
L_11 19.04.2017

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

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

Sopensione della lezione

L_12 26.04.2017 Cache ad n-vie. SRAM (Prof. Borghese, ultima modifica 26.04.17).
B_07 28.04.2017 Programmazione in assembler (Dott. Basilico).
  01.05.2017 Festa del Lavoro
L_13 03.05.2017

La tecnologia DRAM. Gestione delle Miss. Codici di errore (Prof. Borghese, ultima modifica 08.05.17).

B_08

05.05.2017 Dal codice sorgente all'eseguibile al codice interpretato. (Dott. Basilico).
L_14 08.05.2017

I multi-core. Coerenza della memoria nei sistemi multi-processore. (Prof. Borghese, ultima modifica, 08.05.17).

   

Architetture avanzate

L_15

10.05.2017

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

B_09 12.05.2017 LABORATORIO: Programmazione assembler (Dott. Basilico).
L_16 15.05.2017

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 17.05.2017 Bus e I/O. Valutazione delle prestazioni. (Prof. Borghese, ultima modifica (17.05.17).
B_10 19.05.2017 LABORATORIO: Programmazione assembler (Dott. Basilico).
L_18 22.05.2017 Ripasso generale
B_11 26.05.2017 LABORATORIO: Programmazione assembler (Dott. Basilico).
C_02 29.05.2017 Secondo Compitino, ore 09.30. Esercizi (ultima modifica 11.05.17). Risultati.