Sei sulla pagina 1di 2

Universit degli Studi di Genova Corso di Laurea in Ingegneria Informatica

Anno Accademico 2015-2016

CALCOLATORI ELETTRONICI

P. Baglietto (tel. 010-3532203, email p.baglietto@cipi.unige.it)


Ufficio: DIST, Via Opera Pia 13, Padiglione E
Orario di ricevimento: su appuntamento

Crediti: 12

Obiettivi formativi specifici


Il corso vuole mettere in grado lo studente di comprendere e descrivere caratteristiche, funzioni e interazioni
delle principali componenti di un moderno calcolatore elettronico sia dal punto di vista architetturale che del
sistema operativo.

Programma:

Parte I Architettura dei calcolatori


1. Introduzione al corso. Definizione di architettura dei calcolatori e sua virtualizzazione e astrazione.
Evoluzione e prestazioni dei calcolatori. Progettazione in funzione delle prestazioni.
2. Instruction Set Architecture: il caso del processore MIPS. Caratteristiche delle istruzioni: elementi,
rappresentazione, tipi, numero di indirizzi, progettazione del repertorio di istruzioni. Tipi di operandi. Tipi di
operazioni. Modi di indirizzamento. Formati delle istruzioni. Supporto alle procedure. Interazioni con il
Compilatore e ottimizzazioni del codice.
3. Aritmetic Logic Unit. Architettura interna. Rappresentazioni dei numeri reali (IEEE 754). Somma
moltiplicazione e divisione di numeri in virgola mobile.
4. Il processore centrale. Architettura del processore. Organizzazione dei registri. Ciclo di esecuzione delle
istruzioni. Pipelining delle istruzioni. Conflitti sui dati e sui controlli. Data forwarding e hazard detection.
5. Unit di controllo. Fasi di una istruzione e microoperazioni. Controllo del processore: requisiti funzionali,
segnali di controllo, organizzazione interna. Implementazione cablata. Implementazione
microprogrammata: microistruzioni, unit di controllo microprogrammata.
6. La memoria primaria. Gerarchia di memoria. Memoria cache: principi di funzionamento, elementi di
progettazione (dimensione, funzioni di traduzione, algoritmi di sostituzione, politica di scrittura,
dimensionamento delle linee, cache multiple). Tipi memoria (ROM, DRAM e SRAM) e loro organizzazione.
7. Memorie a dischi magnetici: meccanismi di lettura e scrittura, organizzazione e formattazione dei dati,
sistemi RAID. Memorie a dischi ottici.
8. La valutazione delle prestazioni dei calcolatori. Metodi e strumenti per la valutazione delle prestazioni.
Parametri misurabili e loro attendibilit. Interpretazione delle misure di prestazione.

Parte II Sistemi Operativi


1. Introduzione alla struttura dei sistemi operativi. Concetti base, struttura monolitica e a microkernel.
Macchine virtuali.
2. Le chiamate a sistema e loro gestione. Meccanismo di passaggio da spazio utente a spazio del sistema
operativo. Protezioni. Esempio: programmazione socket.
3. La gestione dei processi e dei thread. Creazione e gestione processi. I thread e loro implementazione. Lo
scheduling della CPU. Esempio: programmazione socket.
4. La comunicazione e sincronizzazione fra processi. Corse e regioni critiche. Mutua esclusione e polling
attesa. Semafori e loro utilizzo per mutua esclusione e sincronizzazione. Esempio: programmazione socket.
5. La gestione della memoria. Astrazione dello spazio indirizzi. Gestione paginata e sue problematiche di
implementazione. Gestione segmentata.
6. Il file system. Struttura e attributi di file e directory. Metodi di implementazione e ottimizzazione dei file
system. Problematiche di protezione e condivisione.
7. La gestione dellinput-output. Interazione CPU-dispositivi-memoria. Architettura DMA. Gestione dei dischi,
loro struttura e ottimizzazione. Gestione clock. Problematiche di deadlock e possibili soluzioni per il
rilevamento, lesclusione e la prevenzione.
Testi e documentazione di riferimento:

- Struttura e progetto dei calcolatori di D. Patterson, J. Hennessy, Zanichelli.


- I moderni sistemi operativi di A. S. Tanenbaum, Pearson Education Italia.
e nel materiale fornito durante il corso disponibile su www.aulaweb.unige.it .

Tipologia e modalit desame

Lesame si articola su:


1. una prova scritta composta da esercizi applicativi degli argomenti del corso per un totale di max 30 punti
assegnati alla prova scritta complessiva.
2. una prova orale da sostenere obbligatoriamente nella stessa sessione della prova scritta (ovvero entro
febbraio per gli appelli invernali ed entro settembre per gli appelli estivi) pena la decadenza del voto
conseguito per la prova scritta. Il punteggio massimo della prova orale di 30 punti.
Il voto finale e il risultato della media fra il voto conseguito nella prova scritta e il voto conseguito nella prova
orale.

prevista inoltre la possibilit di sostenere una prova intermedia alla fine del primo semestre secondo le
stesse modalit sopra indicate ma limitata agli argomenti del primo modulo (prova scritta per un punteggio
massimo di 30 punti e prova orale per un punteggio massimo di 30 punti , il punteggio finale la media dei
due).
Alla fine del corso gli studenti che hanno superato la prova intermedia possono completare la prova desame
sostenendo solo la parte della prova scritta specifica per il secondo modulo (prova scritta per un punteggio
massimo di 30 punti e prova orale per un punteggio massimo di 30 punti , il punteggio finale la media dei
due).
Il voto finale la media fra il punteggio della prova intermedia relativa al primo modulo e il punteggio della
prova relativa al secondo modulo. Il risultato della prova intermedia valido fino a tutto settembre 2016.

La registrazione di un voto finale pu essere sospesa ma deve comunque avvenire entro febbraio 2017 pena la
perdita di validit del voto.

La consegna di una prova scritta comporta la cancellazione di eventuali voti finali non ancora registrati incluso
il voto conseguito nella prova intermedia nel caso in cui venga consegnata una prova scritta comprensiva della
parte relativa al primo modulo.

Propedeuticit
Per poter seguire con profitto le lezioni uno studente deve possedere nozioni generali sulla programmazione e
sulle reti logiche, impartite nel piano di studio dagli insegnamenti di Fondamenti di informatica e di Reti
Logiche, che sono pertanto propedeutici a Calcolatori Elettronici.

Iscrizione alla prova scritta e alle prove orali


Liscrizione sia alla prova scritta che alle prove orali obbligatoria ed avviene tramite il portale studenti
(http://www.studenti.unige.it/) delluniversit di Genova.