Précédent : Composition de l'équipe Remonter :
Conception de systèmes sur
silicium Suivant : Fondements scientifiques
Le projet Cosi a été créé en Décembre 1998. Il propose de développer des outils et des méthodes pour la mise en oeuvre de systèmes sur silicium. Ces méthodes doivent pouvoir s'adapter à différentes technologies de réalisation: circuits VLSI, FPGA, co-processeurs reconfigurables, implémentations hybrides logicielles-matérielles, etc.
Le concepteur de systèmes dédiés doit faire face au défi suivant: concevoir rapidement des systèmes corrects, de complexité croissante, incluant une partie logicielle importante, à partir de spécifications changeantes, en visant un ensemble de technologies de réalisation en évolution extrêmement rapide.
En réponse, l'outil de conception idéal doit permettre une évolution rapide des spécifications, un redéploiement rapide vers de nouvelles technologies cibles, une modification des contraintes de coût et de performances et une dérivation sûre des solutions optimales. Le processus de conception peut ainsi être vu comme une série de raffinements d'une spécification exécutable. Chaque étape du raffinement est réalisée soit manuellement (éventuellement justifiée par une preuve formelle ou des tests et des simulations) ou automatiquement en utilisant un logiciel. Si cela est fait avec un outil logiciel, le choix du raffinement à appliquer peut être automatique (compilation presse-bouton) ou au contraire donné par l'utilisateur (exploration systématique de l'espace de conception). Les outils (logiciels ou autres) pour cette activité peuvent ainsi être vus comme une plate-forme ouverte de conception.
Nos recherches antérieures ont contribué au développement d'un modèle de calculs massivement parallèles - le modèle polyédrique - et ont aussi donné lieu à la réalisation de plusieurs prototypes de machines et de circuits. Le projet Cosi mettra l'accent sur trois thèmes, prenant appui sur les compétences déjà développées dans Api auquel il succède. Ces thèmes sont complétés par la mise en oeuvre d'applications concrètes.
Le premier thème est la synthèse de systèmes dédiés
complets à partir de spécifications de haut niveau.
Aujourd'hui, la technologie des circuits intégrés permet de
réaliser des systèmes entiers sur silicium, et c'est donc la
maîtrise de la conception de tels systèmes qu'il faut rechercher.
Pour aborder ce thème, Cosi s'appuiera sur les recherches menées
sur le langage Alpha et son environnement de développement
MMAlpha. Le modèle polyédrique qui sous-tend Alpha
constitue une base pour poursuivre les recherches visant le
partitionnement d'un système, l'expression de calculs
irréguliers, et l'interfaçage avec des formalismes de flots de
données synchrones. Le second thème est la compilation
optimisée pour des processeurs spécialisés
programmables, appelés des Asip. Le plus souvent possible,
la conception d'un système matériel fait appel à des «coeurs» de
processeurs - processeur Risc ou DSP - qui sont
optimisés et spécialisés pour tenir compte des contraintes
d'utilisation du système. La compilation pour des Asip est un
défi motivant: il s'agit de produire, pour une application
particulière, à la fois l'architecture et le compilateur
permettant d'atteindre les performances visées par cette
application. Cette technique est l'une des clés de la réalisation
de systèmes dédiés aux télécommunications. Sur ce sujet, Cosi
s'appuiera sur les recherches menées sur l'architecture Movie
développée pour le traitement du signal vidéo.
Le troisième thème abordé, concerne les architectures configurables à base de circuits FPGA. Cette technologie très prometteuse constitue un axe de recherche à long terme. Elle possède de très fortes potentialités mais de nombreux problèmes doivent être encore résolus. Dans le passé, Api a eu plusieurs fois l'occasion d'utiliser des circuits configurables pour la réalisation de prototypes d'architectures. La flexibilité apportée par cette technique en fait une cible de choix pour la «compilation d'architecture». Cosi vise à concevoir de tels compilateurs, sans lesquels cette technologie ne pourra se développer.