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.

  1. Organizzazione dei calcolatori

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).