• Aucun résultat trouvé

Les architectures reconfigurables peuvent être considérées comme une évolution des systèmes dédiés pré- sentés précédemment. En effet, au lieu de figer dans le silicium des fonctionnalités en interconnectant des composants (transistors, portes logiques, unités arithmétiques et logiques, mémoires, etc.), la solution du re- configurable permet de modifier les fonctionnalités implémentées en intervenant sur l’interconnexion entre ces composants après la fabrication du circuit. Pour que la reconfiguration soit efficace, il est nécessaire qu’elle soit adaptée à la fonction qu’elle doit réaliser, d’où l’importance des outils logiciels [Compton 2002] qui per- mettent d’exploiter les fonctionnalités matérielles proposées. Nous n’aborderons pas ici les solutions Field- Programmable Gate Array (FPGA) qui sont mal adaptées aux contraintes que nous nous sommes imposées.

2.2. Présentation des architectures reconfigurables 31

(a) ORGANISATION DUTIDM310 (b) ORGANISATION DECRISP

FIG. 2.1:SCHÉMA DU PROCESSEUR(a) TRAITEMENT D’IMAGEDM310DETI;(b) ET RECONFIGURABLECRISP.

Seuls les mécanismes de reconfigurations partielles qu’ils proposent peuvent présenter un intérêt dans le cadre de cette étude [Manet 2008,Claus 2007].

Cette section présente plusieurs solutions reconfigurables pour lesquelles des approches de conception dif- férentes ont été utilisées. Dans un premier temps, une architecture reconfigurable à gros grain est présentée. Ensuite, une architecture avec un grain de reconfiguration intermédiaire est étudiée, suivie d’une architecture à grain plus fin. Enfin, d’autres architectures reconfigurables sont brièvement abordées.

2.2.1 Coarse-Grained Reconfigurable Image Stream Processor

Parmi les architectures de traitement du signal capables de supporter des traitements HD 1080p,CRISP

[Chen 2008a] est remarquable. Elle a été spécialement conçue pour réaliser les traitements d’amélioration

d’image en aval du capteur tout en respectant les contraintes de l’embarqué. Avec 171 kGates et 74 kb de mémoire (400 kGates au total), sa surface est de 5 mm2en technologie 180 nm – soit près d’un millimètre carré extrapolé en technologie TSMC 65 nm – sa consommation électrique est de 218 mW à 115 MHz et elle permet de réaliser le traitement complet d’amélioration d’image sur des flux vidéoHD1080p à 55 images par seconde.

Cette architecture est composée de six modules reconfigurables interconnectés les uns avec les autres, afin qu’ils puissent être chaînés comme on peut le voir en Figure2.1b. Chacun d’entre-eux prend en entrée un flux de pixels, effectue le traitement, et le transmet au suivant. Le Local Memory Module permet de gérer les accès 2-D aux pixels sachant que seules quatre lignes sont mémorisées, il supporte donc des tailles de voisinages de 5×5, ou encore deux voisinages 2×2 (ce qui correspond à deux blocs sur la Figure2.1b. Le Pixel-Based Operation Module permet de réaliser les opérations directement sur les pixels ne nécessitant pas l’accès à des données du voisinage. Un MAC Module assure les traitements nécessitant des opérations de multiplications et accumulations. Le Color Interpolation Module peut être configuré pour permettre les opérations de démosaï- quage. Ce dernier communique avec le Local Memory Module pour obtenir les valeurs des pixels du voisinage nécessaires au démosaïquage. Une Unité Arithmétique et Logique (UAL) permet de réaliser des opérations génériques tandis qu’un dernier module permet de sous-échantillonner le flux pour sa prévisualisation.

Nous retiendrons notamment le concept de module d’accès au masque de voisinage qui permet de décharger les autres modules de ces opérations, et la structure flot de données qui permet d’enchaîner les traitements et assurer un parallélisme de tâches. Les traitements que peut supporter CRISP restent toutefois limités à la panoplie prévue lors de la conception du circuit, essentiellement en raison de son grain élevé de reconfiguration. 2.2.2 Multimedia Oriented Reconfigurable Array

L’architecture MORA[Lanuzza 2007], spécialement conçue pour le multimédia, est composée d’une ma- trice 2×2 dont les éléments sont interconnectés par un réseau reconfigurable. Les quatre blocs sont composés

de 16 cellules également reconfigurables comme on peut le voir en Figure2.2a. Chacune d’entre-elles intègre une mémoire de 256 mots de 8 bits et uneUALde 8 bits ainsi qu’une unité de contrôle visible en Figure2.2b. Le comportement de la cellule est déterminé par la configuration de cette unité de contrôle. La mémoire est distribuée au sein de l’ensemble des cellules, ce qui permet de limiter les communications avec l’extérieur ou entre cellules.

La surface de l’architecture MORA est de 0,9 mm2 en technologie ST 90 nm, soit environ 0,6 mm2 en technologie 65 nm. Sa capacité de traitement dépasse 300 échantillons par seconde à 1 GHz pour une DCT

ou pour une conversion d’espace de couleur. La consommation électrique n’est pas renseignée mais de telles fréquences de fonctionnement induisent généralement une consommation élevée.

Une seule instance de cette architecture ne permet pas de supporter une chaîne de traitement complète. En effet, il est nécessaire de reconfigurer le circuit entre chaque traitement, ou bien d’interconnecter ensemble plusieurs instances deMORA, ce qui a été prévu par les concepteurs.

(a) MATRICE2×2DE16CELLULES RECONFIGURABLES (b) CELLULE RECONFIGURABLE

FIG. 2.2: ORGANISATION SCHÉMATIQUE DE L’ARCHITECTUREMORA (a) MATRICE2×2DE16CELLULES RECON-

2.2. Présentation des architectures reconfigurables 33

2.2.3 Reconfigurable Instruction Cell Array

FIG. 2.3: MATRICE DERICA.

Spiral Gateway propose la matriceRICA[Khawam 2008] qui est une structure re- configurable matricielle au niveau opération comme le présente la Figure2.3. La confi- guration fait correspondre à chaque opération d’un programme une cellule de la matrice reconfigurable. Cette solution est particulièrement flexible puisque, associée à un pro- cesseur de calcul, elle permet d’accélérer notablement des fonctions critiques. Toutes les instructions peuvent être exécutées simultanément et sur des données différentes en vue d’obtenir une capacité de calcul élevée.

2.2.4 Approche DART

L’architecture DRIP [Boschetti 2004] adaptée au traitement de l’image, reprend l’approche de l’architecture du processeur DART et tout spécifiquement au niveau du chemin de données reconfigurable dynamiquement. L’architecture DART [David 2003,

David 2002,Pillement 2007] est prévue dès sa conception pour limiter sa consomma-

tion électrique, et l’utilisation d’opérateurs haut niveau dont l’enchaînement est recon- figurable dynamiquement permet de résoudre le problème de la flexibilité. Son fonc- tionnement en flux la rend adapté aux application de traitement du signal, toutefois elle est destinée au domaine des télécommunication.

2.2.5 Autres structures reconfigurables

L’architecture MorphoSys [Lee 2000] est composée d’un processeur Reduced Instruction Set Computer (RISC) associé à un bloc reconfigurable homogène à grain relativement fin. Ce dernier est destiné à accélérer certaines fonctions et est utilisable comme un coprocesseur. L’ensemble présente un total de 1,55 MGates, soit plus de 3 mm2en technologie 65 nm. Une telle surface est nettement supérieure à la précédente architecture. Sa consommation électrique, de plusieurs Watts la rend inutilisable dans le domaine de l’embarqué.

Notons aussi ADRES qui a fait l’objet d’une implémentation adaptée au traitement d’image par Hartmann

[Hartmann 2007]. Cette architecture présente des consommations électriques inférieures à 30 mW, mais sa sur-

face ramenée en technologie 65 nm dépasse plusieurs mm2, pour moitié dédiée à la mémoire de configuration. D’autres structures reconfigurables sont présentées dans la littérature. Elles peuvent se présenter sous la forme de coprocesseurs [Ye 2000,Stretch Inc. 2007,Hauser 1997] ou d’architectures complètes, mais peu sont adaptées aux contraintes de l’embarqué. Nous remarquons, d’une manière générale, que la limite en surface si- licium est d’autant plus vite atteinte que le grain de reconfiguration est fin. Pourtant, outre la flexibilité apportée par l’utilisation d’architectures reconfigurables, le parallélisme de données peut être efficacement exploité, ce qui est tout particulièrement adapté au traitement d’image [Mérigot 1997,Biancardi 2002].

2.2.6 Conclusion sur les architectures reconfigurables

Cette brève étude des architectures reconfigurables utilisées pour le traitement d’image nous permet de constater que plus le grain de la reconfiguration est fin, plus la flexibilité de la structure sera élevée. Toutefois la surface silicium de ces architectures est inverse à la finesse du grain de reconfiguration, d’une part en raison du coût d’interconnexion, d’autre part en raison de la mémoire de reconfiguration. Dans notre cas, il est pré- férable de maintenir un grain de reconfiguration élevé. Ainsi la structure de calcul la plus efficace estCRISP

plus importante, les structures programmables peuvent être utilisées. Ces dernières peuvent être vues comme la généralisation des architectures reconfigurables puisqu’on peut, dans ce cas, considérer que le circuit est reconfiguré à chaque instruction.