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