Corso di Architetture degli Elaboratori per Informatica
AA. 2014-15
Testo consigliato: Bucci Architettura e organizzazione dei calcolatori elettronici Fondamenti.
Testo alternativo: Patterson Hennessy, Struttura e progetto dei calcolatori 4ed Fondamenti.
Prova intermedia Novembre 2014
Lezioni frontali |
|
Lezione 1, 141001:
|
Introduzione al corso. Calcolo digitale. Storia delle architetture: ENIAC. |
Lezione 2, 141003:
|
Evoluzione architetture: Mainframe, Microprocessore, Workstation. Principali architetture (x86, motorola, arm , gpu). Evoluzione tecnologica: legge di Moore. Architetture e organizzazione. |
Lezione 3, 141008:
|
Livelli e astrazioni. Unita' funzionali, architettura di von Neumann (CPU+memoria+i/o). Rappresentazione dell'informazione. Codifica posizionale. Base 2,8,16. Conversione base 2 in 10, 10 in 2, da 2 a 8,16 e vicecersa. |
Lezione 4, 141010:
|
Aritmetica binaria. Regole simboliche. Somma, moltiplicazione, shift a destra e sinistra. Esercizi. Numeri negativi. Rappresentazione modulo/segno. Complemento a 9 e 10 (in base 10). |
Lezione 5, 141015:
|
Complemento a 1 e a 2. Esempio di rappresentazione a 4 bit. Esempi di somme di numeri negativi. Overflow per interi con e senza segno. Confronto rappresentazioni interi senza segno, modulo/segno, complemento a 2. |
Lezione 6, 141017:
|
Esempi passo passo di conversione IEEE 754 Floating point singola precisione Numeri in virgola mobile. Mantissa, esponente. Standard IEEE 754, precisione singola. Numeri normalizzati e denormalizzati. Arrotondamento, overflow e underflow. |
Lezione 7, 141022:
|
Esempio di conversione da numero decimale a floating point in HEX. Rappresentazioni alfanumeriche (ASCII, UNICODE), BCD. Introduzione alla logica combinatoria. |
Lezione 8, 141024:
|
Reti logiche: combinatorie e sequenziali. Algebra delle reti. Operatori AND OR e NOT. Tabelle di verita'. Espressioni logiche. Circuiti logici. Diodi, realizzazione di AND e OR con diodi. |
Lezione 9, 141029:
|
Realizzazione NOT con transistor. Porte logiche e simboli. Proprieta' dell'algebra booleana. Prima forma canonica (esempio con sintesi di porte logiche). |
Lezione 10, 141031:
|
Seconda forma canonica. Minimizzazione di circuiti. Mappe di Karnaugh. Implicanti primi. Esempi a 3 input. |
Lezione 11, 141105:
|
Algoritmo di Quine-McCluskey accenni. Tabelle con Don't care e mappe di Karnaugh. Codificatore e decodificatore. Esempi di tab. di verita' e circuiti. Multiplexer e demultiplexer. Esempio di uso MUX come selettore di tabella di verita' e conversione parallelo-sequenziale. |
Lezione 12, 141107:
|
ROM: porte logiche per realizzazione. PROM, EPROM e EEPROM. Controllo di parita'. Comparatori di interi senza segno. Half adder, full adder. Accenno ad anticipo di riporto. Sommatore e sottrazione in complemento a 2. |
Lezione 13, 141112:
|
Logica sequenziale. Esempio Flip. Latch NOR. Esempio con tabella di verita' e mappe di Karnaugh. Diagramma temporale con ritardi delle porte. Flip flop asincrono (Set-Reset). |
Lezione 14, 141114:
|
Reti sincrone. Flip flop con clock level triggered. FFSR edge triggered. FFJK. Registri. Contatori (con FFJK). Introduzione memorie. Indirizzamento e allineamento. SRAM e DRAM. |
Lezione 15, 141119:
|
Banchi di memoria. Memoria secondaria, cache. Principio di localita'. Gerarchia di memorie. Esecuzione programma a basso livello. Registri del processore (PC, IR). Fasi di esecuzione: Fetch, decode, execute. |
Lezione 16, 141121:
|
Stack, push e pop. Interrupt: meccanismo e tipi. RISC vs CISC. Unita' di controllo e operativa. Registri cpu. Schema di funzionamento dettagliato del ciclo di esecuzione. |
Prova intermedia, 141126:
|
|
Lezione 17, 141203:
|
Realizzazione UC con logica cablata. Microprogrammazione: microistruzioni e organizzazione memoria di controllo e microPC. Panoramica storica. |
Lezione 18, 141205:
|
Prestazioni CPU. Indici Tempo di CPU, Speedup. Legge di Amdahl. Indici MIPS, MFLOPS, Benchmarks. Sistema di I/O. Interfacce. Organizzazione I/O mapped e memory mapped. |
Lezione 19, 141210:
|
Sincronizzazione dispositivi di I/O. Controllo di programma, protocollo di handshaking. Interrupt, vettore interrupt, controller interrupt e daisy chaining. |
Lezione 20, 141217:
|
DMA e controller. Architettura x86: dettagli sui registri. Segmentazione nell' 8086. Famiglie di istruzioni assembly. Ambiente di emulazione Turbo Debugger (linux e windows). |
Lezione 21, 141219:
|
Esercitazione guidata con l'emulatore di 8086. |
Lezione 22, 150107:
|
Pipeline: esempio a 5 stadi di esecuzione (IR,ID,EX,RAM,WB). Criticita' strutturale e sui dati. Soluzione con stallo, propagazione/bypass. |
Lezione 23, 150109:
|
Pipeline: Criticita' di controllo. Soluzioni con predizione di salto. Riepilogo con dataflow di pipeline. |
Lezione 24, 150114:
|
Architetture parallele. Introduzione. SISD, SIMD, MIMD. UMA, NUMA. Architettura Multicore |
Lezione 25, 150116:
|
Architetture schede video GPU. Cluster. |
Lezione 26, 150123:
|
Esercitazione |