Modélisation d'un processeur VLIW en vue de la génération automatique de code de traduction binaire
De Ensiwiki.
Sommaire |
Modélisation d'un processeur VLIW en vue de la génération de code de traduction binaire dynamique
| Labo | TIMA |
| Equipe | System Level Synthesis Group |
| Encadrants | Frederic.Petrot@imag.fr,Nicolas.Fournel@imag.fr
|
Thème général
Ce TER se situe dans le domaine de la simulation rapide des systèmes intégrés multiprocesseur, et vise plus précisément la simulation accélérée des processeurs. Des techniques de traduction dynamique (bien plus efficaces que l'interprétation) ont été mises au point, mais son aussi plus complexes. L'objectif de ce TER est d'étudier comment modéliser un processeur VLIW en vue de la génération de code pour un traducteur binaire dynamique, en l'occurence QEMU.
Contexte du travail
Les techniques de virtualisation se sont beaucoup développées ces dernières années, et visent à exécuter un OS "au dessus" d'un autre OS, et permettent l'exécution "en douceur" d'instructions privilégiées en les substituant à l'exécution par d'autres. Certaines solutions de virtualisation poussent encore plus loin, en permettant l'exécution d'un OS compilé pour une machine cible (par ex. un Mips ou un Arm) différente de la machine hôte (typiquement x86, PowerPc ou Sparc). Pour que l'exécution soit efficace, ces solutions reposent sur des techniques sophistiquées de traduction binaire dynamique, qui à la volée transforment le code cible en code hôte, avec les problèmes que cela peut comporter.
Dans ce TER, nous utiliserons l'approche QEMU[1], qui a fait ses preuves. Attention, il s'agit de la version 0.11.x de QEMU, qui n'est bien évidemment pas celle documentée à l'URL ci-dessus.
Sujet
L'objectif du TER est d'étudier la bonne manière de modéliser un processeur de type VLIW pour permettre d'exécuter efficacement ce type de code avec les techniques de traduction binaire dynamique. Le processeur visé est le TMS320C67x[2] de Texas instrument, représentatif d'architectures complexes (plusieurs bancs de registres à accès simultanés et dissymétriques]. Il n'existe à l'heure actuel aucun processeur de ce genre modélisé en QEMU, ce qui est un manque important pour modéliser des plate-formes intégrés complètes, comme l'OMAP de TI. L'approche reste à définir, et peut soit être "manuelle" s'il s'avère que la complexité de la modélisation de l'architecture est pré-sentie trop importante, soit reposer sur l'exploitation d'un langage de description d'architecture, ce qui généraliserait les résultats.
Résultats attendus
Le TER sera considéré comme un succès si une méthode de traduction générale est définie et qu'un début de mise en œuvre est proposé afin d'en faire une preuve de concept.
Compétences attendues
Architecture, logiciel de base, C, pugnacité, capacité à rentrer dans du code.

