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 |