COSI : Conception de Systèmes sur Silicium
Responsable : François CHAROT
Présentation
Le projet Inria-CNRS COSI, une évolution
du projet API, représente quatre permanents, autant
de chercheurs doctorants et quelques visiteurs occasionels. Le thème du
projet est le développement d'outils et de méthodes pour concevoir
des systèmes sur silicium.
Le défi pour concevoir de tels systèmes sont (i) un choix
toujours plus large de technologies : circuits full custom (ASIC),
circuits FPGA,, DSP, processeurs
programmables dédiés ( ASIP ), coeur
de processeur RISC, etc; (ii) un temps de conception de plus en plus court
(time-to-market); (iii) la gestion d'une complexité de plus
en plus importante des systèmes à concevoir. Cliquez ici
pour plus de détails.
Le principe majeur sur lequel s'appuie notre méthodologie de
conception repose sur le fait que les outils doivent être basés
sur des spécifications exécutables qui peuvent être
systématiquenent transformées, et où chaque étape
de transformation est validée. Ces transformations sont (autant
que possible, mais pas toujours) basées sur des méthodes
formelles, et doivent s'intégrer à d'autres outils ne possédant
pas ces caractéristiques.
Les travaux du groupe COSI concernent plus particulièrement
trois thèmes (détaillés ci-après) : synthèse
de très haut niveau à partir de transformations formelles,
compilation
et optimisation d'ASIPs, et outils de synthèse
pour le calcul reconfigurable.
Parallèlement, et pour éprouver nos outils et nos méthodes
de conception nous travaillons sur divers domaines d'application : traitement
de l'image et du signal, télécommunication, calcul haute
performance, biologie moléculaire, etc.
Notre travail est basé sur des méthodes formelles pour
transformer des spécifications de haut niveau exprimées sous
forme d'équations récurrentes. Il prend sa source dans les
recherches sur la synthèse systématique de réseaux
systoliques qui amena le développement de ce que l'on appelle le
modèle
polyédrique. La classe de programmes concernés par cette
méthodologie contient maintenant tous les programmes à
contrôle statique et les architectures cibles peuvent varier
de circuits VLSI dédiés aux machines parallèles à
usage général (ces méthodes ont actuellement un lien
très fort avec la parallélisation automatique de boucles)
. Dans le contexte du modèle polyédrique, nous nous intéressons
aussi à la programmation déclarative, à la vérification
et à l'analyse statique.
La conception de réseaux systoliques est accomplie grâce
à des transformation formelles, préservant la correction,
de programmes Alpha (un langage fonctionnel à parallélisme
de donné développé en 1989 dans le projet), en utilisant
le logiciel MMAlpha (environnement permettant de manipuler des programmes
Alpha). MMAlpha est maintenant disponible comme prototype de recherche
opérationnel.
Nos travaux récents étendent la classe de programmes traités
vers l'irrégularité (des dépendances de donnée
et des espaces d'itération) et vers le partitionnement (aussi appelé
pavage).
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 ces
processeurs à jeu d'instructions spécifique (encore appelé
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'appuie sur les recherches menées autour de l'architecture
MOVIE développée pour le traitement du signal vidéo.
Le troisième axe concerne les coprocesseurs reconfigurables,
une technologie prometteuse qui offre une solution intermédiaire
entre les circuits full custom (ASIC) avec
leur hautes performances, mais leur manque de flexibilité, et les
circuits programmables dédiés (ASIP)
plus flexibles mais avec des performances moindes. Le défi est de
développer des outils qui concilient flexibilité et performance.
Puisque la technologie FPGA ne permet pas d'atteindre
les performances des ASIC, l'accent est mis sur l'exploitation
du parallélisme et de la régularité des calculs.
Applications / Algorithmes
-
comparaison
de sequences biologiques
-
compression
d'images et le processeur MOVIE
-
ATM
-
probleme
du sac à dos
serveur
interne (acces limité aux membres de COSI)
dernière modification de cette page : Novembre 2001.
For more information:
Francois.Charot@irisa.fr