12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Algorithmes</strong> <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> <strong>pour</strong> les architectures orientées fluxJaromír BRAMBORFIG. 3.8 : Listing d’un programme <strong>pour</strong> le processeur ST200. L’exécution se <strong>pour</strong>suit par <strong>de</strong>s blocs encadrés,ici par 4 instructions à <strong>la</strong> fois, chacun <strong>de</strong>s blocs est exécuté durant 1 cycle d’horloge.les opéran<strong>de</strong>s <strong>de</strong> l’instruction B ne dépen<strong>de</strong>nt pas <strong>de</strong>s résultats <strong>de</strong> l’instruction A. Le temps exact diffèresuivant les architectures, il est égal à au moins 1 cycle sur les architectures à <strong>la</strong>ncement simple <strong>de</strong>s instructions,telles que SH-5. Nous pouvons citer les architectures supersca<strong>la</strong>ires comme un exemple nontrivial où <strong>la</strong> définition <strong>de</strong> l’écartement n’est pas évi<strong>de</strong>nte car ces architectures peuvent assurer l’exécution<strong>de</strong> 2 instructions et plus en même temps.Le <strong>de</strong>uxième paramètre, <strong>la</strong> <strong>la</strong>tence d’une instruction, nous indique le temps, mesuré en cycles d’horloge,qui doit passer entre le <strong>la</strong>ncement <strong>de</strong> l’instruction A et le <strong>la</strong>ncement <strong>de</strong> l’instruction B si l’instructionB utilise comme opéran<strong>de</strong> un <strong>de</strong>s résultats <strong>de</strong> l’instruction A. Dans ce cas, <strong>la</strong> préparation <strong>de</strong><strong>la</strong>ncement <strong>de</strong> l’instruction B est suspendue jusqu’à ce que <strong>la</strong> <strong>la</strong>tence exigée soit assurée.C’est le compi<strong>la</strong>teur qui <strong>de</strong>vrait assurer <strong>la</strong> disparition <strong>de</strong>s temps morts issus <strong>de</strong>s <strong>la</strong>tences <strong>de</strong>s instructions.Cette disparition est réalisée, si réalisable, en changeant l’ordre d’exécution <strong>de</strong>s instructions et enp<strong>la</strong>çant une instruction à longue <strong>la</strong>tence dans une séquence d’instructions à <strong>la</strong>tence faible ou sans <strong>la</strong>tence.3.2.7 Instructions spécialiséesUn jeu d’instructions bien choisi incluant <strong>de</strong>s instructions spécialisées peut rendre, s’il est bien utilisé,une architecture très performante.Nous pouvons mentionner, par exemple, le jeu d’instructions multimédia sur les architectures GPPMM<strong>pour</strong> le calcul sur les données multiples. Nous pouvons mentionner également le jeu d’instructions <strong>mathématique</strong>sspécialisés sur les GPU.Les algorithmes du domaine <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> travaillent avec l’approche ensembliste<strong>de</strong> traitement d’images et utilisent donc abondamment les fonctions logiques, fonctions <strong>de</strong> comparaisonet <strong>pour</strong> le travail en niveaux <strong>de</strong> gris les fonctions <strong>mathématique</strong>s max et min. Les constructions du typeif-else sont également très courantes mais ne sont pas adaptées à certaines architectures car elles sonttraduites et exécutées comme les sauts qui peuvent rendre difficile l’exploitation du pipeline et <strong>la</strong> gestion<strong>de</strong>s mémoires caches. On les transforme facilement en une séquence non conditionnelle en utilisant lesinstructions <strong>de</strong> comparaison et <strong>de</strong> dép<strong>la</strong>cement conditionnel.Nous allons viser les architectures qui ont ces fonctions incorporées nativement dans leurs jeux d’instruction.Soulignons que le choix même <strong>de</strong> l’architecture matérielle ayant les instructions désirées nesuffit pas. Un choix <strong>de</strong> <strong>la</strong> même importance est celui du compi<strong>la</strong>teur <strong>pour</strong> cette architecture et surtoutsa qualité. Nous avons beau avoir une architecture puissante, c’est le compi<strong>la</strong>teur qui <strong>la</strong> valorise <strong>pour</strong>l’utilisation et <strong>pour</strong> l’exécution <strong>de</strong>s programmes.3.2.8 Nombre <strong>de</strong> registres et leur désignationLors d’un traitement multimédia qui travaille avec un grand nombre <strong>de</strong> données originale et <strong>de</strong> résultatspartiels en même temps, le nombre suffisant <strong>de</strong> registres qui seraient directement utilisables comme40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!