====== Lezioni AEb 2017-18 ====== === Registro ufficiale === Su [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=2087484::::&ri=8045|unimap]] === Registro con materiale === ^ Giorno ^ Ore ^ Argomento ^ Lavagna ^ Rif. Libro | | 18 set | 2 | Introduzione al corso. Strutturazione a livelli. Compilazione e interpretazione. | {{ :informatica:ae:ae1718_set18.pdf|PDF}} | | | 19 set | 2 | Ancora su strutturazione a livelli e moduli + strutturazione orizzontale | [[http://backus.di.unipi.it/~marcod/AE1718/ae1718_19set.mp4|H1]][[http://backus.di.unipi.it/~marcod/AE1718/ae1718_19setB.mp4|H2]][[http://backus.di.unipi.it/~marcod/AE1718/ae1718_19set.pdf|pdf]]| I.1, I.2 | | 20 set | 2 | Rappresentazione dell'informazione | [[http://backus.di.unipi.it/~marcod/AE1718/ae1718_20set.mp4|H1]][[http://backus.di.unipi.it/~marcod/AE1718/ae1718_20setB.mp4|H2]][[http://backus.di.unipi.it/~marcod/AE1718/ae1718_20set.pdf|pdf]]| II.1, II.2 | | //Dal 25 settembre, le lezioni sono registrate e verranno rese disponibili su mediateca.unipi.it con accesso mediante credenziali di ateneo. Qui troverete solo il file PDF della lavagna.// ||||| | 25 set | 2 | Algebra booleana. Funzioni. Tabelle di verità. Forma canonica in somma di prodotti. Implementazione con porte logiche. | {{ :informatica:ae:lezione-25-9-07.pdf |PDF}} | | | 26 set | 2 | Esempi di reti combinatorie. Componente registro. Introduzione alle reti sequenziali. | {{ :informatica:ae:danelutto-26-9-7.pdf |PDF}} |III.1 | | 27 set | 2 | Reti logiche sequenziali | {{ :informatica:ae:danelutto-27-9-2017.pdf |PDF}} | III.2 | | 2 ott | 2 | //Esercitazione: reti combinatorie (selezionatore, codificatore), reti sequenziali (contatore modulo N, con sintesi classica e mediante componenti standard, con N potenza di due e non).// | {{ :informatica:ae:2-10-17.pdf |PDF}} | | | 3 ott | 2 | Componente memoria. Memoria modulare. Tecnologie delle memorie. Cenno all'uso di Verilog per verificare funzionamento di reti combinatorie o sequenziali. | {{ :informatica:ae:03-10-2017.pdf |PDF}} {{ :informatica:ae:ae3ott.mp4 |Video Verilog}}| II.5 | | 4 ott | 2 | Unità firmware: definizione, ruolo PC PO, programma di controllo (esempi pseudocodice), procedimento formale. Microprogrammi a struttura di frase. Esempio con derivazione di PO e PC. | {{ :informatica:ae:04-10-2017.pdf |PDF}} | IV.1 e IV.2 (fino a 2.1 incluso) | | 9 ott | 2 | Esempi di microcodice e derivazione formale della PO e PC. (cicli, divisione fra interi) | {{ :informatica:ae:9-10-17.pdf |PDF}} | | | 10 ott | 2 | Ottimizzazione di microcodice: condizioni di Bernstein, eliminazione NOP, raggruppamento di microistruzioni, raggruppamento di frasi condizionali | {{ :informatica:ae:10-10-17.pdf |PDF}} | | | 11 ott | 2 | Comunicazioni sincrone e asincrone. Comunicazioni asimmetriche. Meccanismi di arbitraggio. Riduzione della PC a rete combinatoria. | {{ :informatica:ae:11-10-17.pdf |PDF}} | IV (escluso 3.6, 3.7, 4.7.1 3), 4.7.1 4), 4.7.1 5) | | 16 ott | 2 | Uso di memorie e controllo residuo. Semplice unità firmware (versione semplificata della prima prova intermedia a.a. 15/16) | {{ :informatica:ae:16-10-2017.pdf |PDF}} | | | 17 ott | 2 | [[divisoreVerilog|Risultato Verilog]] per l'UF divisore di interi. Esercitazione su calcolo del ciclo di clock e tempo medio di elaborazione | {{ :informatica:ae:ae17ott.mp4 |Video Verilog}} {{ :informatica:ae:17-10-17.pdf |PDF}}| | | 18 ott | 2 | Esercitazione: ottimizzazione codice firmware e automi parte controllo. Introduzione al livello assembler: struttura del calcolatore, memoria e registri, cenno alle interruzioni, modi di indirizzamento. | {{ :informatica:ae:18-10-17.pdf |PDF}} | V 1, 2 e 3 | | 23 ott | 2 | Istruzioni assembler: operative aritmetico logiche, salti e operazioni di memoria. Sintassi, semantica e rappresentazione in memoria. Variabili scalari, vettori e strutture e loro rappresentazione a livello assembler. Inizializzazione dei registri a tempo di compilazione. Compilazione di assegnamenti, statement condizionali e cicli determinati. | {{ :informatica:ae:23-10-2017.pdf |PDF}} | V.4 (escluso 4.5), 5.1, 5.2 | | 24 ott | 2 | Compilazione di cicli non determinati. Chiamata di procedura e passaggio di parametri mediante registri e locazioni di memoria. Esercizi unità firmware | {{ :informatica:ae:24-10-2017.pdf |PDF}} | tutto fino a V 5.4 | | 25 ott | 2 | Esercizi unità firmware | {{ :informatica:ae:25-10-2017.pdf |PDF}} | | | Sospensione per le prove di verifica intermedie ||||||| | 6 nov | 2 | Interprete firmware D-RISC. Prima e seconda versione. | {{ :informatica:ae:06-11-2017.pdf |PDF}} | VII 1 e 2 (escluso 2.4) | | | 7 nov | 2 | Implementazione della aritmetico logiche lunghe, costo degli accessi in memoria. Valutazione delle prestazioni. Implementazione della parte controllo mediante componente memoria ([[pcmem17|note]]). | {{ :informatica:ae:7-11-2017.pdf |PDF}} | VII 3. (tutto) | | | 8 nov | 2 | Esercitazione: compilazione in d-risc e valutazione del tempo di esecuzione, aggiunta di nuove istruzioni, utilizzo dei registri (compilatore) e inizializzazione in fase di caricamento. | {{ :informatica:ae:8-11-2017.pdf |PDF}} | | | 13 nov | 2 | Sistema operativo: concetto di processo, schedulatore a basso livello, PCB, spazi degli indirizzi, , condivisione di variabili. Istruzioni speciali D-RISC: START_PROCESS, EI, DI, etc. | {{ :informatica:ae:13-11-2017.pdf |PDF}} | VI 1. 2. e 3. + V 4.5 | | 14 nov | 2 | Proprietà di località e riuso, gerarchie di memoria, paginazione dinamica, supporto cache nella MMU per a traduzione degli indirizzi | {{ :informatica:ae:14-11-2017.pdf |PDF}} | VIII 1. e 2. | | 15 nov | 2 | Indirizzamenti della cache: completamente associativo, diretto e associativo su insiemi | {{ :informatica:ae:15-11-2017.pdf |PDF}} | VIII 3. | | 20 nov | 2 | Modello dei costi per la cache. Numero di fault e costo del singolo fault. Politiche di gestione: trattamento delle scritture (con WRITE BACK e WRITE THROUGH) | {{ :informatica:ae:20-11-2017.pdf |PDF}} | | | 21 nov | 2 | Prefetching. Flag prefetch e non deallocare per LOAD/STORE. Politiche di gestione delle cache in caso di context switch. Esercizio: stima del tempo di completamento per scorrimento di una ista e di un vettore (con somma dei valori trovati in ciascuna delle posizioni) | {{ :informatica:ae:21-11-17.pdf |PDF}} | Cap. VIII completo | | 22 nov | 2 | Esercitazione: calcolo working set, tracce di indirizzi, accessi in cache set associative | {{ :informatica:ae:22-10-17.pdf |PDF}} | | | 27 nov | 2 | I/O e gestione delle interruzioni. | {{ :informatica:ae:27-11-17.pdf |PDF}} | IX.1 e IX.2 + cenni IX.3 | | | 28 nov | 2 | Forme di parallelismo, misure di prestazioni, cenni alla valutazione come sistemi di code | {{ :informatica:ae:28-11-17.pdf |PDF}} | X.1-3 X.9 X.11 | | | 29 nov | 2 | Processore pipeline. Architettura astratta, retroazioni, gestione delle copie di IC e Registri generali, modello di simulazione | {{ :informatica:ae:29-11-17.pdf.pdf |PDF}} **Attenzione** all'errata corrige finale! {{ :informatica:ae:ae29nov17.mp4 |Errata Corrige Video}}| XI.1 XI.2 | | | 4 dic | 2 | Cenni all'implementazione FW di IM, DM, IU ed EU. Processore pipeline con unità di esecuzione slave. Dipendenze EU-EU. Decodifica out-of-order. Tecniche statiche e dinamiche per l'ottimizzazione del codice. | {{ :informatica:ae:4-12-17.pdf |PDF}} | XI.3 XI.5 e XI.8 (senza 8.3). XI.9 (senza 9.4) | | | 5 dic | 2 | Processore superscalare. Multithreading. (lezione virtuale, senza presenza in aula) | {{ :informatica:ae:ae5dic17.pdf |PDF}}{{ :informatica:ae:ae5dica.mp4 |H1}} {{ :informatica:ae:ae5dicb.mp4 |H2}} | XI.10 e XI.11 (senza modelli dei costi) | | | 12 dic | 2 | Esercizi (pipeline, superscalare, etc. | {{ :informatica:ae:ae12dic17a.pdf |PDF}}{{ :informatica:ae:ae12dic17a1.mp4 |H1}}{{ :informatica:ae:ae12dic17a2.mp4 |H2}} | | | 12 dic | 2 | Esercizi ed approfondimenti sui processori paralleli D-RISC | {{ :informatica:ae:12-12-17ae.pdf |PDF}} | | | 13 dic | 2 | Esercizi. Cenni alle architetture multicore: cache coherency e strutture di interconnessione | {{ :informatica:ae:13-12-2017.pdf |PDF}} | | | | Fine lezioni |||||||| Non tutte le lezioni riportano i paragrafi del libro che le coprono. In caso di copertura "parziale" di una parte del libro, i relativi paragrafi sono elencati in corrispondenza dell'ultima lezione che tratta l'argomento. Le parti del libro da studiare per preparare l'esame sono comunque tutte quelle elencate nell'ultima colonna.