===== Architettura degli Elaboratori - Corso B - A.A. 2014/2015 ===== ==== Registro ufficiale delle lezioni ==== [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=153838::::&ri=8045|Registro ufficiale]] delle lezioni sul sito unimap. ==== Materiale didattico ==== L'ultima colonna riporta i riferimenti al libro di testo "Architettura degli elaboratori" di M. Vanneschi, Pisa University Press, seconda edizione, 2013. ^ Data ^ Ore ^ Argomenti svolti ^ Lavagna ^ Audio ^ Rif ^ | 23/09/14 | 11-13 | Introduzione al corso. Strutturazione a livelli. Richiami su compilazione e interpretazione | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23set.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23set.wmv|WMV]] | I.1 | | 26/09/14 | 11-13 | Strutturazione a moduli di un livello. Caratteristiche del modulo. Parallelismo (cenni a forme elementari: pipeline e replicazione funzionale) | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.26set.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.26set.mp3|audio]] | I.2 | | 30/09/14 | 11-13 | Ambiente locale e ambiente globale (cenni). Rappresentazione delle informazioni: sistema binario (numeri interi, relativi, floating point, caratteri ASCII). Modulo e segno, complemento a due. Operazioni notevoli. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.30set.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.30set.mp3|audio]][[http://backus.di.unipi.it/~marcod/AE1415/ae14.30set.audio1.mp3|audio(alternativo)]] | I.3, II.1 e II.2 | | 3/10/14 | 11-13 | Algebra di boole. Reti combinatorie: tabelle di verità, forma canonica in somma di prodotti, implementazione con porte logiche, ritardi di stabilizzazione. Esempio: addizionatore con riporto, commutatore | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.3ott.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.3ott.mp3|audio]] | da III.1.1 fino a III.1.5 | | 7/10/14 | 11-13 | Esercitazione: sintesi di commutatori, selezionatori, comparatori, alu. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.7ott.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.7ott.mp3|audio]] | | | 14/10/14 | 11-13 | Reti sequenziali. Modello di Moore e Mealy, automi, implementazione con registro di stato, calcolo del ciclo di clock (con esempi). | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.14ott.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.14ott.mp3|audio]] | III.2 fino a III.2.3 compreso | | 24/10/14 | 11-13 | Reti sequenziali: valutazione del ciclo di clock, realizzazione di registri con porte logiche (cenni), trasformazioni di reti (Mealy -> Moore e viceversa). Riepilogo del metodo di sintesi calssico e con componenti standard. Componente memoria (a singola e doppia porta). | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.24ott.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.24ott.wmv|audio-video]] | III.2.4, III.2.5, III.5 fino a 5.2.2 incluso | | 28/10/14 | 11-13 | Memoria modulare. Livello firmware: strutturazione di unità in PO-PC. Caratteristiche di PO e PC. Microprogrammazione con linguaggio a struttura di frase. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.28ott.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.28ott.wmv|audio-video]] | III.5.2.3, III.5.2.4, IV.1| | 31/10/14 | 11-13 | Procedimento formale di derivazione di PO e PC. Esempio: unità che calcola la moltiplicazione fra interi con ALU che metteno a diposizione addizione e sottrazione. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.31ott.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.31ott.wmv|audio-video]] | Da IV 2.1 a 2.7 escluso (solo cenni) al 2.2 | | 11/11/14 | 11-13 | Ottimizzazione del microcodice: parallelismo fra microoperazioni, raggruppamento di istruzioni, tradeoff fra ottimizzazione di k e tau nel calcolo del tempo medio di elaborazione, controllo residuo. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.11nov.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.11nov.wmv|audio-video]] | IV 2.2, 3 da 3.1 a 3.4 incluso, 3.7 | | 14/11/14 | 11-13 | Comunicazioni firmware. Esercizio: unità stack | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.14nov.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.14nov.wmv|audio-video]] | IV.4 fino a 4.5 incluso. 4.6 e 4.7 solo cenni | | 18/11/14 | 11-13 | Esercizio: unità stack e unità con operazioni su memoria interna. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.18nov.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.18nov.wmv|audio-video]] | | | 21/11/14 | 11-13 | Esercitazione (unità firmware) | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.21nov.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.21nov.wmv|audio-video]] | | | 28/11/14 | 11-13 | Introduzione al livello assembler: visione generale (schema del processore, tipiche istruzioni assembler, rappresentazione in memoria, esempio di compilazione, memoria virtuale e allocazione dello spazio degli indirizzi logici nella memoria fisica. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.28nov.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.28nov.wmv|audio-video]] | V. Introduzione e cenni a diverse parti, da completare. | | 02/12/14 | 11-13 | Livello assembler: modi di indirizzamento, set istruzioni, RISC vs. CISC, regole di compilazione, interprete firwmare (con interfaccia con il sottosistema di memoria). | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.2dic.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.2dic.wmv|audio-video]] | V. da 1 a 5 escluso 5.3. e VII.2 | | 05/12/14 | 11-13 | Livello assembler: esercitazione. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.5dic.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.5dic.wmv|audio-video]] | | | 09/12/14 | 11-13 | Livello assembler: esercitazione. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.9dic.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.9dic.wmv|audio-video]] | | | 10/12 | 14-16 | Lezione straordinaria AEb: Introduzione al Verilog **AULA I** //La lezione non fa parte del programma di esame, serve solo per fornire le basi a chi volesse fare il progetto secondo le modalità comunicate a lezione.// | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.10dic.pdf|PDF]] | [[http://www.di.unipi.it/~marcod/verilog-lesson.mp4|audio-video (alta ris)]][[http://www.di.unipi.it/~marcod/verilog-short.mpg|audio-video (bassa ris)]] | [[http://didawiki.cli.di.unipi.it/doku.php/informatica/ae/verilogpag|pagina materiale Verilog]] | | Sessione di esami invernale ||||||| | 23/02/15 | 9-11 | Valutazione delle prestazioni e possibilità di miglioramento dell'architettura monolitica del processore. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23feb.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23feb.wmv|audio-video]] | VII 3.3 | | 26/02/15 | 9-11 | Arbitri e dispositivi BUS | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.26feb.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.26feb.wmv|audio-video]] | V 4.6 e 4.7 | | 2/03/15 | 9-11 | Ingresso/uscita: trattamento interruzioni (fase fw e asm), memory mapped I/O e DMA | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.2mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.2mar.wmv|audio-video]] | IX 1. e 2. | | 9/03/15 | 9-11 | I/O: unità "processi esterni". Modalità di interazione con periferiche (dettagli). Processi e schedulazione a basso livello: grafo degli stati, transizioni, routine per la commutazione di contesto. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.9mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.9mar.wmv|audio-video]] | VI 1. 2. (parzialmente) | | 12/03/15 | 9-11 | Spazio di indirizzamento logico e fisico, paginazione, traduzione indirizzi, strutture dati condivise e capability. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.12mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.12mar.wmv|audio-video]] | VI 3. VIII 2.4 e parte del 2.5 (MMU senza cache) | | 16/03/15 | 9-11 | Gerarchie di memoria. Principi di località e riuso. Working set. MMU e implementazione della traduzione indirizzi mediante cache della TabRil. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.16mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.16mar.wmv|audio-video]] | VIII 1. 2. | | 19/03/15 | 9-11 | Metodi di indirizzamento delle cache: diretto, associativo e associativo su insiemi. Cenni all'implementazione. Politiche write back e write through. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.19mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.19mar.wmv|audio-video]] | VIII 3.1 e 3.2 | | 23/03/15 | 9-11 | Valutazione dei tempi di fault. Prefetching. Gestione cache e processi. Esercitazione: prodotto vettoriale e gestione della memoria. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23mar.wmv|audio-video]] | VIII (completato) | | 26/03/15 | 9-11 | Esercitazione: cache e generachie di memoria | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.26mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.26mar.wmv|audio-video]] | | | 30/03/15 | 9-11 | Esercitazione: cache e generachie di memoria | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.30mar.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.30mar.wmv|audio-video]] | | | 2/04/15 | 9-11 | Non c'è lezione: prossima lezione: 16 aprile | | | | | 16/04/15 | 9-11 | Forme di parallelismo: stream e data parallelism. Latenza e Tempo di Servizio, Tempo di completamento. Banda. Speedup, Efficienza. Pipeline e farm. Tempo di servizio e completamento per pipeline e farm. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.16apr.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.16apr.wmv|audio-video]] | X.1, X.2, X.9.1, X.11 | | 20/04/15 | 9-11 | Risultati di teoria delle code per l'analisi di sistemi paralleli: fattore di utilizzo, sistemi in isolamento e non, clienti multipli e serventi multipli. Forme di parallelismo: reduce e data flow. Richiamo sulle comunicazioni a firmware. Introduzione al modello astratto del processore pipeline. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.20apr.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.20apr.wmv|audio-video]] | X.3, X.4.1, X.4.2, X.5.1, X.1, X.14.4, X.5.1 | | 23/04/15 | 9-11 | Processore pipeline: struttura, funzionamento. Impatto delle dipendenze logiche e del trattamento dei salti. Cenni all'implementazione delle varie unità. Simulazione dell'esecuzione di codice D-RISC. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23apr.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.23apr.wmv|audio-video]] | XI.1, XI.2, XI.3 (escluso 3.4 e 3.7) XI.4 fino a 4.2 compreso. | | 27/04/15 | 9-11 | Processore pipeline: riduzione del degrado delle prestazioni legato ai salti ed alle dipendenze logiche. Modello analitico per il ritardo introdotto sul tempo di servizio dalle dipendenze logiche (con esempi). Funzionamento out-of-order. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.27apr.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.27apr.wmv|audio-video]] | XI.3., XI.4 e XI.5 | | 30/04/15 | 9-11 | Esercizi di CPU D-RISC pipeline | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.30apr.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.30apr.wmv|audio-video]] | | | Nessuna lezione nella settimana 4-8 maggio, causa partecipazione a meeting di progetto da parte del docente. |||||| | 11/05/15 | 9-11 | Superscalare e multithreading | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.11mag.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.11mag.wmv|audio-video]] | XI.10.1, 10.2, da 11.1 fino a 11.5| | 14/05/15 | 9-11 | Implementazione di IU e EU per unità superscalari. Cenni al multicore. Esercizio su processore superscalare. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.14mag.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.14mag.wmv|audio-video]] | XI.10.3 | | 21/05/15 | 9-11 | Esercitazione: ottimizzazione codice per pipeline-superscalare. Codice multithreading (blocking, interleaved, symmetric) | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.21mag.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.21mag.wmv|audio-video]] | | | 25/05/15 | 9-11 | Esercitazione: ottimizzazione codice per pipeline-superscalare. | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.25mag.pdf|PDF]] | [[http://backus.di.unipi.it/~marcod/AE1415/ae14.25mag.wmv|audio-video]] | |