Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parPatrice Vinet Modifié depuis plus de 9 années
1
Génération de simulateurs de jeux d’instructions compilés Ronan AMICEL IRISA / Equipe CAPS
2
Motivation zOffrir un outil permettant : yle choix des paramètres principaux d’un processeur xjeu d’instructions, xtaille des caches, etc. yla validation d’un compilateur yl'écriture et la validation des applications
3
Approche zProgrammes assembleur en entrée y pas de codage binaire à définir zSimulation compilée y hautes performances y permettre des benchmarks conséquents
4
Vue d’ensemble Source CAssembleur TriMedia tmcc Binaire TriMedia générateur tmsim tmas gcc/ld Source C++ simulateur compilé Description de l’architecture
5
zDescription SALTO ysyntaxe assembleur ytables de réservation zIl faut la sémantique des instructions yeffet sur les registres et la mémoire yeffet sur le flot de contrôle
6
Description de la sémantique zExemple 1 modulo add : iadd r,s -> d sémantique : $3=add($1,$2) zExemple 2 load 2 bytes : uld16r r,s -> d sém. : $3=zx(mem(add($1,$2),2),32)
7
Simulation compilée zGénération du code C/C++ à partir du source assembleur zSpécialisation par rapport au code d ’une application yélimine le surcoût de l’interprétation zPossibilités d’optimisations statiques
8
Optimisation du code généré (1/2) zDifférent de l’optimisation du code simulé zSémantique : simplification de la représentation intermédiaire xévaluation partielle des opérateurs : r1-> r8 = addsu( 255, r4 ); r8 = 255; xsuppression du code inutile : r6 = 0; r6 = r12; r6 = r12;
9
Optimisation du code généré (2/2) zNombre de cycles nécessaires ycalcul statique au niveau du bloc de base zUsage des ressources ynon implémenté
10
Etat d’avancement zDescription de l’architecture TriMedia zPrototype de générateur ysimulation fonctionnelle ycalcul du nombre de cycles yperformances
11
Performances
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.