Docente
|
Liberati Franco
(programma)
Parte I: Introduzione
Nozioni Storiche e fondamenti di Teoria dell'Informazione; Informazione digitale; Numeri interi: rappresentazioni e operazioni; Numeri in virgola mobile rappresentazione e operazioni (standard IEEE754)
Parte II: Concetti di base
Porte logiche; Reti combinatorie e principali circuiti: decodificatore e codificatore, addizionatore, comparatore logico ed aritmetico; Reti sequenziali e principali circuiti: contatore, registro a scorrimento, registro di memorizzazione; Strutture di interconnessione (punto a punto, multiplexer, demultiplexer, mesh, buffer a 3 stati, bus)
Parte III: Macchina di Von Neumann
CU: significato, componenti principali (registri ad uso speciale e generale, transcodificatore) e funzionamento; ALU: significato, componenti principali (accumulatori) e funzionamento (operazioni principali e condition code), coprocessore matematico; Memoria: componenti principali, organizzazione fisica e logica, funzionamento. Organizzazione logica dei dati big-little endian; I/O (interfaccia e protocollo e relativi schemi); Struttura di Interconnessione (bus, centralizzato o decentralizzato)
Parte IV: Dal codice sorgente all'eseguibile
Compilatore; Assemblatore; Linker; Loader
Parte V: Architettura Funzionale
Definizione di un set di istruzioni; Formato dell'istruzione; Classe di istruzioni
Parte VI: Modi di indirizzamento
Modo di indirizzamento: immediato, assoluto, a registro, con spiazzamento, relativo; varianti indirette, pre-post incremento
Parte VII: Aumento delle prestazioni: Interruzioni
Classificazione (interne, esterne e software); Polling; Interruzioni vettorizzate (tabella delle interruzioni); Gestioni delle interruzioni nel MIPS
Parte VIII: Pipeline - Canalizzazione
Canalizzazione: fasi, prestazioni, data e control hazard, forwarding, gestione degli stalli e mitigazione degli hazard - Canalizzazione nel MIPS: circuiteria di base; data hazard e control hazard; salto incondizionato anticipato, salto condizionato predetto e delay slot; Pipeline CISC e RISC (differenze).
Parte IX: Cache
Completamente associativa; Associativa a insieme e n-vie; Ad associazione diretta; Blocchi: spostamento, piazzamento ricerca, sostituzione; Strategia di scrittura; Performance e miglioramenti
Parte X: Memoria Virtuale
Processo; Paginazione; Memoria Virtuale; Architettura e politiche di rimpiazzo delle pagine
Parte XI: DMA
Accesso diretto alle memoria: struttura e protocollo; Un caso reale il DMA del MOTOROLA MCF5307
Parte XII: Microprogrammazione
Struttura fisica (MicroMacchina); Struttura logica (Microprogramma, microistruzioni, microperazioni; Differenze CISC e RISC
Parte XIII: Multiprocessori e MultiCore
Multithreading; Architetture con multiprocessori a memoria condivisa (UMA, NUMA, COMA); Architetture con multiprocessori a memoria distribuita (NORMA, MPP, Cluster of workstation); Processori vettoriali
Parte XIV: Unità periferiche ed il problema della digital preservation
Disco Magnetico; Nastro Magnetico; Dischi ottici; SSD
Linguaggio assemblativo MIPS
Architettura MIPS; Programmazione con emulatore MARS; Set istruzioni; Modi di indirizzamento; Strutture dati statiche (vettore, stringa, matrice) e dinamiche (lista); Cicli; Salto a Subroutine; Subroutine ricorsive; Stack; Syscall (gestione file e formato BMP);
 D. A. Patterson & J. L. Hennessy, 2014. Struttura e progetto dei calcolatori IV edizione. A cura di M. Borghese. Zanichelli. ISBN: 978-8808352026
Ulteriori testi, articoli scientifici consigliati e appunti delle lezioni: http://arch2.000webhostapp.com/
|