ARCHITETTURA DEGLI ELABORATORI
cod. 13598

Anno accademico 2010/11
3° anno di corso - Primo semestre
Docente
Settore scientifico disciplinare
Informatica (INF/01)
Field
Formazione interdisciplinare e applicativa
Tipologia attività formativa
Affine/Integrativa
48 ore
di attività frontali
6 crediti
sede:
insegnamento
in - - -

Obiettivi formativi

Proporre un percorso che, partendo dalla rappresentazione dell’informazione e passando per lo studio delle reti logiche, arrivi a definire i fondamentali aspetti architetturali dei calcolatori elettronici.
Il corso prevede, oltre a lezioni teoriche, una serie di esercitazioni in aula sulla parte di reti logiche e in laboratorio sulla parte di assembly IA-32.

Prerequisiti

Nessuno

Contenuti dell'insegnamento

I parte – Introduzione ai sistemi di elaborazione

II parte – Livello logico

III parte – Livello funzionale

IV parte – Architettura e linguaggio assembly IA-32

V parte – Livello software

VI parte – Livello micro-architettura

Programma esteso

I parte – Introduzione ai sistemi di elaborazione
Sistemi di elaborazione
Evoluzione storica e tecnologica
Architettura e organizzazione dei calcolatori elettronici
Modelli di sistema e livelli di astrazione
Sistemi di numerazione binario, esadecimale e ottale
Rappresentazione binaria dei numeri reali
Informazioni di carattere alfanumerico
Rappresentazione di suoni, immagini e video

II parte – Livello logico
Algebra delle reti
Circuiti logici elementari
Forme canoniche e trasformazioni
Minimizzazione logica
Reti combinatorie
Reti sequenziali

III parte – Livello funzionale
Relazione tra livello funzionale e livello micro-architettura
Organizzazione di un calcolatore moderno
Il repertorio delle istruzioni
La CPU
I sistemi di memoria
Il sottosistema di I/O

IV parte – Architettura e linguaggio assembly IA-32
Architettura IA-32
Le CPU IA-32: gestione della memoria, registri, flag
Istruzioni dell’assembly IA-32
Set di istruzioni aggiuntive dei moderni microprocessori: MMX, 3DNow!, SSE, SSE2
Programmazione assembly ed interfaccia con il linguaggio C

V parte – Livello software
Cenni al sistema operativo
Cenni alla struttura dei compilatori di linguaggi tipo-C
Cenni alla generazione di codice assembly per un sotto-insieme del C

VI parte – Livello micro-architettura
La microarchitettura: progettazione hardwired e micro-programmata
Approfondimenti sulle architetture micro-programmate
Cenni alla struttura di una architettura micro-programmata compatibile con le CPU tipo NMOS 6502
Gestione del I/O a livello micro-architettura: interrupt e DMA
Interazione con il livello software

Bibliografia

David A. Patterson, John L. Hennessy. Struttura e Progetto dei Calcolatori, Zanichelli, 2006.
Giacomo Bucci. Architettura e organizzazione dei calcolatori elettronici - Fondamenti, McGraw-Hill, 2004.
William Stallings. Architettura e organizzazione dei calcolatori - Progetto e prestazioni, Addison Wesley, 2004.
Andrew S. Tanenbaum. Architettura dei Calcolatori, 5a edizione, Prentice Hall, 2006.
Randall Hyde. The Art of Assembly Programming, disponibile online.

Metodi didattici

Lezioni frontali ed esercitazioni in laboratorio

Modalità verifica apprendimento

Prova scritta e prova orale

Altre informazioni

- - -