Thèse soutenue

Modélisation du comportement temporel du pipeline pour le calcul de WCET

FR  |  
EN
Auteur / Autrice : Zhenyu Bai
Direction : Christine RochangeHugues Cassé
Type : Thèse de doctorat
Discipline(s) : Informatique et Télécommunications
Date : Soutenance le 12/05/2023
Etablissement(s) : Toulouse 3
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Institut de Recherche en Informatique de Toulouse (1995-....)
Jury : Examinateurs / Examinatrices : Christine Rochange, Hugues Cassé, Jean-Paul Bodeveix, Pascal Raymond
Rapporteurs / Rapporteuses : Isabelle Puaut, Mathieu Jan

Résumé

FR  |  
EN

Le calcul du pire temps d'exécution (WCET, Worst Case Execution Time) est une phase indispensable pour la vérification et la certification des systèmes embarqués strictement temps-réel. Le temps d'exécution des programmes, dont l'évaluation nécessitant une précision au niveau du cycle machine, est le produit du fonctionnement de la micro-architecture du processeur qui exécute le programme. Cependant, les processeurs modernes tendent à être de plus en plus complexes : ils sont équipés de pipelines et de mécanismes d'accélération comme les mémoires caches, la prédiction de branchement, etc. Ces mécanismes introduisent des variations temporelles qu'il est nécessaire de prendre en compte lors du calcul du temps d'exécution. Par exemple, la latence d'accès à une mémoire cache est différente qu'elle contient la donnée (Hit) ou non (Miss). En combinant le pipeline et les mécanismes d'accélération, le temps d'exécution devient une fonction complexe des instructions, de la structure du pipeline et des variations temporelles. Dans cette thèse, nous proposons une nouvelle structure de données nommée XDD (eXecution Decision Diagram) qui permet de représenter efficacement et précisément la relation entre le temps d'exécution et les variations temporelles. Comme son nom l'indique, cette représentation est inspirée des BDD (Binary Decision Diagrams). À l'aide des XDD, nous proposons un modèle de calcul du temps dans le pipeline qui représente de manière compacte cette fonction temporelle complexe sous forme d'un ensemble de matrices associées aux blocs d'instructions machine composant le programme. Il est alors possible de calculer l'ensemble des états temporels tout au long des chemins d'exécution du programme de manière efficace et d'en déduire le WCET. Nous avons expérimenté ce modèle sur des benchmarks classiques (TACLe) pour des processeurs avec exécution dans l'ordre du programme, ainsi que pour des processeurs contenant des ressources allouées dans le désordre (bus mémoire). Les résultats expérimentaux montrent une amélioration significative de la précision du WCET calculé par rapport à la méthode originale utilisée dans l'outil OTAWA, ainsi qu'une amélioration importante des performances de calcul.