CALCOLATORI ELETTRONICI (1 annualità)
Docente: Graziano FROSINI

Numero totale di ore in cui si sviluppano nuovi argomenti (L): 60
Numero totale di ore in cui si svolgono esemplificazioni ed esercitazioni di laboratorio (E): 40
Numero totale di ore 100

Ulteriori attività di apprendimento: Ambiente di programmazione GNU per Assembler, C/C++ su Personal Computer.

Programma di massima:
Architettura di un calcolatore: Unità di elaborazione logico-aritmetica e unità in virgola mobile. Linguaggio Assembler GNU. Circuiti di comando. Memorie centrale e cache. Interfacce. Interruzioni e annidamento. Accesso diretto alla memoria. Memoria virtuale. Paginazione. Livelli di privilegio. Multiprogrammazione. Segmentazione. Segmentazione con multiprogrammazione e protezione. Segmentazione con paginazione.(L: 25, E: 5)

Interfacciamento: Tastiera e video. Contatori. Comunicazioni seriali e standard EIA RS232. Interfacce seriali. Memorie di massa.(L: 5, E: 5)

Moduli di programma. Programmazione a moduli. Moduli in Assembler GNU. Assemblatore, Collegatore, Caricatore-rilocatore. Moduli in C/C++. Collegamento tra moduli in linguaggi diversi.(L: 8, E: 7)

Nucleo di sistema operativo: Processo: descrittore e corpo. Livelli di privilegio di un processo. Schedulazione. Processi in ambiente segmentato. Sincronizzazione e mutua esclusione. Primitive di nucleo. Operazioni di ingresso/uscita. Primitive di I/O. Gestione della memoria dinamica e del timer.(L: 12, E: 3)

Linguaggio C++ : Tipi base. Comandi ed espressioni. Funzioni. Tipi strutturati. Indirizzi e puntatori. Vettori. Tipi di dato astratto: le classi. Librerie. Classi di ingresso/uscita.(L: 5, E: 15)

Sistema operativo UNIX: Comandi e interprete di comandi. Linguaggi shell. File system. Strumenti di sviluppo. Gestione delle librerie. Primitive di sistema. Gestione dei processi.(L: 5, E: 5)

Testi di riferimento:
Corsini, Frosini, Lazzerini, "Architettura dei calcolatori con riferimento al Personal Computer", Mc Graw-Hill Italia
Domenici, G. Frosini, "Introduzione alla programmazione ed elementi di strutture dati con il linguaggio C++", Franco Angeli, Milano
Domenici, "Note sul sistema operativo Unix", SEU - Pisa

MODALITÀ DI SVOLGIMENTO DEGLI ESAMI:
Prova scritta/pratica presso il Centro di Calcolo (2 ore) e prova orale.
Esercizi di esame (con soluzioni) disponibili via Internet al sito: http://www.ing.unipi.it/~d3671/esami