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

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 04/03/2008 Introduzione. L'architettura di riferimento. Il ciclo di esecuzione di un'istruzione. Storia dell'Elaboratore (ultima modifica 04.03.08).
L_02 05/03/2008 Codifica dell'informazione. Operazioni su numeri binari. Le operazioni fondamentali. Rappresentazione binaria dei numeri decimali. Lo standard IEEE754 (ultima modifica 05.03.08).
E_01 06/03/2008

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

    Logica combinatoria
L_03 07/03/2008 L'algebra combinatoria: variabili ed operatori. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana. Le porte universali (ultima modifica 04.03.08).
L_04 11/03/2008

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

L_05

12/03/2008 Implementazione circuitale di funzioni logiche mediante PLA e ROM. Maxtermini. Seconda forma canonica di rappresentazione delle funzioni booleane. Circuiti combinatori notevoli (ultima modifica 13.03.08).
E_02 13/03/2008 Esercitazione: Sintesi delle funzioni booleane. Soluzioni.
    Le unità aritmetico-logiche
L_06 14/03/2008 Addizionatori. Il problema del riporto. Moltiplicatori HW. (ultima modifica 14.03.08).
L_07 18/03/2008 Progettazione di una ALU. I due stadi. Addizione su 32 bit. Overflow. Comparazione (ultima modifica 19.03.08).
L_08 19/03/2008 Anticipazione del riporto. Introduzione al firmware. Circuiti firmware della moltiplicazione intera(ultima modifica 19.03.08).
 

20,21,25,26
Marzo 2008

Sospensione delle lezioni per le vacanze di Pasqua.
E_03 27/03/2008 Esercitazione: circuiti per l'addizione e la sottrazione. ALU. Soluzioni.
   

Logica sequenziale

L_09 28/03/2008

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

L_10 01/04/2008 I flip-flop. Problemi di temporizzazione. Il register file (ultima modifica 01.04.08).
L_11 02/04/2008

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

E_04 03/04/2008 Esercitazione: Bistabili. Soluzioni.
   

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

L_12 04/04/2008 Definizione dell'ISA. L'assembly. Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (ultima modifica 05.04.08).
    Logica sequenziale
C_01

sabato
05/04/2008

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

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

L_13 08/04/2008 Istruzioni di controllo del flusso: salti condizionati ed incondizionati. La Jump Address Table (ultima modifica 09.04.08).
L_14 09/04/2008

Meccanismi di chiamata delle procedure. Lo stack. Le procedure annidate. Esempi (ultima modifica 09.04.08).

E_05 10/04/2008 Macchina a stati finiti.
L_15 11/04/2008 Il linguaggio macchina. Architettura delle istruzioni: tipi R, I e J. Modalità di indirizzamento. Utilizzo delle costanti. (ultima modifica 11.04.08).
L_16 15/04/2008

Compilazione e linker: dal programma all'eseguibile. Le direttive del compilatore Assembly. Programmi assembly e la loro emulazione di SPIM. Esempi e procedure ricorsive. (ultima modifica 15.04.08).

   

La struttura di un'architettura

L_17 16/04/2008 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 16.04.08).
   

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

E_06 17/04/2008 Assembly. Linguaggio macchina.
   

La struttura di un'architettura

L_18 18/04/2008 Sintesi del controllore della ALU. Sintesi dell'Unità di Controllo principale ed analisi del data-path per CPU a ciclo singolo (ultima modifica 15.04.08).
   

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

C_02

22/04/2008

Secondo compitino, ore 8.15, aula V1. (dalla lezione 9, alla lezione 16 compresa. Sono richiesti solamente i concetti fondamentali della lezione 14; della lezione 16 è richiesta la prima parte: dal sorgente all'eseguibile). Esercizi (ultima modifica 09.04.08). Risultati.
   

La struttura di un'architettura

L_19 23/04/2008 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 23.04.08).
E_07 24/04/2008 Esercitazione: CPU Multi-ciclo.
  25/04/2008 Festitività. Festa della liberazione.
L_20 29/04/2008 L'unità di una CPU multi-ciclo: FSM. Sintesi dei segnali di controllo e della funzione stato prossimo (ultima modifica 30.04.08).
L_21 30/04/2008 Interrupt ed eccezioni. La gestione vettorializzata e tramite registro. CPU multi-ciclo e la gestione SW/HW delle interruzioni. (ultima modifica 16.05.08).
   

La struttura di un'architettura

  01/05/2007 Festitività. Festa dei lavoratori (e degli studenti).
  02/05/2008 Sospensione delle lezioni per chiusura Università.
L_22 06/05/2008 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.08).
L_23 07/05/2008 Controllo della pipeline. Sintesi dell'Unità di Controllo per la CPU con pipeline (ultima modifica 07.05.08) .
E_08 08/05/2008 Esercitazione: CPU pipeline
L_24 13/05/2008

Criticità della pipeline e stallo . Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding (ultima modifica 14.05.08).

L_25 14/05/2008 Criticità sui dati e stallo della pipeline. Soluzione degli Hazard sul controllo. Delayed branch. (ultima modifica 14.05.08).
E_09 15/05/2008

Esercitazione: Gestione degli Hazard nella pipeline

L_26 16/05/2008 Trend di sviluppo delle pipeline. Superpipeline e pipeline super-scalari. Static and Dynamic Issues. Una overview della pipeline del Pentium IV. (ultima modifica 16.05.08).
C_03 20/05/2008 Terzo Compitino. CPU (fino alla lezione 26). Aula V1. Ore 10.30-13.30. Esercizi (ultima modifica 30.04.08). Risultati.
    Le memorie
L_27 21/05/2008

Le memorie: gerarchia di memorie. Hit e Miss. Memoria cache. Mappatura diretta. Il campo tag di una cache (ultima modifica 24.05.08).

E_10 22/05/2008 Esercitazione in laboratorio: dentro un calcolatore (Questa esercitazione si terrà nella palestra di sistemi operativi, in Via Comelico con inizio alle ore 11.15)
  23/05/2008 Sospensione lezione per missione del docente.
L_28

27/05/2008

Lettura / scrittura di una cache a mappatura diretta. Cache associative. Cache ad n vie. Cache coherence (ultima modifica 28.05.08).

L_29 28/05/2008 Criteri di progettazione di una memoria cache. La tecnologia SRAM e DRAM. Codici di correzione degli errori (ultima modifica 28.05.08).
E_11 29/05/2008

Esercitazione: Le cache.

    Le periferiche
L_30 30/05/2008 Il bus. Tipologie di bus. I bus seriali: Firewire, USB e PCI-Express. Schemi di arbitraggio. Gestione dell'I/O. (ultima modifica 30.05.08).

L_31

03/06/2008 I driver. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi (ultima modifica 30.05.08).
L_32 04/06/2008 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica. (ultima modifica 04.06.08).
E_12 05/06/2008 Seminario. Le GPU, le schede CUDA: architettura e principi di programmazione (Dott. Massimiliano Piscozzi).
L 33 06/06/2008 Le prestazioni. Valutazione delle prestazioni: CPI e mix di istruzioni. Benchmark. Legge di Amdhal. Speed-up. Gerarchie di memorie (ultima modifica 25.05.07) .
C_04 10/06/2008 Quarto Compitino. Memorie. I/O (fino alla lezione 33). Aula V3 . Ore 9.00. Esercizi (ultima modifica 06.06.08). Risultati.