Architettura degli Elaboratori
Corsi A e B
Programma definitivo per a.a. 2001/2002
Il seguente programma fa riferimento al testo:
A.S. Tanenbaum "Structured Computer Organization", 4 edizione, Prentice-Hall, 1999.
Versione italiana:
A.S. Tanenbaum, J.R. Goodman "Architettura dei computer: un approccio strutturato", 4 edizione, UTET Libreria, 2000.
Linguaggi, livelli e macchina virtuali (1.1.1)
Macchine moderne a più livelli (1.1.2)
Evoluzione delle macchine a più livelli (1.1.3)
2. Il presente e il futuro (1.3, 1.4 - leggere)
3. Rappresentazione delle informazioni
Rappresentazione dei numeri (Conversione da una base a un'altra, numeri negativi, numeri floating point) (Appendici A e B)
Rappresentazione dei caratteri (2.4.6 e documentazione in linea)
Rappresentazione delle immagini e dei suoni (documentazione in linea)
4. Struttura dei calcolatori
Processori
Organizzazione della CPU (2.1.1)
Esecuzione delle istruzioni (2.1.2)
Differenze tra RISC e CISC (2.1.3)
Moderne architetture (2.1.4, 2.1.5, 2.1.6)
Memoria principale e secondaria
Organizzazione della memoria (2.2.1, 2.2.2, 2.2.3)
Codici di correzione degli errori (2.2.4)
Memoria cache (2.2.5)
Gerarchie di memoria (2.3.1)
Dischi magnetici (2.3.2)
5. Il livello logico digitale
Porte logiche e algebra di Boole (3.1)
Circuiti logici digitali di base (3.2)
Memoria
Latch (3.3.1)
Flip-Flop (3.3.2)
Registri (3.3.3)
Organizzazione della memoria (3.3.4)
RAM e ROM (3.3.6)
Chip, CPU e bus (3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5)
6. Il livello della microarchitettura
Esempio di microarchitettura (4.1)
Un esempio di ISA: IJVM (4.2)
Una particolare implementazione (4.3)
Architetture avanzate per l'ottimizzazione delle prestazioni (4.4.1, 4.4.2)
7. Il livello dell'architettura dell'instruction set
Sommario del livello ISA
Caratteristiche (5.1.1)
Modelli di memoria (5.1.2)
Registri (5.1.3)
Istruzioni (5.1.4)
Sommario della macchina UltraSPARC II (5.1.6 - leggere)
Sommario della macchina virtuale Java (5.1.7)
Tipi di dati
Numerici (5.2.1)
Non numerici (5.2.2)
Tipi di dati della macchina virtuale Java (5.2.5)
Formati delle istruzioni
Criteri di progettazione (5.3.1)
Espansione dei codici operativi (5.3.2)
I formati delle istruzioni dell'UltraSPARC II (5.3.4 - leggere)
I formati delle istruzioni JVM (5.3.5)
Indirizzamento
Modalità di indirizzamento (da 5.4.1 a 5.4.10)
Modalità di indirizzamento di JVM (5.4.13)
Tipi di istruzioni
Istruzioni di movimento, monadiche, …, di input/output (da 5.5.1 a 5.5.7)
Flusso di controllo (5.6.1)
Procedure ricorsive (5.6.2 - leggere)
Coroutines (5.6.3 - leggere)
Trap e interrupt (5.6.4, 5.6.5 - leggere)