Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

ARCHITETTURA DEGLI ELABORATORI

Scheda dell'insegnamento

Anno accademico di regolamento: 
2015/2016
Anno di corso: 
1
Anno accademico di erogazione: 
2015/2016
Tipo di attività: 
Obbligatorio
Crediti: 
8
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
76
Prerequisiti: 

nessuno

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

La verifica dell'apprendimento comprende una prova scritta e una eventuale discussione del risultato.
La verifica dell'apprendimento può inoltre derivare dall'esito di prove intermedie parziali.

Valutazione: 
Voto Finale

Obiettivi formativi

Alla fine del corso lo studente avrà compreso gli elementi dell’architettura di un semplice elaboratore e sarà in grado di comprendere e scrivere programmi assembler elementari.

Contenuti

Principali elementi dell’architettura hardware di un elaboratore. Instruction set architecture. Catena programmativa. Controllo del percorso dei dati. Eccezioni. Tecniche di ingresso/uscita. Gerarchie di memoria: cache e memoria virtuale.

Programma esteso

1 "Rappresentazione del'informazione:
- rappresentazione dell'informazione non numerica,
- rappresentazione dei numeri interi con e senza segno,
- rappresentazione dei numeri in virgola mobile."

2 "Circuiti logici:
- reti combinatorie,
- reti sequenziali e FSM (Finite State Machine),
- rassegna di circuiti notevoli (decoder, multiplexer, register file, ALU, etc.)."

3 "Instruction Set Architecture:
- schema di von Neumann,
- CPU, registri, ALU e memoria,
- ciclo fondamentale di esecuzione di una istruzione (fetch/execute),
- tipi e formati di istruzioni MIPS,
- modalità di indirizzamento."

4 "Linguaggio Assembly:
- formato simbolico delle istruzioni,
- catena di programmazione (assembler, linker, loader, debugger, etc.),
- pseudoistruzioni e direttive dell'assemblatore,
- scrittura di semplici programmi assembly,
- convenzioni programmative."

5 "Datapath:
- percorsi dei dati per le diverse classi di istruzioni,
- controllo del percorso dei dati con FSM,
- gestione delle eccezioni.
"

6 "Tecniche di gestione dell'ingresso/uscita
- controllo di programma,
- interruzione di programma,
- accesso diretto alla memoria."

7 "Cenni su aspetti avanzati delle architetture
- cache e gerarchie di memoria,
- gestione con priorità delle interruzioni,
- controllo del percorso dei dati in pipelining."

Bibliografia consigliata

David Patterson, John Hennessy: Computer Organization and Design, The Hardware/Software Interface. Fifth edition. Morgan Kaufmann (Elsevier).

Metodi didattici

Lezioni ed esercitazioni in aula. Attività di laboratorio in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line.