Etude et mise en oeuvre d'un environnement d'exécution pour architecture hétérogène reconfigurable

Autor: DECHELOTTE, Jonathan
Přispěvatelé: Laboratoire de l'intégration, du matériau au système (IMS), Université Sciences et Technologies - Bordeaux 1-Institut Polytechnique de Bordeaux-Centre National de la Recherche Scientifique (CNRS), Université de Bordeaux, Dominique Dallet, Jérémie Crenne
Jazyk: francouzština
Rok vydání: 2020
Předmět:
Zdroj: Electronique. Université de Bordeaux, 2020. Français. ⟨NNT : 2020BORD0025⟩
Popis: Today, embedded systems have taken a leading role in our world. Whether for communication, travel, work or entertainment, their use is preponderant. Together, research and industry efforts are constantly developing various parts that make up these systems: processor, FPGA, memory, operating system.From an architectural point of view, the contribution of a generalist architecture coupled with a reconfigurable architecture positions SoC FPGA as popular targets for use in embedded systems. However, their implementation's complexity makes their adoption difficult. The abstraction of low-level layers seems to be an investigation's axis that would tend to reverse this trend. The use of an operating system seems suitable at first glance because they deliver an ecosystem of drivers and services for access to hardware resources, native scheduling capacities and libraries for security. However, this solution brings constraints and lead to evaluate other approaches.This manuscript evaluates the ability of a high-level language, Lua, to provide an execution environment in such a case that the implementation does not provide operating system. It gives, through an ecosystem named Lynq, the necessary building blocks for the management and allocation of resources present on the SoC FPGA as well as a method for isolation between applications. Besides the adoption of this execution environment, our work explores the capacity of generalist architectures such as CPUs to become specialized when implemented on a FPGA. This is done through a contribution allowing the generation of a RISC-V CPU and its associated microcode.; Aujourd'hui, les systèmes embarqués ont pris une part hégémonique dans notre monde. Leurs utilisation est prépondérante, que ce soit pour communiquer, se déplacer, travailler ou se divertir. Des efforts dans le domaine de la recherche et de l'industrie n'ont de cesse de faire évoluer les parties qui composent ces systèmes dont le processeur, le FPGA, la mémoire et le système d'exploitation.D'un point de vue architectural, l'apport d'une architecture généraliste couplée à une architecture reconfigurable positionne le SoC FPGA comme une cible préférentielle pour une utilisation dans les systèmes embarqués. Leurs adoption est cependant difficile du fait de leur complexité d'implémentation. L'abstraction des couches de bas niveau semble un axe d'investigation qui tend à inverser cette tendance. Au premier abord, l'utilisation d'un système d'exploitation paraît idoine. En effet, il possède l'écosystème de drivers et services disponibles pour l'accès aux ressources matérielles, la capacité d'ordonnancement natif ainsi que des bibliothèques pour la sécurité. Toutefois, cette solution engendre des contraintes qui poussent à évaluer d'autres approches. Ce manuscrit évalue la capacité d'un langage de haut niveau tel que Lua à fournir un environnement d'exécution dans le cas d'une implémentation sans système d'exploitation.À travers un écosystème nommé Lynq, cet environnement d'exécution procure les briques nécessaires à la gestion et l'allocation des ressources présentes sur le SoC FPGA, ainsi qu'une méthode proposant une isolation entre applicatifs.La capacité des architectures généralistes que sont les CPUs à devenir spécialisés lorsqu'ils sont implémentés sur un FPGA a été exploré par la suite. Ceci au travers d'une contribution permettant la génération d'un CPU RISC-V ainsi que son microcode associé.
Databáze: OpenAIRE