Capitoli 1, 2, 3, 4 fino al 4.6 (incluso), 5, 6 fino al 6.4, 7, 7, 9 fino al 9.2, 10.1, 10.2, 10.3, 10.4.2, 10.5, 10.5.1, 10.9, 10.11, e Capitolo 11. Dispensa sulla cache pubblicata sulla pagina didawiki del materiale didattico.
Data | Orario | Argomenti | Lavagna | Audio |
---|---|---|---|---|
24/09/13 | 11-13 | Introduzione al corso. Strutturazione a livelli. Compilazione e interpretazione. Supporto a tempo di esecuzione. | h1 h2 | |
27/09/13 | 11-13 | Strutturazione a livelli: dettagli sulle MVi. Strutturazione a moduli. Forme di parallelismo (cenni): replicazione funzionale e pipeline. | h1 h2 | |
1/10/13 | 11-13 | Introduzione all'algebra di Boole. Rappresentazione binaria di numeri interi. Porte logiche. Realizzazione di un sommatore di numeri interi binari (con Full Adder in cascata e come sintesi mediante tabella di verità) | h1 h2 | |
4/10/13 | 11-13 | Leggi dell'algebra di Boole. Complessità del processo di sintesi. Componenti standard. Implementazione delle porte standard con porte NAND. | h1 h2 | |
8/10/13 | 11-13 | Niente lezione (recupero ore in eccesso) | ||
11/10/13 | 11-13 | Rappresentazione dell'informazione: codice ASCII, numberi relativi e floating point. Realizzazoine di reti combinatorie in Verilog (Esercitazione). | pdf (corretto) | h1 h2 |
15/10/13 | 11-13 | Reti sequenziali. Modello di Mealy e di Moore. Automi. Implementazione di rete sequenziale con reti combinatorie e registri impulsati. Uso tipico per unità firmware. | h1 h2 | |
18/10/13 | 11-13 | Sintesi di reti sequenziali con componenti standard. Implementazione di un modulo di memoria. Tempi di accesso delle memorie. Memorie modulari sequenziali e interallacciate. | h1 h2 | |
22/10/13 | 11-13 | Esercitazione: reti sequenziali da automi di Mealy e di Moore. Seconda ora: Verilog: reti sequenziali in Verilog. | h1 h2 | |
25/10/13 | 11-13 | Esercitazione: reti sequenziali con componenti standard. Seconda ora: comunicazioni firmware: protocollo a livelli e introduzione al protocollo a transizione di livelli. | h1 h2 | |
29/10/13 | 11-13 | Unità firmware: PO e PC. Procedimento di progettazione. Microprogrammi a struttura di frase. | h1 h2 | |
12/11/13 | 12-13 | (1 ora, causa assemblea) Unità firmware: progettazione PC. Calcolo del ciclo di clock e T. | h1 | |
15/11/13 | 11-13 | Esercitazione: progettazione di semplice unità firmware con varianti. | h1 h2 | |
19/11/13 | 11-13 | Eliminazione nop. Condizioni di Bernstein. Raggruppamento condizioni. Considerazioni su ottimizzazione della lunghezza del ciclo di clock e del numero di microistruzioni in un microprogramma. (Attenzione: esempio corretto per Bernstein 2) alla fine delle slide) | h1 h2 | |
22/11/13 | 11-13 | Controllo residuo. Introduzione livello macchina Assembler. Schedulatore. | h1 h2 | |
26/11/13 | 11-13 | Livello assembler: tipi di architetture, indirizzamento e set di istruzioni. Set di istruzioni D-RISC: istruzioni aritmetico logiche e di memoria. | pdf1pdf2 | h1 h2 |
29/11/13 | 11-13 | Istruzioni assembler per il salto. Istruzioni speciali. Compilazione di espressioni, condizionale, cicli e funzioni/procedure. | h1 h2 | |
06/12/13 | 11-13 | Interprete firmware. Valutazione dei tempi di esecuzione. MIx e benchmark. | h1 h2 | |
10/12/13 | 11-13 | Gestione I/O: memory mapped I/O, DMA e trattamento interruzioni. Esercitazione. | h1 h2 | |
13/12/13 | 11-13 | Esercitazione: firmware, assembler, I/O. | h1 h2 | |
17/12/13 | 11-13 | Esercizi su I/O e firmware, Q&A. | h1 h2 | |
Interruzione delle lezioni per la sessione di esami invernale | ||||
17/2/2014 | 9-11 | Paginazione dinamica, MMU e traduzione degli indirizzi, trattamento dei fault di pagina nel sistema operativo | h1 h2 | |
20/2/2014 | 9-11 | Cache e gerachie di memoria. Località e riuso. Working set (primi cenni). Cache ad indirizzamento diretto. Accesso con indirizzi fisici e logici. | h1 h2 | |
24/2/2014 | 9-11 | Cache a indirizzamento completamente associativo e associativo su insiemi. Politiche write through e write back. Trattamento dei fault di cache: politiche di rimpiazzamento e trattamento dei fault in scrittura. Valutazione del tempo di completamento in presenza di fault di cache. | h1 h2 | |
27/2/2014 | 9-11 | Conseguenze del dimensionamento della cache sulla probabilità di fault. Cache secondarie (vedi pagina del materiale didattico). Esercizio: working set, località e riuso nel codice per la moltiplicazione di matrici. | h1 h2 | |
6/3/2014 | 9-11 | Sistema operativo e gestione della memoria: condivisione di indirizzi fra processi,richiami alla scehdulazione e relazione con gestione della memoria. Esercizi su working set. | h1 h2 | |
10/3/2014 | 9-11 | Esercizi e considerazioni su cache e insieme di lavoro (1a ora). Forme di parallelismo per processori paralleli. | h1 h2 | |
13/3/2014 | 9-11 | Forme di parallelismo per processori paralleli: efficienza, scalabilità, funzionamento a regime, moduli come componenti di un sistema a code. | h1 h2 | |
17/3/2014 | 9-11 | Processore pipeline. Struttura generale, dettagli IM, IU, DM ed EU, meccanismi per la gestione della copia di IC in IM e della copia dei registri in IU. Inefficienze legate a salti e dipendenze logiche. | h1 h2 | |
20/3/2014 | 9-11 | Processore pipeline. Comunicazioni fra unità. Interruzioni ed eccezioni. Modello analitico del tempo di servizio. | h1 h2 | |
24/3/2014 | 9-11 | Processore pipeline. Modello analitico (dettagli). Tecniche per la riduzione degli effetti dei salti (loop unrolling e delayed branch) e delle dipendenze (refactoring codice). | h1 h2 | |
7/04/2014 | 9-11 | Esercitazione: compilazione di codice con analisi delle cause di degrado delle prestazioni su processore pipeline. | h1 h2 | |
10/04/2014 | 9-11 | Esercitazione: calcolo prestazioni codice D-RISC per propcessore pipeline. | h1 | |
14/4/2014 | 9-11 | Processore data flow (con cenni a macro data flow e uso per data flow per FPGA). Processore pipeline con EU parallela: realizzazione in pipeline di EU slave e problema delle dipendenze logiche EU-EU. | h1 h2 | |
28/4/2014 | 9-11 | Modello analitico per processore pipeline con EU parallela. Ottimizzazioni statiche e dinamiche: valutazione comparativa (qualitativa) e motivazioni per la ricerca di un compromesso fra tecniche statiche (a tempo di compilazione) e dinamiche (con supporto firmware). | h1 h2 | |
5/5/2014 | 9-11 | Architettura superscalare: principi, funzionamento, modello dei costi. | h1 h2 | |
12/5/2014 | 9-11 | Architettura superscalare: modello dei costi (ultimi dettagli), realizzazione in parallelo di IU ed EU. Multithreading: caratteristiche, supporto firmware, mutlithreading blocked, interleaved e symmetric. | h1 h2 | |
15/05/2014 | 9-11 | Esercitazione: esercizi su processore pipeline con unità di esecuzione parallela (Mencagli) | non disponibili | |
19/5/2014 | 9-11 | Riepilogo caratteristiche processori e modelli di programmazione (dal processore dell'interprete fw al multicore. Prospettive e tendenze. | h1 h2 | |
22/05/2014 | 9-11 | Esercizi: esecuzione di codice multithreaded. | h1 h2 | |
Fine corso |