Génération de simulateurs de jeux d’instructions compilés - PowerPoint PPT Presentation

hyatt-sutton
g n ration de simulateurs de jeux d instructions compil s n.
Skip this Video
Loading SlideShow in 5 Seconds..
Génération de simulateurs de jeux d’instructions compilés PowerPoint Presentation
Download Presentation
Génération de simulateurs de jeux d’instructions compilés

play fullscreen
1 / 11
Download Presentation
Génération de simulateurs de jeux d’instructions compilés
85 Views
Download Presentation

Génération de simulateurs de jeux d’instructions compilés

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Génération de simulateurs de jeux d’instructions compilés Ronan AMICEL IRISA / Equipe CAPS

  2. Motivation • Offrir un outil permettant : • le choix des paramètres principaux d’un processeur • jeu d’instructions, • taille des caches, etc. • la validation d’un compilateur • l'écriture et la validation des applications

  3. Approche • Programmes assembleur en entrée •  pas de codage binaire à définir • Simulation compilée •  hautes performances •  permettre des benchmarks conséquents

  4. Vue d’ensemble Source C tmcc Assembleur TriMedia Description de l’architecture générateur tmas Source C++ Binaire TriMedia gcc/ld tmsim simulateur compilé

  5. Description del’architecture • Description SALTO • syntaxe assembleur • tables de réservation • Il faut la sémantique des instructions • effet sur les registres et la mémoire • effet sur le flot de contrôle

  6. Description de la sémantique • Exemple 1 • modulo add : iadd r,s -> d • sémantique : $3=add($1,$2) • Exemple 2 • load 2 bytes : uld16r r,s -> d • sém. : $3=zx(mem(add($1,$2),2),32)

  7. Simulation compilée • Génération du code C/C++ à partir du source assembleur • Spécialisation par rapport au code d ’une application • élimine le surcoût de l’interprétation • Possibilités d’optimisations statiques

  8. Optimisation du code généré (1/2) • Différent de l’optimisation du code simulé • Sémantique : simplification de la représentation intermédiaire • évaluation partielle des opérateurs : • r1-> r8 = addsu( 255, r4 ); • r8 = 255; • suppression du code inutile : • r6 = 0; r6 = r12; • r6 = r12;

  9. Optimisation du code généré (2/2) • Nombre de cycles nécessaires • calcul statique au niveau du bloc de base • Usage des ressources • non implémenté

  10. Etat d’avancement • Description de l’architecture TriMedia • Prototype de générateur • simulation fonctionnelle • calcul du nombre de cycles • performances

  11. Performances