===== Architetture degli elaboratori - Corso B - A.A. 2010-2011 ===== Il registro ufficiale delle lezioni è disponibile all [[http://unimap.unipi.it/registri/dettregistriNEW.php?re=45826::::&ri=4278|pagina unimap]]. Questa pagina raccoglie invece il materiale presentato a lezione (audio, video, pdf, quando disponibili). ^ Lezioni già svolte ^^^^^^^ ^ Giorno ^ Inizio ^ Fine ^ Ore ^ Argomenti ^ Materiale ^ Docente ^ | 20 ott | 14 | 15 | 1 | Introduzione al corso. | [[http://backus.di.unipi.it/~marcod/AE1011/0-IntroduzioneAEb.mp3|Audio]] | Danelutto | | 20 ott | 15 | 16 | 1 | Strutturazione a livelli e moduli. | [[http://backus.di.unipi.it/~marcod/AE1011/1-Strutturazione.pdf|Lavagna]] e [[http://backus.di.unipi.it/~marcod/AE1011/1-StrutturazioneALivelli.mp3|Audio]] | Danelutto | | 22 ott | 11 | 13 | 2 | Interpretazione e compilazione, supporto a tempo di esecuzione, caratterizzazione dei livelli, proprietà legate alla strutturazione a gerarchia di livelli, concetto di modulo | [[http://backus.di.unipi.it/~marcod/AE1011/22ott.pdf|Lavagna]] (audio n.d.) | Danelutto | | 27 ott | 14 | 16 | 2 | Concetto di modulo. Esempi. Aritmetica in base 2: rappresentazione dei numeri interi positivi, operazioni, operazioni di shift. Rappresentazione in modulo e segno e complemento a 2. | [[http://backus.di.unipi.it/~marcod/AE1011/2-ModuliBinario.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/2-Moduli.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/3-Binario.mp3|Audio 2a ora]] | Danelutto | | 29 ott | 11 | 13 | 2 | Algebra di boole, forma canonica SP, seplificazione di espressioni booleane (cenni) e reti combinatorie | [[http://backus.di.unipi.it/~marcod/AE1011/3-Boole.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/29ott1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/29ott2.mp3|Audio 2a ora]] | Danelutto | | 3 nov | 14 | 16 | 2 | Sintesi di reti combinatorie, Componenti standard, Componenti a n bit come composizione di componenti a 1 bit, procedimento algoritmico per la derivazione di reti combinatorie, tabelle di verità con valori non specificati. | [[http://backus.di.unipi.it/~marcod/AE1011/0311.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/0311.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/0311.2.mp3|Audio 2a ora]] | Danelutto | | 5 nov | 11 | 13 | 2 | Reti Sequenziali: definizione. Reti di Mealy e di Moore. Componente standard registro impulsato. Automi a stati finiti. Derivazione di una rete sequenziale a partire da un automa. Utilizzo reti seq. per PO/PC. Reti sequenziali realizzate con componenti standard. | [[http://backus.di.unipi.it/~marcod/AE1011/0511.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/0511.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/0511.2.mp3|Audio2a ora]] | Danelutto | | 10 nov | 14 | 16 | 2 | Esercitazione: esercizi su reti combinatorie (sintesi: parità su 4 bit, tempo di calcolo per K e S con 2 alla n ingressi, ALU che somma e sottrae 1 bit) e su reti sequenziali (semafori di un incrocio) | [[http://backus.di.unipi.it/~marcod/AE1011/10nov.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/1011.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/1011.2.mp3|Audio2a ora]] | Danelutto | | 12 nov | 11 | 13 | 2 | Esercitazione: introduzione a Verilog, simulazione di semplici reti sequenziali realizzata con tabelle di verità, espressioni booleane e reti di porte logiche. Commutatore da due ingressi da 1 bit, da 2 ingressi da N bit, idem realizzato con N commutatori da 2 ingressi da 1 bit. Registro impulsato. Simulazione di automi. Reti sequenziali LLC. Strumenti di sviluppo open source per Verilog. | [[http://backus.di.unipi.it/~marcod/AE1011/12nov.pdf|Lavagna]] [[http://www.cli.di.unipi.it/doku/doku.php/informatica/ae/verilogpag|Verilog didawiki]] [[http://backus.di.unipi.it/~marcod/AE1011/12nov.mp4|video]] | Danelutto | | 17 nov | 14 | 16 | | La lezione non è stata tenuta (partecipazione sciopero) | | | | 19 nov | 11 | 13 | 2 | Realizzazione di moduli di memoria. Ritardi di stabilizzazione. Memoria modulare sequenziale e interallacciata. Cenni alla realizzazione di elementi di memoria e loro implementazione "sul silicio" | [[http://backus.di.unipi.it/~marcod/AE1011/1911.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/1911.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/1911.2.mp3|Audio2a ora]] | Danelutto | | 24 nov | 14 | 16 | | Lezione non tenuta causa occupazione del Polo Fibonacci | | | | 26 nov | 11 | 13 | | Lezione non tenuta causa occupazione del Polo Fibonacci | | | | 03 dic | 11 | 13 | 2 | Introduzione al livello firmware. Unità di elaborazione. Parte controllo e parte operativa. Procedimento di derivazione formale. Microprogramma a struttura di frase. Passi per la derivazione di PO e PC. | [[http://backus.di.unipi.it/~marcod/AE1011/0312.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/0312.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/0312.2.mp3|Audio2a ora]] | Danelutto | | 10 dic | 11 | 13 | 2 | Valutazione delle prestazioni: calcolo del ciclo di clock. Tempo medio di elaborazione. Banda di elaborazione. Comunicazioni a livello firmware: sincronizzatori a livelli e a transizione di livello e microcodice per le comunicazioni | [[http://backus.di.unipi.it/~marcod/AE1011/1012.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/1012.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/1012.2.mp3|Audio2a ora]] | Danelutto | | 15 dic | 14 | 16 | 2 | Esercitazione: progettazione di una semplice unità firmware. Microprogrammazione | [[http://backus.di.unipi.it/~marcod/AE1011/Es15.1.pdf|1o esercizio]][[http://backus.di.unipi.it/~marcod/AE1011/Es15.2.pdf|2o esercizio]] | Mencagli | | 17 dic | 11 | 13 | 2 | Comunicazioni a livello firmware: interfacce fra unità. grado di asynchronia, comunicazioni sincrone. Utilizzo di memorie e valutazione dei tempi di accesso. PC con microprogramma di una unica micro istruzione. Tecnica del controllo residuo | [[http://backus.di.unipi.it/~marcod/AE1011/17dic.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/17.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/17.2.mp3|Audio2a ora]] | Danelutto | | 22 dic | 14 | 15 | 1 | Ottimizzazione del microcodice e condizioni di Bernstein | [[http://backus.di.unipi.it/~marcod/AE1011/22.12.1.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/22.12.1.mp3|Audio]] | Danelutto | | 22 dic | 15 | 16 | 1 | Esercitazione: unità buffer | [[http://backus.di.unipi.it/~marcod/AE1011/22.12.2.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/22.12.2.mp3|Audio]] | Danelutto | | 12 gen | 14 | 16 | 2 | Richiamo delle tecniche di ottimizzazione del micro codice. Introduzione al livello assembler. Modello Von Neumann e Data flow (cenni). Ciclo fetch/decode/execute. Cenni alle interruzioni. Architetture a registri, stack e accumulatore. | [[http://backus.di.unipi.it/~marcod/AE1011/1201.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/1201.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/1201.2.mp3|Audio2a ora]] | Danelutto | | 14 gen | 11 | 13 | 2 | Architetture CISC/RISC. Modi di indirizzamento. Set istruzioni D-RISC: aritmetico logiche, istruzioni per l'accesso in memoria, salto condizionale. | [[http://backus.di.unipi.it/~marcod/AE1011/1401.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/1401.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/1401.2.mp3|Audio2a ora]] | Danelutto | | 19 gen | 14 | 16 | 2 | Istruzioni si salto incondizionale, chiamata di procedura e miscellanea (interruzioni, start process, set/reset indiv) in D-RISC. Interprete FW: schema e traccia del microcodice. | [[http://backus.di.unipi.it/~marcod/AE1011/1901.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/1901.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/1901.2.mp3|Audio2a ora]] | Danelutto | | 21 gen | 11 | 13 | 2 | Implementazione delle istruzioni LD/ST e di salto. Valutazione delle prestazioni del processore. Tecniche di compilazione per statement condizionali e cicli. | [[http://backus.di.unipi.it/~marcod/AE1011/2101.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/2101.mp3|Audio]] | Danelutto | | 26 gen | 14 | 16 | 2 | Esercitazione: esercizi su firmware e compilazione in assembler D-RISC | [[http://backus.di.unipi.it/~marcod/AE1011/2601.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/26.01.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/26.01.2.mp3|Audio 2a ora]] | Danelutto | | 28 gen | 11 | 13 | 2 | Esercitazione: esercizi su firmware e compilazione in assembler D-RISC | [[http://backus.di.unipi.it/~marcod/AE1011/28.01.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/28.01.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/28.01.2.mp3|Audio 2a ora]] | Danelutto | | 9 mar | 11 | 13 | 2 | Gerarchie di memoria. Definizioni. Principi di località e riuso. Fault. Andamento dei fault con capacità e dimensione del blocco. Esempi di codice/dati con località e/o riuso. Tracce di indirizzi. | [[http://backus.di.unipi.it/~marcod/AE1011/ae0903.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0903.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/ae0903.2.mp3|Audio 2a ora]] | Danelutto | | 11 mar | 11 | 13 | 2 | Working set. Definizione & esempi. Paginazione: concetti, traduzione indirizzi, paginazione statica e dinamica. | [[http://backus.di.unipi.it/~marcod/AE1011/ae1103.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1103.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/ae1103.2.mp3|Audio 2a ora]] | Danelutto | | 16 mar | 11 | 13 | 2 | Struttura del calcolatore con MMU e Cache. Metodi di implementazione delle cache: diretto, associativo e associativo su insiemi | [[http://backus.di.unipi.it/~marcod/AE1011/ae1603.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1603.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/ae1603.2.mp3|Audio 2a ora]] (parziale) | Danelutto | | 23 mar | 11 | 13 | 2 | Cache: politiche write through e write back. Aspetti legati alla performance. Esercizio: compilazione di codice con tutti gli aspetti legati a traduzione indirizzi, working set e allocazione in memoria cache (diretta o associativa su insiemi). | [[http://backus.di.unipi.it/~marcod/AE1011/ae2303.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2303.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/ae2303.2.mp3|Audio 2a ora]] (parziale) | Danelutto | | 25 mar | 11 | 13 | 2 | Completamento esercizio su cache e WS della lezione precedente. Forme di parallelismo. Cenni a processori pipeline, superscalari (VLIW) e multicore. Misure delle prestazioni, speedup ed efficienza. Forma di parallelismo pipeline (tempo di servizio e tempo di completamento con stadi bilanciati o sbilanciati). | [[http://backus.di.unipi.it/~marcod/AE1011/ae2503.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2503.1.mp3|Audio 1a ora]][[http://backus.di.unipi.it/~marcod/AE1011/ae2503.2.mp3|Audio 2a ora]] (parziale) | Danelutto | | 30 mar | 11 | 13 | 2 | Forme di parallelismo. Uso di risultati della teoria delle code per il performance modelling (cenni). Forma farm (con modelli). Forme data flow e data parallel (cenni). | [[http://backus.di.unipi.it/~marcod/AE1011/ae3003.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae3003.1.mp3|Audio 1a ora]](parziale) [[http://backus.di.unipi.it/~marcod/AE1011/ae3003.2.mp3|Audio 2a ora]] | Danelutto | | 1 apr | 11 | 13 | 2 | Processore pipeline. Definizione astratta. Modello generale e modello semplificato. Cause del degrado delle prestazioni. Simulazione dell'esecuzione di un programma con il modello semplificato. | [[http://backus.di.unipi.it/~marcod/AE1011/ae0104.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0104.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0104.2.mp3|Audio 2a ora]] | Danelutto | | 6 apr | 11 | 13 | 2 | Degrado delle prestazioni nel processore pipeline. Modello analitico. Tecniche per la riduzione degli effetti di dipendenze logiche e salti presi: spostamento di codice, loop unrolling e delayed branch. | [[http://backus.di.unipi.it/~marcod/AE1011/ae0604.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0604.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0604.2.mp3|Audio 2a ora]] | Danelutto | | 8 apr | 11 | 13 | 2 | Esercitazione: calcolo delle prestazioni di codice per processore pipeline e tecniche di ottimizzazione. Uso di semplici strumenti Ocaml per l'analisi del codice | [[http://backus.di.unipi.it/~marcod/AE1011/ae0804.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0804.1.mp3|Audio strumenti Ocaml]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0804.2.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0804.3.mp3|Audio 2a ora]] | Danelutto | | 13 apr | 11 | 13 | 2 | Esercitazione: calcolo delle prestazioni di codice per processore pipeline e tecniche di ottimizzazione. Valutazione impatto cache. | [[http://backus.di.unipi.it/~marcod/AE1011/ae1304.0.pdf|Lavagna1]][[http://backus.di.unipi.it/~marcod/AE1011/ae1304.1.pdf|Lavagna2]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1304.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1304.2.mp3|Audio 2a ora]] | Danelutto | | 29 aprile | 11 | 13 | 2 | Lezione non effettuata causa protrarsi delle procedure di selezione dei candidati non EU per la laurea magistrale in Informatica e Networking | | | | 3 mag | 12 | 13 | 1 | (1 ora di sospensione della didattica per le elezioni) Ingresso uscita: trattamento delle interruzioni, memory mapped I/O, DMA. | [[http://backus.di.unipi.it/~marcod/AE1011/ae0405.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae0405.mp3|Audio]] | Danelutto | | 11 mag | 11 | 12 | 1 | (1 ora di presentazione della laurea magistrale in Informatica e Networking) Realizzazione parallela di EU: unità per operazioni "lunghe" in virgola mobile e fissa. Problema delle dipendenze logiche e dell'esecuzione out of order. | [[http://backus.di.unipi.it/~marcod/AE1011/ae1105.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1105.1.mp3|Audio]] | Danelutto | | 13 mag | 11 | 13 | 2 | Registri in virgola mobile. Out of order execution: completamento fuori ordine, esecuzione fuori ordine. Confronto fra tecniche statiche e dinamiche. Esempi. | [[http://backus.di.unipi.it/~marcod/AE1011/ae1305.pdf|Lavagna1]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1305.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1305.2.mp3|Audio 2a ora]] | Danelutto | | 18 mag | 11 | 13 | 2 | Impatto sul sottosistema di memoria dell'EU parallela. Register renaming. Branch prediction. CPU superscalare: principi di funzionamento. | [[http://backus.di.unipi.it/~marcod/AE1011/ae1805.pdf|Lavagna1]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1805.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae1805.2.mp3|Audio 2a ora]] | Danelutto | | 20 mag | 11 | 13 | 2 | Architetture superscalari: codice com simulazione, istruzioni lunghe (cenni VLIW), IU parallela, crossbar. | [[http://backus.di.unipi.it/~marcod/AE1011/ae2005.1.pdf|Lavagna1]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2005.2.pdf|Lavagna2]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2005.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2005.2.mp3|Audio 2a ora]] | Danelutto | | 25 mag | 11 | 13 | 2 | Multithreading: blocked vs. interleaved, issue delle istruzioni, simultaneous multithreading. Evoluzioni: architetture eterogenee (CPU+GPU, CPU+FPGA), multicore spinti (Intel Terascale 80 core, Tilera 64) (cenni) | [[http://backus.di.unipi.it/~marcod/AE1011/ae2505.pdf|Lavagna]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2505.1.mp3|Audio 1a ora]] [[http://backus.di.unipi.it/~marcod/AE1011/ae2505.2.mp3|Audio 2a ora]] | Danelutto | | 27 mag | 11 | 13 | 2 | Ricevimento in classe + esercitazione: register renaming, multithreading (blocked, interleaved), derivazione di thread in un codice per moltiplicazione di matrici. | [[http://backus.di.unipi.it/~marcod/AE1011/ae2705.pdf|Lavagna]] Audio non disponibile | Danelutto | | Fine corso ||||||| [[http://www.cli.di.unipi.it/doku/doku.php/informatica/ae/start|Link]] alla pagina ufficiale del corso di Architetture sul didawiki di cli.di.unipi.it.