====== Lezioni AEb 2016-17 ====== Quest'anno il corso AEb fa parte della sperimentazione e-learning UNIPI. I video con le lezioni saranno dunque disponibili sulla [[http://mediateca.unipi.it/|mediateca]] UNIPI. Su questa pagina continuerete a trovare il PDF delle schermate proiettate per la lezione. Il registro ufficiale delle lezioni è quello su [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=179796::::&ri=8045|Unimap]]. ^ Giorno ^ Ore ^ Argomento ^ Lavagna ^ Rif. Libro | | 20 set | 2 | Introduzione al corso. Strutturazione a livelli | {{:informatica:ae:ae1617set20.pdf|PDF}} | I.1 | | 21 set | 2 | Compilazione e interpretazione. Livelli e moduli. Cooperazione ad ambiente locale e globale. Sistema di numerazione binario:rappresentazione di interi (relativi) | {{:informatica:ae:21-09-2016.pdf|PDF}} | I.2, I.3 | | 23 set | 2 | Sistema di numerazione binario: rappresentazione di caratteri e numeri in virgola mobile. Contatori. Operazioni notevoli. | {{:informatica:ae:23-09-2016.pdf|PDF}} | II.1 e II.2 | | 27 set | 2 | Algebra booleana. Reti combinatorie | {{:informatica:ae:27-09-2016.pdf|PDF}} | III.1 | | 28 set | 2 | Reti combinatorie (altri esempi, progettazione modulare). Componente registro e componente memoria. Reti sequenziali: definizione, automi, schema di implementazione, modello Mealy e Moore | {{:informatica:ae:ae1617sep29.pdf|PDF}} | III.2 fino a 2.4 escluso | | 29 set | 2 | Reti sequenziali: utilizzo di componenti standard, analisi. Es. reti combinatorie | {{:informatica:ae:ae1617sep30.pdf|PDF}} | III completo | | 4 ott | 2 | Esercitazione: reti combinatorie e sequenziali | {{:informatica:ae:ae1617ott4.pdf|PDF}} | {{http://didawiki.cli.di.unipi.it/lib/exe/fetch.php/informatica/ae/ae-homework_1.pdf|Primo Es}}{{http://didawiki.cli.di.unipi.it/lib/exe/fetch.php/informatica/ae/ae-homework_2.pdf|Secondo Es (1.a) }} | | 5 ott | 2 | Introduzione alle unità firmware: PC e PO. Modello PC-Mealy/PO-Moore. Presentazione del modello di derivazione formale. Esempio con pseudocodice per la divisione fra interi. |{{:informatica:ae:ae1617ott5.pdf|PDF}} | IV.1 IV.2 | | 7 ott | 2 | Microlinguaggio. Procedimento formale di derivazione di parte operativa e parte controllo. | {{:informatica:ae:ae1617ott7.pdf|PDF}} | IV.2 senza ottimizzazioni | | 7 ott | 2 | Lezione Extra programma: introduzione al Verilog (la lezione non fa parte del programma ufficiale, ma serve da introduzione a chi vuole presentare un progetto al posto della prova scritta) | {{:informatica:ae:verilog.1xoj.pdf|PDF}} {{:informatica:ae:verilog.mp4|Video}} | {{http://didawiki.di.unipi.it/lib/exe/fetch.php/informatica/ae/verilog2.pdf|Dispensa}} | | 11 ott | 2 | Ottimizzazione di microcodice. Condizioni di Bernstein. Tempo medio di elaborazione e criteri di ottimizzazione. Variabili di condizionamento complesse. Valutazione dell'uso di componenti memoria nelle microistruzioni. | {{:informatica:ae:ae1617ott11.pdf|PDF}} | IV fino 3.6 compreso | | 12 ott | 2 | Controllo residuo. Comunicazioni simmetriche a livelli e transizioni di livello | {{:informatica:ae:ae1617ott12.pdf|PDF}} | IV 3.7 e IV 4 fino a 4.4 incluso | | 14 ott | 2 | Esercitazione : unità firmware | {{:informatica:ae:ae1617ott14.pdf|PDF}} | | | 18 ott | 2 | Comunicazioni asincrone: buffer a n posizioni. Comunicazioni asimmetriche: introduzione ai bus. Arbitraggio: arbitri centralizzati e distribuiti. | {{:informatica:ae:ae1617ott18.pdf|PDF}} | Cap IV completo. | | 19 ott | 2 | Esercitazione: unità firmware | {{:informatica:ae:ae1617ott19.pdf|PDF}} | | | 21 ott | 2 | Memoria modulare. Livello macchina assembler: caratteristiche generali, struttura del processore. Compilazione, linking, loading. Processi. Classi di istruzioni e modi di indirizzamento principali. | {{:informatica:ae:ae1617ott21.pdf|PDF}} | III.5 (ultima parte), V.1 e V.2 | | 25 ott | 2 | Assembler D-RISC: RISC vs. CISC, insieme di istruzioni base, compilazione di costrutti if, while, for | {{:informatica:ae:ae1617ott25.pdf|PDF}} | V fino al V.5.2 incluso | | 28 ott | 1 | Salti ritardati, chiamata di funzione/procedura e modalità di passaggio dei parametri | {{:informatica:ae:ae1617ott28.pdf|PDF}} | V.5.4 | | 28 ott | 1 | Esercizi sulla parte firmware | {{:informatica:ae:ae1617ott28.pdf|PDF}} | | | 8 nov | 2 | Architettura base della CPU e interprete firmware | {{:informatica:ae:ae1617nov8.pdf|PDF}} | VII.1 e VII.2 escluso VII.2.4 | | 9 nov | 2 | CPU: struttura PC e PO. Valutazione delle prestazioni | {{:informatica:ae:ae1617nov9.pdf|PDF}} | VII.2 e VII.3 | | 11 nov | 2 | Valutazione delle prestazioni: chiarimenti su MIX e Benchmark, peso degli accessi in memoria. Possibilità di miglioramento dell'architettura base: cache, pipeline e superscalare (accenni). Esempio di estensione del set di istruzioni D-RISC e impatto sull'interprete firmware. | {{: 1). Processore pipeline: struttura e tecniche per la gestione dei registri. | {{:informatica:ae:ae16171dic2.pdf|PDF}} | X.11, X.3 (cenni), X.4.1 e X.4.2, XI.1 e XI.2 | | 6 dic | 2 | Dipendenze logiche, salti e degrado delle prestazioni. Valutazione di tempi di servizio, completamento ed efficienza. Impatto della gerarchia di memoria. Esercizi: valutazione delle prestazioni D-RISC Pipeline di semplici codici assembler | {{:informatica:ae:ae1617dic6.pdf|PDF}} | XI.3 (senza 3.6 e 3.7) | | 7 dic | 2 | Decodifica Out-of-order nella IU. Unità di esecuzione pipeline per aritmetico logiche lunghe. Dipendenze Eu-EU. Teniche di ottimizzazione del codice per ridurre l'effetto dei salti (inlining, loop unrolling, salto ritardato) | {{:informatica:ae:ae1617dic7-1.pdf|PDF prima ora}}{{:informatica:ae:lavagna1.jpg?200|Lavagna1}} {{:informatica:ae:lavagna2.jpg?200|Lavagna2}}{{:informatica:ae:ae1617dic7.pdf|PDF seconda ora}} {{:informatica:ae:ae1617dic7-2.mp4|Video 2a ora}} | XI.8 escluso 8.3, XI.9.1, XI.5.1 | | 9 dic | 2 | Tecniche per la minimizzazione dell'effetto delle dipendenze logiche (con esercizi) | {{:informatica:ae:ae1617dic9-1.pdf|PDF}} {{:informatica:ae:ae1617dic9-1.mp4|1a ora}}{{:informatica:ae:ae1617dic9-2.mp4|2a ora}} | | | 13 dic | 2 | Architettura superscalare (senza modello dei costi). Multithreading: blocked, interleaving e hyperthreading. | {{:informatica:ae:ae1617dic13.pdf|PDF}}| XI.10 (escluso modello dei costi). XI.11.2 (da completare) | | | 14 dic | 2 | Supporto fw multithreading. Esercizi | {{:informatica:ae:ae1617dic14.pdf|PDF}} | Completamento XI.11.2-5 | | 16 dic | 4 | Esercizi e ripasso "on demand" (**Attenzione**: nella simulazione del codice del calcolo della f(X) mi sono dimenticato la dipendenza EU-EU fra la prima e la seconda MUL. Guardate le note nel PDF!) | {{:informatica:ae:ae1617dic16.pdf|PDF mattina}} {{:informatica:ae:ae1617dic16bis.pdf|Pomeriggio}} | |