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

Prérequis

Bases en architecture des processeur, compilation et systèmes

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