Simulation efficace d’architectures opérationnelles / Adrien Bullich ; sous la direction de Yvon Trinquet

Date :

Editeur / Publisher : [Lieu de publication inconnu] : [éditeur inconnu] , 2014

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Langue / Language : anglais / English

Temps réel (informatique)

Trinquet, Yvon (Directeur de thèse / thesis advisor)

Julien, Nathalie (1964-....) (Président du jury de soutenance / praeses)

Auguin, Michel (1953-.... ; électronicien) (Rapporteur de la thèse / thesis reporter)

Sainrat, Pascal (Rapporteur de la thèse / thesis reporter)

Université de Nantes (1962-....) (Organisme de soutenance / degree-grantor)

Université de Nantes. Faculté des sciences et des techniques (Autre partenaire associé à la thèse / thesis associated third party)

École doctorale Sciences pour l'ingénieur, Géosciences, Architecture (Nantes) (Ecole doctorale associée à la thèse / doctoral school)

Institut de recherche en communications et cybernétique (Nantes) (Laboratoire associé à la thèse / thesis associated laboratory)

Relation : Simulation efficace d’architectures opérationnelles / Adrien Bullich ; sous la direction de Yvon Trinquet / [Lieu de publication inconnu] : [éditeur inconnu] , 2014

Résumé / Abstract : Le travail de cette thèse s’inscrit dans le contexte des systèmes embarqués temps réel. Ces systèmes exigent d’importants efforts pour leur validation et leur vérification. Dans le cadre de cette thèse, nous nous intéressons plus particulièrement à la validation par simulation. Celle-ci peut se faire à de nombreux niveaux d’abstraction, depuis le haut niveau du modèle de l’application jusqu’au code binaire. Nous nous situons dans ce dernier cas, seul capable de donner des résultats précis au cycle près. HARMLESS est un langage de description d’architectures. Il permet de générer un simulateur fonctionnel (ISS) et un simulateur temporel précis au cycle près (CAS). Dans le cadre des systèmes temps réel, c’est ce deuxième type de simulateurs qui nous intéresse. Relativement à l’ISS, un CAS présente l’inconvénient majeur de se montrer très lent à l’exécution. Un moyen d’améliorer la rapidité d’exécution est d’utiliser la simulation compilée. On distingue deux grands types d’implantation de la simulation : la simulation interprétée et la simulation compilée. Si un simulateur interprété se comporte comme un interpréteur du programme à exécuter, un simulateur compilé nécessite une phase de compilation du programme. Il permet une meilleure vitesse d’exécution, au détriment de la souplesse dans la chaîne de développement. C’est cette technique que nous introduirons dans le cadre des CAS. Couplé à une technique d’abstraction du programme, nous montrerons que l’on peut améliorer la vitesse de simulation de plus de 50% en comparaison du CAS interprété.

Résumé / Abstract : The work of this thesis lies in the context of real-time embedded systems. These systems require significant effort for validation and verification. As part of this thesis, we are particularly interested in validation through simulation. This can be done at many levels of abstraction, from high-level model of the application to binary code. We are in the latter case, only able to give accurate results close to the processor cycle. HARMLESS is a Hardware Architecture Description Language (HADL). It generates a functional simulator (ISS) and a temporal simulator cycle-accurate (CAS). As part of real-time systems, it is this second type of simulators that interests us. With respect to the ISS, CAS has the major drawback to be very slow at runtime. One way to improve the speed of execution is to use the compiled simulation. There are two main types of implementation of the simulation: interpreted simulation and compiled simulation. If interpreted simulator behaves as an interpreter for the program to run, a compiled simulator requires a compilation phase of the program. It allows a better execution speed to the detriment of flexibility in the development chain. It is this technique that we introduce in the context of CAS. Coupled with a technique of abstraction of the program, we will show that we can improve the simulation speed by more than 50% compared to the interpreted CAS.