Projet ANR-06-ARFU-0004 – ROMA : Reconfigurable Operators for Multimedia Applications
Programme : Architectures du Futur (ARFU) 2006
Année de financement : 2006
Coordinateur du projet : Emmanuel CASSEAU (UNIVERSITE DE RENNES I)
Partenaires : Centre national de la recherche scientifique; Commissariat à l'énergie atomique et aux énergies alternatives; Entreprise autre que TPE ou PME; Université de Rennes 1
Montant : 649237.0 euros
Date de début : 2007
Durée : 36 mois
Résumé : Dans le domaine des applications multimédia, le traitement d’images est le challenge principal auquel les systèmes embarqués sont confrontés. Il s’agit appréhender des traitements intensifs tout en satisfaisant des contraintes de faible consommation. Le traitement d’images au niveau pixel, tels le filtrage, la détection de contours, la corrélation inter-pixels, ou au niveau bloc comme l’estimation de mouvement, doit être accéléré. Pour cela, le projet ROMA ambitionne de développer un processeur reconfigurable, mettant en avant des propriétés telles la densité d’intégration et la faible consommation, capable d’adapter sa structure de traitement aux motifs de calcul qui permettent d’envisager une accélération des traitement ou un gain en terme de consommation. A l’inverse des travaux précédents sur les processeurs reconfigurables, qui se sont principalement concentrés sur la définition de réseaux complexes d’interconnexions entre opérateurs élémentaires, le projet ROMA concerne l’étude d’une structure à base d’opérateurs gros grains faible consommation et évolutifs afin d’éviter le surcoût dû au réseau d’interconnexion typique des circuits reconfigurables. L’adaptation du chemin de données du processeur peut être réalisée de manière dynamique dans le cas de plusieurs fonctions consécutives à accélérer. Une attention particulière est donnée aux opérateurs, tels que leur granularité afin de coller aux motifs de calculs propres au domaine d’application ciblé (vidéo), le codage utilisé pour la représentation des données ainsi que leur taille. La mémoire sera également organisée de manière à limiter autant que possible les accès multiples. A partir du code source de l’application, l’environnement de programmation extraira les différents motifs de calcul et réalisera les transformations nécessaires à l’optimisation du placement sur le processeur. Enfin, le processeur reconfigurable étant sous le contrôle d’un cœur de processeur standard, l’environnement de programmation permettra également de répartir les différentes tâches à effectuer. Un modèle RTL synthétisable du processeur reconfigurable ainsi que, si nécessaire, un modèle SystemC pour la simulation de l’architecture globale seront générés en vue de la validation des travaux. Deux technologies relativement nouvelles seront adoptées dans le flot de compilation du projet. Le premier concerne le choix d’un graphe hiérarchique aux dépendances conditionnées pour la représentation interne de la spécification, et le second concerne la programmation par contraintes pour les problèmes d’optimisation (génération de chemins de données optimisés, recherche de motifs appropriés, reconfiguration temporelle). Notons enfin que les principes du projet ROMA, à savoir le flot de compilation et le processeur reconfigurable, peuvent être également appliqués à d’autres domaines d’applications telles que les communications numériques, l’audio, etc., où l’on peut efficacement associer des motifs de calculs et des opérateurs gros grain afin d’optimiser la consommation et les performances des systèmes embarqués. L’effort pour mener à bien le projet ROMA est estimé à 203 hommes-mois pour un financement total demandé de 653 K€.