eISP : processeur vidéo pour la téléphonie mobile Mathieu Thevenin, Laurent Letellier - CEA LIST et Michel Paindavoine - Université de Bourgogne, LE2i Dans le domaine des processeurs vidéo pour la téléphonie mobile, la demande en ressources de calcul à bas coût est forte notamment pour traiter les standards vidéo haute-définition 720p et 1080p qui sont les futurs standards du marché pour ce type de dispositifs embarqués. L’architecture eISP développée par le CEA LIST vise à supporter ces résolutions tout en proposant une solution programmable, basse consommation et à faible empreinte silicium. 1 : Les algorithmes à supporter (cf. Fig 1 et 2) -Identification des niveaux de parallélisme exploitables Les traitements de la chaîne d’amélioration vidéo sont analysés pour du HD 1080p* ( 10 à 30 GOPs) : - Tâches Pipeline & tâches en temps masqué -Identification et séparation des tâches - Instruction VLIW ( 2 voies) -Identification des opérateurs élémentaires - Spatial SIMD Multi-SIMD Capture Suppression Correction de la dynamique Normalisation Suppression histogramme des bruits Correction gamma Etage de sortie Accentuation Accentuation des contours quage Démosaïquage Balance des blancs 10 à 30 GOPs Fig. 1. Exemple de chaîne de traitement vidéo Traitements 46% Contrôle 16% Accès aux Additions; données comparaison 38% sauts; s; accès aux registres. Additions; multiplications; soustractions; décalages; accès à la mémoire; accès aux registres. Additions; soustractions; décalages; accès aux registres. Fig. 2. Répartition des tâches et des opérations 2 : L’ L’architecture eISP (cf. Fig 3 et 4) 3 : Ré Résultats (en technologie TSMC 65nm) (cf Fig 6) Seuls les cœurs de boucles sont décrits par le programmeur. Les processeurs sont dédiés uniquement au calcul du traitement vidéo. Processeur VLIW 2 voies SplitWay (instance 24 bits): - Tuiles de calcul composées de processeurs VLIW 2 voies SplitWay - Deux opérations/cycle soit 500 MOPs à 250 MHz pour une consommation électrique de 4mW (100 MOPs/mW) - Processeurs fonctionnant en mode Multi-SIMD ou SIMD - Surface inférieure à 8kGates (0,02mm² 65nm) - Accès aux données transparent (gestionnaire de voisinage) L’architecture eISP (instance de 6 tuiles de 6 processeurs intégrant les mémoires) : - Variation de la fréquence des tuiles (adaptation de la capacité de calcul) - 14,4 GOPs @ 200MHz pour moins 250mW (57 MOPs/mW) - Synchronisation entre les tuiles par bus TDMA & horloge pixel - Surface en technologie 65 nm : 1,5mm² - Enchaînement des tuiles programmable par bus TDMA - Possibilité de traiter des voisinages 5x5 L’architecture eISP, adaptée aux contraintes de l’embarqué, est capable de traiter des flux vidéo HD 1080p. Le processeur SplitWay, spécialement conçu, lui confère une capacité de 57 MOPs par mW, ce qui la classe parmi les plus efficaces du marché. Sa structure en tuile de calcul qui la rend scalable et son entière programmabilité permettent une utilisation d’eISP dans différents domaines d’application. EXECUTE Results serialization Instr uctions VLIW #1 Instructions VLIW #2 VLIW #3 VLIW #4 VLIW #5 Fig. 6. Layout d’une tuile De calcul Multi-SIMD VLIW #6 Pixel 1 & neighborhood access Program Counter Program Memory I nsc truction C ontol ler Registres partagés: - vers les autres processeurs; - vers des coprocesseurs; - vers des composants externes... DECODE Mémoire programme FETCH Neighborhood controller Line buffer 1 Line buffer 2 Line buffer 3 Neighborhood Controller FSM Stream controller Données externes - voisinages; - processeurs; - plan mémoire... Vers plan mémoire - mémoire de travail; - co-processeurs; - contrôleur externe... Results Control unit Input Fig. 3. Processeur SplitWay VLIW 2 voies Tuile 1 Normalisation d’histogramme Tuile 2 Balance des blancs Balancegamma des blancs Correction Correction gamma Output Channel Tuile 3 Correction des pixels défectueux Tuile 4 Tuile 5 Tuile 6 Démosaïquage Conversion espace couleur Accentuation Fig. 4. (en haut) Tuile de calcul SIMD composée de 6 processeurs VLIW SplitWay Fig 5. (en bas) Chaîne de traitement telle qu’elle peut être portée sur eISP *HD 1080p : résolution 1920x1080 à 25 images par seconde soit 52MPx/s