Architetture degli Elaboratori - Corso B

Giorno Argomenti Audio Lavagna
26/09 Introduzione al corso. Strutturazione a livelli. Compilazione e Interpretazione. 1a ora2a ora Lavagna
03/10 Moduli. Forme di parallelismo fra moduli: replicazione funzionale (farm) e pipeline. Moduli e architettura firmware. Rappresentazione dell'informazione: sistema binario, conversione da e per binario. Rappresentazione in modulo e segno e complemento a due di numeri interi relativi. 1a ora2a ora Lavagna
05/10 Range nella rappresenazioni di numeri in binario. Operazioni notevoli. Algebra booleana. Porte logiche. Esempio: addizionatore (senza e con riporto), con considerazioni su livelli di porte e tempi di calcolo. 1a ora2a ora Lavagna
17/10 Reti logiche combinatorie: utilizzo della sola porta NAND, cenni al processo di fabbricazione dei circuiti integrati. Componenti standard: comparatore, commutatore, selettore, ALU. Componenti composti: commutatore e confrontatore da n bit. Cenni alle mappe di Karnaugh 1a ora2a ora Lavagna
19/10 Reti logiche sequenziali: automi, reti sequenziali di Mealy e di Moore. Ciclo di clock. Banda. Sintesi e analisi di reti sequenziali. 1a ora2a ora Lavagna
24/10 Esercitazione su reti logiche combinatorie (addizionatore, commutatore, potenze di due, con considerazioni su tempi di stabilizzazione, metodo canonico e metodo algoritmico con componenti standard) e sequenziali (automi di Mealy e Moore e reti seq per riconoscitore AABB, cenni a trasformazione Mealy ←→ Moore) 1a ora2a ora Lavagna
26/10 Componente memoria, memoria a doppia porta, memoria modulare: organizzazione sequenziale ed interallacciata. Unità firmware: parte operativa e parte controllo, funzionalità, tipo (Mealy/Moore), esempio di parte controllo, schema del procedimento formale di progettazione di una unità firmware. 1a ora 2a ora non disponibile Lavagna
31/10 Sincronizzazione a transizione di livelli. Derivazione formale di PO e PC da microprogramma. 1a ora2a ora Lavagna
2/11 Calcolo del ciclo di clock. Esercitazione: progettazione di una semplice unità firmware. 1a ora2a ora Lavagna
9/11 Variabili di condizionamento. Ottimizzazione microcodice (Condizioni di Bernstein). Controllo residuo. Esercizio: Implementazione di una unità STACK, con ottimizzazione del microcodice. 1a ora2a ora Lavagna
16/11 Esercitazione: completamento eserczio unità stack, Introduzione al Verilog. 1a ora2a ora Lavagna
21/11 Introduzione linguaggio assembler. Spazio di indirizzamento logico. Set di istruzioni assembler D-RISC: principali istruzioni e rappresentazione interna. 1a ora2a ora Lavagna
23/11 Istruzioni speciali D-RISC con cenni alla gestione delle interruzioni e arbitraggio della memoria. Compilazione di un sottoinsieme del linguaggio C in D-RISC. Esempi di compilazione. 1a ora2a ora Lavagna
28/11 Compilazione di codice con assegnazione registri. Codice “binario”. Interfaccia con il sottosistema di memoria e interprete firware per l'assembler D-RISC. 1a ora2a ora Lavagna
30/11 Esercitazione: estensione D-RISC con istruzione IFMEM=, analisi del microcodice di una unità firmware. (audio non ancora disponibile, da recuperare dal crash di Audacity) 1a ora2a ora Lavagna
5/12 Metodi benchmark e mix per la valutazione di processori. Trattemento delle interruzioni: fase fw, fase ASM, valutazione del ritardo. I/O: arbitraggio delle interruzioni, Bus di I/O e DMA, memory mapped I/O. 1a ora2a ora Lavagna
7/12 Prima ora: Disabilitazione interruzioni nella fase ASM del trattamento interruzione. DMA. Schedulazione di processi. Struttura di massima del PCB. Seconda ora: esercitazione (firmware) OmegaPC e SigmaPC, ottimizzazione di microcodice, calcolo di un ritardo massimo di stabilizzazione per la parte controllo a partire dal numero di microistruzioni, di frasi e di variabili di condizionamento del microprogramma di controllo. 1a ora2a ora Lavagna
12/12 Esercitazione firmware: controllo residuo per interfacciamento con unità multiple, accesso a memoria con indirizzi rappresentati come potenze di due, eliminazione di variabili di condizionamento complesse e cicli. Assembler: allocazione registri, assegnazione esercizio su tracce di indirizzi generate dall'esecuzione. 1a ora2a ora Lavagna
14/12 Esercitazione 1a ora2a ora Lavagna
Materiale dell libro di testo relativo alla prima parte del corso: Capitolo I, II, III, IV (fino al 5.6 escluso), V, VII (fino al 3.5 escluso), IX (1, 2 e 3.2)
18/02/2013 Gerarchie di memoria. Paginazione. Cache ad indirizzamento diretto e completamente associativo: principi e implementazione. Cache ad indirizzamento associativo su insiemi 1a ora2a ora Lavagna
21/02/2013 Cache set associative: indirizzamento e modalità di implementazione. Bit di controllo. Algoritmi per il rimpiazzamento dei blocchi. Costo dei trasferimenti da/per il livello superiore della gerarchia di memoria. Tempo ideale e Tempo di completamento di un programma D-RISC 1a ora2a ora Lavagna
25/02/2013 Lezione non tenuta per la sospensione della didattica per le elezioni
28/02/2013 Lezione non tenuta per missione del docente
4/03/2013 Working set (completamento). Flag per la gestione della cache (non deallocare, prefetch). Politiche per il trattamento delle scritture (write through e write back). Valutazione del tempo di complementamento di un programma D-RISC: tempo ideale e tempo di completamento (con trattamento dei fault). Seconda ora: esercizi su traccia di indirizzi, working set, traduzione indirizzi. 1a ora2a ora Lavagna
7/03/2013 Forme di parallelismo. Richiami dalla parte iniziale del corso. Tempo di servizio e Latenza. Calcolo del tempo di Completamento. Code e fattore di utilizzo 1a ora2a ora Lavagna
11/03/2013 Processore pipeline. Degradi delle prestazioni dovute a salti e dipendenze logiche. 1a ora2a ora Lavagna
14/03/2013 Modello analitico delle prestazioni per il processore pipeline (con esercizi) 1a ora2a ora Lavagna
18/03/2013 Struttura delle unità di un processore pipeline (dettagli). Ottimizzazioni per controllo del degrado delle prestazioni: salto ritardato, loop unrolling, inlining, spostamento di codice. 1a ora2a ora Lavagna
21/03/2013 Esercitazione su processore pipeline: valutazione e ottimizzazione di codice 1a ora2a ora Lavagna
25/03/2013 Architetture con unità di esecuzione multiple di tipo pipeline. Dipendenze EU-EU. Esecuzione e schedulazione di istruzioni out-of-order. 1a ora2a ora Lavagna
08/04/2013 Branch prediction. Modelli analitici per valutazione del tempo di servizio su architetture pipeline con unità di esecuzione multiple e trattamento delle interruzioni. 1a ora2a ora Lavagna
11/04/2013 Introduzione alle archittture superscalari 1a ora2a ora Lavagna
15/04/2013 Archittture superscalari: modello dei costi, struttura parallela di IU, EU e DM. Multithreading: modello blocked e interleaved. 1a ora2a ora Lavagna
18/04/2013 Multithreading: dettagli sulla commutazione di thread, multithreading e superscalare. Organizzazione di CPU multithreaded e multicore. 1a ora2a ora Lavagna
29/04/2013 Esercitazione: gerarchie di memoria, dipendenze logiche, architetture pipeline con EU parallele e architetture superscalari. 1a ora2a ora Lavagna
02/05/2013 Esercitazione: architetture superscalari 1a ora2a ora Lavagna
06/05/2013 Evoluzione delle architetture: prospettive e nuove tecnologie. 1a e 2a ora Lavagna
12/05/2013 Lezioni facoltative su Verilog: sintassi dettagliata del sottoinsieme del linguaggio da utilizzare per il progetto. 1a ora2a ora Lavagna Slide
16/05/2013 Lezioni facoltative su Verilog: comandi di sistema, compilazione ed esecuzione di programmi di test, esempi di reti combinatorie e sequenziali. audio video Lavagna
20/05/2013 Ricevimento in classe
–> Registro ufficiale delle lezioni –> Didawiki AE