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
** CEA-List, DRT/DTSI/SARC/LCEI
F-91191 gif-s-yvette
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 part 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, à tout 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 reconfigurables, FPGA, reconfiguration, système reconfigurable, faible
consommation
KEYWORDS: reconfigurable architectures, FPGA, reconfiguration, reconfigurable systems, low
power
2esoumission à Technique et science informatiques, le 1er mai 2006.
2 2esoumission à Technique et science informatiques.
1. Introduction
Les applications actuelles ou émergentes, telles que les ordinateurs portables, les
systè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 qui
demandent 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 alors
de convergence. Cette propriété nécessite la mise en place de systèmes hétérogènes
hautes performances et flexibles. Le déploiement et le développement du nomadisme
impacte très fortement le budget consommation des systèmes à concevoir, puisqu’ils
doivent 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érations
actuelles 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és
d’intégration et promet de hautes performances. Cependant elle nécessite de revoir les
flots de conception permettant de tirer parti de la puissance d’intégration disponible.
Les nouvelles méthodologies s’appuient soit sur la réutilisation de blocs précaractéri-
sés (platform-based design [CHA 99]) pour former des systèmes complets mais hété-
rogènes, soit sur l’utilisation d’architectures très régulières basées sur la réutilisation
de motifs simples mais flexibles. La réduction de la taille des transistors implique en
plus de repenser les techniques de conception visant l’optimisation de la consomma-
tion. En effet, la réduction des tailles de lithographie impose la réduction des tensions
d’alimentation pour maintenir des champs électriques de niveaux constants. 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 performance satisfaisant. La
consommation statique augmentant exponentiellement avec la réduction de VT, celle-
ci devient de plus en plus critique et nécessite la mise en œuvre de nouvelles tech-
niques de réduction de la consommation. Contrairement à ce qui est fait actuellement,
les futurs flots de conception devront assurer la maîtrise conjointe de la consommation
dynamique et statique.
De part les contraintes associées aux nouvelles applications, les solutions totale-
ment matérielles (ASIC pour Application Specific Integrated Circuit) ou totalement
logicielles (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 conception
devient insoluble si l’on se limite aux architectures classiques. Dès lors, l’alternative
proposé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 architectures
est d’offrir aux concepteurs la flexibilité d’une architecture programmable et les per-
Reconfigurables et consommation 3
formances temporelles d’un circuit dédié. Plusieurs pistes permettent d’envisager une
utilisation efficace de ce nouveau paradigme d’exécution. La première vient de la
structure même de ces architectures, ce sont des tableaux très réguliers d’éléments
simples et flexibles. Cette structure est parfaitement adaptée à une intégration dans
les futures technologies. La deuxième piste vient de l’utilisation de structures de plus
gros grain permettant un rearrangement de chemins de données complexes (au niveau
arithmé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 pour
cette cible technologique. Les opportunités de conception pour ce type d’architecture
seront étudiées, afin d’identifier les atouts et les limitations du reconfigurable dans
le cadre de la minimisation de la consommation. La conclusion recensera alors les
grands 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 sont
donc intéressées à l’amélioration des performances temporelles et des méthodes de
conception, délaissant totalement les aspects consommation. Ces études ont amené
la conception de nouvelles architectures [HAR 01] supportant les contraintes tempo-
relles 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 Programmable
Gate Array). Cependant, ceci réduit considérablement l’espace de conception de ces
architectures. L’étude sémantique du mot reconfigurable en donne une définition plus
précise. En effet, configuration1, signifie à l’origine façonner à la ressemblance de et
a 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’une
part, 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 ensemble
d’architectures dont les FPGA font partis.
L’avantage de ces systèmes vient de la possibilité d’augmenter les performances
de traitement en créant un chemin de données matériel adapté à l’application, tout en
maintenant 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
4 2esoumission à Technique et science informatiques.
Cette flexibilité est obtenue par la mise en place de ressources redondantes offrant
diffé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é
[DEH 96]. Ces ressources de calcul sont interconnectées par un réseau plus ou moins
flexible et plus ou moins performant.
C) Reconfiguration au
niveau logique
LUT LUT
LUT
LUT
MAC
In
AddrGen
Memory
AddrGen
Memory
B) Reconfiguration au
niveau fonctionel
Data
Memory
Instruction
Decoder
&
Controller
Data
Memory Program
Memory
Datapath
A) Reconfiguration au
niveau système
Figure 1. Classification des architectures reconfigurable suivant le grain de reconfi-
guration. A) Reconfiguration niveau système, la reconfiguration intervient sur les uni-
tés de traitements. B) Reconfiguration niveau fonctionnel, la reconfiguration intervient
sur des chemins de données. C) Reconfiguration au niveau logique, la reconfiguration
intervient au niveau du bit.
La reconfiguration consiste donc à spécifier les opérations et les interconnexions de
cet ensemble de ressources, que l’on nomme couche opératoire. Cette reconfiguration
est effectuée dans une couche supérieure, dite couche de reconfiguration, construite
autour de points de mémorisation statiques. Compte tenu de la dimension de l’espace
de conception des architectures reconfigurables, il apparaît nécessaire de définir un
critère principal de classification autorisant une rapide évaluation des architectures
proposées dans la littérature. À ce titre, nous avons considéré la granularité de la
reconfiguration comme étant le plus adéquat. Ce critère de classification permet en
effet de mettre en avant certains paramètres clés des architectures examinées, parmi
lesquels les modèles de programmation, l’aspect statique ou dynamique de la reconfi-
guration et son mode d’utilisation. Cette classification permet de distinguer 3 classes
d’architectures modélisées sur la figure 1 [DAV 05]. Cependant, les considérations de
consommation de la reconfiguration au niveau système (Fig. 1.A), correspondant au
domaine des processeurs programmables, ne seront pas étudiée dans cet article, car ce
domaine est très actif par ailleurs [LAU 04, FRI 00]. Il est à noter que cette classifi-
cation permet de voir la notion de configuration comme le contrôle d’une architecture
flexible. Cette vision est vrai pour un FPGA pour lequel il n’y a plus de contrôle a
réaliser une fois le circuit configurer. Par contre nous différencions la configuration
d’un chemin de donnée qui vise à définir la disposition relative des éléments de l’ar-
chitecture, et le contrôle de ce chemin de données qui vise essentiellement à définir
Reconfigurables et consommation 5
les échanges de données au sein du chemin préalablement définit, ainsi qu’éventuel-
lement les opérations a réaliser. Un processeur programmable ne 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 données. Nous présentons dans
les sections suivantes les principales caractéristiques des architectures grain fin (re-
configuration au niveau logique) et des processeurs reconfigurables (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 composants
FPGA [NKE 98]. Les architectures supportant ce type de reconfiguration sont quali-
fiées de grain fin en raison de la faible largeur des chemins de données. A ce niveau,
la reconfiguration opère au niveau logique sur des Look-Up Table (LUTs) et sur leurs
interconnexions (figure 2). Étant donnée la quantité de LUTs nécessaire à la défini-
tion 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
Blocs
Logique
Reconfigurable
Blocs d'E/S
Chaînage
Look Up Table
A B C D Z
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
. . .
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
Z
Logique Combinatoire
A
B
C
D
CDBAZ .. +=
Figure 2. Architecture générique des composants reconfigurable de grain fin.
1 / 26 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !