HAL Id: hal-00102913
https://hal.archives-ouvertes.fr/hal-00102913
Submitted on 19 Jan 2020
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Etude d’un cache 2D adaptatif et prédictif pour le traitement d’image
Stéphane Mancini, Nicolas Gac, Michel Desvignes
To cite this version:
Stéphane Mancini, Nicolas Gac, Michel Desvignes. Etude d’un cache 2D adaptatif et prédictif pour le
traitement d’image. Journées Francophones en Adéquation Algorithme Architecture, Jan 2005, Dijon,
France. pp.JFAAA 2005. �hal-00102913�
Etude d’un cache 2D adaptatif et pr´edictif pour le traitement d’image
S. Mancini, N. Gac, M. Desvignes
Laboratoire des Images et des Signaux, France, Grenoble {stephane.mancini, nicolas.gac, michel.desvignes}@lis.inpg.fr
Tel : 04 76 57 43 58, Fax : 04 76 57 47 90
Abstract— La n´ ecessit´ e de d´ efinir des in- frastructures mat´ erielles capables de sup- porter la grande diversit´ e et complexit´ e des algorithmes de traitement d’image, pour des tˆ aches telles que la vision, se fait tou- jours plus forte. Aussi nous proposons une hi´ erachie m´ emoire bidimensionnelle suscep- tible de compenser, pour une large classe d’applications, la latence de m´ emoires de type SDRAM. En effet, ces m´ emoires de- viennent un goulot d’´ etranglement lorsqu’y sont stock´ ees des images sur lesquelles sont fait des acc` es al´ eatoires. Le cache 2D adap- tatif et pr´ edictif (cache 2D-AP) propos´ e repose sur une analyse statistique des co- ordonn´ ees des pixels utilis´ es au cours du traitement. Cette analyse nous permet de d´ eterminer une taille optimale de la zone en cache et de pr´ edire les prochains acc` es
`
a l’image. Comparativement ` a des caches standards comme ceux des TM32 ou Pow- erPC405, cette strat´ egie am´ eliore la latence des acc` es m´ emoire jusqu’` a un facteur 6 et la taille du cache jusqu’` a un facteur 40 pour de nombreuses applications. Ce travail illus- tre la possibilit´ e d’utiliser les techniques du traitement du signal pour le contrˆ ole des architectures complexes.
I. Introduction
La conception de syst` emes de traitement de l’image se heurte souvent ` a la mise au point de structures de donn´ ees complexes et d’une hi´ erachie m´ emoire adapt´ ee pour compenser les contraintes technologiques des m´ emoires.
Elle serait facilit´ ee par l’utilisation de m´ ecan- ismes automatiques ou semi-automatiques plus performants que les caches classiques, pr´ evus pour une organisation lin´ eaire des donn´ ees.
Plus les algorithmes deviennent complexesplus leurs s´ equences de traitement deviennent im-
pr´ edictibles du fait des nombreux choix op´ er´ es pendant leur d´ eroulement. En cons´ equence il devient de plus en plus difficile de mettre au point des hi´ erarchies m´ emoires qui ex- ploitent les particularit´ es de l’algorithme car les s´ equences d’acc` es aux pixels des images deviennent de plus en plus al´ eatoires. Ainsi il devient int´ eressant de proposer des modules mat´ eriels susceptibles de satisfaire une large classe d’application et de les ins´ erer dans les flots de conception de syst` emes complexes de traitement d’image.
Le r´ eduction du taux de d´ efaut de cache des caches de micro-processeurs classiques est un enjeu majeur [6] et de nombreuses strat´ egies ont ´ et´ e mises au point pour optimiser diff´ erents param` etres tels que le d´ ebit ou la consom- mation [1]. Cependant les caches convention- nels restent assez inefficaces pour les tˆ aches de traitement d’ images 2D du fait de leur struc- ture fondamentalement lin´ eaire [4]. En effet, la localit´ e en adresse, exploit´ ee par les caches standards, est incompatible avec la localit´ e 2D qui produit des s´ equences d’adresses plus ou moins al´ eatoires.
Pour r´ esoudre ce probl` eme dans des appli- cations de type multim´ edia ou codage vid´ eo, quelques auteurs proposent des tentatives de pr´ ediction[2] et des caches bidimensionnels, comme celui du “video instruction proces- sor” [7]. Cependant, ces caches sont essentielle- ment des extensions des caches conventionnels au cas bidimensionnel et les m´ ecanismes de pr´ e- diction reposent principalement sur une anal- yse des adresses ´ emises par l’unit´ e de calcul.
La mise au point de caches capables de
s’adapter aux applications devient un enjeu
important. En effet, cela permet de lib´ erer le concepteur du r´ eglage de leurs param` etres ou, au contraire, de l’optimisation de l’application
`
a une structure m´ emoire donn´ ee. De telles ar- chitectures proposent des ressources fixes dont les m´ ecanismes d’allocation sont r´ egl´ es dy- namiquement par une analyse ` a la vol´ ee de l’application [8]. Le r´ eglage fin des hi´ erarchies m´ emoire peut aussi se faire par un analyse ` a priori de l’application [5], mais, ` a nouveau, ces strat´ egies reposent sur un mod` ele 1D des acc` es m´ emoire.
Le cache adaptatif et pr´ edictif (cache 2D- AP) propos´ e permet d’am´ eliorer les temps d’acc` es m´ emoire pour des applications dont les algorithmes ont une forte localit´ e spatiale 2D.
Il repose sur un algorithme pr´ edictif de suivi de trajectoire ` a hypoth` ese de vitesse constante.
L’analyse statistique des acc` es pixel se fait par simple filtrage r´ ecursif d’ordre 1, ` a coefficient en puissance de 2 pour r´ eduire le coˆ ut du con- trˆ ole. Des d´ emarches classiques d’ad´ equation algorithme architecture permettent d’am´ eliorer son efficacit´ e en favorisant cette localit´ e par le traitement de paquets de pixels.
Dans la premi` ere partie de cet article, nous trouverons les crit` eres de performance auxquels le cache 2D-AP tente de r´ epondre. Suivent la description de l’algorithme de poursuite dans sa version simple et am´ elior´ ee et une analyse de performance du cache 2D-AP, compar´ e ` a deux caches “n-way set associative”. Pour ter- miner, avant la conclusion, nous aborderons l’impl´ ementation, l’utilisation de ce cache dans un SoC (System on Chip) et la construction d’un cache 2D-AP hi´ erarchique.
II. Principe du cache Adaptatif et Pr´ edictif
A. Principe g´ en´ eral et contraintes
Selon le principe classique du cache, l’objectif du cache 2D-AP est de maintenir une copie locale ` a l’unit´ e de traitement d’une zone d’une image stock´ ee dans une m´ emoire plus lente et, souvent, de tr` es grande capacit´ e, comme une SDRAM (interne ou externe), comme illustr´ e figure 1. L’id´ ee originale du cache 2D-AP est de calculer la position de cette zone dans l’image originale, ainsi que
sa taille, par un algorithme de poursuite des coordonn´ ees des pixels ´ emises par l’unit´ e de calcul. Cette strat´ egie exploite la localit´ e spatiale 2D de l’algorithme de traitement et se montre tr` es efficace pour des applications de vision telles que la recherche de courbe dans une image, le calcul d’int´ egrales curvilignes ou encore pour des applications de type reconstruction 2D en imagerie m´ edicale.
L’exploitation directe de la nature 2D des traitements permet de r´ esoudre les difficult´ es pos´ ees par l’inadaptation des caches classiques au traitement d’image [4]. En effet, les lignes des caches standard sont constitu´ ees de mots cons´ ecutifs en m´ emoire. La progression ver- ticale d’un traitement produit donc syst´ ema- tiquement un d´ efaut de cache, tout comme un d´ eplacement horizontal ` a la fin d’un segment de longueur ´ egale ` a la ligne de cache. Pour r´ esoudre ce probl` eme, les traitements sont sou- vent r´ ealis´ es sur des blocs de l’image dont les tailles et positions sont connues et syst´ ema- tiques mais ces strat´ egies influencent le type de traitement et peuvent ne pas convenir ` a de nombreuses applications.
L’objectif du cache 2D-AP est de proposer un m´ ecanisme syst` eme semi-automatique util- isable pour une large classe d’application et susceptible de d´ epasser les limitations des caches classiques. Ses caract´ eristiques sont les suivantes:
a) Il est plus rapide que les caches conven- tionnels
b) Il utilise moins de m´ emoire
c) La taille de la zone en cache et sa vitesse de d´ eplacement est adat´ ee ` a l’application d) La complexit´ e du contrˆ ole est ind´ epen-
Image en mémoire principale
Zones en cache donnée
donnée
Unité de Calcul
Large et lente
Petit et rapide Cache
P=(x,y) addresse
Pixels utilisés SDRAM
Fig. 1. Principe du cache 2D-AP
dante de la taille m´ emoire du cache e) La technologie cible peut ˆ etre un ASIC
ou un FPGA
Les deux derniers points diff´ erencient forte- ment le cache 2D-AP d’un cache classique qui n´ ecessite souvent la mise en place d’une m´ emoire associative dont les performances sont directement d´ ependantes du nombre de lignes par groupe associatif. Dans le cache 2D- AP, le test de d´ efaut de cache est un test d’appartenance ` a la zone en cache des coor- don´ ees du pixels requis et a un coˆ ut quasi- ind´ ependant de la taille de cette zone.
B. L’algorithme du cache 2D-AP
La pr´ ediction de la zone en cache permet de r´ eduire le taux de d´ efaut de cache lorsque les acc` es pixels suivant se d´ eplacent sur l’image. Le centre et la taille de la zone sont d´ etermin´ es par le calcul de la moyenne et du pseudo ´ ecart type (PSD=pseudo standard deviation) des acc` es pixels. La moyenne et le PSD sont calcul´ es ` a l’aide de filtres passe-bas r´ ecursifs du premier ordre. En supposant une distribution uniforme des acc` es pixels autour de la moyenne, nous pouvons estimer que, pour une courte dur´ ee, ils sont dans un rectangle centr´ e sur la moyenne et dont les demi-largeurs valent deux fois le PSD sur chaque axe. La zone ainsi calcul´ ee est mise
`
a jour lorsque la moyenne varie.
Un m´ ecanisme de pr´ ediction permet d’anticiper la position du centre du cache lorsque les acc` es pixels suivent un chemin complexe dans l’image et r´ eduit ainsi le coˆ ut de la latence des acc` es m´ emoire. La mise ` a jour ne se produit que lorsque la moyenne a suffisament vari´ ee et la nouvelle zone est centr´ ee sur une anticipation de la moyenne,