Introduzione |
Il calcolatore elettronico – Il modello di Von Neumann – Il linguaggio macchina – Il linguaggio assembler – ISA – Linguaggi compilati ed interpretati
|
Prestazioni CPU |
Tempo di CPU – Metriche – CPI – MIPS – Legge di Amdahl |
Assembler MIPS |
Reti combinatorie |
Circuiti, tabelle, funzioni – Porte logiche – Algebra booleana – Rappresentazioni canoniche – Sintesi RC (condizioni d’indifferenza, minimizzazione con mappe di Karnaugh) – Esempi: codificatori, decodificatori, multiplexer, sommatore, PLA e ROM |
Macchine sequenziali |
Temporizzazione – Bistabili – Automi a stati finiti di Moore e di Mealy – Sintesi di macchine sequenziali
|
Memorie |
Tipi di memorie - Celle elementari di memoria – Registri e connessioni – Il register file - SRAM - DRAM
|
Macchine dedicate e programmabili |
Elaborazioni semplici e complesse – Sistema di calcolo e sistema di controllo – Esempi (Moltiplicazione, divisione, logaritmo, ecc.) – Macchine programmabili – Esempi (tastiera)
|
Aritmetica dei calcolatori |
Notazione posizionale – Aritmetica binaria – Rappresentazione dei numeri negativi – ALU (cenni Carry Lookahead)
|
CPU |
Implementazione a singolo ciclo – Multi-ciclo – Progetto/implementazione dell’unità di controllo (microprogrammazione) – Eccezioni – Prestazioni
|
Gerarchia di memoria |
Gerarchia di memoria
Principio di località – Cache (a corrispondenza diretta, set-associative e a più livelli) – Frequenza di hit/miss – Tempo di hit – Penalità di miss – Accesso in lettura e scrittura (write-through e write-back) – Gestione dei miss in lettura e scrittura – Prestazioni (tempo medio di accesso alla memoria) – Memoria virtuale (cenni)
|
IO |
Prestazioni – Tipi di dispositivi – Indirizzamento dispositivi – Comunicazione CPU/IO
|