Architecture matérielle et logicielle favorisant l’exploitation par l’industrie de systèmes embarqués hétérogènes dont le matériel est dynamiquement adaptable
Auteur / Autrice : | Laurent Gantel |
Direction : | François Verdier, Mohamed Benkhelifa |
Type : | Thèse de doctorat |
Discipline(s) : | STIC (sciences et technologies de l'information et de la communication) - Cergy |
Date : | Soutenance le 14/01/2014 |
Etablissement(s) : | Cergy-Pontoise |
Ecole(s) doctorale(s) : | École doctorale Sciences et ingénierie (Cergy-Pontoise, Val d'Oise) |
Partenaire(s) de recherche : | Laboratoire : Equipes Traitement de l'Information et Systèmes (Cergy-Pontoise, Val d'Oise ; 2002-....) - Equipes Traitement de l'Information et Systèmes |
Jury : | Président / Présidente : Guy Gogniat |
Examinateurs / Examinatrices : Daniel Chillet, Francois Verdier, Fabrice Lemonnier | |
Rapporteur / Rapporteuse : Frédéric Pétrot, Gilles Sassatelli |
Mots clés
Résumé
Cette thèse s'intéresse à la définition de mécanismes, aussi bien au niveau logiciel que matériel, facilitant la gestion des systèmes-sur-puce hétérogènes et dynamiquement reconfigurable (HRSoC). L'hétérogénéité de ses architectures se manifeste par la présence à la fois de processeurs de calcul généralistes et de modules matériels reconfigurables. L'objectif de cette thèse est de permettre à un développeur d'application de s'abstraire de cette hétérogénéité en ce qui concerne l'allocation des tâches sur les différentes unités de calcul disponibles. Cette abstraction passe par une première phase d'homogénéisation des interfaces utilisateurs (API) et la définition d'un modèle de thread matériel, au même titre qu'il existe des threads logiciels. Cette homogénéisation se poursuit ensuite dans la gestion de ces threads matériels. Nous avons implémenté des services au niveau du système d'exploitation permettant de sauvegarder, préempter, et restaurer le contexte d'un thread matériel. Des outils de conception ont également été développés afin de surpasser le problème de la relocation d'un thread matériel au sein d'un FPGA. Enfin, la dernière étape a été d'étendre l'accès aux services offerts par tous les systèmes d'exploitation distribués au sein de la plateforme à tous les threads s'exécutant sur celle-ci, indépendamment de leur localisation. Ceci a été réalisé via une implémentation originale de l'API MRAPI. Avec ces trois étapes, nous avons apporté une base solide afin, dans le futur, de proposer au développeur un flot de conception dédié aux architectures HRSoC lui permettant de procéder à une exploration architecturale précise de son système. Finalement, afin d'éprouver le fonctionnement de ces mécanismes, nous avons réalisé une plateforme de démonstration sur FPGA Virtex 5 mettant en scène une application de suivi de cibles dynamique.