21.07.2015 Views

THESE de DOCTORAT Lyu ABE Imagerie à Haute Dynamique ...

THESE de DOCTORAT Lyu ABE Imagerie à Haute Dynamique ...

THESE de DOCTORAT Lyu ABE Imagerie à Haute Dynamique ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Développement d’une nouvelle architecture 117spécifique à la carte DSPPC ◭ Carte DSP 14 Les coordonnées sont alors chargées <strong>de</strong> la zone <strong>de</strong> mémoire <strong>de</strong> la carte DSP vers celledu PC 15 Le PC attend que le second processeur DSP signale la fin <strong>de</strong> sa tâche (même cycle qu’en11)Une fois ce processus terminé, les coordonnées <strong>de</strong> tous les photons <strong>de</strong> l’image se retrouventdans la mémoire du PC et sont prêtes pour être traitées et/ou enregistrées.Le principal écueil à éviter lors du traitement <strong>de</strong>s images numérisées est la perte <strong>de</strong> tempsdue à un mauvais algorithme <strong>de</strong> détection <strong>de</strong>s zones où se trouve un signal pertinent, enl’occurrence, les photo-événements. Avec un débit <strong>de</strong> données <strong>de</strong> 36 méga pixels par secon<strong>de</strong>,la tâche d’extraction <strong>de</strong>s photo-événements ne doit pas dépasser les 7 ms fatidiques (duréed’une trame). En fait, cette durée <strong>de</strong> détection doit être bien inférieure à 7 ms puisqu’une foisdétecté, l’événement doit être traité plus ou moins finement (extraction <strong>de</strong> la coordonnée, oucentrage plus élaboré, stockage en mémoire, etc.) et consomme plus <strong>de</strong> temps que la tâche<strong>de</strong> détection.Autrement dit, la tâche <strong>de</strong> détection s’exécute en un temps incompressible (puisque qu’elletraite aussi les images sans photons), et fixe donc la taille maximale du co<strong>de</strong> <strong>de</strong> centrage <strong>de</strong>photons, exprimée en cycles <strong>de</strong> processeur, et par conséquent le flux maximal <strong>de</strong> photons.L’algorithme <strong>de</strong> détection, réduit à sa plus simple expression, consiste en un seuillage puis enune comparaison <strong>de</strong> chaque pixel avec ses plus proches voisins pour vali<strong>de</strong>r ou non s’il s’agitd’un maximum local. Une fois validée, la coordonnée <strong>de</strong> ce maximum est générée et stockéedans une mémoire tampon avant d’être transférée vers le PC hôte.La tache d’extraction <strong>de</strong> l’événement est donc cruciale et m’a <strong>de</strong>mandé un effort considérable<strong>de</strong> programmation. De plus l’outil <strong>de</strong> programmation en C fourni avec les processeursDSP (Co<strong>de</strong> Composer) était sensé optimiser le co<strong>de</strong> en assembleur afin d’exploiter au maximumle parallélisme <strong>de</strong>s processeurs. Cependant il n’en fut rien, et je me suis alors consacréà l’optimisation du co<strong>de</strong> directement en langage assembleur sans passer par le compilateurC. J’ai donc réussi à réduire le temps <strong>de</strong> détection à 12 cycles d’horloge pour traiter 4 pixels<strong>de</strong> l’image simultanément, soit 15 ns par pixel. Pour une image complète <strong>de</strong> 512×512 pixels,il y a donc environ 3,8 ms <strong>de</strong> temps incompressible (ou ∼1,9 ms par processeur). L’implémentationsubséquente <strong>de</strong> l’algorithme d’extraction du maximum local d’un photo-événementdétecté occupe environ 18 cycles supplémentaires. Donc, si on considère un flux moyen <strong>de</strong>10 000 événements par image, le temps supplémentaire d’exécution <strong>de</strong> l’algorithme sera <strong>de</strong>0,9 ms, soit au total 4,8 ms (ou 2,4 ms par processeur). Cette estimation du temps d’exécutionne prend pas en compte les interactions avec les autres composants du système, c’est-à-direles communications avec l’ordinateur hôte, les interruptions éventuelles indiquant le début oula fin d’une image ou les temps <strong>de</strong> transfert <strong>de</strong> la mémoire <strong>de</strong> la carte vers la mémoire du PCune fois les coordonnées <strong>de</strong> photons calculées.

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

Saved successfully!

Ooh no, something went wrong!