Architettura degli Elaboratori
Corso B
Programma definitivo per a.a. 2002/2003
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 (cap 1.1.1)
Macchine moderne a più livelli (cap 1.1.2)
Evoluzione delle macchine a più livelli (cap. 1.1.3)
2. Tappe significative nelle architettura degli elaboratori cap 1.2 (leggere), cap 1.3, cap 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 (cap 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 cap. 3.1
Circuiti logici digitali di base cap. 3.2
Memoria
Latch (cap. 3.3.1)
Flip-Flop (cap 3.3.2)
Registri (cap. 3.3.3)
Organizzazione della memoria cap 3.3.4)
RAM e ROM cap. 3.3.5, cap 3.3.6
Chip, CPU e bus cap 3.4.1, 2.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5
cap 3.5.3 (leggere)
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, 4.4.3)
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 del Pentium II (5.1.5 leggere)
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, 5.4.12, 5.4.13. 5.4.14)
Tipi di istruzioni
Istruzioni di movimento, monadiche, …, di input/output (da 5.5.1 a 5.5.7)
Esempi di istruzioni cap. 5.5.8 (leggere), 5.5.9 (leggere) 5.5.10 (leggere)
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 )
Confronto tra architetture (vedi materiale in linea)
Ulteriori informazioni sul livello digitale (non coperte dalla quarta edizione) possono essere trovate nel capitolo 4.1 del libro di Tanenbaum, Structured Computer Organization , Terza Edizione (disponibile in biblioteca).