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

Slides:



Advertisements
Présentations similaires
Yassine Lakhnech Prof. UJF Verimag
Advertisements

Fonctionnement d’une machine à pile :
Architecture de machines Le microprocesseur
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Spécification et qualité du logiciel
18 octobre 2007Cours de compilation 7 - Intranet1 Cours de compilation Génération de code Optimisation de code.
18 octobre 2007Cours de compilation 7 - Intranet1 Cours de compilation Génération de code Optimisation de code.
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
Objectif de l’exposé.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
C.
Objectifs Nous allons concevoir une mise en œuvre contenant un noyau de jeu d’instructions. Nous verrons comment l’architecture de jeu d’instructions.
People want to do X, but computers can only do Y. This leads to a problem. My job is to explain how this problem can be solved.
L ’informatique : la mécanique de l ’abstraction
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Tests et validation du logiciel
Tests et Validation du logiciel
Architecture de machines Le microprocesseur
Initiation à la programmation et algorithmique
Architecture et technologie des ordinateurs II
Le langage C++ Langage orienté objet
Système d’exploitation : Assembleur
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
©Frédéric Bastien 2006 Université de Montréal 1 LISATek LISATek pour concevoir des processeurs.
Veille Technologique : Étudier les avantages et inconvénients du typage statique et du typage dynamique pour des applications interactives Sujet proposé.
Systèmes Superscalaires et VLIW
Présentation du mémoire
Le projet ASCOBIO: Assimilation de données in-situ et de couleur de l’océan dans le modèle de biogéochimie marine PISCES Thèse de Abdou Kane Direction: Cyril.
Architecture et technologie des ordinateurs II
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Java vs. C++ Pierre-Yves ALIZON – Ingénieurs 2000.
Lycée ELKHAWARIZMI De SAFI
Flot de conception pour plateforme reconfigurable
Cours Architecture des Systèmes Informatiques
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
André Seznec Caps Team IRISA/INRIA 1 Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
INF8505: processeurs embarqués configurables
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
L’architecture du processeur Xtensa de Tensilica
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Simulation d’un modèle.
ARPO: architecture des processeurs superscalaires,VLIW et optimisation André Seznec et François Bodin.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Construction d'une hiérarchie mémoire faible consommation
1 IFT 099 Introduction à la programmation. 2 Plan du cours (sem. 1) 1.Introduction - les ordinateurs 2.La programmation procédurale 3.La programmation.
Projet de Fin d’Etudes – Optimisation SSE 1/28. 1) Présentation du Stage 2) Les instructions SSE 3) Algorithme DSP Audio Conclusion 2/28 Projet de Fin.
Architecture et technologie des ordinateurs II
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
ISBN Chapitre 10 L'implémentation des sous- programmes.
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
Simulation de jeux d’instructions à hautes performances
Architecture et technologie des ordinateurs II
Exécution d ’un programme en 6809: Présentation du programme
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
ARPO: architecture des processeurs superscalaires,VLIW et optimisation André Seznec et François Bodin.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Architecture et technologie des ordinateurs II
Simulation de traces réelles d’E/S disque de PC. Jalil Boukhobza, Claude Timsit Perpignan le 06/10/2006.
UE MAREP Cours 1 : Algèbre de Boole et entiers naturels
Patricia Renault UPMC 2005/2006
Introduction à la compilation
Création et Optimisation de Modules Audio avec les instructions SSE
1.1: notions de bases de l’informatique
La rédaction du mémoire Projet de Fin de Cycle 2016/2017.
Transcription de la présentation:

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

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

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

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

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

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)

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

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;

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é

Etat d’avancement zDescription de l’architecture TriMedia zPrototype de générateur ysimulation fonctionnelle ycalcul du nombre de cycles yperformances

Performances