Criticité des registres dans un microprocesseur RISC
De Ensiwiki.
Sommaire |
Criticité des registres dans un microprocesseur RISC
| Labo | TIMA |
| Equipe | ARIS |
| Encadrants | Regis.Leveugle@imag.fr,Salma.Bergaoui@imag.fr
|
Thème général
La sûreté de fonctionnement d'un processeur (ou le risque de disfonctionnement en cas de perturbation) dépend fortement, pour une application donnée, de l'utilisation des registres internes. Les évaluations classiques ne tiennent compte que des registres visibles par l'utilisateur. Toutefois, dans les processeurs récents, de nombreux registres internes existent (registres de pipeline de la micro-architecture). L'objectif de cette étude est d'analyser l'impact des registres internes sur la précision des évaluations de sûreté.
Compétences attendues
Compétences générales liées à la formation ENSIMAG 2A Une formation renforcée en architecture des processeurs serait appréciée
Contexte du travail
Des études sont en cours dans l'équipe sur le calcul de critères de sûreté, calculés lors d'une compilation avec GCC. Ces critères sont ensuite utilisés pour guider des améliorations du code produit ou identifier les registres les plus critiques. Le TER s'intégrera directement à ces travaux et permettra d'affiner les évaluations faites dans le cas d'architectures de processeur pipelines.
Sujet
Les objectifs principaux du sujet proposé sont : 1. Modéliser le transfert des informations dans un exemple de pipeline pour identifier l'utilisation réelle des registres visibles par l'utilisateur, compte tenu des registres de pipeline et des chemins de gestion des aléas. Ceci sera réalisé sur l'exemple d'un processeur Sparc v8, nommé Leon2. Le modèle doit permettre d'identifier le temps pendant lequel l'information est effectivement stockée dans les registres visibles, et le temps passé dans les autres registres. Cette analyse pourra s'appuyer entre autres sur des simulations du système. 2. Implanter dans une version modifiée de GCC, disponible dans l'équipe, un algorithme d'évaluation de criticité basé sur le modèle précédent. Ceci sera en particulier orienté vers le calcul des durées de vie des registres.
Résultats attendus
Le premier résultat attendu est un modèle montrant la répartition dans les différents registres de la microarchitecture du Leon2 des durées de vie des informations liées à un registre utilisateur donné. Le second résultat est le développement dans GCC et l'évaluation d'une nouvelle version des procédures de calcul des critères de criticité des registres, tenant compte de la microarchitecture.

