Projet :
CAPS

Précédent : Panorama
Remonter : Logiciels Suivant : Cobra : exécutif pour la
programmation
Salto : un environnement de transformations pour les
langages d'assemblages (cf. 2.3)
Participants : François Bodin, Erven Rohou, André
Seznec.
Mots clés : optimisation .
Contact: François Bodin
Statut: Déposé à l'APP sous le numéro
IDDN.FR.001.070004.00.R.C.1998.000.10600, disponible sur
demande.
SALTO propose un environnement de manipulation
de programmes en langage assembleur. Une abstraction des
ressources matérielles exploitables permet de les dissocier de
l'algorithme d'optimisation, ce qui a deux avantages :
- le même algorithme peut être appliqué à des programmes
écrits pour différentes architectures avec très peu de
modifications ;
- la manipulation du code assembleur est grandement
simplifiée.
SALTO est composé de quatre parties :
- 1.
- le noyau effectue toutes les tâches nécessaires,
rébarbatives et souvent sources d'erreurs dont le programmeur a
envie de se passer, notamment l'analyse lexicale et syntaxique
du code, le calcul de la structure en blocs de base et du flot
de contrôle, le calcul des dépendances entre
instructions ;
- 2.
- la description de la machine est un fichier qui détaille le
jeu d'instructions et l'ensemble des ressources matérielles de
l'architecture cible qui sont susceptibles d'intervenir dans le
processus d'optimisation. Elle peut être plus ou moins
précise : une description simple peut s'intéresser
simplement aux unités fonctionnelles tandis qu'une description
plus fine peut faire intervenir les bus d'accès à la mémoire,
les ports sur le fichier de registres, etc. ;
- 3.
- l'interface utilisateur orientée objets donne un moyen
d'accès aux structures de données internes de
SALTO. Un certain nombre de classes
correspondent aux types de données connus ;
- 4.
- un algorithme d'instrumentation ou d'optimisation fourni
par l'utilisateur utilise l'interface pour accéder au code et
éventuellement le modifier. SALTO en lui-même
n'a aucun effet sur le programme assembleur, il se contente de
fournir des abstractions du code et des méthodes à même de
faciliter l'implantation d'algorithmes. C'est à l'utilisateur
de spécialiser SALTO pour obtenir un outil
correspondant à ses besoins.
Pour en savoir plus se référer à http://www.irisa.fr/caps/PROJECTS/Salto ou
contacter F. Bodin.

Précédent : Panorama
Remonter : Logiciels Suivant : Cobra : exécutif pour la programmation