Architectures Avancées (ADA)
Description
L'objectif du cours Architectures Avancées est d'offrir à l'étudiant
une vision générale des problèmes à résoudre pour définir les
architectures haute performances. Les aspects architectures des
processeurs general-purpose (parallélisme d'instruction, pipeline,
hiérarchie mémoire, exécution spéculative, parallélisme multicore, ..)
ainsi que les challenges à relever pour les prochaines génération de
processeurs seront présentés.
Dans une seconde partie du module, on s'intéressera aux plateformes et
architectures matérielles spécialisées, telles que l'on peut les
rencontrer dans les Systèmes on a Chip (SoC) très utilisés dans le
domaine de l'informatique mobile et embarquée. Cette partie du cours
s’articulera autour de trois axes : les approches et outils utilisés
pour concevoir des SoC, la modélisation et l’optimisation de la
consommation électrique au niveau matériel, et enfin la conception
d’accélérateurs matériels spécialisés.
Mots-clés
Architectures de processeurs, architectures spécialisées
Contenu
Microarchitecture
- Principes de base (jeu d'instruction, pipeline, parallèlisme d'instruction VLIW, superscalaire, exécution spéculative,..)
- Hiérarchies mémoire
- Cohérence mémoire
Systèmes sur puce et accélérateurs matériels
- Structure d'un SoC : composants, systèmes d'interconnexion, etc.
- Méthodologies et techniques de conception « faible consommation »
- Synthèse d’accélérateurs matériels dédiés (High Level Synthesis)
Compétences acquises
Appréhender la complexité des processeurs:
- pourquoi le temps d'exécution d'un programme n'est pas seulement son nombre d'instructions
- comprendre les challenges de design des processeurs futurs
Appréhender la synthèse/programmation d'accélérateurs matériels:
- quelles applications peuvent être ciblées
- quelles techniques doivent être utilisées et développées
Enseignants
André Seznec (responsable), Steven Derrien