Home | Search | Help  
Home Page Università di Genova

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




Descrizione generale

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.

Programma del corso

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.

Prima parte (marzo-aprile), 40h

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.

Seconda parte (maggio-giugno), 40h

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.

Appunti in linea

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.

Modalità d'esame

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.

Date appelli d'esame

Le date sono pubblicate sulla seguente pagina .

È obbligatoria la prenotazione .