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.
Conoscenza delle architetture dei calcolatori base e le relative problematiche, i linguaggi assembly
La frequenza non è obbligatoria
[T1] Hennessy & Patterson: Computer architecture, a quantitative approach (Morgan Kaufmann eds.) 5 ed.
[T2] Patterson & Hennessy: “Struttura e progetto dei calcolatori”. Zanichelli 4. Ed
E’ possibile scaricare tutto il materiale didattico in formato elettronico all’indirizzo http://utenti.dieei.unict.it/users/gascia/corsi.html
o all’indirizzo http://studium.unict.it
* | 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 |
Gli studenti devono svolgere una prova orale.
Non sono previste prove in itinere
Non sono previste prove di fine corso
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