Projet : Cosi

previous up next contents
Précédent : Composition de l'équipe Remonter : Conception de systèmes sur silicium Suivant : Fondements scientifiques


   
Présentation et objectifs généraux

 

Résumé :

Le projet, créé en 1998, vise à développer des outils et des méthodes pour la mise en oeuvre de systèmes complets sur silicium. Ces méthodes doivent pouvoir s'adapter à différentes technologies de réalisation: circuits VLSI, FPGA, implémentations hybrides logicielles-matérielles, etc. Le projet Cosi mettra l'accent sur trois thèmes principaux: (1) la synthèse de très haut niveau de systèmes dédiés, (2) la compilation et l'optimisation pour des processeurs spécialisés programmables, et (3) la conception et la réalisation de circuits réguliers. En parallèle, le projet s'appuie sur des applications pour obtenir un retour sur les méthodes et les outils, mais aussi pour développer des architectures nouvelles pour ces applications. Ces applications incluent le traitement du signal et de l'image, les télécommunications, le calcul haute performance, la comparaison de séquences génétiques et les réseaux ATM.

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.



Footnotes

... Asip[*]
Asip signifie Application Specific Instruction-set Processor et se dit d'un processeur à jeu d'instructions spécifique conçu pour exécuter le plus efficacement possible un petit nombre d'algorithmes.


previous up next contents
Précédent : Composition de l'équipe Remonter : Conception de systèmes sur silicium Suivant : Fondements scientifiques