ADVANCED COMPUTER ARCHITECTURES
Anno accademico 2018/2019 - 1° annoCrediti: 6
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 150 ore d'impegno totale, 100 di studio individuale, 35 di lezione frontale, 15 di esercitazione
Semestre: 2°
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.
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
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 |
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