Publications

Publications

< retour aux publications

Outils de génération de logiciel pour les systèmes sur puce multi-processeur hétérogènes

Auteur(s) : A. Chagoya-Garzon, X. Guérin, F. Rousseau

Doc. Source: 11th Journées Nationales du Réseau Doctoral en Microélectronique (JNRDM’08)

Les applications multimedia imposent des contraintes drastiques en termes de temps de mise sur le marché (”time to market”) et de qualité d’implémentation. L’utilisation de systèmes multi-processeur (MPSoCs) hétérogènes avec des éléments d’E/S spécifiques permettent d’atteindre les objectifs de temps de calcul et de communication, mais programmer efficacement ces architectures est un enjeu majeur. Chaque processeur exécute un ensemble de couches logicielles - des tâches applicatives, un système d’exploitation (SE), une bibliothèque de communication et une couche donnant accès aux ressources matérielles (Hardware Abstraction Layer ou HAL) - dont le développement est l’un des obstacles à la réduction du ”time to market”. Dans cet article, nous présentons un flot de génération de ces couches logicielles. A partir d’une spécification décrite dans un modèle de haut niveau représentant l’application, la plateforme cible, et l’affectation des tâches de l’application sur les ressources matérielles de la plateforme, nous générons le code C optimisé et multi-tâche pour la plateforme cible. Ce générateur offre la possibilité de choisir parmi plusieurs SE et divers mécanismes de communication. La séparation entre le HAL et les couches logicielles supérieures offre aussi la possibilité de cibler des plateformes différentes. L’efficacité de notre approche a été validée à l’aide d’une application de decodage vidéo MJPEG sur une plateforme industrielle.