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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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 BRAMBORLes architectures <strong>de</strong> ce type sont particulièrement intéressantes <strong>pour</strong> le domaine du traitement d’imageset <strong>de</strong>s signaux. La télévision et le traitement <strong>de</strong> <strong>la</strong> vidéo sont <strong>de</strong> très bons exemples <strong>de</strong>s applications où leflux <strong>de</strong> données est traité par les architectures stream. Nous pouvons mentionner aussi les capteurs CCDou CMOS présents dans les équipement digitaux tels que les caméras ou les appareils photographiquesqui ont à leur sortie un flux linéaire <strong>de</strong>s données. Ces données, une fois stockées comme <strong>de</strong>s images 2Ddans <strong>la</strong> mémoire, ne présentent plus <strong>la</strong> nature d’un flux vidéo. Cette nature revient lors d’un traitement<strong>de</strong> ces données sur les processeurs séquentiels où un procédé très fréquemment utilisé est constitué <strong>de</strong> <strong>la</strong>transformation <strong>de</strong> ces données en un flux suivie par l’application d’un algorithme sur ce flux. Notons quece flux peut être constitué <strong>de</strong>s pixels mais également <strong>de</strong>s unités plus gran<strong>de</strong>s comme <strong>de</strong>s lignes entièresou les macro blocs. Comme exemple nous pouvons citer une architecture reconfigurable Cheops BW95 ,conçue <strong>pour</strong> le traitement <strong>de</strong>s données vidéo dans les caméras et les télévisions HDTV.Le phénomène <strong>de</strong> traitement sur les flux est présent également dans les traitements morphologiques,nous pouvons citer comme exemples une architecture électronique dédiée aux algorithmes <strong>de</strong> segmentationLem96 ou une étu<strong>de</strong> <strong>de</strong>s architectures spécifiques <strong>pour</strong> <strong>la</strong> <strong>morphologie</strong> Sas02 ou même une réalisationantécé<strong>de</strong>nte (1983/84) d’un logiciel <strong>de</strong> <strong>morphologie</strong> <strong>mathématique</strong> <strong>pour</strong> le calcu<strong>la</strong>teur PROPAL2 BM83, Beu84 , spécialisé <strong>pour</strong> le traitement en parallèle avec les capacités SIMD.Plus récemment, l’équipe commune <strong>de</strong>s <strong>la</strong>boratoires <strong>de</strong>s université <strong>de</strong> Stanford et <strong>de</strong> Rice a présentéplusieurs publications portant sur l’architecture d’un processeur stream nommé Imagine 1 qu’ils ont développée.Ce processeur était doté <strong>de</strong> 8 clusteurs <strong>de</strong> traitement général et avec 6 ALUs par clusteur :il possédait 48 ALUs au total. Ce processeur était réalisé sur une seule puce <strong>pour</strong> pouvoir exploiter aumaximum <strong>la</strong> localité <strong>de</strong>s données stockées dans les registres temporaires présents sur <strong>la</strong> puce.Bien que ces architectures soient spécifiques et même très intéressantes <strong>pour</strong> les applications <strong>de</strong>nos algorithmes et bien que nos algorithmes s’adressent aussi à elles, ces architectures ne constituerontpas notre intérêt principal et nous ne les mentionnons ici que <strong>pour</strong> donner une vue globale et complètesur <strong>la</strong> problématique. Car, comme nous l’avons souligné dans le chapitre Motivation, page 19, nousnous intéressons en particulier aux architectures plus générales grand public avec les fonctionnalitésmultimédia et aux processeurs graphiques.3.4.3 Architecture <strong>de</strong> von Neumann et ses successeurs utilisés <strong>pour</strong> le calcul stream3.4.3.1 Architecture <strong>de</strong> von NeumannLes machines du calcul que nous connaissons aujourd’hui en tant que GPP sont basées sur l’architecture<strong>de</strong> von Neumann qui se caractérise par un bloc d’unité centrale (CPU) qui assure le calcul, par unbloc <strong>de</strong> mémoire commune <strong>pour</strong> les données et <strong>pour</strong> les instructions et par un bus qui relie ces <strong>de</strong>ux blocsensemble. La figure 3.13 présente <strong>la</strong> structure <strong>de</strong> l’architecture du type von Neumann avec <strong>la</strong> mémoirecache présente dans le CPU.CPUALURegistresUnité <strong>de</strong> contrôleMémoire(s)cacheBUSMEMMémoireprincipaleFIG. 3.13 : Schéma <strong>de</strong> l’architecture von Neumann avec une mémoire cache incorporée dans l’unité centrale,CPU - bloc d’unité centrale, MEM - bloc <strong>de</strong> <strong>la</strong> mémoire, BUS - bus assurant <strong>la</strong> liaison <strong>de</strong> l’unité centrale à <strong>la</strong>mémoireIl faut mentionner intensément que l’architecture <strong>de</strong> von Neumann n’est pas une architecture parallèle.Elle était conçue <strong>pour</strong> l’exécution d’un co<strong>de</strong> séquentiel et dans sa version d’origine, elle n’est pasdu tout adaptée à un calcul sur les streams. Notons que le co<strong>de</strong> parallèle est exécuté en séquence sur1Imagine Stream Processor ORK+ 02, KDK + 01, KDR + 02, KRD + 03 , implémenté physiquement en silicium sur <strong>la</strong> puce dont <strong>la</strong> surfaceétait 2,6 cm 2 46

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

Saved successfully!

Ooh no, something went wrong!