Architectures reconfigurable et faible consommation. Réalité ou prospective ?

27
SYNTHESE Architectures reconfigurable et faible consommation Réalité ou prospective ? Sébastien Pillement * Raphaël David ** * IRISA - R2D2 6, rue de Kérampon, F-22300 Lannion [email protected] ** CEA, LIST, Laboratoire Calculateurs Embarqués et Image Boîte Courrier 65, Gif-sur-Yvette, F-91191 France [email protected] RÉSUMÉ. Les architectures reconfigurables représentent un nouveau choix dans le processus de conception et d’implémentation d’applications complexes. Les progrès technologique per- mettent l’accès à des architectures reconfigurables supportant des applications complexes et nécessitant de hautes performances. Ces architectures, de par leur flexibilité, offrent des op- portunités pour la prise en compte de la consommation dans le cycle de conception. Bien que récente dans ce domaine, cette contrainte est intégrée dans les nouvelles recherches, et déve- loppements, à tous les niveaux de la conception. Nous présentons dans cet article les opportu- nités et les premiers résultats qu’offrent les architectures reconfigurables, du point de vue de la consommation. ABSTRACT. Reconfigurable computing is a new architectural alternative during design and ap- plication implementation process. Rapid advances in technology nowadays allow the design of reconfigurable components supporting complex industrial applications. Thanks to their flex- ibility, these architectures have a real potential to optimize electrical consumption. Even if power consumption is a new constraint in the reconfigurable architecture design framework, it is integrated at every level in the design flow. In this paper we discuss about the reconfig- urable architectures opportunities, and first results, in the low power consumption field. We also discuss about the way in which the energy efficiency of such architectures may further be improved. MOTS-CLÉS : architectures et systèmes reconfigurables, reconfiguration, reconfigurable, faible consommation. KEYWORDS: reconfigurable architectures and systems, reconfiguration, low power. RSTI – TSI – 26/2007. SoC faible consommation, pages 595 à 621

Transcript of Architectures reconfigurable et faible consommation. Réalité ou prospective ?

SYNTHESE

Architectures reconfigurable et faibleconsommation

Réalité ou prospective ?

Sébastien Pillement* — Raphaël David**

* IRISA - R2D26, rue de Kérampon, F-22300 Lannion

[email protected]

** CEA, LIST, Laboratoire Calculateurs Embarqués et ImageBoîte Courrier 65, Gif-sur-Yvette, F-91191 France

[email protected]

RÉSUMÉ. Les architectures reconfigurables représentent un nouveau choix dans le processusde conception et d’implémentation d’applications complexes. Les progrès technologique per-mettent l’accès à des architectures reconfigurables supportant des applications complexes etnécessitant de hautes performances. Ces architectures, de par leur flexibilité, offrent des op-portunités pour la prise en compte de la consommation dans le cycle de conception. Bien querécente dans ce domaine, cette contrainte est intégrée dans les nouvelles recherches, et déve-loppements, à tous les niveaux de la conception. Nous présentons dans cet article les opportu-nités et les premiers résultats qu’offrent les architectures reconfigurables, du point de vue de laconsommation.

ABSTRACT. Reconfigurable computing is a new architectural alternative during design and ap-plication implementation process. Rapid advances in technology nowadays allow the designof reconfigurable components supporting complex industrial applications. Thanks to their flex-ibility, these architectures have a real potential to optimize electrical consumption. Even ifpower consumption is a new constraint in the reconfigurable architecture design framework,it is integrated at every level in the design flow. In this paper we discuss about the reconfig-urable architectures opportunities, and first results, in the low power consumption field. Wealso discuss about the way in which the energy efficiency of such architectures may further beimproved.

MOTS-CLÉS : architectures et systèmes reconfigurables, reconfiguration, reconfigurable, faibleconsommation.

KEYWORDS: reconfigurable architectures and systems, reconfiguration, low power.

RSTI – TSI – 26/2007. SoC faible consommation, pages 595 à 621

596 RSTI – TSI – 26/2007. SoC faible consommation

1. Introduction

Les applications actuelles ou émergentes, telles que les ordinateurs portables, lessystèmes de télécommunications sans fil, les assistants de personnes (PDA), les termi-naux multimédia ou les réseaux ad’hoc, intègrent des fonctionnalités complexes quidemandent des calculs performants. Les développements actuels visent par ailleurs àintégrer de plus en plus de services différents dans un même produit, on parle alorsde convergence. Cette propriété nécessite la mise en place de systèmes hétérogèneshautes performances et flexibles. Le déploiement et le développement du nomadismeimpacte très fortement le budget consommation des systèmes à concevoir, puisqu’ilsdoivent fonctionner sur batterie. Pour exemple, les futures générations de télécommu-nications mobiles nécessitent de très haut niveau de performance (estimé à 12 GOPS,résultant de l’association de capacités multimédia et de techniques d’accès évoluées)et devront supporter l’ensemble des algorithmes intégrés aux normes de générationsactuelles ainsi que leurs évolutions afin de conserver une compatibilité ascendante.Ces systèmes étant embarqués, leur consommation devra être maîtrisée. Typiquement,les opérateurs considèrent qu’une consommation crête de l’ordre de 500 mWatt per-mettra d’assurer une durée de charge de la batterie d’environ une semaine.

La maîtrise des évolutions technologiques permet l’augmentation des capacitésd’intégration et promet de hautes performances. Cependant, elle nécessite de revoirles flots de conception permettant de tirer parti de la puissance d’intégration dispo-nible. Les nouvelles méthodologies s’appuient soit sur la réutilisation de blocs pré-caractérisés (platform-based design (Chang et al., 1999)) pour former des systèmescomplets mais hétérogènes, soit sur l’utilisation d’architectures très régulières baséessur la réutilisation de motifs simples mais flexibles. La réduction de la taille des tran-sistors implique en plus de repenser les techniques de conception visant l’optimisationde la consommation. En effet, la réduction des tailles de lithographie impose la réduc-tion des tensions d’alimentation pour maintenir des champs électriques de niveauxconstants. Cette réduction de la tension doit nécessairement s’accompagner d’une ré-duction des tensions de seuils des transistors (VT ) pour assurer un niveau de perfor-mance satisfaisant. La consommation statique augmentant exponentiellement avec laréduction de VT , celle-ci devient de plus en plus critique et nécessite la mise en œuvrede nouvelles techniques de réduction de la consommation. Contrairement à ce qui estfait actuellement, les futurs flots de conception devront assurer la maîtrise conjointede la consommation dynamique et statique.

De par les contraintes associées aux nouvelles applications, les solutions totale-ment matérielles (ASIC pour Application Specific Integrated Circuit) ou totalementlogicielles (processeur, processeur de traitement du signal) ne sont plus adaptées.Lorsque par ailleurs, le système doit consommer très peu d’énergie (systèmes embar-qués ou problème de refroidissement) et rester flexible, le problème de sa conceptiondevient insoluble si l’on se limite aux architectures classiques. Dès lors, l’alternativeproposée via l’utilisation d’architectures reconfigurables ouvre de nouvelles perspec-tives pour l’implémentation des futurs systèmes. L’idée de base de ces architecturesest d’offrir aux concepteurs la flexibilité d’une architecture programmable et les per-

Reconfigurables et consommation 597

formances temporelles d’un circuit dédié. Plusieurs pistes permettent d’envisager uneutilisation efficace de ce nouveau paradigme d’exécution. La première vient de lastructure même de ces architectures, ce sont des tableaux très réguliers d’élémentssimples et flexibles. Cette structure est parfaitement adaptée à une intégration dansles futures technologies. La deuxième piste vient de l’utilisation de structures de plusgros grain permettant un réarrangement de chemins de données complexes (au niveauarithmétique).

Dans cet article, après avoir présenté l’espace de conception couvert par les archi-tectures reconfigurables, nous aborderons la problématique de la consommation pourcette cible technologique. Les opportunités de conception pour ce type d’architectureseront étudiées, afin d’identifier les atouts et les limitations du reconfigurable dansle cadre de la minimisation de la consommation. La conclusion recensera alors lesgrands challenge à relever pour obtenir une architecture faible consommation, asso-ciant de très grandes performances à de la flexibilité.

2. Espace de conception des architectures reconfigurables

Les architectures reconfigurables ont été très largement utilisées dans des do-maines très volatiles, où les normes font défauts et où les performances d’un mi-croprocesseur seul ne sont pas suffisantes. Les recherches dans ce domaine se sontdonc intéressées à l’amélioration des performances temporelles et des méthodes deconception, délaissant totalement les aspects consommation. Ces études ont amené laconception de nouvelles architectures (Hartenstein, 2001) supportant les contraintestemporelles d’applications complexes et offrant de nouveaux paradigmes de calcul.

2.1. Espace de conception

Il est facile d’associer architectures reconfigurables et FPGA (Field ProgrammableGate Array). Cependant, ceci réduit considérablement l’espace de conception de cesarchitectures. L’étude sémantique du mot reconfigurable en donne une définition plusprécise. En effet, configuration1, signifie à l’origine façonner à la ressemblance de eta pris le sens de disposition relative d’éléments.

Une architecture est constituée d’une disposition relative d’éléments organisés se-lon un certain schéma. La reconfiguration, en permettant un choix des éléments d’unepart, et de leur disposition relative d’autre part, autorise une variabilité des architec-tures et des traitements à réaliser. Cette définition recouvre alors un large ensembled’architectures dont les FPGA font partis.

L’avantage de ces systèmes vient de la possibilité d’augmenter les performancesde traitement en créant un chemin de données matériel adapté à l’application, tout enmaintenant un niveau de flexibilité dévolu habituellement aux solutions logicielles.

1. Le Robert, dictionnaire historique de la langue française sous la direction d’Alain Rey.

598 RSTI – TSI – 26/2007. SoC faible consommation

Cette flexibilité est obtenue par la mise en place de ressources redondantes offrantdifférentes possibilités de routage ou de calcul. Les architectures sont un arrange-ment (souvent régulier) d’éléments de calcul définis à différent niveau de granularité(Dehon, 1996). Ces ressources de calcul sont interconnectées par un réseau plus oumoins flexible et plus ou moins performant.

c) Reconfiguration au niveau logique

LUT LUT

LUTLUTMAC

In

AddrGen

Memory

AddrGen

Memory

b) Reconfiguration au niveau fonctionel

DataMemory

InstructionDecoder

&Controller

DataMemory

ProgramMemory

Datapath

a) Reconfiguration au niveau système

Figure 1. Classification des architectures reconfigurable suivant le grain de recon-figuration. a) Reconfiguration niveau système : la reconfiguration intervient sur lesunités de traitements. b) Reconfiguration niveau fonctionnel : la reconfiguration in-tervient sur des chemins de données. c) Reconfiguration au niveau logique : la recon-figuration intervient au niveau du bit

La reconfiguration consiste donc à spécifier les opérations et les interconnexions decet ensemble de ressources, que l’on nomme couche opératoire. Cette reconfigurationest effectuée dans une couche supérieure, dite couche de reconfiguration, construiteautour de points de mémorisation statiques. Compte tenu de la dimension de l’es-pace de conception des architectures reconfigurables, il apparaît nécessaire de définirun critère principal de classification autorisant une rapide évaluation des architecturesproposées dans la littérature. A ce titre, nous avons considéré la granularité de la recon-figuration comme étant le plus adéquat. Ce critère de classification permet en effet demettre en avant certains paramètres clés des architectures examinées, parmi lesquelsles modèles de programmation, l’aspect statique ou dynamique de la reconfigurationet son mode d’utilisation. Cette classification permet de distinguer 3 classes d’archi-tectures modélisées sur la figure 1 (David et al., 2005). Cependant, les considérationsde consommation de la reconfiguration au niveau système (figure 1a), correspondantau domaine des processeurs programmables, ne seront pas étudiée dans cet article,car ce domaine est très actif par ailleurs (Laurent et al., 2004; Fridman, 2000). Il està noter que cette classification permet de voir la notion de configuration comme lecontrôle d’une architecture flexible. Cette vision est vrai pour un FPGA pour lequelil n’y a plus de contrôle a réaliser une fois le circuit configurer. Par contre nous dif-férencions la configuration d’un chemin de donnée qui vise à définir la dispositionrelative des éléments de l’architecture, et le contrôle de ce chemin de données qui vise

Reconfigurables et consommation 599

essentiellement à définir les échanges de données au sein du chemin préalablement dé-finit, ainsi qu’éventuellement les opérations a réaliser. Un processeur programmablene possédant pas de configuration dans le sens ou sont chemin de données est figépar le constructeur, il est contrôlé pour définir les opérations et la source des don-nées. Nous présentons dans les sections suivantes les principales caractéristiques desarchitectures grain fin (reconfiguration au niveau logique) et des processeurs reconfi-gurables (reconfiguration au niveau fonctionnel).

2.2. Les architectures reconfigurables de grain fin

La reconfiguration au niveau porte est celle qui est réalisée sur les composantsFPGA (Nketsa, 1998). Les architectures supportant ce type de reconfiguration sontqualifiées de grain fin en raison de la faible largeur des chemins de données. A ceniveau, la reconfiguration opère au niveau logique sur des Look-Up Table (LUTs) etsur leurs interconnexions (figure 2). Étant donnée la quantité de LUTs nécessaire à ladéfinition de fonctions évoluées, et un réseau d’interconnexions totalement connecté,ces architectures nécessitent un très grand nombre de données de configuration.

Interconnexions

BlocsLogiqueReconfigurable

Blocs d'E/SDFF

Chaînage

LUT-4

I1 I2 I3 I4Cout Cin

OutLook Up Table

A B C D Z

0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 10 1 0 0 10 1 0 1 1

. . .1 1 0 0 01 1 0 1 01 1 1 0 01 1 1 1 1

Z

Logique Combinatoire

AB

CD

CDBAZ .. +=

Figure 2. Architecture générique des composants reconfigurable de grain fin

600 RSTI – TSI – 26/2007. SoC faible consommation

La reconfiguration au niveau logique offre la possibilité de définir n’importe queltype de chemin de données en synthétisant les opérateurs requis par l’application.Cette caractéristique est très intéressante pour les traitements logiques pour lesquelschaque bit est susceptible d’être traité indépendamment. Mais si cette flexibilité fa-cilite la spécialisation des chemins de données disposant d’un fort parallélisme auniveau bit, elle est par contre défavorable aux traitements arithmétiques. Lorsque l’onparle de FPGA, il est commun de se référer aux deux grandes familles de composantsreconfigurables au niveau logique, à savoir les produits des sociétés Xilinx et Altera,leaders mondiaux du marché. Les dernières générations de FPGA, le VIRTEX pourXilinx (Xilinx, 2001) et le STRATIX pour Altera (Altera, 2002), offrent de très fortescapacités d’intégration (≈ 10, 000, 000 de portes équivalentes) et des fréquences defonctionnement élevée (500 MHz pour le Virtex4 et le Stratix II).

Dans les dernières génération de circuits, les fabricants ont rajouté un grandnombre d’artifices permettant d’augmenter les performances globales de ces circuits.Par exemple, l’ajout d’un niveau de hiérarchie permet le regroupement de celluleslogiques au moyen d’une matrice d’interconnexions locale qui accélère les communi-cations entre proches voisins. La dernière évolution des FPGA vient de l’intégrationde nombreuses fonctions évoluées au sein même du circuit. Ainsi les DSP Blocksd’Altera et les XtremeDSP de Xilinx offrent des puissances de calcul élevées pour desapplications flot de données au niveau arithmétique. Conjointement à l’ajout de cesblocs spécialisés, il est important de noter l’accroissement constant des capacités destockage local par l’intégration de mémoires de plus en plus grandes.

Il est également à noter que sont récemment apparues des architectures dont lesstructures sont directement issues des FPGA mais dont les ressources de calcul sontlégèrement plus “ grosses ” (Hartenstein, 2001). Celles-ci ne manipulent plus des bitsmais des données dont la largeur varie typiquement de 2 à 4 bits. le projet GARP(Hauser, 2000), ou le projet NAPA (Rupp et al., 1998) en sont des exemples. Cepen-dant, dans le cadre de cette étude, ces architectures n’ont qu’un intérêt limité puis-qu’elles se traduisent par les mêmes avantages et inconvénients que les FPGA com-merciaux.

2.3. Les processeurs reconfigurables

L’inadéquation des FPGA avec les applications à dominante de calculs arithmé-tique a amené les concepteurs à proposer d’autres approches. Dans ces nouvelles ar-chitectures (figure 3), les interconnexions et les opérateurs sont reconfigurables maistravaillent au niveau arithmétique. Ceci a pour effet d’améliorer les performances surles traitements arithmétiques, au détriment des optimisations au niveau bit et doncde la flexibilité. La plupart de ces architectures utilisent un réseau d’interconnexion(Zhang et al., 1999) à deux dimensions, éventuellement hiérarchique. On peut citer,par exemple, les architectures DReAM (Becker et al., 2000), Morphosys (Singh etal., 2000) ou MONTIUM (Smit et al., 2002). Cependant certaines architectures pré-sentent une topologie linéaire comme le Piperench (Goldstein et al., 2000). La granu-

Reconfigurables et consommation 601

larité utilisée dans ces architectures permet de réduire la taille des configurations etainsi d’envisager des stratégies de reconfiguration dynamique.

MUL ALU MEM

AG MEM ALU

AG MUL ADD

SB SB SB SB

SB SB SB SB

SB SB SB SB

SB SB SB SB

CU

CU

CU

CU

CUCU

CUCUOpérateur dédié ou programmable

Entrée/sortie reconfigurable

Interconnexionreconfigurable

Figure 3. Architecture générique des composants reconfigurable de grain épais

Deux approches, dépendant du modèle de programmation envisagé, sont utiliséespour définir les ressources de calcul au niveau fonctionnel. La première consiste àdistribuer le contrôle dans l’architecture, et à définir une hiérarchie dans laquelle leplus bas niveau de contrôle définit la fonctionnalité de l’opérateur. Dans ce cas, lesunités de calcul sont relativement complexes et capables de supporter plusieurs opé-rations. Elles sont typiquement constituées de plusieurs opérateurs (e.g. multiplieur,UAL, registres à décalages. . . ) et disposent d’un registre de configuration ou d’uncontrôleur local. Ce type d’approche est par exemple exemple utilisée dans le SystolicRing (Sassatelli et al., 2001).

D’autres architectures reconfigurables au niveau fonctionnel, telles que Pléiades(Abnous, 2001), PACT-XPP (Baumgarte et al., 2003) ou DART (David, 2003), sebasent en revanche sur des primitives de calcul câblées dont les fonctionnalités sontdéterminées en fonction du domaine applicatif. On trouve ainsi dans ces architecturesdes opérateurs tels que des multiplieurs, des UALs, des générateurs d’adresses, desmémoires. . . et éventuellement certaines fonctions plus spécifiques destinées à accé-lérer certains traitements. Pour ces architectures, la taille des reconfigurations étantlimitée, des mécanismes évolués peuvent être mis en œuvre pour distribuer les infor-mations de configuration et ainsi réduire le coût énergétique associé au contrôle.

602 RSTI – TSI – 26/2007. SoC faible consommation

3. Sources de dissipation de puissance

Dans les paragraphes qui suivent, nous présentons les atouts associés aux diffé-rentes familles architecturales présentées jusqu’alors sous l’angle de l’efficacité éner-gétique qui est définie par l’équation [1] (Brodersen, 2002). Ce critère nous semblele plus adapté, afin de comparer les potentialités des architectures reconfigurables enterme de consommation, mais aussi de performances.

Comparer des architectures n’est pas une chose facile, car les métriques ne sont pastoujours calculées ou interprétées de la même manière (Hennessy et al., 2002). Cetteestimation se complique lorsque l’on souhaite avoir une comparaison multicritère. Lesperformances dépendent de très grands nombres de facteurs comme le jeu d’instruc-tion des architectures, le domaine d’application visé, la technologie utilisée. . . De cefait, les chiffres donnés dans cet article sont des ordres de grandeur.

3.1. Efficacité énergétique

L’efficacité énergétique (équation [1]) s’exprime en MOPS/mW. Cette métriquereprésente le compromis performance/consommation d’une architecture.

E.E. =Nop.Fclk

Pdyn + Pstat + PSC

[MOPS

mW

][1]

Dans l’équation [1], Nop représente le nombre moyen d’opérations réalisées parcycle. Le produit Nop.Fclk représente donc la puissance de calcul de l’architec-ture considérée et s’exprime en MOPS. La somme Pdyn (puissance dynamique),Pstat (puissance statique), PSC (puissance de court-circuit) représente quant à ellela consommation de puissance sous-jacente à l’exécution de Nop opérations par cycle.

Si l’on considère un Pentium 4 D940, dont la consommation est aux alentours de120 Watts, on obtient une efficacité énergétique de l’ordre de 0,2 MOPS/mW si l’onconsidère les résultats de performances fournis par SiSSandra (SiSoftware, 2006). Ilest à noter que cette métrique ne présage pas de la qualité en performance d’une ar-chitecture mais permet de mettre en avant les optimisations souhaitables pour obtenirdes architectures efficaces du point de vue de la consommation.

Le domaine des architectures reconfigurables rajoute, aux approches standard uncertain nombre de compromis et de paramètres que nous expliciterons dans la suite decet article. Certaines optimisations présentées ne sont pas spécifiques au domaine dureconfigurable, nous nous efforcerons alors de présenter les spécificités des architec-tures reconfigurables permettant la mise en œuvre originale de ces techniques.

Reconfigurables et consommation 603

3.2. La consommation statique

La réduction des tailles de lithographie nécessite de réduire les tensions d’alimen-tation des circuits. Si l’on souhaite conserver des niveaux de performances tempo-relles acceptables, on est alors contraint de réduire les tensions de seuil des transistors(Yeap, 2002). La tension de seuil impactant exponentiellement les courants de fuite ducircuit, sa réduction fait prendre de plus en plus d’importance à la puissance statique,jusqu’alors négligée.

Pstat =∑

i

Ileaki.VDD ∀i ∈ {Opr,Ctr,Mem, inter} [2]

Avec Ileaki le courant de fuite moyen du composant i et VDD la tension d’ali-mentation du circuit. La consommation statique est directement liée à la quantité deressources intégrées sur le silicium. Elle affecte tous les éléments du circuit, depuisles ressources de calcul jusqu’aux mémoires en passant par les éléments de contrôleet d’interconnexion. Cette consommation ne dépendant pas de l’activité des données(équation [2]), il est important d’avoir un taux d’activité aussi élevé que possible pouréviter que des ressources inutilisées dissipent de la puissance inutilement. Cette com-posante souffre ainsi de l’augmentation du parallélisme dans les architectures, puisquel’exploitation du parallélisme passe par une augmentation de la quantité de ressourcede calcul et par une réduction conjointe de leur activité. En dehors du taux d’utilisationdes ressources, dépendant notamment de l’architecture, les techniques d’optimisationde la consommation statique ne sont pas propres aux architectures reconfigurables.Actuellement les solutions sont technologique par l’utilisation de transistors spéci-fiques (multi VT ou multi permissivité). Elles ne seront en conséquence pas détailléesdans cet article.

3.3. La consommation dynamique

Pdyn =∑

i

αi.Cdyni .Fclk.V 2DD ∀i ∈ {Opr,Ctr,Mem, inter} [3]

Cdyni = Ai.CS [4]

La définition classique de la consommation dynamique (équation [3]) fait appa-raître un paramètre applicatif αi qui représente l’activité du circuit, en première ap-proximation αi = 0, 5. Contrairement à la puissance statique, l’augmentation de ceparamètre pénalise la consommation dynamique. Des paramètres technologiques CSi ,représentant la capacité moyenne surfacique du composant i, et V 2

DD, on remarque

604 RSTI – TSI – 26/2007. SoC faible consommation

alors que la puissance dynamique varie de manière quadratique avec la tension d’ali-mentation. Enfin, les derniers paramètres dépendent quant à eux de l’architecture (bienqu’étant aussi liés aux possibilités de la technologie employée) et sont la fréquence defonctionnement de l’architecture (Fclk) et la surface du composant i (Ai). De mêmeque précédemment, ces paramètres sont relatifs à tous les éléments de l’architectures(ressources de calcul, de contrôle, de mémorisation et d’interconnexion). C’est-à-direque tous les éléments de l’architecture participe à la consommation dynamique ducircuit.

3.4. La consommation de court-circuit

La consommation de court-circuit est issue de la conduction simultanée des tran-sistors P et N intervenant lors du basculement de la valeur de sortie d’une fonctionlogique. Cette puissance de court-circuit peut être assimilée à la puissance dynamique(équation [5]) du point de vue de son optimisation en consommation.

PSC =∑

i

αi.CSCi .Fclk.V 2DD ∀i ∈ {Opr,Ctr,Mem, inter} [5]

Dans cette équation CSCi représente le transfert de charges entre deux portes, ildépend essentiellement des temps de montée et de descente des signaux d’entree, ducourant moyen dans les transistors, de la tension d’alimentation et des tensions deseuils. L’optimisation de la puissance de court-circuit consiste à réduire l’activité etla surface du circuit. A l’heure actuelle la consommation de court-circuit représenteenviron 10 % de la consommation totale d’un circuit.

3.5. Conclusion

Il ressort des équations [2], [3], [4] et [5] que l’optimisation de la consommationd’énergie passe par l’optimisation de la surface moyenne des opérateurs, de la hiérar-chie mémoire et des ressources de contrôle. Une architecture ne sera en effet considé-rée comme étant efficace du point de vue énergétique que dans la mesure où l’essentielde la consommation d’énergie est localisée dans les opérateurs et que ces derniers sontoptimisés. Il faudra apporter une attention particulière à l’interconnexion, qui devientprépondérante dans les circuits reconfigurables.

Dans les sections qui suivent nous examinons plus en détail les principales sourcesde consommation et nous qualifions les capacités des architectures reconfigurables àminimiser cette consommation, pour un niveau de performance donné. Les optimisa-tions présentées adressent volontairement l’ensemble des acteurs du domaine que sontles concepteurs d’architectures (qui devront optimiser les opérateurs et l’architecturematérielle support de la reconfiguration) et les utilisateurs de ces dernières (qui de-vront optimiser les aspects applicatifs et gestion de l’architecture).

Reconfigurables et consommation 605

4. Distribution de la consommation dans les architectures reconfigurables

4.1. Architectures reconfigurables grain fin

Les FPGA offrent une reconfiguration au niveau bit et utilisent généralement unréseau d’interconnexion de type mesh (maillage). De nombreux travaux ont démontréle potentiel de ces architectures du point de vue de la performance. Ces architecturesintroduisent cependant des éléments pénalisant leur efficacité énergétique. Construiredes opérateurs arithmétique implique en effet l’utilisation d’un grand nombre de cel-lules binaires qui doivent être interconnectées. Le réseau étant très flexible, les signauxdoivent alors traverser un grand nombre de matrices d’interconnexions (SwitchBox)qui induisent un gaspillage d’énergie non négligeable. Les études menées pour esti-mer la consommation d’énergie des FPGA (Poon et al., 2005; Shang et al., 2002; Gar-cia, 2000) montrent que 60 à 70 % de l’énergie consommée est dû à l’interconnexion,20 % est dû à l’arbre d’horloge et que le reste se répartit entre les blocs de calcul etles entrées-sorties. Cette distribution inhabituelle de la consommation traduit un sur-coût énergétique lors des opérations arithmétiques, lié au fait que ces opérations nenécessitent pas un contrôle individuel des bits de données (Abnous, 2001).

Un autre inconvénient de ces architectures provient du volume de données deconfiguration nécessaire à la spécification de l’architecture. Cette configuration (quiconcerne les opérateurs au niveau bit et les interconnexions) est chargée dans unemémoire de type SRAM. Lorsque ces configurations atteignent le million de bits(Xilinx, 2003; ALTERA, 2005b), l’énergie absorbée lors des phases de reconfigu-ration doit être pris en compte.

4.2. Processeurs reconfigurables

La distribution d’énergie des processeurs reconfigurables peut être rapprochées decelle des processeurs programmables. L’ajout de ressources et l’augmentation de lafréquence pour accroître les performances en conservant la flexibilité se paye en effetpar une forte consommation d’énergie de la partie opérative. Cependant la méthode dereconfiguration des processeurs reconfigurables permet d’envisager la réduction de laconsommation d’énergie du plan de configuration. En limitant la taille de la configu-ration et en tenant compte de la règle du 80/20 (Villarreal et al., 2002) ces reconfigu-rations arrivent très occasionnellement et peuvent ainsi réduire la consommation dueà la distribution du contrôle de l’architecture. L’introduction de la flexibilité sur l’in-terconnexion du chemin de donnée peut par ailleurs pénalisé ces architectures, sanspour autant atteindre les niveaux rencontrés dans le cadre des FPGA.

606 RSTI – TSI – 26/2007. SoC faible consommation

Typed’architecture

Taille de laconfiguration

Fréquence deconfiguration

Flex. Efficacité énergétique

ASIC 0 bit 0 - - NAFPGA ≈ 1 M bits Tâche +/- ≈ 1-10 MOPS/mWProcesseurreconfigurable

≈ 1 kbits Fonction + ≈ 10-100 MOPS/mW

Processeur ≈ 10 bits Cycle ++ ≈ 0.1-1 MOPS/mW

Tableau 1. Efficacité énergétique des différentes classes d’architecture

4.3. Conclusions

La problématique de la faible consommation dans les architectures reconfigurablesdoit prendre en compte toutes leurs spécificités. Cette contrainte doit être optimisée àtous les niveaux de la conception d’un système à base d’architectures reconfigurables.

La table 1 résume les avantages et inconvénients des différentes classes d’archi-tecture. La première colonne donne une estimation du nombre de données de reconfi-guration/contrôle nécessaires. La deuxième colonne présente alors la fréquence de re-configuration envisageable et spécifie si la reconfiguration doit être effectuée à chaquecycle, à chaque appel de fonction (ou exécution d’une boucle) ou lorsqu’une nouvelletâche (application) arrive. Le critère de flexibilité est ensuite approximé. La dernièrecolonne présente les ordres de grandeur de l’efficacité énergétique. Pour les ASICscette mesure n’est pas réaliste car dépendant complètement du circuit, de sa concep-tion et d’aspects technologiques trop nombreux.

Nous présentons les ASICs et les processeurs comme base de comparaison. Si d’unpoint de vue performances (temporelles et énergétiques) les ASICs sont la référence,du point de vue de la flexibilité, les processeurs n’ont pas d’équivalents. Les architec-tures reconfigurables offrent alors une large gamme d’alternatives offrant des compro-mis d’implémentations plus ou moins efficaces en fonction des ressources disponibles.Il est à noter que si les FPGA sont à priori les plus flexibles, la difficulté de développe-ment d’applications les rends moins intéressants que les processeurs reconfigurables.Nous allons dans la suite du document présenter les optimisations possibles et les axesde recherche pour réduire la consommation des architectures reconfigurables.

5. Optimisation de la consommation

Dans (Choi et al., 2003), en optimisant le portage d’une application sur une cibleFPGA, les auteurs obtiennent des gains de consommation de l’ordre de 70 % parrapport à une implémentation classique sur un Xilinx VIRTEX II et un DSP TexasInstruments TMS320C6415. Ces gains sont obtenus grâce à un choix judicieux desalgorithmes. Par cet exemple, nous souhaitons illustrer l’impact des optimisations al-gorithmiques sur l’efficacité énergétique du système. Bien que cet article de synthèse

Reconfigurables et consommation 607

se concentre sur les optimisations de conception d’architectures reconfigurables, ilest bien évident qu’une architecture aussi efficace soit-elle ne peut suffire à garantirl’efficacité énergétique d’un système complet, et ne dispense pas l’utilisateur d’uneoptimisation de haut niveau de l’application à porter.

L’équation [3] modélisant la consommation dynamique dans les circuits reconfi-gurables met en avant deux types de composantes. D’un côté les paramètres CS , Fet VDD, décrivant respectivement la capacité surfacique moyenne du circuit, sa fré-quence de fonctionnement et sa tension d’alimentation, traditionnellement communsà l’ensemble du circuit, et de l’autre les paramètres αi et Ai, propres aux différentséléments du circuit, à savoir l’unité de contrôle, de calcul, de mémorisation et d’inter-connexion. Les paragraphes qui suivent visent à dresser un état des différentes tech-niques d’optimisation relatives à chacun de ces paramètres.

5.1. La consommation dans le contrôle

La consommation issue de l’unité de contrôle s’estime par le biais de l’équa-tion [6]. Dans cette partie, nous nous intéressons à l’optimisation des paramètrespropres à l’unité de contrôle, à savoir son activité αCtr et sa complexité ACtr.

PdynCtr= ACtr.αCtr.Cdyn.F.V 2

DD [6]

L’optimisation de ACtr passe principalement par une réduction du volume d’in-formations de contrôle devant être distribuées pour faire fonctionner le circuit. Cesinformations de contrôle peuvent concerner tout aussi bien la spécification du cheminde données de l’architecture, que le contrôle de celui-ci. Ainsi, dans une architecturede grain fin tout type d’opérateur et d’interconnexion peut être spécifié ce qui conduit àun volume de configuration particulièrement élevé. A titre d’exemple, le dernier com-posant proposé par Xilinx, le XC4VLX200, nécessite plus de 51 Mbits de configura-tion, qui doivent être stockés et distribués. En revanche, une fois spécifié, le chemin dedonnées n’a plus à être contrôlé, aucune information de contrôle ne doit donc être dis-tribuée au cours du temps. À l’inverse, dans un processeur programmable, le cheminde données ne doit pas être défini puisqu’il est figé lors de la conception du processeur.En revanche, pour contrôler à chaque cycle le chemin de données, ce type de solutionnécessite des mémoires de programme dont les tailles varient avec la complexité desapplications à traiter. Entre ces deux extrêmes, certains processeurs reconfigurables in-tègrent des techniques de reconfiguration offrant un niveau de flexibilité comparable àcelui des processeurs tout en minimisant la complexité de cette opération de contrôle(David, 2003; Ebeling et al., 2004).

Outre ces techniques dédiées aux architectures à grain épais, des travaux ont éga-lement été menés dans le but de limiter la quantité de données devant être transféréepour reconfigurer le circuit. Elles se sont notamment traduites par l’introduction de

608 RSTI – TSI – 26/2007. SoC faible consommation

techniques de reconfiguration partielle et par le partage d’informations de configura-tion entre plusieurs sous-ensembles du circuit. Outre ce gain en consommation relatifà la minimisation de la quantité de données à transmettre, la reconfiguration dyna-mique a par ailleurs permis la mise en œuvre d’autres optimisations de la consomma-tion. En particulier, dans (Park et al., 1997; Park et al., 1999), les auteurs utilisent lareconfiguration partielle pour réduire la taille du circuit utilisé, un circuit plus petitconsommant moins d’énergie. L’objectif principal est d’éviter d’avoir une activité surdes ressources non utilisées. Ils ont appliqué cette méthode au traitement des imageset s’adaptent aux besoins en monitorant les entrées du système. Des blocs fonction-nels sont alors répliqués ou supprimés en utilisant la reconfiguration partielle et dyna-mique. Ce premier résultat est un effet collateral de la reconfiguration dynamique quivise à augmenter la densité fonctionnelle des circuits. Cette densité fonctionnelle per-met alors d’utiliser des circuits plus petits en multiplexant temporellement différentesapplications sur le même circuit. Un autre effet de la reconfiguration dynamique influesur la gestion du flot de contrôle des chemins de données.

Le coût énergétique du contrôle est par ailleurs très largement influencé par laméthode mise en œuvre pour faire évoluer le flot de contrôle. Le choix de cette mé-thode est basé sur un compromis entre performances et flexibilité. Le premier choixoffert au concepteur est une solution très déterministe, basée sur des structures demicroséquenceurs qui gèrent une séquence prédéterminée (à la compilation) d’en-voi d’informations de configurations ou de contrôle. Cette solution se traduit par unemaîtrise de la consommation mais limite très significativement la flexibilité, i.e. la fa-cilité de mise en œuvre de la reconfiguration (e.g. DART (David, 2003), PACT-XPP(Baumgarte et al., 2003)). A l’opposé, il est possible de se baser sur des techniques debeaucoup plus haut niveau permettant de supporter des interruptions, voire d’ordon-nancer dynamiquement les différentes phases de traitement d’une application (Steigeret al., 2004; Nollet et al., 2003; Benoit, 2004). Cette approche permet notammentd’envisager de faire de la gestion dynamique de puissance sur des architectures recon-figurables. Dans (Chevobbe, 2005), une autre alternative consiste à se baser sur unestructure de contrôle elle-même reconfigurable et auto-adaptable. Le contrôle dyna-mique de l’application est modélisé sous la forme de réseaux de Petri implémentésdirectement sur la structure matérielle. Outre la capacité de supporter des flots decontrôle dynamiques (et donc des optimisations logicielle efficaces du code applica-tif), cette solution a l’avantage supplémentaire, du point de vue de la consommation,de minimiser le coût énergétique de la distribution du contrôle puisque le passage d’unétat du graphe de pétri à un autre (et donc d’un état de contrôle à un autre) n’induit del’activité que sur une très faible portion de la structure de calcul.

5.2. La consommation dans les ressources de mémorisation

La consommation issue de l’unité de mémorisation s’estime par le biais de l’équa-tion [7]. De même que précédemment, nous ne nous intéressons dans cette partie qu’à

Reconfigurables et consommation 609

l’optimisation des paramètres propres à l’unité de mémorisation, à savoir son activitéαMem et sa surface AMem.

PdynMem= AMem.αMem.Cdyn.F.V 2

DD [7]

La réduction du coût de l’accès aux données implique la minimisation de deuxcritères : le coût d’un accès mémoire et le nombre d’accès mémoire. Le coût d’unaccès mémoire dépend de la taille de cette dernière, mais ne varie pas de façon linéaire(figure 4). Il faut alors privilégier les mémoires de petites taille et mono-port. Bien queles architectures reconfigurables disposent de ressources de stockage dont le nombreet la taille sont figés, il est concevable de construire des hiérarchies mémoire efficaces(Chillet et al., 2005). À titre d’exemple, le FPGA VirtexII dispose de trois types deressources de mémorisation : des registres, des mémoires locales de 128 bits et desblocs de mémoire de 18 kbits. Dès lors, il est possible de concevoir une hiérarchiemémoire appropriée, limitant le coût énergétique moyen des accès aux données. Bienque les études portant sur la conception de hiérarchies mémoire sur les composantsdédiés soient aujourd’hui en passe d’arriver à maturité (Chillet et al., 2003; Wuytacket al., 1998), elles tardent à s’amorcer sur les composants reconfigurables.

0

20

40

60

80

100

120

140

160

64 256 1024 16536

Nombre de mots

pJ p

ar a

ccès

Figure 4. Consommation d’énergie d’un accès mémoire en fonction de la taille de lamémoire

La notion de reconfiguration s’introduit toutefois au sein même des hiérarchiesmémoire. En particulier, certaines études visent à proposer des structures mémoiressupportant différents modes d’accès, permettant ainsi la sélection d’un mode appro-prié aux besoins applicatifs et donc efficace d’un point de vue énergétique (Mai etal., 2000; Srini et al., 2002). Afin de proposer une mémoire de dimension adaptée

610 RSTI – TSI – 26/2007. SoC faible consommation

aux données à manipuler, (Ngai et al., 1995) propose une structure basée sur des pri-mitives de mémorisation pouvant être configurées suivant quatre motifs (1 k x 1 bits,512 x 2 bits, 256 x 4 bits ou 128 x 8 bits). Comparativement à une solution program-mable standard basée sur l’interconnexion de blocs de mémorisation de largeur 1 bits,cette solution s’avère 20 fois plus dense. Celle-ci se présente donc comme une bonnealternative à l’utilisation de composants programmables. Afin de minimiser les trans-ferts de données entre mémoires, certaines études visent par ailleurs à proposer desinterfaces mémoire reconfigurables. Ainsi, pour être accessibles par les ressources decalcul, les données n’ont plus à être tranférées, seules des modifications des liens entreressources de calcul et de mémorisation sont nécessaires (Tewksbury et al., 1998; Sakret al., 1997).

De par leur structure, les architectures reconfigurables autorisent par ailleurs uneréduction sensible du nombre d’accès aux données. L’exploitation de la localité spa-tiale des données est notamment facilitée par les connexions de type "un vers tous"pouvant être mises en œuvre dans ces architectures. Il devient ainsi possible d’appro-visionner plusieurs unités de calcul par le biais d’un unique accès mémoire. La localitétemporelle des données passe quant à elle par l’utilisation des plus bas niveaux de lahiérarchie mémoire. L’exploitation des registres internes aux chemins de données pourcréer des chaînes de retard permet à ce titre d’économiser de précieux accès mémoires.Dans (David, 2003), l’auteur montre que l’exploitation de ces chaînes de retard dansun processeur reconfigurable implémentant un filtre FIR permet de réduire de 30%l’énergie consommée lors de l’exécution de cette application. Il est par ailleurs à noterque le fonctionnement flot de données adopté dans les architectures reconfigurablesde grain fin ou les processeurs reconfigurables minimisent naturellement la quantitéd’accès en mémoire puisque leur fonctionnement flot de données élimine la nécessitéde stocker les résultats temporaires.

Du point de vue de l’accès aux données, il est finalement intéressant de s’attardersur la méthode employée pour gérer le séquencement de ces accès. En effet, les méca-nismes mis en œuvre pour générer les adresses des données manipulées peuvent avoirun impact significatif sur la consommation. Une fois encore, la méthode employéedoit permettre de satisfaire un compromis entre flexibilité et efficacité énergétique.Dans le spectre des solutions envisageables, les accès microprogrammés représententl’optimum de flexibilité mais conduisent à un surcoût énergétique très conséquent,puisqu’à chaque cycle, une instruction doit être lue, décodée, puis traitée afin de pou-voir générer une adresse. Pour minimiser ce surcoût énergétique, des solutions pluscâblées telles que le GAG (Generic Address Generator) (Hartenstein et al., 1995)peuvent être utilisées. Celles-ci se basent sur la présence de trois modules pour gé-nérer tout types de séquences d’accès régulières, de type modulo. En combinant cesmodules, des adressages de tableaux à multiples dimensions peuvent également êtreréalisés. L’efficacité énergétique de ces modules se paye cependant par une réductionde la flexibilité puisque ce type de solution ne permet la génération que de séquencesd’accès régulières.

Reconfigurables et consommation 611

5.3. La consommation dans les opérateurs

De la même manière que pour le contrôle et l’unité de mémorisation, les optimi-sations des opérateurs visent essentiellement à maîtriser les paramètres propres auxopérateurs, à savoir l’activité αOpr et la surface AOpr. Si les opérateurs sont à optimi-ser, on notera cependant que c’est ce travail qui va définir l’efficacité énergétique del’architecture. En effet, les opérateurs sont les supports de réalisation des traitementsd’une application, c’est une source de consommation nécessaire et utile. Il est doncindispensable d’optimiser l’architecture interne des opérateurs et donc de bien choisirl’algorithme arithmétique d’implémentation (Beuchat, 2001).

La première optimisation possible vient de la décomposition logique des circuits.Cette optimisation concerne essentiellement les architectures grain fin, les processeursreconfigurables travaillant au niveau arithmétique. En effet, dans un FPGA, la logiqueest implémentée sous forme de LUT généralement de 4 entrées. Ces LUT, pouvant êtreassimilées à de la mémoire SRAM, sont souvent sous-utilisées gaspillant alors de lalogique et des interconnexions. Ce problème d’optimisation de l’utilisation des LUTest NP-complet et n’est pas beaucoup abordé dans la littérature (du point de vue de laconsommation), les architectures étant extrêmement protégées par leur constructeur.Cependant, des optimisations peuvent êtres apportées à partir d’une solution initiale,en remaniant le mapping technologique afin de réduire, à fonction constante, le tauxd’activité des signaux internes d’une fonction complexe (Chen et al., 1997). Les résul-tats obtenus amènent une amélioration de l’ordre de 10 % sur la consommation globaledu circuit. Il est aussi possible, étant donnée la flexibilité des architectures, d’envisa-ger des techniques d’encodage de bus ou de machines d’états (Sutter et al., 2002)permettant de réduire le taux d’activité des signaux.

Une autre approche se retrouve dans les architectures FPOP (Tisserand et al.,1999) ou le RNS Reconfigurable Processor (Cardarilli et al., 2002). L’idée est ici de ti-rer partie des propriétés des codes redondants ou de l’arithmétique des résidus (RNS),afin de réduire la surface des opérateurs arithmétiques. Ces arithmétiques permettentde représenter les systèmes sous la forme de petits chemins de données indépendant,permettant d’optimiser l’utilisation des ressources de routage. Le parallélisme des ar-chitectures grain fin est particulièrement bien adaptée à ce type d’approche. Il est éga-lement possible d’utiliser l’arithmétique en-ligne afin de réduire la surface des opéra-teurs et l’activité des signaux (Beuchat et al., 2004), cette approche ne fonctionne enrevanche qu’avec des architectures reconfigurables grain fin.

Finalement le mécanisme d’horloge gardée (clock gating), qui est une techniquetrès largement utilisée, peut être appliquée aux architectures reconfigurables. En uti-lisant les ressources de gestion d’horloge intégrées, il est possible de gérer dynami-quement l’arbre d’horloge afin de ne faire commuter que les parties utiles du circuit(Brynjolfson et al., 2000). Cette approche est par exemple possible dans le Spartan3E (version low-power du circuit de base) et dans le nouveau Virtex 4 de chez Xi-linx, par le biais de l’utilisation d’une broche de validation sur le Buffer d’horloge(Xilinx, 2005). Une autre possibilité est de réduire dynamiquement la fréquence de

612 RSTI – TSI – 26/2007. SoC faible consommation

certaines parties du circuit. Ces techniques sont aussi employées dans des processeursreconfigurables comme DART par exemple (David, 2003).

5.4. La consommation dans l’interconnexion

Les architectures reconfigurables nécessitent la mise en place d’un réseau d’inter-connexions performant et flexible. C’est en effet le réseau qui supporte une grandepartie de la flexibilité de ces architectures. Comme nous l’avons dit précédemment,l’interconnexion est le bloc qui consomme le plus dans un FPGA et il convient doncde l’optimiser avec soin et de tirer partie au mieux de ses caractéristiques. Les res-sources de calcul sont interconnectées par un réseau plus ou moins flexible et plus oumoins performant (Zhang et al., 1999). Les connexions sont réalisées par des matricesd’interconnexions (SwitchBox figure 5c) construites autour de portes de transmissionpermettant de créer des connexions entre les segments arrivant sur la matrice (Connec-tionBox figure 5b). Un grand nombre d’architectures utilisent un réseau 2D de typeMesh (figure 5a).

SB

cluster CB

CB

clusterCB

CB

cluster CB

CB

clusterCB

CB

Nbc

Ncs

Ssc

a) Réseau MESH 2D

CB ≡ Nbc MOS

b) Modèle d’une boite de connexions (ConnectionBox)

SB ≡Ncs connections

c) Modèle d’une boite de commutation (SwitchBox)

≡Cdiff

d) Modèle d’un interrupteur

Cdiff

≡Ron

Cwire

e) Modèle en pi d’un fil d’interconnexion

Figure 5. Architecture générique d’un réseau 2D de type MESH et modélisation desdifférents éléments de l’interconnexion

Reconfigurables et consommation 613

Une modélisation en π (figure 5e (Celik et al., 2002)) peut être construite pour cetype d’interconnexion. Si ce modèle simple (et donc limité) ne permet pas d’exprimertoutes la difficulté d’optimisation d’un réseau d’interconnexion, il permet d’identi-fier les points à optimiser grâce à l’équation [8]. Si l’on considère (figure 5a) que lesîlots de calcul sont les clusters, Nbc comme étant le nombre de connection par canalde communications (e.g. entre deux SwitchBox), Ssc le nombre de sortie accessiblespar cluster (figure 5b), Ncs le nombre de connexions réalisables par SwitchBox (fi-gure 5c) et L le nombre de SwitchBox à traverser pour une communications, alors ilressort de l’équation 8 que l’optimisation en consommation d’un réseau d’intercon-nexion consiste à réduire la longueur de ces interconnexions (L) tout en définissant uncompromis optimal entre flexibilité et performance (Ncs, SscetNbc). Par exemple ilest intéressant de construire des réseaux segmentés, présentant une connectique tousles 2, 4, 8 blocs. Ceci permet en effet de réduire le nombre de SwitchBox à traverser,optimisant de ce fait la consommation au détriment de la flexibilité du réseau. Il estpar ailleurs à noter que l’optimisation en consommation du réseau s’apparente à uneoptimisation en performance.

Pcom = α.FCLk.(2.Cdiff .(Ssc + Ncs +Nbc

Ssc)

+ L.((2.Ncs +Nbc

Ssc).Cdiff + Cwire)).V 2

DD) [8]

La longueur des interconnexions peut être optimisée par la définition de structureen arbres, ou des variantes de celles-ci telle que la structure de l’ADAPT2400 deQuicksilver (Plunkett et al., 2004). Ce type de structure permet de faire évoluer suivantune loi logarithmique le nombre de SwitchBox traversées avec la distance entre leproducteur et le consommateur (et non une loi linéaire comme dans un réseau mesh).Des structures efficaces dans le cadre de liaisons courtes (Point à Point, crossbar)peuvent également être associées à ces réseaux dans des structures hiérarchiques. Cesconnections locales sont cependant trop coûteuses à généraliser pour des systèmesintégrant un grand nombre de ressources.

Une architecture grain fin et faible consommation a été proposée par V. George(George, 2000). Cette architecture implémente une interconnexion de type low-swingsignaling et apporte une attention particulière aux matrices d’interconnexions par l’ex-traction de la taille optimale des transistors constituant les portes de transmission. Leproblème principal provenant des connexions non activées qui introduisent de fortescapacités de charge, un réseau d’interconnexions hiérarchique permettant la réduc-tion de la consommation a été étudié. La hiérarchie de calcul a également été revuepour obtenir une consommation plus faible tout en maintenant un niveau de flexibilitéacceptable.

Le dernier aspect de l’optimisation de l’interconnexion dans les architectures degrain fin vient du placement des blocs de traitement logiques dans la couche opéra-

614 RSTI – TSI – 26/2007. SoC faible consommation

toire des FPGA. Ce placement a un impact fort sur le routage. Les algorithmes deplacement/routage minimisent le temps d’exécution ou la surface. Pour une concep-tion efficace en consommation le placement/routage doit souvent être effectué à lamain.

5.5. Optimisations au niveau technologique

Dans ce paragraphe, nous nous intéressons à l’optimisation des paramètres tech-nologiques, communs à l’ensemble du circuit. Il est important de noter à ce titre qued’une manière générale les optimisations d’ordre technologiques mises en œuvre dansles circuits spécialisés de type ASICs sont directement réutilisables au sein des com-posants reconfigurables, sans adaptation particulière. Ces optimisations ne concernentque les concepteurs de circuits.

Au niveau transistor les initiatives d’optimisations propres aux circuits reconfigu-rables sont rares, le marché étant couvert par les deux principaux fabricants de FPGA.Cette situation laisse donc peux de place pour les innovations à ce niveau. Cependant,Xilinx offre désormais des architectures spécifiques pour la faible consommation, parle biais de l’architecture CoolRunner (Xilinx, 2003). Cette architecture de CPLD2 pos-sède un mode standby et supporte différents domaines d’horloge et un fonctionnementasynchrone. Cette architecture supporte des fréquences de 333 MHz et consomme 14µA en mode standby. Ce mode a par ailleurs été intégré dans d’autres architectures deXilinx, comme le Spartan et le XC4000 (serie XL).

Récemment, les fabricants ont par ailleurs intégré dans leurs produits des mé-canismes permettant de réduire la consommation. Ces blocs spécifiques concernentessentiellement la gestion du réseau de distribution de l’horloge (Brynjolfson etal., 2000). Les FPGA actuels intègrent plusieurs DLL (Delay Locked Loop) ou PLL(Phase Locked Loop) permettant de définir plusieurs domaines d’horloge indépen-dants (Xilinx, 2001; ALTERA, 2005a). Cette possibilité de définir des système Glo-balement Asynchrone et Localement Synchrone (GALS) ouvre dès lors de nouveauxaxes d’optimisation. Dans de tels systèmes, chaque sous-ensemble du circuit est di-mensionné au plus juste et est cadencé avec une horloge adaptée. La possibilité dedéfinir plusieurs domaines d’horloge permet en outre de réduire très significativementle coût de la distribution de ce signal au travers du circuit.

Des recherches ont par ailleurs été menées à ce niveau pour proposer notammentde nouvelles architectures de portes de transmission. Les auteurs de (Kusse, 1998)ont montré qu’avec une architecture de porte de transmission appropriée la tensiond’alimentation peut être ramenée à 2xVT . Cette réduction possible de la tension d’ali-mentation permet, par voie de conséquence, une réduction quadratique de la puissancedissipée.

2. Complex Programmable Logic Device (Nketsa, 1998).

Reconfigurables et consommation 615

5.6. Exploitation du parallélisme

Dans cette dernière section, nous nous intéressons à l’optimisation des deux der-niers paramètres de l’équation [3], à savoir la tension d’alimentation et la fréquencede fonctionnement. Compte tenu de l’influence quadratique de la tension d’alimen-tation sur la consommation dynamique d’un circuit, il convient de mener une poli-tique agressive de réduction de ce paramètre. Pour compenser la perte de performanceassociée à la réduction de la tension d’alimentation, il convient alors d’exploiter aumieux le parallélisme inhérent à l’application. Celui-ci peu cependant revêtir diffé-rentes formes. Il est ainsi courant de rencontrer des traitements disposants de fortsdegré de parallélisme au niveau des mots, des opérations ou encore des tâches. L’ef-ficacité énergétique d’une architecture dépend donc largement de sa capacité à sup-porter les types de parallélisme propres aux applications à exécuter. Afin d’élargir lespectre des applications implémentables efficacement sur une architecture, certainesétudes visent à proposer des solutions de calcul supportant différents types de paral-lélisme (David, 2003; Baumgarte et al., 2003). D’autres solutions s’attachent ensuiteà proposer des structures susceptibles d’assurer le séquencement de plusieurs flotsde contrôle en parallèle (Chevobbe, 2005) et des solutions de mémorisation (Mai etal., 2000) supportant toutes ses formes de parallélisme.

Le parallélisme peut également être utilisé pour minimiser le volume de donnéesde configuration. En effet, le parallélisme est bien souvent extrait d’une application endupliquant des séquences de traitement. La transformation de ses séquences de trai-tement en configuration se traduit alors par la répétition de mêmes motifs de calcul.Cette redondance dans les chemins de données peut alors être exploitée en vue deminimiser la quantité de données à transmettre à destination de ressources de l’archi-tecture. Les mêmes informations peuvent en effet être simultanément envoyées versde multiples destinations. Un tel partage d’informations de configuration constitue parexemple la base des architectures de type SIMD (Single Instruction Multiple Data) oudu concept de SCMP (Single Configuration Multiple Data) proposé dans l’architec-ture DART (David, 2003).

Dans (Boemo et al., 1998), les auteurs montrent une réduction de la consommationd’énergie de l’ordre de 33 % par l’utilisation d’une autre forme de parallélisme, ditepipeline “en vague” (Wave Pipeline). Ce pipeline ne découpe pas le circuit en fonc-tionnalité, mais crée des chemins de longueurs égales. Tirant partie de la topologie desarchitectures reconfigurables, il permet de ne pas limiter la fréquence de fonctionne-ment par des chemins critiques trop longs et disparates. Les auteurs ont aussi démontréun gain de 45 % par un partitionnement judicieux de l’application. Cette technique depipeline augmente la puissance dissipée mais peut permettre la diminution de l’éner-gie globalement consommée pour traiter une application. Cette technique de pipelineest également utilisée dans l’architecture Piperench. Les auteurs utilisent ici la recon-figuration pour définir la notion de pipeline virtuel (Sharma et al., 2004) permettantl’implémentation d’une application dont le nombre d’étages de pipeline est supérieurà celui que peut supporter l’architecture.

616 RSTI – TSI – 26/2007. SoC faible consommation

6. Conclusions et perspectives

La consommation des circuits reconfigurables devient une contrainte de concep-tion importante. Hormis des effets de bord dus aux spécificités de ces architecturespermettant d’obtenir de la flexibilité, toutes les techniques classiques de conceptionen vue de la faible consommation peuvent êtres utilisées. Les fabricants de circuitsreconfigurables apportent par ailleurs un intérêt de plus en plus grand à ces questionset offrent des possibilités d’optimisation de la consommation dans leurs architectures.La reconfiguration ayant pour le moment principalement été exploitée pour définir desarchitectures de calcul, il convient par ailleurs de mener une réflexion sur la façon dontces architectures peuvent être intégrées dans des systèmes complexes nécessitant desmécanismes de contrôle et de synchronisation non triviaux.

Il n’existe pas à l’heure actuelle d’architecture reconfigurable au niveau bit, as-sociant des considérations de faible-consommation et une forte densité d’intégration.Des initiatives existent cependant à des niveaux de reconfiguration supérieurs. L’ar-chitecture Pléiades (Abnous, 2001) est une architecture reconfigurable hétérogène dé-finie pour la faible consommation. L’intégration de blocs de calcul dédiés et la défini-tion d’un réseau d’interconnexions hiérarchique lui permettent d’obtenir une efficacitéénergétique de 30 MOPS/mW. L’architecture DART (David, 2003) est quant à elleune architecture reconfigurable au niveau fonctionnel. La prise en compte, lors de saconception, de la contrainte de faible consommation permet d’obtenir une efficacitéénergétique de 40 MOPS/mW. Cependant de nombreux verrous restent à lever. Eneffet les architectures reconfigurables à faible grain souffrent d’une sous-utilisationde leurs ressources de calcul amenant un gaspillage d’énergie. De plus, les modèlesde consommation entre architectures reconfigurables et dédiés sont différents, la puis-sance étant généralement due à l’horloge dans les ASIC, alors que ce sont les intercon-nexions qui sont dominantes dans les architectures reconfigurables de grains fin. Cettepression sur l’interconnexion risque de s’accentuer avec l’avènement des technologiessubmicroniques profondes. Si le support matériel de l’interconnexion est fixe, le choixdes modèles de communications et de la topologie du réseau reste délicat et à adapteren fonction des applications.

Le problème de la consommation statique n’a été que peu évoqué dans ce docu-ment car non propre aux architectures reconfigurables. C’est cependant un problèmemajeur qu’il faut prendre en compte à toutes les étapes du cycle de conception desarchitectures reconfigurable. Cette problématique sera d’autant plus vraie pour les ar-chitectures reconfigurables que la flexibilité est obtenue par la redondance du matériel.

Enfin, les méthodologies de conception nécessitent des estimations précises et dehaut niveau afin de guider la synthèse des applications. Si l’estimation de consomma-tion du plan opératoire commence à être maîtrisée, il en est autrement de la consom-mation du plan de configuration pour lequel aucun travail n’est mené à ce jour. Cesestimations deviendront prépondérantes si l’on souhaite tirer partie des possibilitésde reconfiguration partielle des futures architectures. Ce plan de configuration pose leproblème de la maîtrise de la consommation dans les mémoires. Des travaux sur les as-

Reconfigurables et consommation 617

pects dynamique de la gestion des architectures reconfigurables dynamiquement sontà faire pour gérer, à la manière d’un système d’exploitation, les ressources de l’archi-tecture. Les circuits actuels permettent d’envisager de faire de la gestion dynamiquede tension et de fréquence.

Les architectures reconfigurables offrent des opportunités pour la conceptionfaible-consommation. Si des progrès tardent pour les architectures faible grain, lesprocesseurs reconfigurables s’affichent d’ores et déjà comme de bonnes alternativesdans le cadre de la conception de systèmes faible consommation.

7. Bibliographie

Abnous A., Low Power Domain Specific Processors for Digital Signal Processing, PhD thesis,University of California, Berkeley, 2001.

Altera, Stratix FPGA Family, Datasheet ver. 3.0, Altera, December, 2002.

ALTERA, Building Systems with Multiple Clock Domains, vol. 4 of Quartus II 5.0 Handbook,ALTERA, April, 2005a.

ALTERA, Chapter 3 : Configuring Stratix & Stratix GX Devices, vol. 1 of Configuration Hand-book, ALTERA, August, 2005b.

Baumgarte V., Ehlers G., May F., Nückel A., Vorbach M., Weinhardt M., « PACT XPP —A Self-Reconfigurable Data Processing Architecture », The Journal of Supercomputing,vol. 26, n˚ 2, 2003, p. 167-184.

Becker J., Pionteck T., Glesner M., « DReAM : A Dynamically Reconfigurable Architecturefor Future Mobile Communication Applications », international Workshop on Field Pro-grammable Logic and Applications (FPL 00), Lecture Notes in Computer Science 1896,Villach, Austria, August, 2000, p. 312-321.

Benoit P., Architecture des accélérateurs de traitement flexible pour les systèmes sur puce, PhDthesis, Université de Montpellier II, 2004.

Beuchat J.-L., Etude et conception d’opérateurs arithmétiques optimisés pour circuits program-mables, PhD thesis, Ecole Polytechnique Fédérale de Lausanne, 2001. Thèse No 2426.

Beuchat J.-L., Tisserand A., « Evaluation polynomiale en-ligne de fonctions élémentaires surFPGA », Technique et science informatiques, vol. 23, n˚ 10, 2004, p. 1247-1267.

Boemo E. I., López-Buedo S., Meneses J. M., « Some Experiments About Wave Pipelining onFPGA’s », IEEE Transaction on VLSI, vol. 6, n˚ 2, 1998, p. 232-237.

Brodersen B., « Plenary session : Wireless Systems-on-a-Chip Design », International Sympo-sium on Quality Electronic Design, March, 2002, p. 221.

Brynjolfson I., Zilic Z., « FPGA clock management for low power applications », InternationalSymposium on Field programmable gate arrays, 2000, p. 219.

Cardarilli G. C., Re A. D., Nannarelli A., Re M., « Residue Number System ReconfigurableDatapath », International Symposium on Circuits and Systems, May, 2002, p. 756-759.

Celik M., Pileggi L., Odabasioglu A., Ic Interconnect Analysis, Springer, may, 2002.

Chang H., Cooke L., Hunt M., Martin G., McNelly A., Lee T., Surviving the SOC Revolution -A Guide to Platform-Based Design, Kluwer Academic Publishers, 1999.

618 RSTI – TSI – 26/2007. SoC faible consommation

Chen C.-S., Hwang T., Liu C. L., « Low Power FPGA Design : A Re-engineering Approach »,Conference on Design Automation (DAC-97), NY, USA, June 9–13, 1997, p. 656-661.

Chevobbe S., Unité de commande pour systèmes parallèles contrôleur basé sur l’implémenta-tion dynamique de réseaux de Pétri, PhD thesis, Université de Rennes I / CEA List, October,2005.

Chillet D., Abdelouel L., Sentieys O., « Modèle générique de hiérarchie mémoire pour l’explo-ration architecturale », RENPAR’16 / CFSE’4 / SympAAA’2005 / Journées Composants, LeCroisic, France, 2005.

Chillet D., Saille D., Sentieys O., « Conception de hiérachies mémoires faible consommation »,Conférence FTFC, 2003.

Choi S., Scrofano R., Prasanna V., Jang J., « Energy-Efficient Signal Processing Using FP-GAs », International Symposium on Field Programmable Gate Arrays, Monterey, USA,February, 2003, p. 225-234.

David R., Architecture reconfigurable dynamiquement pour applications mobiles, PhD thesis,Université de Rennes I, July, 2003.

David R., Lavenier D., Pillement S., « Du microprocesseur au circuit FPGA, une analyse sousl’angle de la reconfiguration », Technique et Science Informatiques, vol. 24, n˚ 4, 2005,p. 395-422.

Dehon A., Reconfigurable Architectures for General-Purpose Computing, PhD thesis, Massa-chusetts Institute of Technology, Artificial Intelligence Laboratory, October, 1996.

Ebeling C., Fisher C., Xing G., Shen M., Liu H., « Implementing an OFDM Receiver on theRaPiD Reconfigurable Architecture. », IEEE Transactions on Computers, vol. 53, n˚ 11,2004, p. 1436-1448.

Fridman J., « Sub-Word Parallelism in Digital Signal Processing », IEEE Signal ProcessingMagazine, vol. 17, n˚ 2, 2000, p. 27-35.

Garcia A. D., Etude sur l’estimation et l’optimisation de la consommation de puissance descircuits logiques programmables du type FPGA, PhD thesis, Ecole Nationale Supérieuredes Télécommunications, Paris, 2000.

George V., Low Energy Field-Programmable Gate Array, PhD thesis, University of California,Berkeley, 2000.

Goldstein S. C., Schmit H., Budiu M., Cadambi S., Moe M., Taylor R. R., « PipeRench : AReconfigurable Architecture and Compiler », IEEE Computer.

Hartenstein R., « A Decade of Reconfigurable Computing : A Visionary retrospective », DesignAutomation and Test in Europe (DATE 01), Munich, Germany, March, 2001.

Hartenstein R., Kress R., « A Datapath Synthesis System for the Reconfigurable Computing »,Asia and South Pacific Design Automation Conference, Chiba, Japan, 1995.

Hauser J., Augmenting a microprocessor with reconfigurable hardware, PhD thesis, Universityof California, Berkeley, 2000.

Hennessy J. L., Patterson D. A., Architecture des ordinateurs : une approche quantitative (troi-sième édition), International Thomson Publishing, 2002.

Kusse E., « Analysis and Circuit Design for Low Power Programmable Logic Modules », Mas-ter’s thesis, University of California, Berkeley, 1998.

Reconfigurables et consommation 619

Laurent J., Julien N., Senn E., Martin E., « Functional Level Power Analysis : An EfficientApproach for Modeling the Power Consumption of Complex Processors », Global DSPMagazine.

Mai K., Paaske T., Jayasena N., Ho R., Dally W. J., Horowitz M., « Smart Memories : A Modu-lar Reconfigurable Architecture », ISCA ’00 : Proceedings of the 27th annual InternationalSymposium on Computer Architecture, ACM Press, IEEE Press, 2000, p. 161-171.

Ngai T., Rose J., Wilton S. J., « An SRAM-Programmable Field-Configurable Memory », CICC’95 : Proceedings of the Custom Integrated Circuits Conference, IEEE Press, 1995, p. 499-502.

Nketsa A., Circuits logiques programmables Mémoires PLD, CPLD et FPGA, Technosup, El-lipses, 1998.

Nollet V., Coene P., Verkest D., Vernalde S., Lauwereins R., « Designing an Operating Systemfor a Heterogeneous Reconfigurable SoC », Reconfigurable Architecture Workshop, April,2003.

Park S., Burleson W., « Reconfiguration for Power Saving in Real-Time Motion Estimation »,International Conference on Acoustics, Speech and Signal Processing, May, 1997, p. 3037-3040.

Park S., Burleson W., « Configuration Cloning : Exploiting Regularity in Dynamic DSP Archi-tectures », International Symposium on Field Programmable Gate Arrays, February, 1999,p. 81-89.

Plunkett B., Watson J., Adapt2400 ACM : Architecture Overview, Technical report, QuickSilverTechnology, Inc., 2004.

Poon K., Wilton S., Yan A., « A Detailed Power Model for Field-Programmable Gate Arrays »,ACM Transactions on Design Automation of Electronic Systems, vol. 10, n˚ 2, 2005, p. 279-302.

Rupp C., Landguth M., Graverick T., Gomersall E., Holt H., Arnold J. M., Gokhale M., « TheNAPA Adaptative Processing Architecture », in K. L. Pocek, J. M. Arnold (eds), IEEE Sym-posium on Field-Programmable Custom Computing Machines, IEEE Computer Society,IEEE Computer Society Press, April, 1998, p. 28-37.

Sakr M., Levitan S. P., Chiarulli D. M., Horne B. G., Giles C. L., « Predicting MultiprocessorMemory Access Patterns with Learning Models », ICML ’97 : Proceedings of the 14thInternational Conference on Machine Learning, Morgan Kaufmann Publishers Inc., 1997,p. 305-312.

Sassatelli G., Torres L., Galy J., Cambon G., Diou C., « The Systolic Ring : A DynamicallyReconfigurable Architecture for Embedded Systems », International Workshop on FieldProgrammable Logic and Applications (FPL 01), Lecture Notes in Computer Science 2147,2001, p. 409-419.

Shang L., Kaviani A., Bathala K., « Dynamic Power Consumption in Virtex-II FPGA family »,International Symposium on Field Programmable Gate Arrays (FPGA 02), Monterey, USA,February, 2002, p. 157-164.

Sharma A., Compton K., Ebeling C., Hauck S., « Exploration of pipelined FPGA intercon-nect structures », International Symposium on Field Programmable Gate Arrays, Monterey,USA, February, 2004, p. 13-22.

620 RSTI – TSI – 26/2007. SoC faible consommation

Singh H., Lu G., Lee M., Filho E., Maestre R., « MorphoSys : Case study of a ReconfigurableComputing System targeting Multimedia Applications », International Design AutomationConference, Los Angeles, California, June, 2000, p. 573-578.

SiSoftware I., « http ://www.sisoftware.co.uk/ », 2006.

Smit G., Havinga P., Heysters P., Rosien M., « Dynamic Reconfiguration in Mobile Systems »,International Conference on Field Programmable Logic and Applications (FPL 02), Lec-ture Notes in Computer Sciences 2438, Montpellier, France, September, 2002, p. 171-181.

Srini V. P., Rabaey J. M., « Reconfigurable Clusters of Memory and Processors Architecture forStream Processing », HPC ’02 : Proceedings of the High-Performance Computing Confe-rence in the Asian-Pacific Region, 2002.

Steiger C., Walder H., Platzner M., « Operating Systems for Reconfigurable Embedded Plat-forms : Online Scheduling of Real-Time Tasks. », IEEE Trans. on Computers, vol. 53, n˚ 11,2004, p. 1393-1407.

Sutter G., Todorovich E., Lopez-Buedo S., Boemo E., « Low-Power FSMs in FPGA : EncodingAlternatives », Lecture Notes in Computer Science, vol. 2451, 2002, p. 363-370.

Tewksbury S., Gandakota V., Devabattini K., Abadala P., « Integrated Memory/NetworkArchitectures for Cluster-Organized, Parallel DSP Architectures », IEEE Symposium onIC/Package Design Integration, 1998, p. 21-27.

Tisserand A., Marchal P., Piguet C., « An On-Line Arithmetic based FPGA for Low-PowerCustom Computing », International Workshop on Field Programmable Logic and Applica-tions, Lecture notes in Computer Science 1673, August/September, 1999, p. 264-273.

Villarreal J., Suresh D., Stitt G., Vahid F., Najjar W., « Improving Software performance withConfigurable Logic », Design Automation for Embedded Systems, vol. 7, n˚ 4, 2002, p. 325-339.

Wuytack S., Diguet J., Catthoor F., Man H. D., « Formalized methodology for data reuse explo-ration for low-power hierarchical memory mappings », IEEE Transactions on VLSI Systems,vol. 6, n˚ 4, 1998, p. 529-537.

Xilinx, VIRTEX2 1.5V Series Field Programmable Gate Arrays. July, 2001.

Xilinx, Configuration Quick Start Guidelines, XAPP501. July, 2003.

Xilinx, Xilinx Spartan-3E Power, I/O Function and 3.3V Configuration. July, 2005.

Yeap G. C.-F., « Leakage current in low standby power and high performance devices : trendsand challenges », International Symposium on Physical Design (ISPD-02), ACM Press,New York, April 7–10, 2002, p. 22-27.

Zhang H., Wan M., George V., Rabaey J., « Interconnect Architecture Exploration for Low-Energy Reconfigurable Single-Chip DSPs », International Workshop on VLSI, April, 1999.

Article reçu le 10 octobre 2005Article accepté le 6 juillet 2006

Reconfigurables et consommation 621

Sébastien Pillement est docteur de l’Université de Montpellier II (1998) en systèmes informa-tiques, automatiques et micro-électronique. Il est actuellement maître de conférences à l’Uni-versité de Rennes I, antenne de Lannion. Il est rattaché à l’Institut de Recherche en Informa-tique et Systèmes Aléatoires pour les aspects recherche. Ses activités de recherche concernentles méthodologies de conception des systèmes complexes et plus particulièrement les systèmesreconfigurables. Il s’intéresse aux systèmes de télécommunications mobiles nécessitant de nou-velles architectures flexible et faible consommation. Dernièrement, il s’intéresse aux aspectsgestion dynamique de ces architectures reconfigurables

Raphaël David est docteur de l’Université de Rennes 1 en traitement du signal et télécommu-nications (2003). Il est actuellement ingénieur de recherche au CEA. Il a intégré cet organismede recherche suite à un séjour post-doctoral l’ayant conduit à étudier l’efficacité énergétiquedes architectures reconfigurables dédiées au contrôle d’application. Il se concentre désormaissur la conception d’architectures avancées de calculateurs embarqués, construits sur la basede composants reconfigurable et multicœurs avec, comme domaine d’applications privilégié,les systèmes de vision.