===== AEb 2015-2016 Lezioni ===== ^ Cosa ^ Dove ^ | Pagina docente | [[http://backus.di.unipi.it/~marcod|qui]] | | Registro ufficiale delle lezioni | [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=168589::::&ri=8045|qui]] | ==== Registro delle lezioni con link al materiale ==== ^ Giorno ^ Ore ^ Argomento ^ Lavagna ^ Multimedia ^ Rif. Libro | | 22 set | 2 | Introduzione al corso. Strutturazione a livelli | [[http://backus.di.unipi.it/~marcod/AE1516/ae22set.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae22set.mp3|audio]] | I.1 | | 23 set | 2 | Strutturazione a livelli verticale: dettagli. Moduli: definizioni e cenno alle forme di parallelismo | [[http://backus.di.unipi.it/~marcod/AE1516/ae23set.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae23set.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae23set.2.mp4|Video2h]] | I.2 | | 25 set | 2 | Rappresentazione dell'informazione in binario: interi, numeri relativi (complemento a 2) e cenno alla rappresentazione dei numeri in virgola mobile. | [[http://backus.di.unipi.it/~marcod/AE1516/ae25set.pdf|lavagna]][[http://backus.di.unipi.it/~marcod/AE1516/ae25set.ec.pdf|Errata Corrige]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae25set.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae25set.2.mp4|Video2h]][[http://backus.di.unipi.it/~marcod/AE1516/ae25set.ec.mp4|Errata Corrige]] | II.1, II.2| | 29 set | 2 | Elementi di algebra booleana. Porte logiche. Reti logiche combinatorie. | [[http://backus.di.unipi.it/~marcod/AE1516/ae29set.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae29set.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae29set.2.mp4|Video2h]] | III.1 | | 30 set | 2 | Esercitazione (commutatori). Reti sequenziali. | [[http://backus.di.unipi.it/~marcod/AE1516/ae30set.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae30set.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae30set.2.mp4|Video2h]] | III.2 | | 2 ott | 2 | Componenti standard (commutatori, selettori, comparatori, ALU, registri). Reti sequenziali con componenti standard. | [[http://backus.di.unipi.it/~marcod/AE1516/ae2ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae2ott.2.mp4|Video2h]] (la registrazione prima ora è fallita) | III.2 (senza 2.4) | | 6 ott | 2 | Componente memoria. Esercizi su reti combinatorie e reti sequenziali | [[http://backus.di.unipi.it/~marcod/AE1516/ae6ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae6ott.1.mp4|Video1h]] | III.5 | | 7 ott | 2 | Verilog per AE: introduzione | [[http://backus.di.unipi.it/~marcod/AE1516/ae7ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae7ott.1.mp4|Video1e2h]] | Dispensa su Didawiki | | 9 ott | 2 | Unità firmware: PO e PC. Strutturazione Mealy Moore. Microprogrammazione. Procedimento formale (enunciazione). Esempio: divisione fra interi. | [[http://backus.di.unipi.it/~marcod/AE1516/ae9ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae9ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae9ott.2.mp4|Video2h]] | IV 1.1 e inizio 1.2 | | 13 ott | 1 | Esercitazione: microprogrammazione (unità che implementa una Map con varie operazioni esterne) | [[http://backus.di.unipi.it/~marcod/AE1516/ae13ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae13ott.1.mp4|Video1h]] | | | 14 ott | 2 | Valutazione delle prestazioni UF: tempo medio di elaborazione e ciclo di clock. Comunicazioni: sincronizzazione a livelli | [[http://backus.di.unipi.it/~marcod/AE1516/ae14ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae14ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae14ott.2.mp4|Video2h]] | IV 1.1 e inizio 1.2, 4.6.2 | | 16 ott | 2 | Comunicazioni: sincronizzazione a transizione di livello | [[http://backus.di.unipi.it/~marcod/AE1516/ae16ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae16ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae16ott.2.mp4|Video2h]] | IV 4., 4.3 e 4.4 | | 20 ott | 30min | Esercizio: stack buffer (solo mezz'ora per via della sospensione delle lezioni per assemblea decisa dal rettore 9.30-12.30 | [[http://backus.di.unipi.it/~marcod/AE1516/b1.pdf|lavagna1]] e [[http://backus.di.unipi.it/~marcod/AE1516/b2.pdf|lavagna2]] | no video | | | 21 ott | 2 | Progettazione Unità fw: fasi del procedimento formale, controllo residuo, ottimizzazione micrcodice.| [[http://backus.di.unipi.it/~marcod/AE1516/ae21ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae21ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae21ott.2.mp4|Video2h]] | Completamento materiale cap IV.3. | | 23 ott | 2 | Eliminazione NOP. Tipi di comunicazione (sincrona e asincrona). Comunicazione a domanda risposta. Arbitri. Comunicazione mediante bus. | [[http://backus.di.unipi.it/~marcod/AE1516/ae23ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae23ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae23ott.2.mp4|Video2h]] | IV.4 | | 27 ott | 2 | Introduzione livello assmebler: architettura CPU-M-I/O, spazio di indirizzamento logico, istruzioni assembler e loro rappreesentazione in memoria. Compilazione di condizionale e cicli determinati. Esampio di codice: somma di valori in un vettore. | [[http://backus.di.unipi.it/~marcod/AE1516/ae27ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae27ott.1.mp4|Video1e2h]] | Intro V. | | 28 ott | 2 | Esercitazione: unità firmware per daisy chaining. Altra unità firwmare con diverse implementazioni. | [[http://backus.di.unipi.it/~marcod/AE1516/ae28ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae28ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae28ott.2.mp4|Video2h]] | | | 30 ott | 2 | Processi e schedulazione di basso livello. Modi di indirizzamento. Passaggio parametri. Set di istruzioni e R0. | [[http://backus.di.unipi.it/~marcod/AE1516/ae30ott.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae30ott.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae30ott.2.mp4|Video2h]] | V.2 V.3 V.4 (senze istr speciali) V.5.4 | | 10 nov | 2 | Set completo istruzioni D-RISC, ottimizzazioni del codice (inlining, loop unrolling). Esempi di compilazione (ricerca tabella hash, inner product) | [[http://backus.di.unipi.it/~marcod/AE1516/ae10nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae10nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae10nov.2.mp4|Video2h]] | Completamento Cap. V | | 11 nov | 2 | Tool DRISC. Architettura processore monolitico. | [[http://backus.di.unipi.it/~marcod/AE1516/ae11nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae11nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae11nov.2.mp4|Video2h]] | Cap. VII.1 | | 13 nov | 2 | Interprete firmware D-RISC e valutazione delle prestazioni | [[http://backus.di.unipi.it/~marcod/AE1516/ae13nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae13nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae13nov.2.mp4|Video2h]] | Cap. VII | | 17 nov | 2 | Ancora sulla valutazione delle prestazioni: valutazione di codice DRISC (Ts e Tc). Implicazioni dell'estensione dell'interprete fw con supporto per istruzioni con operandi in memoria. | [[http://backus.di.unipi.it/~marcod/AE1516/ae17nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae17nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae17nov.2.mp4|Video2h]] | Cap. VII (fino alla fine) | | 18 nov | 2 | Sottosistema memoria: paginazione dinamica, traduzione indirizzi, MMU, località e riuso, working set. | [[http://backus.di.unipi.it/~marcod/AE1516/ae18nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae18nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae18nov.2.mp4|Video2h]] | Cap. VIII.1 VIII.2 | | 20 nov | 2 | Cache di primo livello: indirizzamenti, implementazione e tempi di accesso. Utilizzo di memoria interallacciata. **Attenzione**: lo schema di micro codice ha degli errori: va testato un zero( ) invece che un segno( ) e ho considerato zero() con la semantica del confrontatore (invece è il contrario, zero( x -y ) == 1 quanto x==y) | [[http://backus.di.unipi.it/~marcod/AE1516/ae20nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae20nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae20nov.2.mp4|Video2h]] | Cap. VIII 3.1, 3.2, 3.3, e III 5.2.4 | | 24 nov | 2 | Cache: modello dei costi, politiche di scrittura, livelli. Esercizi | [[http://backus.di.unipi.it/~marcod/AE1516/ae24nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae24nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae24nov.2.mp4|Video2h]] | Cap. VIII 3.3 e 3.4 | | 25 nov | 2 | Esercizi sulla gerarchia di memoria | [[http://backus.di.unipi.it/~marcod/AE1516/ae25nov.pdf|lavagna]][[http://backus.di.unipi.it/~marcod/AE1516/ae25nov.pdf.pdf|lavagna (con correzione)]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae25nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae25nov.2.mp4|Video2h]] | Testi da didawiki (a.a. 14/15) | | 26 nov | 2 | Ingresso/uscita: Memory mapped I/O, DMA, Interruzioni | [[http://backus.di.unipi.it/~marcod/AE1516/ae26nov.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae26nov.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae26nov.2.mp4|Video2h]]{{:informatica:ae:ae26nov.1.mp4|Video 1a ora su didawiki}} | Cap IX 1. e 2. | | 1 dic | 2 | Modelli di parallelismo: misure, sistemi a coda, pipeline. | [[http://backus.di.unipi.it/~marcod/AE1516/ae1dic.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae1dic.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae1dic.2.mp4|Video2h]] | Cap. X 1-4 (escluso data flow) e 9 | | 2 dic | 2 | Processore pipeline: schema generale, funzionamento per le classi di istruzioni, meccanismi per la sincronizzazione delle copie dei registri e di IC, simulazione e calcolo dell'efficienza e tempo di servizio. | [[http://backus.di.unipi.it/~marcod/AE1516/ae2dic.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae2dic.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae2dic.2.mp4|Video2h]] | Cap. X 1-4 (escluso data flow) e 9 | | 4 dic | 2 | Degrado delle prestazione nel processore pipeline e tecniche per ridurne l'effetto: degradazioni legate ai salti (delayed branch) e alle dipendenze logiche (riorganizzazione del codice, out-of-order decode). Struttura della EU parallela | [[http://backus.di.unipi.it/~marcod/AE1516/ae4dic.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae4dic.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae4dic.2.mp4|Video2h]] | XI fino a 6 incluso (ma escluso XI.4 (modello dei costi) XI 8.1 8.2 | | 9 dic | 2 | EU Parallela (fine). Processore superscalare. | [[http://backus.di.unipi.it/~marcod/AE1516/ae9dic.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae9dic.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae9dic.2.mp4|Video2h]] | XI.10 (senza modello dei costi) | | 11 dic | 2 | IU ed EU superscalari a 4 vie da IU / EU a 2 vie. Multithreading | [[http://backus.di.unipi.it/~marcod/AE1516/ae11dic.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae11dic.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae11dic.2.mp4|Video2h]] | XI.10 e 11 (senza modello dei costi) | | 15 dic | 2 | Esercitazione | [[http://backus.di.unipi.it/~marcod/AE1516/ae15dic.pdf|lavagna]] | [[http://backus.di.unipi.it/~marcod/AE1516/ae15dic.1.mp4|Video1h]][[http://backus.di.unipi.it/~marcod/AE1516/ae15dic.2.mp4|Video2h]] | |