===== Architettura degli elaboratori - corso B - A.A. 2013-2014 ===== === Registro ufficiale delle lezioni === [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=107627::::&ri=8045|Registro delle lezioni ufficiale]] === Programma svolto (libro di testo) === 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. === Materiale lezioni (dettagliato) === ^ Data ^ Orario ^ Argomenti ^ Lavagna ^ Audio ^ | 24/09/13 | 11-13 | Introduzione al corso. Strutturazione a livelli. Compilazione e interpretazione. Supporto a tempo di esecuzione. | [[http://backus.di.unipi.it/~marcod/AE1314/ae24set.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae24set.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae24set.2.mp3|h2]] | | 27/09/13 | 11-13 | Strutturazione a livelli: dettagli sulle MVi. Strutturazione a moduli. Forme di parallelismo (cenni): replicazione funzionale e pipeline. | [[http://backus.di.unipi.it/~marcod/AE1314/ae27set.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae27set.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae27set.2.mp3|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à) | [[http://backus.di.unipi.it/~marcod/AE1314/ae1ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae1ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae1ott.2.mp3|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.| [[http://backus.di.unipi.it/~marcod/AE1314/ae4ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae4ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae4ott.2.mp3|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 [[http://didawiki.cli.di.unipi.it/doku.php/informatica/ae/verilogpag|Verilog]] (Esercitazione). | [[http://backus.di.unipi.it/~marcod/AE1314/ae11ott.1.pdf|pdf (corretto)]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae11ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae11ott.2.mp3|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.| [[http://backus.di.unipi.it/~marcod/AE1314/ae15ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae15ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae15ott.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae18ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae18ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae18ott.2.mp3|h2]] | | 22/10/13 | 11-13 | Esercitazione: reti sequenziali da automi di Mealy e di Moore. Seconda ora: Verilog: reti sequenziali in Verilog. | [[http://backus.di.unipi.it/~marcod/AE1314/ae22ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae22ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae22ott.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae25ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae25ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae25ott.2.mp3|h2]] | | 29/10/13 | 11-13 | Unità firmware: PO e PC. Procedimento di progettazione. Microprogrammi a struttura di frase. | [[http://backus.di.unipi.it/~marcod/AE1314/ae29ott.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae29ott.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae29ott.2.mp3|h2]] | | 12/11/13 | 12-13 | (1 ora, causa assemblea) Unità firmware: progettazione PC. Calcolo del ciclo di clock e T. | [[http://backus.di.unipi.it/~marcod/AE1314/ae12nov.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae12nov.1.mp3|h1]] | | 15/11/13 | 11-13 | Esercitazione: progettazione di semplice unità firmware con varianti. | [[http://backus.di.unipi.it/~marcod/AE1314/ae15nov.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae15nov.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae15nov.2.mp3|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) | [[http://backus.di.unipi.it/~marcod/AE1314/ae19nov.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae19nov.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae19nov.2.mp3|h2]] | | 22/11/13 | 11-13 | Controllo residuo. Introduzione livello macchina Assembler. Schedulatore. | [[http://backus.di.unipi.it/~marcod/AE1314/ae22nov.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae22nov.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae22nov.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae26novUno.pdf|pdf1]][[http://backus.di.unipi.it/~marcod/AE1314/ae26nov.pdf|pdf2]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae26nov.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae26nov.2.mp3|h2]] | | 29/11/13 | 11-13 | Istruzioni assembler per il salto. Istruzioni speciali. Compilazione di espressioni, condizionale, cicli e funzioni/procedure. | [[http://backus.di.unipi.it/~marcod/AE1314/ae29nov.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae29nov.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae29nov.2.mp3|h2]] | | 06/12/13 | 11-13 | Interprete firmware. Valutazione dei tempi di esecuzione. MIx e benchmark. | [[http://backus.di.unipi.it/~marcod/AE1314/ae06dic.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae06dic.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae06dic.2.mp3|h2]] | | 10/12/13 | 11-13 | Gestione I/O: memory mapped I/O, DMA e trattamento interruzioni. Esercitazione. | [[http://backus.di.unipi.it/~marcod/AE1314/ae10dic.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae10dic.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae10dic.2.mp3|h2]] | | 13/12/13 | 11-13 | Esercitazione: firmware, assembler, I/O. | [[http://backus.di.unipi.it/~marcod/AE1314/ae13dic.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae13dic.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae13dic.2.mp3|h2]] | | 17/12/13 | 11-13 | Esercizi su I/O e firmware, Q&A. | [[http://backus.di.unipi.it/~marcod/AE1314/ae17dic.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae17dic.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae17dic.2.mp3|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 | [[http://backus.di.unipi.it/~marcod/AE1314/ae17feb14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae17feb14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae17feb14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae20feb14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae20feb14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae20feb14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae23feb14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae23feb14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae23feb14.2.mp3|h2]] | | 27/2/2014 | 9-11 | Conseguenze del dimensionamento della cache sulla probabilità di fault. Cache secondarie (vedi [[http://didawiki.cli.di.unipi.it/doku.php/informatica/ae/materialedidattico1314?&#libro_di_testo|pagina]] del materiale didattico). Esercizio: working set, località e riuso nel codice per la moltiplicazione di matrici. | [[http://backus.di.unipi.it/~marcod/AE1314/ae27feb14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae27feb14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae27feb14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae6mar14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae6mar14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae6mar14.2.mp3|h2]] | | 10/3/2014 | 9-11 | Esercizi e considerazioni su cache e insieme di lavoro (1a ora). Forme di parallelismo per processori paralleli. | [[http://backus.di.unipi.it/~marcod/AE1314/ae10mar14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae10mar14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae10mar14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae13mar14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae13mar14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae13mar14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae17mar14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae17mar14.4.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae17mar14.2.mp3|h2]] | | 20/3/2014 | 9-11 | Processore pipeline. Comunicazioni fra unità. Interruzioni ed eccezioni. Modello analitico del tempo di servizio. | [[http://backus.di.unipi.it/~marcod/AE1314/ae20mar14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae20mar1 4.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae20mar14.2.mp3|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). | [[http://backus.di.unipi.it/~marcod/AE1314/ae24mar14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae24mar1 4.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae24mar14.2.mp3|h2]] | | 7/04/2014 | 9-11 | Esercitazione: compilazione di codice con analisi delle cause di degrado delle prestazioni su processore pipeline. | [[http://backus.di.unipi.it/~marcod/AE1314/ae7apr14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae7apr1 4.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae7apr14.2.mp3|h2]] | | 10/04/2014 | 9-11 | Esercitazione: calcolo prestazioni codice D-RISC per propcessore pipeline. | [[http://backus.di.unipi.it/~marcod/AE1314/ae10apr14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae10apr1 4.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae14apr14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae14apr1 4.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae14apr14.2.mp3|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). | [[http://backus.di.unipi.it/~marcod/AE1314/ae28apr14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae28apr1 4.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae28apr14.2.mp3|h2]] | | 5/5/2014 | 9-11 | Architettura superscalare: principi, funzionamento, modello dei costi. | [[http://backus.di.unipi.it/~marcod/AE1314/ae5mag14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae5mag14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae5mag14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae12mag14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae12mag14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae12mag14.2.mp3|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. | [[http://backus.di.unipi.it/~marcod/AE1314/ae19mag14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae19mag14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae19mag14.2.mp3|h2]] | | 22/05/2014 | 9-11 | Esercizi: esecuzione di codice multithreaded. | [[http://backus.di.unipi.it/~marcod/AE1314/ae22mag14.pdf|pdf]] | [[http://backus.di.unipi.it/~marcod/AE1314/ae22mag14.1.mp3|h1]] [[http://backus.di.unipi.it/~marcod/AE1314/ae22mag14.2.mp3|h2]] | | Fine corso |||||