Résumé
L’utilisation des accélérateurs reconfigurables, pour la conception de system-on-chip
hétérogènes, offre des possibilités intéressantes d’augmentation des performances et
de réduction de la consommation d’énergie. En effet, ces accélérateurs sont couram-
ment utilisés en complément d’un (ou de plusieurs) processeur(s) pour permettre
de décharger celui-ci (ceux-ci) des calculs intensifs et des traitements de flots de
données. Le concept de reconfiguration dynamique, supporté par certains construc-
teurs de FPGA, permet d’envisager des systèmes beaucoup plus flexibles en offrant
notamment la possibilité de séquencer temporellement l’exécution de blocs de calcul
sur la même surface de silicium, réduisant alors les besoins en ressources d’exécu-
tion. Cependant, la reconfiguration dynamique n’est pas sans impact sur les perfor-
mances globales du système et il est difficile d’estimer la répercussion des décisions
de configuration sur la consommation d’énergie. L’objectif principal de cette thèse
consiste à proposer une méthodologie d’exploration permettant d’évaluer l’impact
des choix d’implémentation des différentes tâches d’une application sur un system-
on-chip contenant une ressource reconfigurable dynamiquement, en vue d’optimiser
la consommation d’énergie ou le temps d’exécution. Pour cela, nous avons établi des
modèles de consommation des composants reconfigurables, en particulier les FPGAs,
qui permettent d’aider le concepteur dans son design. À l’aide d’une méthodologie
de mesure sur Virtex-5, nous montrons dans un premier temps qu’il est possible de
générer des accélérateurs matériels de tailles variées ayant des performances tem-
porelles et énergétiques diverses. Puis, afin de quantifier les coûts d’implémentation
de ces accélérateurs, nous construisons trois modèles de consommation de la re-
configuration dynamique partielle. Finalement, à partir des modèles définis et des
accélérateurs produits, nous développons un algorithme d’exploration des solutions
d’implémentation pour un système complet. En s’appuyant sur une plate-forme de
modélisation à haut niveau, celui-ci analyse les coûts d’implémentation des tâches et
leur exécution sur les différentes ressources disponibles (processeur ou région configu-
rable). Les solutions offrant les meilleures performances en fonction des contraintes
de conception sont retenues pour être exploitées.
iii