Programma del corso di Architettura degli Elaboratori e Reti: I turno, cognomi che iniziano con le lettere: A-G - A.A. 2009-2010.

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 blu e le lezioni frontali in nero.

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.

    Introduzione
L_01 01/03/2010 Introduzione. L'architettura di riferimento. Il ciclo di esecuzione di un'istruzione. Storia dell'Elaboratore (Prof. Borghese, ultima modifica 02.03.10).
L_02 02/03/2010 Codifica dell'informazione. Operazioni su numeri binari. Le operazioni fondamentali: somma e sottrazione. Rappresentazione binaria dei numeri decimali. Lo standard IEEE754 (Prof. Borghese, ultima modifica 03.03.10).
E_01 03/03/2010

I numeri denormalizzati. Esercitazione: Operazioni sui numeri binari. Soluzioni (Dott. Frosio).

L_03 04/03/2010 L'algebra combinatoria: variabili ed operatori. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana. Le porte universali (Prof. Borghese, ultima modifica 03.03.10).
B_01 05/03/2010

Laboratorio. Introduzione al SW Gatesim e circuiti combinatori (Dott. Frosio)

    Logica combinatoria
L_04 08/03/2010

Dalla funzione al circuito. Dalla tabella della verità al circuito: la prima forma canonica. Criteri di ottimalità. Semplificazione algebrica. (Prof. Borghese, ultima modifica 10.03.10).

B_02

09/03/2009 Laboratorio: Gatesim + circuiti combinatori (Dott. Frosio)
L_05 10/03/2009

Implementazione circuitale di funzioni logiche mediante PLA e ROM. Maxtermini. Seconda forma canonica di rappresentazione delle funzioni booleane. Circuiti combinatori notevoli (Prof. Borghese, ultima modifica 10.03.10).

    Le unità aritmetico-logiche
L_06 11/03/2009 Addizionatori. Il problema del riporto. Moltiplicatori HW. (Prof. Borghese, ultima modifica 11.03.10).
B_03 12/03/2009 Laboratorio: circuiti per l'addizione e la sottrazione. ALU. Soluzioni (Dott. Frosio)
L_07 15/03/2010 Progettazione di una ALU. I due stadi. Addizione su 32 bit. Overflow. Comparazione (Prof. Borghese, ultima modifica 15.03.10).
B_04 16/03/2010 Laboratorio: esercitazione sugli addizionatori. (Dott. Frosio).
L_08 17/03/2010 Anticipazione del riporto. Introduzione al firmware. Circuiti firmware della moltiplicazione intera (Prof. Borghese, ultima modifica 18.03.10).
L_09 18/03/2010 La divisione ed i circuiti firmware della divisione. Aritmetica ed addizionatore floating point. (Prof. Borghese, ultima modifica 18.03.10).
B_05 19/03/2010 Laboratorio: Addizionatori. ALU (Dott. Frosio).
 

Logica sequenziale

L_10 22/03/2010

Temporizzazione dei circuiti booleani. Circuiti sequenziali. Tabelle di transizione e di eccitazione. I latch SC. I latch D (Prof. Borghese, ultima modifica 22.03.10).

B_06 23/03/2009

Laboratorio: Circuiti temporizzati (Dott. Frosio)

L_11 24/03/2009 I registri ed il register file. Problemi di temporizzazione. I flip-flop. (Prof. Borghese, ultima modifica 24.03.10).
L_12 25/03/2010

Macchine a stati finiti. Dalle specifiche al progetto. State Transition Graph. State Transition Table. Codifica della STT. Sintesi del circuito. (Prof. Borghese, ultima modifica 24.03.10).

E_02 26/03/2009 Esercitazione sulla Macchina a stati finiti (Dott. Frosio)
E_03 29/03/2010 Esercitazione di ripasso (Dott. Frosio)
B_07 30/03/2009 Laboratorio: Macchina a stati finiti (Dott. Frosio) 
E_03bis 31/03/2010 Esercitazione di ripasso (Dott. Frosio)
  08/04/2010

Lezione sospesa.

  09/04/2010

Esercitazione sospesa.

C_01

lunedì
12/04/2010

Primo compitino (fino al contenuto della lezione 12). Esercizi (ultima modifica 25.03.10). Risultati Orario: 8.30, Settore didattico, aula V3.

   

La CPU

B_08 13/04/2010

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

B_09 14/04/2010 LABORATORIO: Assembler: Istruzioni di controllo del flusso: salti condizionati ed incondizionati. La Jump Address Table (Dott. Frosio).
L_13 15/04/2010 Il linguaggio macchina. Architettura delle istruzioni: tipi R, I e J. Modalità di indirizzamento. (Prof. Borghese, ultima modifica 15.04.10).
B_10 16/04/2010 LABORATORIO: Introduzione a SPIM. La visibilità sull'Hardware: register file e memoria (Dott. Frosio).
L_14 19/04/2010

Architettura di riferimento, Architetture RISC e CISC. La struttura della CPU. La CPU ed il ciclo di esecuzione: Control path e data path. Costruzione di una CPU a ciclo singolo per istruzioni di tipo R e di accesso alla memoria (Prof. Borghese, ultima modifica 19.04.10).

B_11

20/04/2010

LABORATORIO: Esempi di programmi assembler (Dott. Frosio).

L_15 21/04/2010 Costruzione della CPU per istruzioni di salto. Sintesi del controllore della ALU. Sintesi dell'Unità di Controllo principale ed analisi del data-path per CPU a ciclo singolo (Prof. Borghese, ultima modifica 20.04.10).
E_04 22/04/2010 Esercitazione sulla CPU (Prof. Borghese).
L_16 23/04/2010 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 23.04.10).
B_12

26/04/2010

LABORATORIO: Meccanismi di chiamata delle procedure. Lo stack. Le procedure annidate. Esempi (Dott. Frosio).

B_13

27/04/2010

LABORATORIO: Esempi di programmi assembler (Dott. Frosio).

L_17 28/04/2010 Controllo della pipeline. Sintesi dell'Unità di Controllo per la CPU con pipeline. Criticità della pipeline (Prof. Borghese, ultima modifica 30.04.10) .
L_18 29/04/2010 Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. Soluzione degli Hazard sui dati mediante stallo. (Prof. Borghese, ultima modifica 30.04.10).
E_05 30/04/2010 Esercitazione sulla pipeline (Prof. Borghese, 30.04.10).
L_19 03/05/2010 Criticità sul controllo. Soluzione degli Hazard sul controllo. Delayed branch. (Prof. Borghese, ultima modifica 03.05.10).
B_14 04/05/2010 Dal codice sorgente all'eseguibile. LABORATORIO: esempi di compilazione (Dott. Frosio).
E_06 05/05/2010

Esercitazione: Gestione degli Hazard nella pipeline (Prof. Borghese, ultima modifica 04.05.10)

L_20

06/05/2010

Interrupt ed eccezioni. La gestione HW delle eccezioni. (Prof. Borghese, ultima modifica 29.04.09).

B_15 07/05/2010 LABORATORIO: Gestione SW di interrupt ed eccezioni (Dott. Frosio).
C_02 10/05/2010 Secondo Compitino. CPU (fino alla lezione 20). Aula V3. Ore 8.30. Esercizi (ultima modifica 05.05.10). Risultati.
B_16 11/05/2010 LABORATORIO: Programmazione assembler (Dott. Frosio)
B_17 12/05/2010 LABORATORIO: Le procedure ricorsive (Dott. Frosio).
   

Le memorie

  13/05/2010 Lezione di Architettura sospesa e sostituita da una lezione di Istituzioni di Matematica.
B_18 14/05/2010 LABORATORIO: Programmazione assembler (Dott. Frosio)
L_21 17/05/2010 La gerarchia delle memorie. Le cache. Cache a mappatura diretta (Prof. Borghese, ultima modifica 20.05.10).
B_19 18/05/2010

LABORATORIO: Programmazione assembler (Dott. Frosio)

  19/05/2010 Sospensione della lezione per Consiglio di Dipartimento
L_22 20/05/2010 Lettura / scrittura di una cache a mappatura diretta. Cache associative. Cache ad n vie. (Prof. Borghese, ultima modifica 20.05.10).
B_20 21/05/2010

LABORATORIO: Programmazione assembler (Dott. Frosio). LABORATORIO CONFERMATO.

L_23 24/05/2010 Criteri di progettazione di una memoria cache. La tecnologia SRAM e DRAM. Codici di correzione degli errori (Prof. Borghese, ultima modifica 26.05.10).
E_07 25/05/2010 Esercitazione: Le cache (Prof. Borghese, ultima modifica 27.05.10).
    Architetture avanzate
L_24 26/05/2010 Trend di sviluppo delle architetture. Parallelismo a livello di istruzione. I multi-core (Prof. Borghese, ultima modifica 28.05.10).
L_25 27/05/2010

I driver. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi (Prof. Borghese, ultima modifica 28.05.10).

B_21 28/05/2010

LABORATORIO: Programmazione assembler, ultima lezione di laboratorio (Dott. Frosio)

L_26 31/05/2010 Le GPU, le schede CUDA: Architettura e Principi di programmazione. Ore 13.45 in V3. (Prof. F. Pedersini, ultima modifica 04.06.10).
B_22 01/06/2010

Non c'e' laboratorio, terminato il 28.5.2010.

  02/06/2010 Festa della Repubblica

L_27

03/06/2010 Il bus. Tipologie di bus. I bus seriali: Firewire, USB e PCI-Express. Schemi di arbitraggio. Gestione dell'I/O. Bus snooping. (Prof. Borghese, ultima modifica 04.06.10).
L_28 07/06/2010 Il supporto architetturale alle reti (Prof. Borghese, ultima modifica 07.06.10).
L_29 08/06/2010 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica.(Prof. Borghese, ultima modifica 07.06.10).
C_03 11/06/2010 Terzo Compitino. Memorie. Architetture avanzate. I/O. Esercizi (ultima modifica 20.05.10). Aula Beta. Ore 14.30. Risultati.