Parallélisme d'instructions : mixer statique
et dynamique
Localisation :Irisa, Rennes
Responsables :André Seznec (tél. direct : 02 99 84 73 36,
email : seznec@irisa.fr)
Mots-clés : processeur, parallélisme d'instructions
Sujet : La recherche de la performance ultime sur les processeurs
superscalaires hautes performances a conduit à privilégier le parallélisme
d'instructions dynamique. Ainsi on utilise de plus en plus systématiquement
la spéculation matérielle : prédiction de branchement, exécution
dans le désordre, prédiction de valeurs et de dépendences, préchargement
de données, ... Ces mécanismes rendent les processeurs de plus en
plus complexes et de plus en plus difficiles à mettre au point.
Le temps de développement d'un nouveau coeur de processeur superscalaire
est aujourd'hui de plus de 5 ans.
À l'opposé, le parallélisme d'instructions statique (découvert
à la compilation) est exploité sur les architectures VLIW. Les architectures
VLIW (Philips Trimedia, TI C6xxx, ...) sont souvent utilisées pour
les applications enfouies et sont de complexité moindre que les
processeurs superscalaires. Mais le contrôle complètement logiciel
des dépendances conduit à des pertes de performances où à des inefficacités
liées aux délais de branchement et/ou de chargement, à la connaissance
imparfaite des dépendances, ...
L'approche EPIC adoptée pour le jeu d'instructions IA-64 combine
exécution VLIW (parallélisme explicite, exécution gardée, ..) et
détection des dépendances par le matériel (mécanisme de scoreboard).
Cette approche trace une voie médiane entre VLIW (parallélisme statique)
et superscalaire (parallélisme dynamique).
Le sujet de thèse proposé est l´étude des compromis que permet
un jeu d'instructions EPIC entre parallélisme statique et spéculation
matérielle. Le but est, à la fois, de comprendre les apports fondamentaux
du parallélisme dynamique et le type de support dans les jeux d'instructions
qui permettrait d'en simplifier la mise en oeuvre.
|