ING-INF/05 Architettura degli Elaboratori Computer Architecture

A.A.
CFU Durata (ore)
Periodo Sede
2013/2014 12 96 ore unico Collegio Raffaello, Piazza della Repubblica 13, Urbino

Assegnato ai Corsi di Studio

Docente


Alessandro Bogliolo

alessandro.bogliolo@uniurb.it

Obiettivi Formativi
Il Corso ha lo scopo di descrivere l'architettura di un calcolatore, con particolare riferimento al pipelining e alla gerarchia di memroia, fornendo gli elementi teorici necessari a motivarne le scelte progettuali, a comprenderne il funzionamento, a valutarne le prestazioni, e a comprenderne la relazione con le tecniche di programmazione in assembly e ad alto livello.

Programma
01. Introduzione:
01.01 Automazione.
01.02 Breve storia del calcolo automatico.

02. Codifica delle informazioni:
02.01 Il problema della codifica digitale.
02.02 Rappresentazione digitale di insiemi numerici e aritmetica binaria.
02.03 Rappresentazione digitale di insiemi non numerici e segnali.
02.04 Codici ridondanti a rivelazione e a correzione d'errore.

03. Reti logiche:
03.01 Porte logiche e reti di interruttori, algebra di Boole, reti logiche.
03.02 Sintesi di reti logiche combinatorie.
03.03 Reti logiche sequenziali.
03.04 Progettazione di circuiti logici a livello gate.
03.05 Sistemi digitali.
03.06 Laboratorio: progetto e simulazione di reti logiche con TkGate.
03.07 Decodifica di indirizzi
04. Sistemi a microprocessore:
04.01 Il modello di Von Neumann.
04.02 Il repertorio delle istruzioni e la classificazione delle architetture.

05. L'architettura interna della CPU:
05.01 Pipelining e prestazioni.
05.02 Architettura di riferimento: DLX.
05.03 Conflitti e stalli.
05.04 Laboratorio: simulazione della pipeline del DLX con WinDLX/WinMIPS.

06. Ottimizzazione delle prestazioni di un microprocessore:
06.01 Ottimizzazione statica del codice.
06.02 Laboratorio: esempi di ottimizzazione statica.
06.03 Parallelismo: Microprocessori multiple-issue.
06.04 Ottimizzazione dinamica: esecuzione fuori ordine e speculazione.
06.05 Laboratorio: sviluppo e impiego di benchmark

07. La memoria:
07.01 Dispositivi di memoria volatili: RAM statiche e dinamiche.
07.02 Dispositivi di memoria non volatili: ROM, Flash, HD.
07.03 La gerarchia di memoria: caching e memoria virtuale.

08. La comunicazione:
08.01 I bus e i dispositivi di I/O.
08.02 Le interruzioni e il DMA.

Eventuali Propedeuticità
Non vi sono propedeuticità obbligatorie.
Si suggerisce di sostenere l'esame di Architettura degli Elaboratori dopo aver sostenuto l'esame di Programmazione Procedurale e Logica e prima di sostenere gli esami di Basi di Dati e Sistemi Operativi.

Modalità Didattiche, Obblighi di Frequenza, Testi di Studio e Modalità di Accertamento
Modalità Didattiche
Lezioni frontali in aula e in laboratorio.
Obblighi di Frequenza
Sebbene fortemente consigliata, la frequenza non è obbligatoria.
Testi di Studio
Dispense fornite dal docente.
Hennessy, Patterson, "Computer Organization and Design: The Hardware/Software Interface", 5th edition, Elsevier (Morgan Kauffman Series), 2013. [http://store.elsevier.com/product.jsp?isbn=9780123747501] (La IV edizione è disponibile online su Google books isbn 978-0-12-374750-1)
Hennessy, Patterson, "Struttura e progetto dei calcolatori: L'interfaccia hardware-software", Zanichelli, 2010.
 
Modalità di Accertamento
Prova scritta, progetto individuale e prova orale facoltativa.
La prova scritta puo' essere sostenuta anche prima di presentare la relazione del progetto individuale. Il progetto individuale deve essere presentato oralmente dopo aver predisposto una relazione scritta.
Gli esiti della prova scritta e del progetto individuale restano validi per tutto l'anno accademico in cui sono stati conseguiti.
La prova scritta e il progetto individuale sono valutati in trentesimi. La media dei due voti costituisce il voto di ammissione all'orale (facoltativo). L'esito dell'orale incide per + o - 5 punti sul voto finale.

Note
Il corso è erogato sia nel "percorso in presenza" che nel "percorso online" del Corso di Laurea di Informatica Applicata.
Per materiale didattico e informazioni aggiuntive visitare http://informatica.uniurb.it/en/learning-activities/program-of-study/carc-2013-2014/carc_supp/