Thèse soutenue

Compaction des langages fonctionnels

FR  |  
EN
Auteur / Autrice : Marc Pouzet
Direction : Jean-Jacques Lévy
Type : Thèse de doctorat
Discipline(s) : Sciences appliquées
Date : Soutenance en 1994
Etablissement(s) : Paris 7

Résumé

FR

La compaction des programme est la fabrication par le compilateur de paquets d'instructions elementaires executes en parallele. Les architectures concernees sont les architectures paralleles vliw (very long instruction word) ou super-scalaires. Jusqu'a present, la compaction etait appliquee aux langages imperatifs. Dans cette these, la compaction est etendue aux langages fonctionnels. Elle est formellement decrite par des regles de transformation de programmes en semantique naturelle. Le langage fonctionnel utilise est d'abord decrit puis on definit une semantique operationnelle de son execution sur une machine parallele de type vliw. Une equivalence dite structurelle mettant en relation les programmes ayant les memes dependances est donnee ainsi qu'une procedure de decision partielle. Suit la description de la compaction globale (parallelisme exploite dans les sections sans recursions) puis celle du pipeline logiciel (compaction etendue aux programmes quelconques). Ainsi, le principe du pipeline logiciel habituellement applique aux boucles est etendu aux fonctions recursives. Il est obtenu par la compaction globale et le depliage controle des fonctions et fournit un nouveau programme dont la compaction ne peut plus etre amelioree par depliage. Diverses methodes permettant de l'obtenir sont proposees.