ARCHITETTURA DEGLI ELABORATORI ( cod. 13598)
Insegnamento di INFORMATICA (Corsi di Laurea)
Facoltà di Corsi di Laurea triennale (D.M. 270/04)
TIPOLOGIA DELL'INSEGNAMENTO: ATTIVITÀ FORMATIVE DI BASE
Lingua Insegnamento:
Italiano
FREQUENZA FACOLTATIVA
Obiettivi
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 Consigliata
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 di valutazione:
Prova scritta e prova orale Metodi didattici
Lezioni frontali ed esercitazioni in laboratorio
Docenti
Anno accademico:
2012
Anno di corso:
1
Semestre:
1
Numero CFU:
6
SSD:
INFORMATICA (INF/01)
Ambito:
Formazione informatica di base
Ore di attivita frontale:
48 






