Introduzione:
Il modello di Von Neumann - I livelli dell'architettura del calcolatore
Assembler:
ISA - Linguaggio macchina - Linguaggio assembler - Assembler MIPS - Assembler Intel (cenni).
Reti combinatorie:
Circuiti e tabelle di verità - Porte logiche - Algebra booleana - Rappresentazioni canoniche e sintesi circuitale - Esempi: codificatori, decodificatori, multiplexer, sommatore, Unità Logico Aritmetica (ALU)
Macchine sequenziali:
Bistabili - Temporizzazione - Automi a stati finiti di Moore e di Mealy - Sintesi di macchine sequenziali
Memorie:
Registri e connessioni - Il register file - Tipi di memorie - SRAM e DRAM
Il processore:
Unità di elaborazione dati e unità di controllo - Implementazione a singolo ciclo (unità di controllo e datapath) - Implementazione multi-ciclo (unità di controllo e datapath) - Microprogrammazione (cenni) - Gestione delle eccezioni - Valutazione delle prestazioni
Pipelining:
Unità di elaborazione e di controllo con pipeline - Criticità strutturali - Criticità sui dati, stalli e propagazione - Criticità sui salti, salto ritardato, tecniche di predizione statica e dinamica (cenni) - Valutazione delle prestazioni in presenza di criticità
Gerarchia di memoria:
Principio di località - Cache (a corrispondenza diretta, set-associativa e a più livelli) - Frequenza di hit/miss - Penalità di miss - Accesso in lettura e scrittura (write-through e write-back) - Prestazioni (tempo medio di accesso alla memoria)
Gestione dell'Input/Output (cenni)
Applicazioni avanzate dei calcolatori con particolare riferimento all'Intelligenza Artificiale