====== AEb, A.A. 2011-2012 ======
===== Materiale presentato a lezione =====

[[http://unimap.unipi.it/registri/dettregistriNEW.php?re=59990::::&ri=4278|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 | [[http://backus.di.unipi.it/~marcod/AE1112/aeb21set.mp3|Audio]], [[http://backus.di.unipi.it/~marcod/AE1112/ae2109.pdf|Lavagna]] | 
| 23 set | 2 | Interpretazione e compilazione. Caratterizzazione dei livelli verticali. Moduli e unità di elaborazione. Introduzione alle forme di parallelismo farm e pipeline | [[http://backus.di.unipi.it/~marcod/AE1112/ae2309.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2309.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2309.pdf|Lavagna]] |
| 28 set | 2 | Valutazione approssimata delle prestazioni di farm e pipeline. Rappresentazione dell'informazione: sistema binario, numeri interi, rappresentazione in complemento a due | [[http://backus.di.unipi.it/~marcod/AE1112/ae2809.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2809.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2809.pdf|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.   | [[http://backus.di.unipi.it/~marcod/AE1112/ae3009.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae3009.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae3009.1.pdf|Lavagna1]] [[http://backus.di.unipi.it/~marcod/AE1112/ae3009.2.pdf|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. | [[http://backus.di.unipi.it/~marcod/AE1112/ae1210.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1210.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1210.1.pdf|Lavagna1]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1210.2.pdf|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).  | [[http://backus.di.unipi.it/~marcod/AE1112/ae1910.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1910.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1910.pdf|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.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae2110.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2110.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2110.pdf|Lavagna]] |
| 26  ott | 2 | Ottimizzazione di microcodice, condizioni di Bernstein, microprogrammi con 1 sola micro istruzione, controllo residuo | [[http://backus.di.unipi.it/~marcod/AE1112/ae2610.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2610.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2610.pdf|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. | [[http://backus.di.unipi.it/~marcod/AE1112/ae2810.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2810.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2810.pdf|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 | [[http://backus.di.unipi.it/~marcod/AE1112/ae1111.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1111.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1111.pdf|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. | [[http://backus.di.unipi.it/~marcod/AE1112/ae1611.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1611.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1611.pdf|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.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae1811.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1811.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1811.pdf|Lavagna]] |
| 23  nov | 2 | Set istruzioni D-RISC  | [[http://backus.di.unipi.it/~marcod/AE1112/ae2311.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2311.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2311.pdf|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).  | [[http://backus.di.unipi.it/~marcod/AE1112/ae2511.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2511.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae2511.pdf|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.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae3011.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae3011.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae3011.pdf|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.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae0212.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae0212.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae0212.1.pdf|Lavagna1]][[http://backus.di.unipi.it/~marcod/AE1112/ae0212.2.pdf|Lavagna2]] |
| 7 dic | 2 | Esercizi su firmware e assembler, tratti dai testi di esame del 23 giugno 2010 e 13 luglio 2010 | [[http://backus.di.unipi.it/~marcod/AE1112/ae0712.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae0712.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae0712.1.pdf|Lavagna1]][[http://backus.di.unipi.it/~marcod/AE1112/ae0712.2.pdf|Lavagna2]] |
| 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 | [[http://backus.di.unipi.it/~marcod/AE1112/ae1412.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1412.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae1412.1.pdf|Lavagna1]][[http://backus.di.unipi.it/~marcod/AE1112/ae1412.2.pdf|Lavagna2]] |
| 16 dic | 2 | Ricevimento in classe | [[http://backus.di.unipi.it/~marcod/AE1112/16ric.pdf|Lavagna]] | 
| Secondo semestre ||||
| 20 feb | 2 | Verilog (pagina con il materiale di approfondimento su [[http://didawiki.cli.di.unipi.it/doku.php/informatica/ae/verilogpag|DidaWiki]] | [[http://backus.di.unipi.it/~marcod/AE1112/ae200212.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae200212.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae200212.pdf|Lavagna]] |
| 22 feb | 2 | Ingresso uscita: interruzioni (fase fw e asm) memory mapped I/O e DMA. | [[http://backus.di.unipi.it/~marcod/AE1112/ae220212.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae220212.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae220212.pdf|Lavagna]] |
| 27 feb | 2 | Gerarchie di memoria principi generali. Indirizzi logici e fisici. Paginazione. Organizzazione della MMU. Memorie associative. | [[http://backus.di.unipi.it/~marcod/AE1112/ae270212.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae270212.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae270212.1.pdf|Lavagna(1)]][[http://backus.di.unipi.it/~marcod/AE1112/ae270212.2.pdf|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.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae290212.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae290212.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae290212.pdf|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.   | [[http://backus.di.unipi.it/~marcod/AE1112/ae050312.mp3|Audio]] [[http://backus.di.unipi.it/~marcod/AE1112/ae050312.pdf|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. | [[http://backus.di.unipi.it/~marcod/AE1112/ae070312.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae070312.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae070312.pdf|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.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae120312.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae120312.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae120312.pdf|Lavagna]] |
| 21 mar | 2 | Processore pipeline: principi, strutturazione in unità, problema della gestione delle dipendenze e dei salti. Metodo della simulazione.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae210312.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae210312.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae210312.pdf|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). | [[http://backus.di.unipi.it/~marcod/AE1112/ae260312.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae260312.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae260312.pdf|Lavagna]] |
| 28 mar | 2 | Esercitazione: esecuzione di codice su processore pipeline, valutazione delle prestazioni e ottimizzazione. | [[http://backus.di.unipi.it/~marcod/AE1112/ae280312.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae280312.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae280312.pdf|Lavagna]] |
| 18 apr | 2 | Architettura pipeline con EU parallela.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae160412.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae160412.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae160412.pdf|Lavagna]] |
| 23 apr | 2 | Processore con IU parallela. Modello delle prestazioni. IU in order e out of order e confronto con ottimizzazioni statiche.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae230412.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae230412.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae230412.pdf|Lavagna]] |
| 2 mag | 2 | Processore superscalare  | [[http://backus.di.unipi.it/~marcod/AE1112/ae020512.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae020512.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae020512.pdf|Lavagna]] |
| 7 mag | 2 | Processore superscalare: modello analitico di performance, realizzazione IU, DM ed EU. Introduzione al multithreading.  | [[http://backus.di.unipi.it/~marcod/AE1112/ae070512.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae070512.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae070512.pdf|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).  | [[http://backus.di.unipi.it/~marcod/AE1112/ae140512.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae140512.2.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae140512.pdf|Lavagna]] |
| 16 mag | 2 | Esercitazione: moltiplicazione di matrici (pipeline con EU parallela, superscalare, multithreading interleaved, con note. | [[http://backus.di.unipi.it/~marcod/AE1112/ae160512.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1112/ae160512.3.mp3|Audio 2a ora]] [[http://backus.di.unipi.it/~marcod/AE1112/ae160512.pdf|Lavagna]] |
| 21 mag | 2 | Esercitazione: commenti su testo di esame Feb 2012. Pipeline di unità fw. | [[http://backus.di.unipi.it/~marcod/AE1112/ae210512.pdf|Lavagna]] |
| Fine corso ||||