INFORMAZIONI SU

Architettura degli elaboratori e laboratorio

Programma dell'insegnamento di Architettura degli elaboratori e laboratorio - Corso di laurea in Informatica (2012/13)

Docente

Prof. Pietro Di Gianantonio pietro.digianantonio@uniud.it http://www.dimi.uniud.it/pietro

Crediti

12 CFU

Finalità

Il corso ha lo scopo di illustrare la struttura e il funzionamento di un computer nelle sue diverse componenti. Il percorso didattico inizia con lo studio delle parti elementari che costituiscono un calcolatore e considera componenti sempre più complesse fino ad arrivare allo studio di architetture complete. Per meglio evidenziare i legami fra il livello hardware e quello software, il corso tratta la programmazione in linguaggio assembly.

Programma

- Introduzione: prospettiva storica sulle architetture degli elaboratori, concetti base, livelli d’astrazione nell'analisi di un'architettura.
- Reti logiche: porte logiche elementari, algebre booleane, circuiti combinatori d'uso frequente, progettazione circuiti sequenziali, chip di memoria.
- Rappresentazione delle informazioni: sistema di numerazione binario, conversione tra basi, rappresentazione di numeri interi e reali, rappresentazione di caratteri, codici di rilevamento errori.
- Processore: ciclo di fetch-decode-execute, data path, unità di controllo, presentazione dettagliata di un semplice microprocessore, pipeline, processori superscalari, predizione di salto, esecuzione fuori ordine, Intel Core.
- Linguaggio Macchina: Evoluzione dei linguaggi macchina, tipi di dati, indirizzamento, tipi d’istruzioni, formati istruzioni,
- Input/Output: programmed I/O, interrupt, DMA, dispositivi periferici, collegamenti mediante bus, meccanismi d’arbitraggio e sincronizzazione del bus, architettura di un tipico PC, bus PCI, SCSI, USB, dischi magnetici, RAID, dischi ottici.
- Gerarchie di Memoria: meccanismi di funzionamento della memoria cache e della memoria virtuale, paginazione e segmentazione, MMU.
- Architetture ad elaborazione parallela: tipologie di calcolatori paralleli, multiprocessori e multicomputer, Interconnessione fra processori, cache coherence, architetture UMA, NUMA, COW e MPP.
- Programmazione assembly. Architettura del MIPS. Istruzioni MIPS: assegnamento, salto, aritmetiche-logiche. Modalità d’indirizzamento, chiamate di funzione, direttive all'assemblatore.

Bibliografia

Andrew S. Tanenbaum. Architettura dei calcolatori, un approccio strutturale. Pearson, 2006.

Modalità d'esame

L'esame si compone di una prova scritta, di una prova di laboratorio e di una prova orale.