Architettura dei Calcolatori (Arch) 2004-2005
Docenti: Davide Ancona e Giuseppe Ciaccio
Il corso su Moodle
Descrizione generale
Programma del corso
Appunti in linea
Modalità d'esame
Date degli appelli d'esame
Testi e soluzioni degli scritti d'esame
precedenti
Testi e soluzioni degli scritti d'esame di quest'anno
Anni accademici precedenti
Alla pagina precedente
Per suggerimenti e commenti potete scrivermi a:
Davide Ancona
Grazie!
Ultima modifica: 29 giugno 2005
Il corso di Architettura dei Calcolatori é valutato 12 crediti
e si svolge nel secondo semestre del
primo anno di corso per la Laurea triennale
in informatica.
Verte sulla struttura interna delle macchine
multilivello (CPU, Memoria, dischi e altri dispositivi).
Obiettivi principali sono la comprensione del livello hardware
e della sua interazione col software di base e, più in generale,
la relazione tra i diversi livelli di astrazione necessari per lo studio
e la realizzazione di un sistema di calcolo.
Il corso segue un approccio descrittivo a un livello prettamente
introduttivo e può essere seguito senza particolari prerequisiti
oltre al corso di Informatica Generale
e a un minimo di attitudine al ragionamento logico.
Alle lezioni (suddivise in due periodi di circa 35-40 ore
ciascuno) sono associate delle esercitazioni in aula.
Le esercitazioni in aula comprendono lo svolgimento guidato di
semplici esercizi di programmazione assembler, approfondimenti
puramente tecnici dei concetti generali discussi a lezione e/o
svolgimento di possibili temi di esame.
Principali argomenti trattati e stima di massima della quantità
di tempo dedicata alla trattazione dei vari argomenti.
L'elenco dettagliato degli argomenti svolti in
ciascuna lezione viene via via aggiornato a posteriori.
- Introduzione e ripasso da Informatica Generale (2h)
-
linguaggi, livelli e macchine virtuali,
macchina di Von Neumann ed evoluzione storica,
organizzazione tipica delle macchine contemporanee.
- Codici (10h)
-
rappresentazione di numeri in forma binaria,
distanza di Hamming, ridondanza, rilevazione e correzione di errori,
codici ad espansione.
- Livello di macchina convenzionale (10h)
-
Codifica delle istruzioni e modi di indirizzamento fondamentali.
Struttura a stack, richiamo di sottoprogrammi e ritorno.
Controllori di dispositivi mappati in memoria.
Esempio didattico VM-2.
- Livello di logica circuitale (10h)
-
richiami di Algebra Booleana e funzioni logiche elementari
(tavole di verità, ecc.), circuiti logici combinatori,
esempi di circuiti numerici, ALU,
circuiti sequenziali asincroni e sincroni, registri, contatori,
registri a scorrimento.
- Moduli hardware (8h)
-
Registri, memoria RAM statica e dinamica,
memoria associativa,
dispositivi a 3 stati, bus asincroni e sincroni e protocollo Master/Slave
per lettura e scrittura, arbitrazione daisy-chain.
- Architettura microprogrammata (6h)
-
Struttura e microcodice dell'esempio VM-1.
Ottimizzazioni possibili del microcodice VM-1, microarchitetture a
microprogrammazione orizzontale e verticale.
- Architetture RISC (8h)
-
Insiemi di istruzioni, organizzazione ortogonale
e load/store, macchine CISC e RISC.
Esempio didattico VM-R: registri, set di istruzioni,
pseudo-istruzioni e assembler, esempi di programmi.
- Approfondimento di macchine convenzionali (12h)
-
Accesso in DMA, interrupt vettorizzati, e nucleo del sistema operativo.
Memoria virtuale (segmentazione e paginazione) e supporti hardware
alla traduzione degli indirizzi.
Meccanismi di protezione e Trap.
- Approfondimento di microarchitettura (12h)
-
Memorie cache associative e a corrispondenza diretta,
protocolli di consistenza write-through e write-back.
Tecniche di velocizzazione della CPU: pipelining, caching,
superscalarità.
- Livelli superiori di macchina virtuale e conclusioni(2h)
-
livello di linguaggio Assemblatore,
linker, loader, librerie e supporti run time.
Considerazioni sui temi ricorrenti affrontati
e sulla possibilità di applicare tecniche note
a livelli diversi di macchina virtuale.
Gli appunti del corso vengono preparati dal docente in formato HTML
per la consultazione mediante un normale browser WWW.
Sono aggiornati man mano (... o quasi) e riflettono abbastanza fedelmente il
contenuto del corso illustrato a lezione.
Questo é il link per accedere all'introduzione,
la quale contiene anche l'indice di tutti gli
argomenti.
Consiste in una unica prova scritta finale, sostituibile dai due scritti intermedi
fissati al termine di ciascuna parte.
Oltre alle due prove scritte intermedie, gli studenti hanno diritto a
4 prove finali per anno
accademico.
Gli studenti che intendono partecipare a un appello (sia intermedio
che finale) devono
prenotarsi
sul web almeno tre giorni lavorativi prima
della data dell'appello, per consentire la valutazione della capienza
delle aule e la preparazione di un congruo numero di copie del testo.
La prova scritta finale può (anzi, nella normalità dei casi
dovrebbe!)
essere sostituita da due scritti intermedi riguardanti, rispettivamente,
gli argomenti della prima e seconda parte,
tenuti a pochi giorni di distanza dalla fine delle lezioni sui
rispettivi argomenti.
Il punteggio massimo sia per la prova finale che per quelle intermedie
è 36.
Per passare una prova intermedia bisogna ottenere almeno 18 punti su 36.
La media dei voti dei due scritti intermedi oppure il
voto della prova scritta finale costituiscono il
voto finale proposto (che deve essere almeno 18).
La media viene approssimata per eccesso. La lode si ottiene se la
media è almeno 32.5.
Ogni studente può iscriversi a tutti gli appelli, anche dopo
avere già superato uno scritto precedente, ma può
ottenere la correzione di non più di due prove scritte finali
per anno.
In caso di prove ripetute con valutazione almeno sufficiente, viene
registrato l'ultimo voto ottenuto in ordine di tempo.
Non si terrà conto di eventuali esiti insufficienti se non ai
fini del conteggio del numero di correzioni per anno.
Solo in casi eccezionali (quando si è consapevoli di
essere ben preparati, più di quanto non riveli il voto dell'esame scritto) gli
studenti potranno chiedere al docente una prova orale integrativa,
la quale potrà comportare un incremento (o un decremento, in caso
di esito negativo) compreso tra -3 e +3 trentesimi rispetto al voto della
prova scritta. Gli studenti possono avvalersi della prova orale
integrativa una volta sola nello stesso anno accademico.
Poichè statisticamente in passato si è verificata la relativa accuratezza
della valutazione degli scritti rispetto alla valutazione di una prova orale
degli stessi candidati, si presume che il valor medio degli incrementi
ottenibile con lo svolgimento della prova orale possa essere abbastanza
prossimo a 0.
Le date sono pubblicate sulla seguente pagina .
È obbligatoria la
prenotazione .
|