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

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.

    Introduzione
L_01 01/03/2005 Introduzione. Storia dell'Elaboratore (ultima modifica 03.03.05).
L_02 03/03/2005 Codifica dell'informazione. Operazioni su numeri binari. Le operazioni fondamentali. Rappresentazione binaria dei numeri decimali. (ultima modifica 03.03.05).
E_01 02/03/2005

Esercitazione: Operazioni sui numeri binari (soluzione) (ultima modifica 06.03.05). Lezione sospesa per sciopero.

L_03 04/03/2005 Architettura di riferimento. Architetture RISC e CISC. La struttura della CPU. Il bus. Il ciclo di esecuzione di un'istruzione (ultima modifica 25.02.05).
    Logica combinatoria
L_04 08/03/2005 L'algebra combinatoria: variabili ed operatori. Implementazione circuitale (porte logiche). Dal circuito alla funzione. Algebra Booleana. Le porte universali (ultima modifica 02.03.05).
L_05 09/03/2005

Dalla funzione al circuito. Semplificazione algebrica. Criteri di ottimalità. Dalla tabella della verità al circuito:. la prima forma canonica. Implementazione circuitale mediante PLA o ROM (ultima modifica 09.03.05).

E_02 10/03/2005 Esercitazione: Sintesi delle funzioni booleane (soluzione) (ultima modifica 11.03.05).

L_06

11/03/2005 Maxtermini. Seconda forma canonica di rappresentazione delle funzioni booleane. Circuiti combinatori notevoli (ultima modifica 11.03.05).
    Le unità aritmetico-logiche
L_07 15/03/2005 Addizionatori. Il problema del riporto. Moltiplicatori HW (ultima modifica 05.04.04).
L_08 16/03/2005 Progettazione di una ALU. I due stadi. Addizione su 32 bit. Overflow. Comparazione (ultima modifica 16.03.05).
E_03 17/03/2005 Esercitazione: Sintesi di circuiti logici. Addizioni e moltiplicazioni (soluzioni) (ultima modifica 21.03.05).
L_09 18/03/2005 Anticipazione del riporto. Introduzione al firmware. Circuiti firmware della moltiplicazione intera. (ultima modifica 18.03.05).
   

Logica sequenziale

L_10 22/03/2005 Temporizzazione dei circuiti booleani. Circuiti sequenziali. Tabelle di transizione e di eccitazione. I latch SC. I latch D (ultima modifica 21.03.05).
L_11 23/03/2005

I bistabili. Problemi di temporizzazione. Il register file (ultima modifica 18.03.05).

E_04 31/03/2005 Esercitazione: I bistabili e la temporizzazione dei circuiti.
L_12 05/04/2005

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

   

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

L_13 06/04/2005 Definizione dell'ISA. L'assembly. Istruzioni aritmetiche nel MIPS. L'organizzazione della memoria. Istruzioni di lettura / scrittura: register spilling (ultima modifica 05.04.05).
E_05 07/04/2005 Esercitazione: Sintesi di macchine a stati finiti (soluzioni) (ultima modifica 21.04.05).
L_14 12/04/2005 Istruzioni di controllo del flusso: salti condizionati ed incondizionati. Le procedure. Utilizzo dello stack. (ultima modifica 13.04.05).
L_15 13/04/2005

Compilazione e linker: dal programma all'eseguibile. Le direttive del compilatore Assembly. Programmi assembly e la loro emulazione di SPIM. Utilizzo delle costanti (ultima modifica 13.04.05).

L_16 15/04/2005

Meccanismi di chiamata delle procedure. Le procedure annidate. Procedure ricorsive. Esempi (ultima modifica 05.04.05).

E_06 14/04/2005 Esercitazione: assembly. Programmi Assembly (soluzioni) (ultima modifica 15.04.05).
L_17 19/04/2005 Il linguaggio macchina. Architettura delle istruzioni: tipi R, I e J. Modalità di indirizzamento. (ultima modifica 19.04.05).
C_01 21/04/2005 Primo compitino (esercizi di ricapitolazione, soluzione - assembly, risultati)
   

La struttura di un'architettura

L_18 22/04/2005 La CPU ed il ciclo di esecuzione: Control path e data path. Costruzione di una CPU a ciclo singolo(ultima modifica 22.04.05).
L_19 26/04/2005 Sintesi del controllore della ALU. Sintesi dell'Unità di Controllo principale ed analisi del data-path per CPU a ciclo singolo (ultima modifica 26.04.05).
L_20 27/04/2005 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 26.04.05).
E_07 28/04/2005 Esercitazione: Esecuzione di istruzioni di tipo R, I e J (soluzioni) (ultima modifica: 02.05.05).
L_21 29/04/2005 I passi di esecuzione di una CPU multi-ciclo, per le istruzioni di tipo R, lw/sw, branch e jump. La FSM per una CPU multi-ciclo. Sintesi dei segnali di controllo e della funzione stato prossimo (ultima modifica 29.04.05).
L_22 03/05/2005 Interrupt ed eccezioni. Architettura HW e SW per la gestione delle interruzioni. CPU multi-ciclo e gestione delle eccezioni. (ultima modifica 02.05.05).
L_23 04/05/2005 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 04.05.05).
L_24 06/05/2005 Controllo della pipeline. Sintesi dell'Unità di Controllo per la CPU con pipeline. (ultima modifica 06.05.04).
E_08 05/05/2005 Esercitazione: CPU Multi-ciclo (soluzioni) Ultima modifica: 26.05.2005.
L_25 10/05/2005 Criticità della pipeline. Soluzione degli hazard sui dati mediante feedforwarding. Sintesi del controllore di feed-forwarding (ultima modifica 10.05.05).
L_26 11/05/2005 Stallo della pipeline. Soluzione degli Hazard sul controllo. Delayed branch. Trend delle pipeline. (ultima modifica 11.05.05).
E_09 12/05/2005 Esercitazione: CPU pipeline (soluzioni) Ultima modifica: 26.05.2005.
    Le memorie
L_27 13/05/2005 Le memorie: gerarchia di memorie. Hit e Miss. Memoria cache. Mappatura diretta. Il campo tag di una cache (ultima modifica 18.05.05).
L_28

17/05/2005

Lettura / scrittura di una cache a mappatura diretta. Cache associative. Cache ad n vie. Cache coherence (ultima modifica 18.05.05).
L_29 18/05/2005 Criteri di progettazione di una memoria cache. La tecnologia SRAM e DRAM. Codici di correzione degli errori (ultima modifica 18.05.05).
E_10 19/05/2005 Esercitazione: Cache (soluzioni) Ultima modifica: 30.05.2005.
    Le periferiche
L_30 20/05/2005 Il bus. Tipologie di bus. I bus seriali: Firewire, USB e PCI-Express. Schemi di arbitraggio. Gestione dell'I/O. (ultima modifica 24.05.05).

L_31

24/05/2005 I driver. L'I/O a controllo di programma. Polling. Interrupt. DMA. I dischi (ultima modifica 24.05.05).
L_32 25/05/2005 Le reti. Tassonomia. Schemi di commutazione. Protocolli e gerarchia. Modello ISO-OSI. Ethernet. Gestione delle collisioni. Il protocollo TCP-IP (ultima modifica 24.05.05).
E_11 26/05/2005 Esercitazione: Uno sguardo all'interno di un PC. Questa esercitazione si terrà nel laboratorio di dattico (Silab) di Via Comelico 39. PRESENTARSI ENTRO LE 11.00!!
L_33 27/05/2005 Valutazione delle prestazioni: CPI e mix di istruzioni. Benchmark. Legge di Amdhal. Speed-up. Gerarchie di memorie (ultima modifica 26.05.04).
L_34 31/05/2005 L'architettura INTEL. L'architettura CISC degli INTEL. I registri. Modalità di indirizzamento. Elementi dell'ISA e della sua codifica. Le linee di sviluppo: Itanium ed Itanium-2. Architetture super-scalari. Cenni sulla pipeline del Pentium 4 (ultima modifica 26.05.05).
E_12 01/06/2005 Esercitazione di riepilogo (ultima modifica 18.05.05).
C_02 07/06/2005 Secondo Compitino (risultati)