ADVANCED COMPUTER ARCHITECTURES

ING-INF/05 - 6 CFU - 2° semestre

Docente titolare dell'insegnamento

GIUSEPPE ASCIA


Obiettivi formativi

Obiettivi del corso sono la comprensione da parte dello studente dei concetti alla base delle architetture avanzate dei microprocessori, la conoscenza delle problematiche e delle soluzioni relative all’esecuzione di applicazioni, la conoscenza delle metodologie hardware e software per l’ottimizzazione delle prestazioni. la comprensione degli ambiti di applicazione delle diverse forme di parallelismo (instruction-level, data-level, thread-level) .

Le conoscenze acquisite dallo studente sono utilizzate per la valutazione delle prestazioni dei moderni sistemi a microprocessore, per sfruttare al meglio le diverse forme di parallelismo delle applicazioni in relazione alle caratteristiche delle diverse architetture e per proporre eventuali ottimizzazioni.


Modalità di svolgimento dell'insegnamento

L'insegnamento verra svolto utilizzando lezioni frontali ed esercitazioni.


Prerequisiti richiesti

Conoscenza delle architetture dei calcolatori base e le relative problematiche, i linguaggi assembly



Frequenza lezioni

La frequenza non è obbligatoria, ma è fortemente consigliata.



Contenuti del corso

1. Architettura di base

* Organizzazione pipeline dei processori (problematiche e soluzioni, implementazione).

* Branch prediction.

* Eccezioni nella pipeline.

* La gerarchia di memoria e la sua implementazione.

2. Parallelismo a livello di Istruzione

* Scheduling statico e dinamico.

* Speculazione Hardware, Esecuzione Multi-issue. Architetture superscalari: principi e problemi.

* Architetture VLIW (Very Long Instruction Word), esempi di famiglie di architetture

3. Parallelismo a livello di dati

Processori vettoriali.

* Estensioni SIMD;

Processori grafici, GPGPU

4. Sistemi multiprocessore e parallelismo a livello di thread

* Tassonomia, topologie, gestione della comunicazione nei sistemi multiprocessore.

* Gestione della memoria.

* I protocolli di coerenza della cache.

_____________________________________________________________

* 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.



Testi di riferimento

[T1] Hennessy & Patterson: Computer architecture, a quantitative approach (Morgan Kaufmann eds.) 5 ed.

[T2] Patterson & Hennessy: “Struttura e progetto dei calcolatori”. Zanichelli 4. Ed


Altro materiale didattico

E’ possibile scaricare tutto il materiale didattico in formato elettronico all’indirizzo http://studium.unict.it



Programmazione del corso

 ArgomentiRiferimenti testi
1Organizzazione pipeline: problematiche e soluzioni, Implementazione del controllo e del datapathT1 Appendix C, T2 Capitolo 4 
2Tecniche di branch prediction statiche e dinamicheT1 Capitolo 3 
3Gestione delle eccezioni nella pipelineT1 Appendix C, T2 Capitolo 4 
4Gerachia di memoria per sistemi single core: problematiche, soluzioni e relativa implementazioneT2 Capitolo 5 
5Valutazione delle prestazioni e loro ottimizzazione: processore e la memoriaT1 Capitolo 1, T2 Capitolo 1 
6Data dependence e control dependence. Schedulazione static e dinamica delle istruzioniT1 Capitolo 3 
7Schedulazione dinamica mediante ScoreboardT1 Capitolo 3 
8Algoritmo di TomasuloT1 Capitolo 3 
9Esecuzione speculativa e Reorder BufferT1 Capitolo 3 
10Architetture superscalari: multi-issue con schedulazione statica e dinamicaT1 Capitolo 3 
11Architetture VLIW (Very Long Instruction Word): schedulazione statica delle istruzioniT1 Appendix H 
12Architetture VLIW: codifica delle istruzioniT1 Appendix H 
13Architettura VLIW: Tecniche per incrementare il livello di parallelismo delle istruzioniT1 Appendix H 
14Processori vettorialiT1 Capitolo 4 
15Estensioni SIMDT1 Capitolo 4 
16Processori grafici, GPGPUT1 Capitolo 4 
17Architetture in grado di supportare il parallelismo a livello di threadT1 Capitolo 5 
18Gestione della comunicazioneT1 Capitolo 5 
19Gestione della memoriaT1 Capitolo 5 
20I protocolli di coerenza della cacheT1 Capitolo 5 


Verifica dell'apprendimento


MODALITÀ DI VERIFICA DELL'APPRENDIMENTO

Gli studenti devono svolgere una prova orale.


ESEMPI DI DOMANDE E/O ESERCIZI FREQUENTI

E’ possibile scaricare esempi di domande e/o esercizi all’indirizzo http://studium.unict.it




Apri in formato Pdf English version