AEb, A.A. 2011-2012

Materiale presentato a lezione

Link al registro ufficiale delle lezioni.

Lezione Ore Argomento svolto Materiale
Primo Semestre
21 set 2 Introduzione al corso: modalità di esame, tipologia di lezioni ed esercitazioni, programma di massima - Strutturazione verticale e orizzontale dei sistemi di elaborazione Audio, Lavagna
23 set 2 Interpretazione e compilazione. Caratterizzazione dei livelli verticali. Moduli e unità di elaborazione. Introduzione alle forme di parallelismo farm e pipeline Audio 1a ora Audio 2a ora Lavagna
28 set 2 Valutazione approssimata delle prestazioni di farm e pipeline. Rappresentazione dell'informazione: sistema binario, numeri interi, rappresentazione in complemento a due Audio 1a ora Audio 2a ora Lavagna
30 set 2 Rappresentazione degli interi: forme notevoli, operazioni di shift e rotazione. Rappresentazione dei numeri in virgola mobile. Algebra di boole: dominio, operazioni AND, OR, NOT, rappresentazione di funzioni booleane mediante tabelle di verità. Forma in somme di prodotti e semplificazione di espressioni. Audio 1a ora Audio 2a ora Lavagna1 Lavagna2
7 ott 2 Reti combinatorie: realizzazione a partire da espressioni booleane (addizionatore e commutatore a un bit), ritardi delle porte, realizzazione di reti a n bit a partire da reti da 1 bit, con esempi (Mencagli) Non Disponibile
12 ott 2 Reti sequenziali e automi. Modelli Mealy e Moore. Derivazione di reti sequenziali dalla specifica dell'automa. Ciclo di clock. Componenti standard e utilizzo per la definizione di reti sequenziali. Audio 1a ora Audio 2a ora Lavagna1 Lavagna2
19 ott 2 Componenti di memoria (solo funzionale). Procedimento formale per la progettazione di un'unità di elaborazione: specifica operazioni esterne, microcodice, derivazione di PO e PC (esempio). Audio 1a ora Audio 2a ora Lavagna
21 ott 2 Esempio di progettazione di unità di elaborazione “accumulatore”. Valutazione del ciclo di clock. Calcolo del tempi medio di elaborazione. Banda di elaborazione. Utilizzo di reti combinatorie “ad hoc” per PO. Audio 1a ora Audio 2a ora Lavagna
26 ott 2 Ottimizzazione di microcodice, condizioni di Bernstein, microprogrammi con 1 sola micro istruzione, controllo residuo Audio 1a ora Audio 2a ora Lavagna
28 ott 2 Comunicazioni fra unità firmware. Indicatori a livelli e a transizione di livelli. Protocollo standard. Protocollo a domanda risposta. Esercizi su unità firmware: unità accumulatore con comunicazione. Unità che cerca interi in una memoria interna. Audio 1a ora Audio 2a ora Lavagna
9 nov 2 Esercitazione (Mencagli): Esercizio su fw dal compitino del 17 dicembre 2009 (disponibile su didawiki) Non Disponibile
11 nov 2 Componenti di memoria: organizzazione interna, tempi di accesso, memoria modulare, memorie a doppia porta. Esercizio: testo di esame del 27 giugno 2006 Audio 1a ora Audio 2a ora Lavagna
16 nov 2 Esercitazione: testo di esame del 27 giugno 2006 (ultima parte) + prima prova di verifica intermedia 2010-2011 (domanda 1, aspetti relativi alla minimizzazione del tempo di elaborazione di una operazione esterna e realizzazione delle reti combinatorie ad hoc. Audio 1a ora Audio 2a ora Lavagna
18 nov 2 Introduzione livello assembler. Schema P-M-I/O. Macchine a stack, accumulatore e registri. Set di istruzioni CISC/RISC. Modi di indirizzamento. Audio 1a ora Audio 2a ora Lavagna
23 nov 2 Set istruzioni D-RISC Audio 1a ora Audio 2a ora Lavagna
25 nov 2 Interprete FW D-RISC: struttura dell'interprete, tecnica del salto forzato per la decodifca, implementazione di istruzioni tipo, costo delle varie classi di istruzioni, prestazioni (MIX e BENCHMARK). Audio 1a ora Audio 2a ora Lavagna
30 nov 2 Compilazione di costrutti tipici in D-RISC: espressioni, assegnamento, condizionali, cicli, chiamate di procedura/funzione con passaggio di parametri. Rappresentazione di vettori, array, strutture. Esempi di compilazione con liste e pile. Audio 1a ora Audio 2a ora Lavagna
2 dic 2 Esercizi sull'assembler: ricerca in una lista associativa implementata con array. Implementazione di una istruzione IFMEM= Rbase, Rindice, Rval, target. Assegnazione dell'esercizio sulle moltiplicazioni di matrici. Audio 1a ora Audio 2a ora Lavagna1Lavagna2
7 dic 2 Esercizi su firmware e assembler, tratti dai testi di esame del 23 giugno 2010 e 13 luglio 2010 Audio 1a ora Audio 2a ora Lavagna1Lavagna2
14 dic 2 Esercizi su firmware e assembler: moltiplicazione di matrici (e considerazioni sull'indirizzamento di matrici in memoria) e primo esercizio della prova di verifica intermedia del Feb 2011 Audio 1a ora Audio 2a ora Lavagna1Lavagna2
16 dic 2 Ricevimento in classe Lavagna
Secondo semestre
20 feb 2 Verilog (pagina con il materiale di approfondimento su DidaWiki Audio 1a oraAudio 2a ora Lavagna
22 feb 2 Ingresso uscita: interruzioni (fase fw e asm) memory mapped I/O e DMA. Audio 1a oraAudio 2a ora Lavagna
27 feb 2 Gerarchie di memoria principi generali. Indirizzi logici e fisici. Paginazione. Organizzazione della MMU. Memorie associative. Audio 1a oraAudio 2a ora Lavagna(1)Lavagna(2)
29 feb 2 Fault e effetto dei parametri sigma e gamma sulla probabilità di fault. Tempo di accesso in memoria in presenza di fault. Metodi per l'indirizzamento delle cache: diretto, completamente associativo e associativo su insiemi. Audio 1a oraAudio 2a ora Lavagna
05 mar 2 Scritture in cache: necessità della copia dai livelli superiori della gerarchia, politiche write back e write through. Cenno agli algoritmi di rimpiazzamento e loro implementazione. Costo del trattamento di un fault. Esercizio: generazione della traccia degli indirizzi di un codice. Audio Lavagna
07 mar 2 Tempo di completamento di un codice con overhead per i fault. Fault fisiologici. Esempi di codice con analisi del tipo di località e numero di fault. Forme di parallelismo (replicazione funzionale e pipeline) e loro caratteristiche. Audio 1a oraAudio 2a ora Lavagna
12 mar 2 Misure di prestazioni per forme di parallelismo. Latenza, tempo di servizio, tempo di completamento. Speedup, scalabiltà ed efficienza. Cenni a risultati di teoria delle code. Modelli di costo per pipeline e farm. Audio 1a oraAudio 2a ora Lavagna
21 mar 2 Processore pipeline: principi, strutturazione in unità, problema della gestione delle dipendenze e dei salti. Metodo della simulazione. Audio 1a oraAudio 2a ora Lavagna
26 mar 2 Approfondimento dipendenze logiche. Modello analitico delle prestazioni del processore pipeline. Tecniche per la limitazione del degrado delle prestazioni legate ai salti e alle dipendenze logiche (con esempi). Audio 1a oraAudio 2a ora Lavagna
28 mar 2 Esercitazione: esecuzione di codice su processore pipeline, valutazione delle prestazioni e ottimizzazione. Audio 1a oraAudio 2a ora Lavagna
18 apr 2 Architettura pipeline con EU parallela. Audio 1a oraAudio 2a ora Lavagna
23 apr 2 Processore con IU parallela. Modello delle prestazioni. IU in order e out of order e confronto con ottimizzazioni statiche. Audio 1a oraAudio 2a ora Lavagna
2 mag 2 Processore superscalare Audio 1a oraAudio 2a ora Lavagna
7 mag 2 Processore superscalare: modello analitico di performance, realizzazione IU, DM ed EU. Introduzione al multithreading. Audio 1a oraAudio 2a ora Lavagna
14 mag 2 Multithreading: principi, tipi di multithreading, multithreading e superscalare. Evoluzione verso architetture multicore. Cache coherence. Set di istruzioni SIMD. GPU e coprocessors (cenni). Audio 1a oraAudio 2a ora Lavagna
16 mag 2 Esercitazione: moltiplicazione di matrici (pipeline con EU parallela, superscalare, multithreading interleaved, con note. Audio 1a oraAudio 2a ora Lavagna
21 mag 2 Esercitazione: commenti su testo di esame Feb 2012. Pipeline di unità fw. Lavagna
Fine corso