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

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

Approfondimenti sulle esercitazioni possono essere trovati sulla pagina WEB del Dott. Marchi relativa al corso.

    Introduzione
L_01 03/03/2009 Introduzione. L'architettura di riferimento. Il ciclo di esecuzione di un'istruzione. Storia dell'Elaboratore (ultima modifica 04.03.09).
L_02 04/03/2009 Codifica dell'informazione. Operazioni su numeri binari. Le operazioni fondamentali. Rappresentazione binaria dei numeri decimali. Lo standard IEEE754 (ultima modifica 04.03.09).
E_01 05/03/2009

Esercitazione: Operazioni sui numeri binari. Soluzioni (ultima modifica 04.03.08).

    Logica combinatoria
L_03 06/03/2009 L'algebra combinatoria: variabili ed operatori. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana. Le porte universali (ultima modifica 10.03.09).
L_04 10/03/2009

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

L_05

11/03/2009 Implementazione circuitale di funzioni logiche mediante PLA e ROM. Maxtermini. Seconda forma canonica di rappresentazione delle funzioni booleane. Circuiti combinatori notevoli (ultima modifica 11.03.09).
E_02 12/03/2009 Esercitazione: Sintesi delle funzioni booleane. Soluzioni.
    Le unità aritmetico-logiche
L_06 13/03/2009 Addizionatori. Il problema del riporto. Moltiplicatori HW. (ultima modifica 25.03.09).
L_07 17/03/2009 Progettazione di una ALU. I due stadi. Addizione su 32 bit. Overflow. Comparazione (ultima modifica 17.03.09).
  18/03/2009 Sospensione lezione per scopero.
E_03 19/03/2009 Esercitazione: circuiti per l'addizione e la sottrazione. ALU. Soluzioni.
L_08 20/03/2009 Anticipazione del riporto. Introduzione al firmware. Circuiti firmware della moltiplicazione intera (ultima modifica 27.03.09).
 

Logica sequenziale

L_09 24/03/2009

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

L_10 25/03/2009 I flip-flop. Problemi di temporizzazione. Il register file (ultima modifica 25.03.09).
E_04 26/03/2009 Esercitazione: Bistabili. Soluzioni.
L_11 27/03/2009

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

C_01

sabato
28/03/2009

Primo compitino (fino al contenuto della lezione 8 compresa). Esercizi (ultima modifica 24.03.09). Risultati. Orario: 9.00 - 12.30, aula 405, Settore didattico, via Celoria 20.
   

L'Interfaccia HW / SW : L'Instruction Set Architecture (ISA)

L_12 31/03/2009 Definizione dell'ISA. L'assembly. Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (ultima modifica 01.04.09).
L_13 01/04/2009 Istruzioni di controllo del flusso: salti condizionati ed incondizionati. La Jump Address Table (ultima modifica 01.04.09).
E_05 02/04/2009 Macchina a stati finiti.
L_14 03/04/2009

Meccanismi di chiamata delle procedure. Lo stack. Le procedure annidate e le procedure ricorsive. Esempi (ultima modifica 03.04.09).

L_15 07/04/2009 Il linguaggio macchina. Architettura delle istruzioni: tipi R, I e J. Modalità di indirizzamento. Utilizzo delle costanti. (ultima modifica 07.04.09).
    Interruzione delle lezioni per le vacanze di Pasqua (NB Mercoledì 8 Aprile non c'è lezione)
E_06

16/04/2009

Assembly - I

C_02 17/04/2009

Secondo compitino, aula V1, ore 10.40 - 13.20 (dalla lezione 9, alla lezione 15 compresa). Esercizi (ultima modifica 09.04.08). Risultati.

   

La struttura di un'architettura

L_16 21/04/2009 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 (ultima modifica 21.04.09).
L_17 22/04/2009 Sintesi del controllore della ALU. Sintesi dell'Unità di Controllo principale ed analisi del data-path per CPU a ciclo singolo (ultima modifica 13.05.09).
E_07

23/04/2009

Assembly - II
L_18 24/04/2009 Problemi con l'esecuzione di istruzioni a ciclo singolo. CPU multi-ciclo per istruzioni aritmetiche, di accesso alla memoria e di salto. Confronto con la CPU a ciclo singolo. (ultima modifica 24.04.09).
L_19 28/04/2009 L'unità di controllo di una CPU multi-ciclo: FSM. Sintesi dei segnali di controllo e della funzione stato prossimo (ultima modifica 13.05.09).
L_20 29/04/2009 Interrupt ed eccezioni. La gestione vettorializzata e tramite registro. CPU multi-ciclo e la gestione SW/HW delle interruzioni. (ultima modifica 29.04.09).
E_08 30/04/2009 Esercitazione: CPU Multi-ciclo.
L_21 05/05/2009 Introduzione della pipeline. Principi di funzionamento. La struttura della CPU MIPS con pipeline. Il ruolo dei registri. Esecuzione in pipeline delle istruzioni di tipo R, lw/sw e branch. (ultima modifica 06.05.09).
L_22 06/05/2009 Controllo della pipeline. Sintesi dell'Unità di Controllo per la CPU con pipeline. Criticità della pipeline (ultima modifica 06.05.09) .
E_09 07/05/2009 Esercitazione: CPU pipeline
L_23 08/05/2009

Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding. Soluzione degli Hazard sui dati mediante stallo. (ultima modifica 08.05.09).

L_24 12/05/2009 Criticità sul controllo. Soluzione degli Hazard sul controllo. Delayed branch. (ultima modifica 12.05.09).
L_25 13/05/2009 Trend di sviluppo delle pipeline. Branch prediction buffer. Superpipeline e pipeline super-scalari. Static and Dynamic Issues. Una overview della pipeline del Pentium IV. (ultima modifica 13.05.09).
E_10 14/05/2009

Esercitazione: Gestione degli Hazard nella pipeline

15/05/2009 Sospensione delle lezioni
C_03 19/05/2009 Terzo Compitino. CPU (fino alla lezione 25). Aula V1. Ore 10.40. Esercizi (ultima modifica 29.04.09). Risultati.
L_26

20/05/2009

La gerarchia delle memorie. Le cache. Cache a mappatura diretta (ultima modifica 22.05.09).

E_11 21/05/2009 Esercitazione in laboratorio: dentro un calcolatore (Questa esercitazione si terrà nella palestra di sistemi operativi, in Via Comelico con inizio alle ore 11.15)
L_27 22/05/2009 Lettura / scrittura di una cache a mappatura diretta. Cache associative. Cache ad n vie. Cache coherence (ultima modifica 22.05.09).
L_28 26/05/2009 Criteri di progettazione di una memoria cache. La tecnologia SRAM e DRAM. Codici di correzione degli errori (ultima modifica 26.05.09).

L_29

27/05/2009 Il bus. Tipologie di bus. I bus seriali: Firewire, USB e PCI-Express. Schemi di arbitraggio. Gestione dell'I/O. (ultima modifica 28.05.09).
    Le periferiche
E_12 28/05/2009

Esercitazione: Le cache.

L_30 29/05/2009

I driver. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi (ultima modifica 29.05.09).

L_31 03/06/2009 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica. (ultima modifica 03.06.09).
E_13 04/06/2009 Seminario. Le GPU, le schede CUDA: Architettura e Principi di programmazione (Prof. F. Pedersini) (ultima modifica 04.06.09).
L_32 05/06/2009 Le prestazioni. Valutazione delle prestazioni: CPI e mix di istruzioni. Benchmark. Legge di Amdhal. Speed-up. Gerarchie di memorie (ultima modifica 04.06.09) .
C_04 09/06/2009 Quarto Compitino. Memorie. I/O (fino alla lezione 32). Aula 405, ore 13.30 . Esercizi (ultima modifica 06.06.08). Risultati.