ADVANCED COMPUTER ARCHITECTURES

Anno accademico 2016/2017 - 1° anno
Docente: Giuseppe ASCIA
Crediti: 6
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 150 ore d'impegno totale, 115 di studio individuale, 35 di lezione frontale
Semestre:
ENGLISH VERSION

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.  


Prerequisiti richiesti

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


Frequenza lezioni

La frequenza non è obbligatoria


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. Valutazione e ottimizzazione delle prestazioni: processore e la memoria
  3. Parallelismo a livello di Istruzione: scheduling  statico e dinamico; architetture superscalari: principi e problemi; architetture VLIW (Very Long Instruction Word), esempi di famiglie di architetture
  4. Parallelismo a livello di dati: Processori vettoriali, estensioni SIMD; Processori grafici, GPGPU
  5. Sistemi multiprocessore e parallelismo a livello di thread : tassonomia, topologie, gestione della comunicazione, gestione della memoria, i protocolli di coerenza della cache, esempi di architetture

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

 



Programmazione del corso

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

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://utenti.dieei.unict.it/users/gascia/corsi.html

o all’indirizzo http://studium.unict.it