Il registro ufficiale delle lezioni è disponibile all 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. | Audio | Danelutto |
20 ott | 15 | 16 | 1 | Strutturazione a livelli e moduli. | Lavagna e 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 | 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. | Lavagna Audio 1a ora Audio 2a ora | Danelutto |
29 ott | 11 | 13 | 2 | Algebra di boole, forma canonica SP, seplificazione di espressioni booleane (cenni) e reti combinatorie | Lavagna Audio 1a ora 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. | Lavagna Audio 1a ora 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. | Lavagna Audio 1a ora 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) | Lavagna Audio 1a ora 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. | Lavagna Verilog didawiki 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” | Lavagna Audio 1a ora 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. | Lavagna Audio 1a ora 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 | Lavagna Audio 1a ora Audio2a ora | Danelutto |
15 dic | 14 | 16 | 2 | Esercitazione: progettazione di una semplice unità firmware. Microprogrammazione | 1o esercizio2o 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 | Lavagna Audio 1a ora Audio2a ora | Danelutto |
22 dic | 14 | 15 | 1 | Ottimizzazione del microcodice e condizioni di Bernstein | Lavagna Audio | Danelutto |
22 dic | 15 | 16 | 1 | Esercitazione: unità buffer | Lavagna 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. | Lavagna Audio 1a ora 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. | Lavagna Audio 1a ora 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. | Lavagna Audio 1a ora 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. | Lavagna Audio | Danelutto |
26 gen | 14 | 16 | 2 | Esercitazione: esercizi su firmware e compilazione in assembler D-RISC | Lavagna Audio 1a oraAudio 2a ora | Danelutto |
28 gen | 11 | 13 | 2 | Esercitazione: esercizi su firmware e compilazione in assembler D-RISC | Lavagna Audio 1a oraAudio 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. | Lavagna Audio 1a oraAudio 2a ora | Danelutto |
11 mar | 11 | 13 | 2 | Working set. Definizione & esempi. Paginazione: concetti, traduzione indirizzi, paginazione statica e dinamica. | Lavagna Audio 1a oraAudio 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 | Lavagna Audio 1a oraAudio 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). | Lavagna Audio 1a oraAudio 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). | Lavagna Audio 1a oraAudio 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). | Lavagna Audio 1a ora(parziale) 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. | Lavagna Audio 1a ora 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. | Lavagna Audio 1a ora 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 | Lavagna Audio strumenti Ocaml Audio 1a ora 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. | Lavagna1Lavagna2 Audio 1a ora 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. | Lavagna 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. | Lavagna 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. | Lavagna1 Audio 1a ora 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. | Lavagna1 Audio 1a ora Audio 2a ora | Danelutto |
20 mag | 11 | 13 | 2 | Architetture superscalari: codice com simulazione, istruzioni lunghe (cenni VLIW), IU parallela, crossbar. | Lavagna1 Lavagna2 Audio 1a ora 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) | Lavagna Audio 1a ora 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. | Lavagna Audio non disponibile | Danelutto |
Fine corso |
Link alla pagina ufficiale del corso di Architetture sul didawiki di cli.di.unipi.it.