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

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

  05.03.2018 Lezione sospesa per elezioni
L_01 07.03.2018

Introduzione. CPU a singolo ciclo. Datapath multi-ciclo (Prof. Borghese, ultima modifica 07.03.18).

B_01 09.03.2018

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

  12.03.2018 Missione all'estero del docente
  14.03.2018 Missione all'estero del docente
B_02 16.03.2018 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_02 19.03.2018 Unità di controllo per CPU multi-ciclo (Prof. Borghese, ultima modifica 26.03.18).
L_03 21.03.2018 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 26.03.18).
B_03 23.03.2018 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
L_04 26.03.2018 Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. (Prof. Borghese, ultima modifica 26.03.18).
L_05 28.03.2018 Esempi di esecuzione. Hazard, stalli e bolle (Prof. Borghese, ultima modifica 28.03.18).
    Vacanze Pasquali
L_06

04.04.2018

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

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

09.04.2018

Lezione sospesa per compitino di matematica

L_07 11.04.2018 Soluzione degli hazard sul controllo. Delayed branch. Branch prediction (Prof. Borghese, ultima modifica 11.04.18).
B_05 13.04.2018 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Basilico).
L_08 16.04.2018 Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 03.05.2018).
L_09 18.04.2018 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 03.05.18).
B_06 20.04.2018 Introduzione all'Assembler: accesso alla memoria, controllo di flusso, istruzioni aritmetico-logico. Jump address table (Dott. Basilico).
C_01 23.04.2018 Primo compitino. Esercizi. Risultati (2018).
  25.04.2018 Lezione sospesa per festività del 25 Aprile.
B_07 27.04.2017 Programmazione in assembler (Dott. Basilico).
  30.04.2018 Lezione sospesa per ponte del primo Maggio.
    Le memorie
L_10 02.05.2018

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

B_08

04.05.2018 Dal codice sorgente all'eseguibile al codice interpretato. (Dott. Basilico).
L_11 07.05.2018 Lettura / scrittura di una cache a mappatura diretta. Cache associative. (Prof. Borghese, ultima modifica 07.05.18).
L_12 09.05.2018

Cache ad n-vie. SRAM. Gestione delle Miss. (Prof. Borghese, ultima modifica 22.05.18).

B_09 11.05.2018 LABORATORIO: Programmazione assembler (Dott. Basilico).
L_13 14.05.2018

La tecnologia DRAM. Codici di errore (Prof. Borghese, ultima modifica 22.05.18).

   

Architetture avanzate

E_01

16.05.2018

Codici di errore ed eserizi di ripasso sulle memorie

B_10 18.05.2018 LABORATORIO: Programmazione assembler (Dott. Basilico).
L_14 21.05.2018

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

L_15 23.05.2018 La virtualizzazione e la JVM. La memoria virtuale. (Prof. Borghese, ultima modifica 22.05.18).
B_11 25.05.2018 LABORATORIO: Programmazione assembler (Dott. Basilico).
L_16 28.05.2018 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica (Prof. Borghese, ultima modifica 28.05.18).
L_17 30.05.2018 Bus e I/O. Valutazione delle prestazioni. (Prof. Borghese, ultima modifica (05.06.18).
E_02 04.06.2018 Esercitazione di riepilogo
C_02 06.06.2018 Secondo Compitino, ore 10.30, aula G12, Esercizi (ultima modifica 30.05.18). Risultati.