ADVANCED COMPUTER ARCHITECTURES
Anno accademico 2016/2017 - 1° annoCrediti: 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: 2°
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
- Architettura di base: Organizzazione pipeline dei processori (problematiche e soluzioni, implementazione, Branch prediction, Eccezioni nella pipeline), la gerarchia di memoria e la sua implementazione.
- Valutazione e ottimizzazione delle prestazioni: processore e la memoria
- 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
- Parallelismo a livello di dati: Processori vettoriali, estensioni SIMD; Processori grafici, GPGPU
- 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
* | Argomenti | Riferimenti testi | |
---|---|---|---|
1 | * | Organizzazione pipeline: problematiche e soluzioni, Implementazione del controllo e del datapath | T1 Appendix C, T2 Capitolo 4 |
2 | * | Tecniche di branch prediction statiche e dinamiche | T1 Capitolo 3 |
3 | Gestione delle eccezioni nella pipeline | T1 Appendix C, T2 Capitolo 4 | |
4 | * | Gerachia di memoria per sistemi single core: problematiche, soluzioni e relativa implementazione | T2 Capitolo 5 |
5 | * | Valutazione delle prestazioni e loro ottimizzazione: processore e la memoria | T1 Capitolo 1, T2 Capitolo 1 |
6 | * | Data dependence e control dependence. Schedulazione static e dinamica delle istruzioni | T1 Capitolo 3 |
7 | * | Schedulazione dinamica mediante Scoreboard | T1 Capitolo 3 |
8 | * | Algoritmo di Tomasulo | T1 Capitolo 3 |
9 | Esecuzione speculativa e Reorder Buffer | T1 Capitolo 3 | |
10 | Architetture superscalari: multi-issue con schedulazione statica e dinamica | T1 Capitolo 3 | |
11 | * | Architetture VLIW (Very Long Instruction Word): schedulazione statica delle istruzioni | T1 Appendix H |
12 | * | Architetture VLIW: codifica delle istruzioni | T1 Appendix H |
13 | Architettura VLIW: Tecniche per incrementare il livello di parallelismo delle istruzioni | T1 Appendix H | |
14 | * | Processori vettoriali | T1 Capitolo 4 |
15 | * | Estensioni SIMD | T1 Capitolo 4 |
16 | Processori grafici, GPGPU | T1 Capitolo 4 | |
17 | * | Architetture in grado di supportare il parallelismo a livello di thread | T1 Capitolo 5 |
18 | * | Gestione della comunicazione | T1 Capitolo 5 |
19 | * | Gestione della memoria | T1 Capitolo 5 |
20 | * | I protocolli di coerenza della cache | T1 Capitolo 5 |
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