STAGE 2025 - Analyse et modélisation d’une microarchitecture de processeur embarqué (All Gender)
Stage Toulouse (Haute Garonne) Développement informatique
Description de l'offre
Job Description:
Et si votre aventure professionnelle commençait avec Airbus !
Vous recherchez un stage de fin d’année ou intégré dans une année de césure vous permettant de valider votre diplôme ? Nous vous proposons de travailler dans une entreprise leader mondial dans son domaine, tournée vers le digital, à la pointe de la recherche et de l’innovation !
Une offre de stage intitulée « STAGE 2025 Analyse et modélisation d’une microarchitecture de processeur embarqué (F/H) » vient de s'ouvrir au sein de Airbus Defence & Space sur son site de Toulouse Palays.
Vous rejoindrez le département « Simulation and Modelling » en charge du développement des simulateurs de véhicules spatiaux (Satellites, Rovers …), utilisés à des fins de validation du système et de tout ou partie de ses sous-systèmes (contrôle d’orbite et d’attitude, électrique/puissance, thermique…). En particulier, ce service réalise des modèles numériques des calculateurs bord. Ces derniers sont basés sur une émulation du processeur embarqué.
Le stage s’inscrit dans une activité de R&D. L’objectif est de mener un travail de recherche visant à améliorer les performances d’un émulateur de processeur. Dans le cadre de ce stage, il s’agira d’un simulateur permettant d’exécuté un logiciel SPARC (guest) sur un processeur Intel (host). Les activités seront réparties entre l’approfondissement de pistes d’optimisations déjà identifiées, et la recherche de nouvelles solutions.
Ce stage offrira en outre l’opportunité pour le stagiaire de découvrir ou d’approfondir ses connaissances :
· Sur le fonctionnement des processeurs et de leur architecture. Le processeur cible est de type SPARC. Il est relativement facile à appréhender.En fonction du déroulement du stage un passage vers un émulateur ARM, plus complexe, pourra être envisagé.
· Sur les méthodes d’optimisation de performances d’un logiciel. Ces méthodes s’appuieront sur une bonne utilisation de la micro-architecture fournie par le processeur Intel hôte de l’émulation ; tels que les caches, prefetchers, predicteurs …. Ce stage est donc aussi une opportunité pour se familiairiser avec les processeurs de la famille x86/amd64 et leurs mécanismes.
Idéalement, ce stage d’une durée de 6 mois commencera en Mars 2025 (la période est communiquée à titre indicatif, et pourra être revue).
Ce poste nécessite une habilitation de sécurité ou nécessite d'être éligible à une habilitation par les autorités reconnues.
Tâches et responsabilités :
Votre tuteur/tutrice vous aidera à identifier vos objectifs professionnels et vous accompagnera dans le développement de vos compétences. Vous évoluerez aussi au sein de l’équipe en charge de la simulation des calculateurs bord.
Un émulateur de CPU est un logiciel qui simule le fonctionnement d'un processeur (CPU) ou d'un microprocesseur. Il émule les instructions et les comportements du processeur original, ce qui permet à un système d'exploiter les programmes conçus pour ce processeur, sans avoir besoin du processeur original. On peut donc exécuter ; par exemple un programme ou démarrer un O/S conçu pour ARM sur une machine Intel. L’un des émulateurs les plus populaire est QEMU, mais pour des questions de licence et des besoins de simulation spécifiques, AIRBUS a développé sa propre solution.
Il s’intègre ensuite, comme élement central, dans le jumeau numérique du Satellite. Il permet en particuliers d’exécuter le même logiciel (non modifié) que sur Satellite :
· Valider / qualifier le logiciel de vol.
· Réaliser des tests systèmes.
· Préparer et contribuer aux phases d’intégration et de validation du satellite.
· Préparer les phases d’opérations et de maintenance.
En outre, le simulateur doit répondre à des exigences de performance d’exécution afin de satisfaire le besoin utilisateur, mais aussi les contraintes techniques imposées par certains bancs de test (comme par exemple les simulateurs avec du matériel dans la boucle). Dans le cas des modèles calculateurs, ce travail d’optimisation est essential, d’autant plus qu’il prend place dans le contexte d’un marché du spatial en constante évolution et où les processeurs embarqués sont de plus en plus performants.
La finalité du stage consiste donc à améliorer le nombre d’instructions que peut exécuter cet émulateur en un temps donné. Il utilise une technique classique de compilation à la volée ; c’est à dire, les instructions sont émulées par blocs au travers d’une compilation de type JIT (Just-In-Time) basée sur LLVM.
Dans un premier temps, le stage consistera en une prise de connaissance de :
· L’architecture SPARC son jeu d’instructions et ses particularités du point de vue de l’optimisation de sa simulation.
· Nos produits émulateurs.
· Le moteur de traduction binaire dynamique (DBT) basé LLVM ainsi que les capacités de debug du code généré à la volée.
Dans un second temps, le stage se focalisera sur :
· L’amélioration de pistes déjà identifiées dans le support des instructions (c.a.d. la traduction d’une instruction SPARC par une fonction C) et la stratégie de génération des blocs d’instructions (quelles instructions regrouper et donner au compilateur).
· L’optimisation du bloc de code généré, grâce à l’identification et à l’étude des facteurs qui occasionnent une perte de performance.
· La recherche de nouvelles pistes d’optimisations.
Il est à noter, qu’une connaissance de l’écosystème LLVM n’est pas nécessaire pour ce stage.
Votre carte d’embarquement :
Vous préparez un diplôme de niveau Bac +5 en informatique, systèmes embarqués, ou équivalent.
Vous possédez les compétences suivantes :
· Maitrise des langages C et C++.
· Connaissance des architectures processeurs en général et de leur principe de fonctionnement.
· Rigoureux(se), curieux(se) et autonome.
· Pragmatique et déterminé(e).
· Doté(e) d’un sens relationnel et bonne capacité de communication.
· Capacité d'intégration dans une équipe et souplesse d'adaptation.
· Aptitude d’analyse et de synthèse et pourvu(e) d’esprit d’équipe.
Les connaissances suivantes seraient un plus :
· Une expérience dans la simulation numérique.
· Une connaissance des processeurs et de leur architecture.
· Une expérience, par exemple dans le cadre de projet ou de cours, dans la génération d’un émulateur d’un processeur ou un micro-controlleur.
Compétences linguistiques attendues :
· Anglais : intermédiaire.
· Français : négociation.
Prochaines étapes de notre processus de sélection :
Votre candidature sera analysée par un recruteur/recruteuse dans les prochains jours. Si votre profil correspond aux pré requis,vous serez invité(e) à réaliser un entretien vidéo dont le résultat sera visionné par le recruteur/recruteuse. Si votre candidature est retenue, elle sera alors proposée au manager pour un entretien.
Rejoignez-nous !
This job requires an awareness of any potential compliance risks and a commitment to act with integrity, as the foundation for the Company’s success, reputation and sustainable growth.
Company:
Airbus Defence and Space SAS
Employment Type:
Internship
-------
Experience Level:
Student
Job Family:
Sub-system development
By submitting your CV or application you are consenting to Airbus using and storing information about you for monitoring purposes relating to your application or future employment. This information will only be used by Airbus.
Airbus is committed to achieving workforce diversity and creating an inclusive working environment. We welcome all applications irrespective of social and cultural background, age, gender, disability, sexual orientation or religious belief.
Airbus is, and always has been, committed to equal opportunities for all. As such, we will never ask for any type of monetary exchange in the frame of a recruitment process. Any impersonation of Airbus to do so should be reported to emsom@airbus.com .
At Airbus, we support you to work, connect and collaborate more easily and flexibly. Wherever possible, we foster flexible working arrangements to stimulate innovative thinking.