CALCOLATORI ELETTRONICI

Anno accademico 2015/2016 - 3° anno
Docente: Giuseppe ASCIA
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Modalità di erogazione: Tradizionale
Organizzazione didattica: 225 ore d'impegno totale, 165 di studio individuale, 60 di lezione frontale
Semestre:
ENGLISH VERSION

Obiettivi formativi

Il corso ha un duplice obiettivo. In primo luogo ha l’obiettivo di introdurre alla conoscenza delle tecnologie e metodologie per la progettazione di sistemi digitali. Un secondo obiettivo è la conoscenza dell’organizzazione dei calcolatori elettronici, l’architettura del set delle istruzioni, e le tecniche per un’efficiente implementazione. In tale contesto lo studente impara a programmare nel linguaggio Assembly relativo a un processore educational.

Prerequisiti richiesti

Rappresentazione dell’Informazione nei calcolatori elettronici, Algoritmi. Sequenze di Controllo. Tipi di dati. Puntatori. Funzioni. Concetto di Stato. Macchina a stati finiti.


Frequenza lezioni

La frequenza non è obbligatoria


Contenuti del corso

ITALIANO

Parte I Progettazione digitali

Progetto di reti combinatoriAlgebra di commutazione. Espressioni booleane minime. Minimizzazione mediate il metodo delle mappe di Karnaugh e di Quine-McCluckey.Progetto di reti sequenziali sincroneIntroduzione alle macchine sequenziali. Gli elementi di memoria. Sintesi di reti sequenziali sincrone. Minimizzazione delle macchine a stati finiti completamente specificate e non completamente specificate.I componenti di un sistema digitale.Multiplexer, Decoder, Encoder, Comparatore, Registri, Register file. Sommatori. Progetto di un ALUProgettazione di un sistema digitaleFlusso di progettazione di un sistema digitale. Datapath e unità di controllo. Linguaggi per la descrizione dello hardware. Il VHDL.

Parte II Il calcolatore

Organizzazione del calcolatoreOrganizzazione dei calcolatori elettronici. Valutazione delle prestazioni di un calcolatore.Architettura del Set di Istruzione dei processori. Organizzazione sequenziale di un processore. Datapath di un processore sequenziale. Unità di Controllo di un processore sequenziale: realizzazione cablata e microprogrammata.Organizzazione pipeline di un processore. Il Sottosistema di memoria. Gestione dei dispositivi di I/O.Il linguaggio AssemblyAssembler, clinker e loader. Instruction Set Architecture MIPS64. Assembly del processore EduMIPS64. Un Instruction Set Simulator per il processore EduMIPS.


Testi di riferimento

[T1] Fummi, Sami, Silvano, “Progettazione digitale”, 2/ed McGraw-Hill

[T2] Bucci, “Architettura e organizzazione dei calcolatori elettronici: fondamenti”, McGraw-Hill

[T3] Materiale fornito del docente on line



Programmazione del corso

 *ArgomentiRiferimenti testi
1*Progetto di reti combinatori. Algebra di commutazione. Espressioni booleane minime. Minimizzazione mediate il metodo delle mappe di Karnaugh e di Quine-McCluckey.T1 capitoli 3 e 4, T3 
2*Progetto di reti sequenziali sincrone. Introduzione alle macchine sequenziali. Gli elementi di memoria: i bistabili. Sintesi di reti sequenziali sincrone. Minimizzazione delle macchine a stati finiti.T1 capitoli 5 e 6, T3 
3*Progettazione di un sistema digitale. Flusso di progettazione di un sistema digitale. Datapath e unità di controllo. Componenti di un sistema digitale. Multiplexer, Decoder, Encoder, Comparatore, Registri, Register file. T1 capitoli 7 e 8, T3 
4 Sommatore a propagazione del riporto e Sommatore ad anticipo di riporto. Progetto di un ALUT1 capitoli 7 e 8, T3 
5*Linguaggi per la descrizione dello hardware. Il VHDL. Flusso di progettazione mediante il VHDL Entity e Architecture. Modello concorrente e modello sequenziale. Delta delay. Assegnamenti concorrenti. Process e sequenze di controllo. Tipi di dati VHDL.T1 appendice A, T3 
6 Funzioni e procedure VHDL.T1 appendice A, T3 
7*Modellizzazione mediante VHDL di una macchina a stati finiti. Modellizzazione di un datapath mediante un modello behavioral o un modello RTL.T1 appendice A, T3 
8 Verifica funzionale mediante simulazione. Testbench. Sintesi del modello VHDL. Sottoinsieme VHDL sintetizzabile.T1 appendice A, T3 
9*Organizzazione dei calcolatori elettronici. Valutazione delle prestazioni di un calcolatore.T2 capitoli 7, T3 
10*Architettura del Set di Istruzione dei processori.T2 capitoli 7, T3 
11*Organizzazione sequenziale di un processore. Datapath di un processore sequenziale. Unità di Controllo di un processore sequenziale: realizzazione cablata e microprogrammata.T2 capitoli 7, T3 
12*Assembly del processore educational EDUMIPS64. Assembler, linker e loader. Struttura di un programma assembly.T3 
13*Un Instruction Set Simulator per il processore EduMIPS Instruction Set Architecture dell’EDUMIPS.T3 
14*Istruzioni logico-aritmetiche. Istruzioni di accesso alla memoria. Istruzioni per il controllo di flusso.T3 
15*Chiamate di sistema. Lettura e stampa di interi e stinghe. Gestione degli array.T3 
16 Chiamata a procedure. Procedure annidate. Stack pointer.T3 
17*Il Sottosistema di memoria. Classificazione delle memorie. Ram Statica e RAM dinamica. Cicli di lettura e di scrittura. DRAM asincrona e sincrona. Organizzazione della memoria. Decodifica degli indirizzi.T2 capitoli 8, T3 
18*Memorie cache. Valutazione delle prestazioni delle memorie cache. Politiche di Block placement, block identification, block replacement e di scrittura.T2 capitoli 8, T3 
19*Interfacciamento con le periferiche Polling. Interruzioni. Cambio di contesto. Riconoscimento del dispositivo interrompente. Interruzioni vettorizzate. Gestione delle priorità. Accesso diretto in memoria (DMA)T2 capitoli 9, T3 
* Conoscenze minime irrinunciabili per il superamento dell'esame.

N.B. La conoscenza degli argomenti contrassegnati con l'asterisco è condizione necessaria ma non sufficiente per il superamento dell'esame. Rispondere in maniera sufficiente o anche più che sufficiente alle domande su tali argomenti non assicura, pertanto, il superamento dell'esame.