Cet article décrit le Calculateur Fonctionnel, un calculateur Flot de
Données dédié au Traitement d' Image Temps Réel et
développé au Laboratoire Systèmes de Perception de l' ETCA.
Physiquement, cette machine se présente comme un réseau tridimensionnel
de processeurs fonctionnels. Deux types de processeurs, dédiés
respectivement aux traitements bas et haut niveau sont intégrés.
La conception de cette architecture a obéi à une contrainte
à priori d'intégration du modèle d'exécution Flot de
Données et des concepts issus de la programmation fonctionnelle.
Un algorithme de Traitement d'Image est d' abord spécifié dans un
formalisme inspiré du langage FP de Backus puis converti en un
Graphe d'Opérateurs Flot de Données. Les noeuds de ce graphe
correspondent à des primitives implantables sur les processeurs
de la machine. Ce graphe est ensuite "plaqué" sur le réseau
physique de processeurs.
L'environnement de programmation se compose d'une chaîne de compilation
complète, produisant une configuration exécutable à partir
d'une spécification fonctionnelle symbolique, et d'une
bibliothèque de primitives fonctionnelles. La réalisation
de cette machine répond à deux objectifs: d'une part la mise en
oeuvre d'une plate-forme générale de développement
intégrée pour des algorithmes de traitement d'image temps réel;
d'autre part, la conception automatisée d'automates spécifiques
de vision embarquables.
La version opérationnelle de la machine comprend 1024 processeurs de
traitement bas niveau et 12 transputers et sa puissance crête
atteint 50 milliards d'opérations 8-16 bits par seconde.
Plusieurs applications réalistes ont déjà été
implantées et exécutées en temps réel sur des
séquences vidéo à 25 Hz.
Mots clés: Architectures Flots de Données, Programmation fonctionnelle, Traitement d'Image Temps Réel, Synthèse d'Architecture.