Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable Pierre Olivier*, Jalil Boukhobza*, Jean-Philippe Babau +, Damien Picard +, Stéphane Rubini + *Lab-STICC, + LISyC, Université de Bretagne Occidentale, Université de Brest ETR 2011 31/08/2011 1/13
Introduction Contexte Systèmes d exploitations temps-réel embarqués Contraintes spécifiques : mémoire, consommation, déterminisme temporel, etc. Projet THINK FPGA : RTOS décrit à base de composants (services) exécuté sur architecture reconfigurable FPGA Reconfiguration dynamique des services en logiciel / matériel Requiert la construction de composants matériels implémentant des services du RTOS (Gestionnaire de temps, etc.) ETR 2011 31/08/2011 2/13
Plan de l exposé 1 Contexte 2 3 4 ETR 2011 31/08/2011 3/13
Plan de l exposé Le gestionnaire de temps logiciel de µc/os-ii [2] 1 Contexte 2 3 4 ETR 2011 31/08/2011 3/13
Le gestionnaire de temps logiciel de µc/os-ii [2] Le gestionnaire de temps logiciel de µc/os-ii [2] Le gestionnaire de temps par défaut (logiciel) de µc/os-ii : Maintient un compteur de ticks global Gère les tâches mises en attente Accélération? Mise en attente d une tâche pour t ticks : imprécision t± r (r = résolution du timer) Système réactif (haute resolution de timer) charge CPU élevée ETR 2011 31/08/2011 4/13
Plan de l exposé Architecture Communication CPU composant Intégration au niveau logiciel 1 Contexte 2 3 4 ETR 2011 31/08/2011 4/13
Architecture Communication CPU composant Intégration au niveau logiciel Réalisation du composant matériel : architecture - Gestionnaire de temps : cadencé par l horloge matérielle - Fonctionalités : Lecture / Modification du temps système Mise en attente d une tâche Obtention de la liste des tâches à réveiller - A l exécution : TempsSystème++, DelaiDattente ETR 2011 31/08/2011 5/13
Architecture Communication CPU composant Intégration au niveau logiciel Réalisation du composant matériel : Communication CPU Composant 2 bus Fast Simplex Link Définition d un protocole de communication Une tâche doit se réveiller : 1 Interruption 2 Récupération identifiant tâche à réveiller 3 Réveil niveau OS 4 Acquittement ETR 2011 31/08/2011 6/13
Architecture Communication CPU composant Intégration au niveau logiciel Intégration au niveau logiciel Écriture d un pilote À base de push et pop sur les FIFOs des bus FSL selon le protocole définit Une fonction par service offert (gettime, settime, taskdelay, etc.) Handler de l interruption de réveil Doit s exécuter le plus vite possible optimisation algorithmique ETR 2011 31/08/2011 7/13
Plan de l exposé Réactivité Occupation CPU dédiée au réveil des tâches Ressources reconfigurables 1 Contexte 2 3 4 ETR 2011 31/08/2011 7/13
Mesure de temps d exécution Réactivité Occupation CPU dédiée au réveil des tâches Ressources reconfigurables ETR 2011 31/08/2011 8/13
Latence sur le réveil de tâche Réactivité Occupation CPU dédiée au réveil des tâches Ressources reconfigurables On mesure : En logiciel : handler + OSTimeTick En matériel : handler Horloge système à 125 Mhz (1 tick = 8 ns) ETR 2011 31/08/2011 9/13
Occupation CPU dédiée à la gestion du temps Réactivité Occupation CPU dédiée au réveil des tâches Ressources reconfigurables Logiciel : dépend du nombre de tâches Matériel : nombre de tâches et nombre de réveils dans une période donnée Facteur d amélioration : OccupationCPUenLogiciel OccupationCPUenMateriel ETR 2011 31/08/2011 10/13
Ressources reconfigurables Réactivité Occupation CPU dédiée au réveil des tâches Ressources reconfigurables ETR 2011 31/08/2011 11/13
Plan de l exposé Conclusion Perspectives de travaux futurs 1 Contexte 2 3 4 ETR 2011 31/08/2011 11/13
Conclusion Conclusion Perspectives de travaux futurs Modèle de composant matériel gestionnaire de temps Amélioration des performances du système dans un contexte temps-réel embarqué : Système plus précis et plus réactif Charge CPU réduite Coût en ressources FPGA Méthodologie de développement pour intégration dans un système à composants : Développement architectural Communication CPU composant Intégration niveau OS Méthode de mesure de performances ETR 2011 31/08/2011 12/13
Conclusion Perspectives de travaux futurs Perspectives de travaux futurs Intégration dans un système à composants : modèle FRACTAL THINK ETR 2011 31/08/2011 13/13
Bibliographie Conclusion Perspectives de travaux futurs Paul Kohout, Brinda Ganesh, and Bruce Jacob. Hardware support for real-time operating systems. In Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, CODES+ISSS 03, pages 45 51, New York, NY, USA, 2003. ACM. Jean J. Labrosse. uc/os-ii - The Real Time Kernel. CMP Books, 2 edition, 1998. Lennart Lindh and F. Stanischewski. Fastchart - a fast time deterministic cpu and hardware based real-time-kernel. In IEEE press, Real-Time Workshop, January 1991. ETR 2011 31/08/2011 13/13