Architetture degli elaboratori - Corso B - A.A. 2010-2011

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.