Université Libre De Bruxelles

Université Libre De Bruxelles

Universit´e Libre de Bruxelles Facult´e de Sciences appliqu´ees Service des Syst`emes Logiques et Num´eriques Impl´ementation des filtres non-lin´eaires de rang sur des architectures universelles et reconfigurables Dragomir Milojevic Promoteur : Prof. Philippe Van Ham Travail pr´esent´e en vue de l'obtention du titre de Docteur en Sciences Appliqu´ees Ann´ee Acad´emique 2003-2004 Remerciements Je tiens a` remercier plus particuli`erement le Prof. Philippe Van Ham pour ses conseils, pour son soutien et surtout pour ce gout^ du savoir qu'il a r´eussi a` me faire partager. Un grand merci ´egalement au Prof. Nadine Warz´ee, pour son soutien, son efficacit´e et pour sa grande disponibilit´e. Je remercie ´egalement : Le Prof. Marc Acheroy et les membres du SIC de l'Ecole´ Royale Militaire avec lesquels j'ai eu l'opportunit´e de faire de la recherche appliqu´ee dans un but huma- nitaire et de r´ealiser des exp´eriences pas comme les autres. Le Prof. Eduardo Sanchez pour son accueil au sein du Laboratoire des Syst`emes Logiques de l'EPFL et pour ce s´ejour inoubliable a` Lausanne. Les Prof. Pierre Mathys, Prof. Marcel Dotrimont, Prof. Patrick Merken pour avoir accepter de faire partie de mon jury. Un tout grand merci a` Fr´ed´eric Robert qui a pu trouver un moment pour me lire et pour m'encourager. Je tiens a` remercier aussi tous les membres de l'´equipe du laboratoire des Syst`emes Logiques et Num´eriques avec qui j'ai partag´e beaucoup plus que le quotidien : prof. Jean Florine, Christophe De Hauwer (¸ca va ^etre vite fait), Olivier Debeir (on va mettre encore une couje), Serge Joris (ma biche), Don Patrick Bischop (vive la Westmalle), Xavier Baele (le th´e vert au jasmin est dans mon tiroir), Claude Verbeek (Led Zep a` 7h du matin annoncent une belle journ´ee), Constant Hubert (il n'y a qu'un ampli a` lampes qui sonne bien), Denis Haumont, Laurent Mundeleer, C´edric Laugerotte, Thierry Leloup et tous les autres ... Merci a` Bill, Ella, Sarah, Billie, Isao, Eva, Patricia, et les autres de m'avoir accompagn´e a` tout moment. Enfin je tiens a` remercier ma Julie, pour son amour, pour sa patience et pour la volont´e qu'elle a eue de corriger mon mauvais fran¸cais entre les bains de Dora et Sasha et ses dossiers des r´efugi´es Rwandais. Table des mati`eres R´esum´e 1 Abstract 1 1 Introduction 5 1.1 Pr´esentation g´en´erale . 5 1.2 Contenu et contributions . 8 1.2.1 Contenu . 8 1.2.2 Contributions . 9 1.3 Traitement . 10 1.3.1 Images et transformations . 10 1.3.1.1 Notations . 10 1.3.1.2 Transformations ponctuelles . 12 1.3.1.3 Transformations spatiales . 12 1.3.2 Filtres non-lin´eaires . 13 1.3.2.1 Classification . 13 1.3.2.2 Filtres non-lin´eaires de Classe I . 14 1.3.2.3 Filtres non-lin´eaires de Classe II . 18 1.3.2.4 Exemples d'application des filtres non-lin´eaires . 20 1.4 Machine . 23 1.4.1 Historique . 23 1.4.2 Classification des architectures . 27 1.4.2.1 Taxinomies des architectures universelles . 27 1.4.2.2 Taxinomies des architectures d´edicac´ees . 31 1.4.2.3 Taxinomies des architectures selon la configurabilit´e . 32 1.5 Performance . 33 1.5.1 Performance du mat´eriel . 33 1.5.1.1 Param`etres classiques . 34 1.5.1.2 Param`etre commun . 35 1.5.2 Performance d'une application . 37 1.5.2.1 Temps d'ex´ecution . 37 1.5.2.2 Acc´el´eration . 37 1.5.2.3 Mesure sp´ecifique pour le traitement d'images . 38 i Table des mati`eres 2 Architecture universelle 39 2.1 Parall´elisme des architectures universelles . 40 2.1.1 Parall´elisme intra-processeur . 40 2.1.1.1 Parall´elisme des instructions . 40 2.1.1.2 Probl`emes li´es a` l'exploitation du parall´elisme des instructions 45 2.1.1.3 Parall´elisme des donn´ees . 48 2.1.2 Parall´elisme inter-processeur . 49 2.1.2.1 Parall´elisme des syst`emes a` m´emoire partag´ee . 49 2.1.2.2 Parall´elisme des syst`emes a` m´emoire repartie . 52 2.1.3 Processeurs actuels . 52 2.1.4 Architectures universelles cibl´ees . 53 2.1.4.1 Architecture standard . 53 2.1.4.2 Extensions . 55 2.1.4.3 Diff´erences entre Pentium 2 et Pentium 4 . 57 2.1.4.4 Performance de la m´emoire . 57 2.1.5 Exploitation des diff´erents niveaux de parall´elisme . 58 2.1.5.1 Acc`es au parall´elisme intra-processeur . 58 2.1.5.2 Acc`es au parall´elisme inter-processeur . 60 2.2 Exploitation de l'architecture standard . 62 2.2.1 Impl´ementation de filtre de rang g´en´eralis´e . 63 2.2.1.1 Tri a` bulle (Bubble sort) . 63 2.2.1.2 Tri par s´election (Selection sort) . 63 2.2.1.3 Tri par insertion (Insertion sort) . 64 2.2.1.4 Tri rapide (Quicksort) . 64 2.2.1.5 Tri par fusion (Merge sort) . 66 2.2.1.6 Tri par tas (Heap Sort) . 67 2.2.1.7 Tri par classement (Bucket sort) . 67 2.2.2 Impl´ementation des filtres sp´ecifiques . 70 2.2.3 Conclusion . 70 2.3 Exploitation de parall´elisme intra-processeur . 73 2.3.1 Librairie de traitement des images Intel . 74 2.3.2 Programmation des extensions : filtres sp´ecifiques Min/Max . 74 2.3.2.1 Description g´en´erale de l'algorithme . 74 2.3.2.2 Parcours horizontal . 80 2.3.2.3 Parcours vertical . 82 2.3.2.4 Analyse a` l'aide de VTune . 83 2.3.3 Programmation des extensions : filtre M´edian . 85 2.3.4 Programmation des extensions : filtre d'un rang quelconque . 86 2.3.5 Filtres d´eriv´es et/ou la cha^ıne de traitement . 86 2.3.6 Filtre de rang g´en´eralis´e . 86 2.4 Exploitation du parall´elisme inter-processeur . 88 2.4.1 Ex´ecution sur deux processeurs . 88 2.5 Conclusion . 90 ii Table des mati`eres 3 Architectures d´edicac´ees 91 3.1 Circuits FPGAs . 92 3.1.1 Architecture . 92 3.1.1.1 Description g´en´erale . 92 3.1.1.2 Ressources typiques des FPGAs actuels . 93 3.1.2 Impl´ementation des circuits logiques dans les FPGA . 95 3.1.2.1 Processus d'impl´ementation . 95 3.1.2.2 Perspectives de la description des circuits . 97 3.1.2.3 Efficacit´e des outils actuels d'impl´ementation . 98 3.1.3 Applications des FPGAs . 100 3.2 Parall´elisation du calcul des filtres non-lin´eaires . 101 3.2.1 Classification des algorithmes et des architectures existants . 101 3.2.2 Architectures matricielles . 104 3.2.2.1 Mode bit-s´erie . 104 3.2.2.2 Mode bit-parall`ele . 105 3.2.3 R´eseaux de tri . 106 3.2.4 Architectures bit-s´erie . 109 3.2.4.1 Algorithme pour le filtre de rang . 109 3.2.4.2 Cas particulier de filtre m´edian . 111 3.2.4.3 G´en´eralisation de l'algorithme pour les filtres Min/Max . 114 3.2.4.4 G´en´eralisation pour les autres filtres non-lin´eaires . 115 3.2.5 Architectures d´edi´ees aux filtres de piles . 116 3.3 Conclusion . 118 3.3.1 Performance des syst`emes d´edicac´es existants . 118 3.3.2 Remarques . 119 3.3.2.1 Remarques g´en´erales . 119 3.3.2.2 Remarques sp´ecifiques a` l'architecture . 120 3.3.3 Objectifs . 122 4 Architecture reconfigurable 123 4.1 Description globale du syst`eme d´edicac´e reconfigurable . 126 4.1.1 Introduction . 126 4.1.2 Parties constitutives . 127 4.1.2.1 Partie traitement . 128 4.1.2.2 M´emoire globale . 129 4.1.2.3 Unit´e de contr^ole . 131 4.1.3 Hypoth`eses de travail . 132 4.2 M´emoire locale des unit´es de traitement . 133 4.2.1 Description de la m´emoire locale source . 133 4.2.2 Description de la m´emoire locale destination . 138 4.2.3 Validation de la description . 139 4.2.4 Impl´ementation . 141 4.2.5 Discussion . 143 4.3 Unit´es de traitement . 144 4.3.1 Algorithmes . 144 4.3.1.1 Algorithme Max . 144 4.3.1.2 Algorithme Min . 146 iii Table des mati`eres 4.3.1.3 Algorithme pour le filtre g´en´eralis´e . 146 4.3.2 Description de l'unit´e de traitement pour les filtres Max/Min . 149 4.3.3 Description de l'unit´e de traitement pour le filtre de rang g´en´eralis´e . 153 4.3.3.1 Algorithme d'´elimination successives des maxima/minima lo- caux . 153 4.3.3.2 Algorithme de Danielsson . 154 4.3.4 Validation de la description . 156 4.3.5 Impl´ementation . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    229 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us