HAL Id: tel-00446186
https://tel.archives-ouvertes.fr/tel-00446186
Submitted on 12 Jan 2010
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.
Mozaïc : plate-forme générique de modélisation et de
conception d’architectures reconfigurables
dynamiquement
Julien Lallet
To cite this version:
Julien Lallet. Mozaïc : plate-forme générique de modélisation et de conception d’architectures
recon-figurables dynamiquement. Micro et nanotechnologies/Microélectronique. Université Rennes 1, 2008.
Français. �tel-00446186�
THÈSE présentée
DEVANT L'UNIVERSITÉ DE RENNES 1
pour obtenir
le grade de: DOCTEUR DE L'UNIVERSITÉ DE RENNES 1
Mention: Traitement du Signal et Télé ommuni ations
par Julien LALLET
Équipe
Institutde Re her he en InformatiqueetSystèmesAléatoires - CAIRN d'a ueil:
É ole Mathématiques, Télé ommuni ations, Informatique,
Do torale: Signal,Systèmes etÉle tronique
Composante
É ole NationaleSupérieurede S ien esAppliquées etdeTe hnologie Universitaire:
Mozaï : plate-forme générique de modélisation et de
on eption d'ar hite tures re onfigurables dynamiquement
SOUTENUE LE 26novembre 2008 devant la ommission d'Examen
COMPOSITION DU JURY:
Président du jury :
Stanislaw PIESTRAK Professeur desUniversités, Universitéde Metz
Rapporteurs :
BertrandGRANADO Professeur desUniversités, ENSEA
Lionel TORRES Professeur desUniversités, Universitéde Montpellier 2
Examinateurs :
Loï LAGADEC Maître deConféren es, Universitéde BretagneO identale
SébastienPILLEMENT Maître deConféren es, Universitéde Rennes1 Olivier SENTIEYS Professeur desUniversités, Universitéde Rennes1
Je remer ie tout parti ulièrement Monsieur Olivier Sentieys, Professeur des Universités à l'ENSSAT et responsable de l'équipe CAIRN, pour m'avoir a ueilli dans son équipe de re her heetpouravoira eptédediriger ettethèse.Jetiensàremer ierégalementMonsieur Sébastien Pillement, Maîtres de Conféren es à l'Université de Rennes pour avoir a epté le o-en adrement de ettethèse. Qu'ilssoient assurésde magratitude.
Je tiens également à remer ier Monsieur Stanislaw Piestrak pour avoir a epté de présider le jury de soutenan e, Messieurs Bertrand Granado et Lionel Torres pour avoir a epté de rapportersur e manus ritetennMonsieurLoï Lagade pouravoira eptéd'examiner es travaux.
Quetouslesmembresde l'équipeCAIRNetlepersonneldel'ENSSATa eptent mes remer- iements pour avoir ontribué à rendre ette expérien e enri hissante aussi bien surle plan professionnelque personnel.
Jeremer ieégalementl'ensembledupersonneldudépartementMesuresPhysiques etdel'IUT de Lannionpourleur a ueilpendant estroisannées demonitorat.
Jetienségalementàremer ierJürgenTei h,FrankHannig,DmitriKissleretAlexeyKupriyanov de l'Université de Erlangen enAllemagne pour avoir ontribué àl'évolution de e projet. Mer i en oreà Auguste LeBerrepour avoir a epté de relirel'intégralité de e manus rit. Enn, mes derniers remer iements, maisnon desmoindres, à Agnes,Lu ien et Moritz pour avoirsu mesupporter durant eslongs mois, jevousdédie l'ensemblede e travail.
Introdu tion 1
Plandu mémoire . . . 4
I Etat de l'art 7 A Introdu tion . . . 8
B Historique . . . 8
B.1 Histoire,préhistoireetan êtresdesar hite tures re ongurables dyna-miquement . . . 8
B.2 Ar hite tures ongurables . . . 10
B.3 Ar hite tures re ongurables . . . 10
B.4 Versdesar hite tures re ongurables dynamiquement . . . 11
C Explorationsurladynami ité de lare onguration . . . 12
C.1 Méthodesd'implémentations algorithmiques . . . 12
C.1-1 Implémentation temporelle/logi ielle . . . 12
C.1-2 Implémentation spatiale/matérielle . . . 13
C.1-3 Implémentation spatio-temporelle . . . 13
C.1-4 Implémentation etimpa tsur les ara téristiquesF-D-P . . . 14
C.1-5 Synthèse . . . 14
C.2 Notion degranularité dansladynami ité dela re onguration. . . 15
C.2-1 Granularité des motifs de al ul des ar hite tures re ongu-rablesdynamiquement . . . 15
ration . . . 16
C.3-1 Réseauxd'inter onnexion globaux . . . 16
C.3-2 Réseauxd'inter onnexion point-à-point . . . 16
C.3-3 Réseauxd'inter onnexion hiérar hiques . . . 17
C.3-4 Impa tdelaexibilitéd'inter onnexionsurlare onguration dynamique . . . 18
C.4 Miseen ÷uvrede lare onguration dynamique . . . 18
C.4-1 Mé anismesd'a élération delare onguration dynamique . 18 C.4-2 Mé anismesdegestion delapréemption . . . 21
D Ar hite tures re ongurables dynamiquement . . . 21
D.1 Ar hite tures mono- ontexte grainn . . . 22
D.1-1 ATMEL AT40K . . . 22
D.1-2 Famille Virtexde XILINX . . . 23
D.2 Ar hite tures mono- ontexte grainépais . . . 25
D.2-1 DART . . . 25
D.2-2 Systoli Ring . . . 26
D.2-3 WPPA :WeaklyProgrammable Pro essorArray . . . 26
D.3 Ar hite tures multi- ontextegrain n . . . 27
D.3-1 DPGA:Dynami ally Programmable Gate . . . 28
D.3-2 LATTICE ispXPGA . . . 29
D.3-3 Piperen h . . . 29
D.3-4 Pi oGade XiRis . . . 30
D.4 Ar hite tures multi- ontextegrain épais . . . 32
D.4-1 XPP:eXtreme Pro essing Platform . . . 32
D.4-2 ADRES:Ar hite tureforDynami allyRe ongurableEmbedded Systems . . . 34
D.4-3 NECDRP :NECDynami ally Re ongurable Pro essor . . . 34
E Plate-formes dedéveloppement . . . 35
E.1 Plate-formes dédiéesaudéveloppement d'ar hite tures grain épais . . 36
E.1-1 Dres :Dynami allyRe ongurable Embedded SystemCompiler 36 E.1-2 Ar hite tureComposer . . . 37
E.2 Plate-formes dédiéesaudéveloppement d'ar hite tures grain n . . . . 38
E.2-1 Madeo. . . 38
E.2-2 AMDREL. . . 38
A.1 Présentation globaledes on epts dere ongurationdynamiquemisen
÷uvrepar Mozaï . . . 42
A.2 Paramètres de onne tivité . . . 43
A.3 Paramètres desdomainesetressour esde re onguration . . . 44
B Con eptDUCK . . . 45
B.1 Obje tifs . . . 45
B.2 Re ongurationdynamique etmé anismesde préemption . . . 46
B.3 Homogénéisation despro essusde re onguration dynamique . . . 47
C DyRIBox:unités d'inter onnexion . . . 53
C.1 Routeurs d'inter onnexion danslesar hite tures re ongurables . . . . 53
C.2 Ar hite ture d'uneDyRIBox . . . 55
C.3 Prin ipe dere onguration etprin ipe de ontrle desmultiplexeurs . 56 C.4 Dela ommutation dire tede ir uit versla ommutation par paquet. 56 D DyRIOBlo : ressour esd'entrée/sortie re ongurables . . . 58
E Ressour esde ontrle etde gestion . . . 58
E.1 CtxtS heduler :gestionetordonnan ement des ontextes . . . 59
E.1-1 Gestionséquentielle destâ hes . . . 59
E.1-2 IRCtrl :gestiondes interruptions sanspriorité . . . 60
E.1-3 Gestiondes interruptions ave priorité . . . 61
E.2 DomainCtrl : ontrleurde domaine . . . 61
E.2-1 Gestionde lapréemption . . . 62
E.2-2 Gestionde lare onguration partielle . . . 64
E.3 CtxtMemCtrl :Contrleur de mémoirede onguration . . . 64
E.3-1 Contrle individueldes domaines . . . 64
E.3-2 Contrle partagé desdomaines . . . 65
E.3-3 Espa e mémoire de onguration et format de la trame de onguration . . . 66
F Synthèse . . . 68
IIIxMAML : ADL pourle re ongurable dynamiquement 69 A Introdu tion . . . 70
A.1 Langages dedes ription stru turels . . . 71
A.2 Langages dedes ription omportementaux . . . 71
A.3 Langages dedes ription mixtes . . . 72
B.2 Des ription d'unélément pro esseur:PE level . . . 74
B.3 Synthèse . . . 76
C xMAML . . . 76
C.1 Présentation généraled'unedes riptionxMAML . . . 76
C.2 Modèle xMAMLdublo d'inter onnexionDyRIBox . . . 77
C.2-1 Paramètre d'identi ation . . . 78
C.2-2 Paramètres de re onguration dynamique . . . 78
C.2-3 Paramètres stru turels . . . 78
C.2-4 Exemplede des riptiond'uneDyRIBoxenxMAML . . . 79
C.3 Notion dedomaine de re onguration . . . 80
C.3-1 Introdu tion générale . . . 80
C.3-2 Des riptionetformalisationdesDomaines . . . 81
C.4 Unitésde traitement . . . 83
C.5 DyRIOBlo s:blo sd'entrée-sortie . . . 86
C.6 Synthèse . . . 86
D Explorationdesparamètres de re onguration dynamique . . . 87
D.1 Explorationensurfa e et onsommationdesressour esde re ongura-tiondynamique . . . 88
D.1-1 Explorationdela ressour eDUCK . . . 88
D.1-2 Explorationdela DyRIBox . . . 90
D.2 Données de ongurationdesinter onnexions . . . 91
D.3 Données de ongurationdesunités de traitement . . . 92
D.3-1 Temps depropagation de ontexte . . . 93
D.3-2 Temps depréemption de ontexte . . . 93
D.3-3 Détermination dunombre dedomaine de re onguration . . 93
E Synthèse . . . 93
IVValidation de la plate-forme Mozaï 95 A Chaînede odage etde dé odage WCDMA . . . 96
A.1 EmetteurWCDMA. . . 96
A.2 Ré epteur WCDMA . . . 97
A.2-1 Ré eptioneté hantillonage . . . 98
A.2-2 Filtre deré eption . . . 98
A.2-3 Estimationdestrajets . . . 98
A.2-4 Dé odagedesdonnées,estimationdel'amplitude omplexedu analetsyn hronisation . . . 98
B.2 Outils génériquesde développement surFPGA . . . 102
B.2-1 Synthèselogique de l'appli ation :ABC Berkeley . . . 102
B.2-2 Pla ement etroutage :VPRToronto . . . 103
B.2-3 Génération d'unot dedonnées de ongurationMozaï : . 104 B.3 Adéquation WCDMA-FPGA . . . 106
B.3-1 Synthèsedesfon tions duWCDMAsureFPGA . . . 106
B.3-2 Analysedesperforman es requisespar l'appli ation WCDMA 106 B.4 Des ription xMAMLdueFPGA . . . 107
B.4-1 Des riptiondesDyRIBox . . . 108
B.4-2 Des riptiondesCLB . . . 108
B.5 Génération desmé anismes de re onguration dynamiquepour eFPGA 110 B.5-1 Estimation de la taille des données de ongurations et des performan es de re onguration dynamique . . . 110
B.5-2 Estimationdunombre de domainesde re onguration . . . . 112
B.5-3 Impa t de la re onguration dynamique sur les ara téris-tiquesde l'ar hite ture . . . 113
C Implémentation d'undé odeurWCDMAsur DART . . . 114
C.1 Présentation deDARTetdesoutils asso iés . . . 115
C.1-1 DART :pro esseur re ongurable dynamiquement . . . 115
C.1-2 Outils dédiésà la ompilation surDART . . . 117
C.2 Adéquation WCDMA-DART . . . 119
C.2-1 Implémentation dultre FIR . . . 120
C.2-2 Implémentation dudé odage desdonnées et ombinaisondes multi-trajets . . . 121
C.2-3 Syn hronisation . . . 122
C.2-4 Estimationde anal . . . 123
C.2-5 Synthèse . . . 124
C.3 Des ription xMAMLdeDART . . . 124
C.3-1 Des riptiondesDyRIBox . . . 124
C.3-2 Des riptiondesDPR . . . 126
C.4 Génération desmé anismes de re onguration dynamiquepour DART 129 C.4-1 Estimationde lataille des ongurations . . . 129
C.4-2 Estimationdunombrede domainesde re onguration . . . . 131
C.4-3 Estimation de la onsommation et de la surfa e de sili ium induitspar l'utilisation du on ept DUCK . . . 131
D Synthèse . . . 133
Con lusions et perspe tives 135
Bibliographie 139
Liste des gures 148
Liste des tableaux 149
Listings 151
Glossaire 153
Contexte de l'étude
Que serait la vie quotidienne de ha un d'entre nous, si en 1951, le premier transistor à jon tion n'avait pas été onçu? Le transistor est, par analogie, omparable à une brique de Légo qui, par un assemblage méti uleux et ordonné, permet le traitement de toutes les fon tions logiques. Le pro édé d'intégration d'un transistor sur une pu e de sili ium est le fruit de plusieurs étapes su essives omplexes, à l'aide de masques. La superposition des ou hes de diérentes natures (substrat, oxyde, métal, polysili ium), de diérentes surfa es etde diérentes épaisseurs permet la on eption physique d'untransistor. La manière dont l'organisation destransistors etleurs inter onnexions sont réalisées dénissent l'ar hite ture du ir uit.
Les ar hite tures spé iquement onçues pour l'exé ution d'une seule appli ation sont ap-peléesASIC(Appli ation Spe i Integrated Cir uit).Le budget onsa réaudéveloppement d'unetelle ar hite ture est souvent onséquent arla réalisationdes masques de produ tion est un pro essus long et oûteux. Cependant, e oût tend à diminuer ave le nombre de ir uits produits. De plus, es ar hite tures sont réputées pour leur rapidité d'exé ution et leurfaible onsommation d'énergie.
Si l'on se pla e à un niveau d'abstra tion supérieur, il est possible de on evoir des fon -tions exibles par l'organisation adaptée des transistors, bien que eux- i soient gés dans lesili ium. Lamodi ation dela fon tionnalitéest réalisée par onguration. L'UAL (Unité ArithmétiqueetLogique)d'unmi ro-pro esseurestunexemple d'ar hite ture exible.Selon les besoins de l'appli ation, il est possible de pro éder à sa re onguration aussi bien pour le traitement d'une addition ou d'une multipli ation. Cette exibilité, intéressante pour les opérationsde al uls denosordinateurs etautres assistants personnels ou téléphones multi-média, se fait à un oût non négligeable de surfa e de sili ium, de temps d'exé ution et de onsommation.Enrevan he,le oûtdedéveloppement d'uneappli ationsurmi ropro esseur reste relativement modeste omparé au budgetde développement né essaireà la on eption
Nous onstatons qu'entre esdeux solutions existe un vide ar hite tural qui a étéen partie ombléparl'introdu tiondu on eptFPGA(FieldProgrammableGateArray).L'ar hite ture FPGA permet le prototypage rapide d'une appli ation par l'implémentation d'une matri e d'unitésdetraitement ongurables.Cesunitésdetraitementsontinter onne téespar l'inter-médiairederéseauxexiblesetégalement ongurables, demanièreà onstituerdes hemins de traitement de données spé iques à l'implémentation d'une appli ation. Cependant, le nombre de ressour es limité ainsi que les temps de onguration et de re onguration trop importants rendent leur utilisation plus di ile pour l'implémentation d'appli ations né es-sitant beau oupde ressour es.
La re onguration dynamique se ara térise par des pro essus de re onguration susam-ment rapidespour permettre laréutilisation desunités detraitement au ours del'exé ution d'unalgorithmepourdiérentesopérations. Enpermettantl'adaptation des heminsde don-nées et des unités de traitement susamment rapidement à l'appli ation désirée, le vide ar hite tural présent entreles ASICetlesmi ropro esseurs tendà se ombler.
Le travailprésenté dans e do ument sesitue à l'interse tionde deuxaxes de re her he :
1. lesar hite tures re ongurables dynamiquement,
2. la on eptionautomatiséedesystèmeséle troniques,ouen oreappeléeEDA(Ele troni DesignAutomation).
Problématique de l'étude
Dans le domaine de la on eption d'ar hite tures, il existe des outils destinés à assister les ingénieurs dansles hoix d'implémentations ee tués tout au long de la haîne de dévelop-pement. Pour le domaine dans lequel nousnoussituons dans e travail de re her he, la mo-di ationde ertains paramètres inuedire tement surtrois ritères fondamentaux (F-D-P) desar hite tures re ongurables dynamiquement :
1. laexibilité,
2. ladynami ité,
3. etlaperforman e.
Laexibilitéd'unear hite tureaétéévoquéedanslapremièrepartie de etteintrodu tion,il s'agitdela apa itéd'unear hite ture às'adapterauxappli ationsnouvelles. Ladynami ité ara tériselarapiditéàlaquelleunear hite turepourras'adapterà esappli ations.Etenn la performan e ara térise la rapidité d'exé ution des traitements qui pourront être réalisés par une ar hite ture.
Ces trois ritères interagissent l'un sur l'autre selon le degré d'importan e que l'on donne à ha un d'eux. Plus une ar hite ture est exible, plus elle aura besoin de temps pour se re ongurer etmoins elle sera e a e pour le traitement desdonnées. À l'inverse, plus une ar hite ture estrapide à sere ongurer, pluselle est e a e dansletraitement desdonnées moinselle estexible.
La problématique apparaît alors i i lairement. La on eption d'une ar hite ture re ongu-rablefaitl'objetd'un ompromisentre estrois ritères dont l'intera tion aétés hématisées par la gure 0-1. Selon l'appli ation ou le domaine d'appli ation visé, il sera né essaire de pro éderàdes hoix d'implémentation quidevront sejustier parrapportauxperforman es (surfa e, onsommation, rapidité) del'ar hite ture désirée.
Flexibilit´
e
Dynamicit´
e
Performance
Figure 0-1 Intera tion entre les ritères de exibilité, de dynami ité de la re- ongurationet deperforman e(F-D-P)d'unear hite ture re ongurable dyna-miquement.La on eption d'un ir uit est le fruit permanent de ompromis entre es trois paramètres dont la modi ation de l'uninteragit dire tement sur les deuxautres.
Contributions
Denotrepoint devue, il estné essairede proposerdesoutils d'aide àla on eption d'ar hi-te turesre ongurables dynamiquement demanièreà pouvoirdèsledébutde la on eption, estimerledegréd'intera tionentrelestrois ritèresF-D-P.Pour elanousproposonsMozaï , une plate-forme générique de modélisation et de on eption d'ar hite tures re ongurables dynamiquement.
Une plate-forme de développement intègre des outils permettant d'a élérer et de simplier les pro essus de on eption. Des plate-formes de on eption d'ar hite tures re ongurables existent.Pourlamajoritéde esplate-formes,ellessefo alisentsurlesspé i ationsdesunités detraitement au détriment des ara téristiquesde re ongurationdynamique. Ajoutonsque la spé i ation d'une unité de traitement à haut niveau implique l'abstra tion de ertains ritères générés automatiquement par la plate-forme, e qui implique un ontrle restreint desperforman es detraitement pendant la on eptionde l'ar hite ture.
Mozaï estuneplate-formededéveloppementdontles ritèresdere ongurationdynamique sont prédominants bien que le ontrle des performan es de traitement soit total. En eet, ette plate-forme est basée sur l'intégration d'unités de traitement développésau préalable. L'intérêtdeMozaï estdes'intégrerauxplate-formesexistantesand'apportersesavantages en matière de gestion de la re onguration. Pour ela, nous avons développé des on epts exiblesetparamétrables pour lare onguration dynamique. Lare onguration dynamique mise en ÷uvre par Mozaï intègre des on epts permettant la gestion exible des unités de traitement implémentées. La gure0-2 présentel'intégration de Mozaï ave une plate-formede développement hte.La plate-formehteestutiliséean degénérer lesparamètres de ongurationné essaires à l'implémentation desappli ations hoisies. Mozaï permet la spé i ation del'ar hite ture etdesmé anismes de re onguration devant êtreimplémentés an depro éder àl'exploration des ritères F-D-P.
Compromis
Flex-Dyn-Perf
Plate-forme
Moza¨
ıc
Donn´ees de configuration
G´en´erateur d’architectures
Architecture (VHDL)
G´en´erateur de donn´ees de configuration
Conception de
l’architecture
Mod´elisation
d’architectures
Application
Compilation
Synth`ese
Placement/Routage
Plate-forme hˆ
ote
Librairie de
composants (IP)
Param`etres
Contraintes
Figure0-2Intégrationdelaplate-formeMozaï ave uneplate-formede on ep-tion hte.Mozaï permet la spé i ation des pro essus dere ongurationande on evoir une ar hite ture adaptées à l'appli ation visée en termes de ritères F-D-P. Les unités de traitement propres à la plate-forme de développement hte sont dé rites en termes de re on-guration dynamique an degénérer les ressour es de re onguration né essaires.
Plan du mémoire
Le premier hapitre de e do ument est onsa réau on ept de re onguration dynamique. Tout d'abord,nousprésentons les on epts génériquespropres à e mode de re onguration ainsi que les diérents paramètres qui impa tent dire tement ladynami ité d'une ar hite -ture. Nous présentons ensuitequelques ar hite tures re ongurables, dont ha une présente unintérêtremarquablesedevant d'être itédans edo ument.Enn,nous on luons e ha-pitreave laprésentationdequelquesplate-formesdedéveloppement dédiéesàla on eption d'ar hite tures re ongurables dynamiquement.
Le hapitre II présente lemodèle générique de re onguration dynamiquemis en ÷uvre par laplate-formededéveloppement Mozaï .Nousallonsdétaillerlesdiérentsmé anismesque nousavonsdéveloppéspourgarantirunere onguration susammentdynamiqueete a e. Le hapitre IIIprésente lelangagededes riptiond'ar hite tureàhautniveauxMAML,dédié àl'intégration surpu e etàlagestion ohérente desunitésde traitement re ongurables dy-namiquement. Ce langage permet de pro éder rapidement à une spé i ation des pro essus de re onguration des unités de traitement à implémenter de façon à générer automatique-ment les ressour es adaptées qui seront né essaires à lamise en ÷uvrede la re onguration dynamique.xMAMLestlefruitdire tdela ollaboration quenousavonseuave l'équipede re her he Hardware-Software-Co-Design de l'université d'Erlangen-Nürnberg à l'origine du langage dedes ription d'ar hite tures massivement parallèles, MAML.
Le hapitre IVest onsa réàla miseen ÷uvrede Mozaï ,plate-forme générique de modé-lisation et de on eption d'ar hite tures re ongurables dynamiquement. Dans e hapitre, nous montrons la généri ité de notre méthode par l'exploration de la dynami ité d'une im-plémentation dedé odeurWCDMA(WidebandCodeDivisionMultiple A ess) surune ible depro esseurre ongurable,DART,etsurunFPGAembarqué.Nousavonsmontréla
om-plémentaritéde Mozaï ave lesoutils spé iquement dédiés à es deuxar hite tures. Enn,ledernier hapitre on lut edo umentenrésumantlesapportsdenotreméthodologie etlesperspe tivesqui s'endégagent.
1
Etat de l'art
Résumé : De notre point de vue, l'histoire des ar hite tures re ongurables dynamiquement puiseses originesdepuis pluslongtemps quel'on pourrait l'ima-giner.Ilseraittroplongdedéveloppertouslesévènementsquiontunrapportde près ou de loin ave une ar hite ture re ongurable dynamiquement, ependant l'évolutiondeste hniquesetméthodesquiontpermisd'yaboutirnoussemble suf-samment intéressante pour en évoquer quelques dates importantes. Après une introdu tion, nous présenterons quelques unes des ar hite tures re ongurables dynamiquementquenousavons hoisiesde ara tériser essentiellement selonleur granularité etleur méthode de re onguration. Enn, nous présenterons les ou-tilspermettant ledéveloppement d'une ar hite ture, de lades riptionde elle- i jusqu'aux outils de ompilation ou de synthèse dédiés à la re onguration dyna-mique.
Sommaire
A Introdu tion . . . 8
B Historique . . . 8
B.1 Histoire,préhistoireetan êtresdesar hite turesre ongurables dy-namiquement . . . 8
B.2 Ar hite tures ongurables . . . 10
B.3 Ar hite turesre ongurables . . . 10
B.4 Versdesar hite turesre ongurablesdynamiquement . . . 11
C Exploration sur la dynami itéde la re onguration . . . 12
C.1 Méthodesd'implémentations algorithmiques. . . 12
C.2 Notion degranularitédansladynami itédelare onguration . . . 15
C.3 Impa t desréseauxd'inter onnexionsur ladynami itédela re on-guration . . . 16
C.4 Mise en÷uvredelare onguration dynamique . . . 18
D Ar hite turesre ongurables dynamiquement . . . 21
D.1 Ar hite turesmono- ontextegrainn . . . 22
D.2 Ar hite turesmono- ontextegrainépais . . . 25
D.3 Ar hite turesmulti- ontextegrainn . . . 27
D.4 Ar hite turesmulti- ontextegrainépais . . . 32
E Plate-formes de développement . . . 35
E.1 Plate-formes dédiéesaudéveloppementd'ar hite turesgrainépais . 36 E.2 Plate-formes dédiéesaudéveloppementd'ar hite turesgrainn. . . 38
A Introdu tion
Dans e hapitre, nousnous atta herons à présenter quelquesar hite tures, pour la plupart re ongurables dynamiquement, qui,par ertainsaspe ts,ont attirénotreattention. Ce ha-pitre ne seveutpasexhaustif sur lespe tre des ar hite tures présentées, maispermettra de mettre l'a ent surles mé anismes qui onstituent les éléments essentiels dans la re ongu-ration dynamique.Nousnousatta herons également àexplorer esmé anismes enmontrant dans quelle mesure eux- i inuent sur les performan es de re onguration dynamique. De manière à omprendre le heminement qui a permis la on eption d'ar hite tures re on-gurables dynamiquement, la première partie de e hapitre est dédiée à la présentation de l'histoire desma hines à al uler.
B Historique
B.1 Histoire, préhistoire et an êtres des ar hite tures
re on-figurables dynamiquement
Depuis l'antiquité, les hommes ont her hé à utiliser diérentes te hniques an de fa iliter leurs al uls. La première de es te hniques onsiste tout simplement à symboliser le al ul surun supportd'é riture.Les historiens onsidèrent l'apparitiondu premierabaque
1 àl'ère babylonienne (2400av. JC).Cet outil onstitue lepremier support spé iquement destinéà la réalisation de al uls simples. S'en suivirent alors les abaques à boules, ou bouliers dont on ignore si ils apparurent d'abord en Inde, en Mésopotamie ou en Ègypte. Il est étonnant de penser qu'aujourd'hui en ore, es outils soient toujours utilisés en Chine ou au Japon. Ce n'est que beau oup plus tard, en 1623, que William S hi kard (1592-1635) inventa la première ma hine à al ulermé anique appelée "horloge à al ul". Sonbut était defa iliter la multipli ation de grands nombres. S'en suivit peu de temps après,en 1642, la Pas aline, ma hine arithmétique réé par Blaise Pas al (1623-1662). Il s'agit d'une ma hine apable d'ee tuer desadditions etsoustra tions,destinéeà aidersonpère, per epteurdestaxes.En 1673,GottfriedWilhelmvon Leibniz(1646-1716)ajoutaàlaPas alinelamultipli ationetla division.
En 1834, Charles Babbage (1792-1871) onçoit le prototype d'une ma hine analytique ave mémoire, qui permet d'évaluer des fon tions. Apprenant qu'une ma hine à tisser
2
est pro-grammée à l'aide de artes perforées, il se lan e alors dans la onstru tion d'une ma hine à al uler basée sur e prin ipe. Il avait auparavant déni les diérentes unités qui allaient omposersama hine.Toutd'abord,uneunitéd'entréequipermetde ommuniquerle traite-ment àee tueràlama hine, unemémoirequipermetdesto kerlesdonnéesetlesrésultats intermédiaires, une unité de ommande qui permet de ontrler l'exé ution du traitement, uneunité arithmétiqueetlogique quipermetletraitement des al ulset,enn,une unitéde
1. Ladénitionlaplus onvain anteprovientdudi tionnaired'EmileLittré,sadénitionestlasuivante. Abaque:Termed'antiquité.Tableau ouvertdepoussière,surlequelontraçaitdesnombresetonenseignaitle al ul.Onpeutégalementajouterqueabaque vientdugre abax quiveutdiretablede omptagere ouverte depoussière.
sortiequipermetde lire lerésultat.Bien quesama hinen'eutjamaisl'o asionde fon tion-ner, limitée par les ompéten es mé aniques de l'époque, Babbage avait pourtant déni les bases élémentairessur lesquellesreposent aujourd'hui en orenos al ulateurs modernes. L'année 1937 marque une nouvelle étape importante. Georges Stibitz onstruit le premier additionneurbinairebasésurle élèbrealgèbre deBoole.C'est emodèlequiservirade réfé-ren eau développement d'un al ulateur à relais,le"ComplexNumber Cal ulator".Celui- i était omposéde 450 relais éle tromé aniques apablent de multiplier des opérandes odées en BCD (Dé imal Codé Binaire) en une minute. Pourtant, e n'est qu'en 1944 que le pre-mier véritable al ulateur, leMark One, va fon tionner de manière autonome à partir d'un programme omme elaavait étél'obje tifde Babbage
1
.Leprogramme était sto ké surune bandedepapier perforé,ledéroulementdesopérationsétait aden éparune horloge.Il était apable d'ee tuer des opérations sur desopérandes de vingt-troisdigits. Une addition pre-naittrois ents millise ondesde al ul, unemultipli ation sixse ondes,etenn unedivision un peu plus de onzese ondes. L'aspe t leplus intéressant de ette ma hinevient de son ar- hite ture.Ils'agit, en eet,delapremière ma hine dont l'ar hite ture estdetype Harvard, du nomde l'université oùelle a étédéveloppée, qui onsiste enla séparation physique dela mémoire de donnéesetde lamémoire programme.Cette ar hite ture estaujourd'huien ore àlabase denombreuxDSP (Digital Signal Pro essor) etmi ro ontrleurs.
L'èredes al ulateurséle troniquesdébuteen1946ave la on eptiondel'ENIAC(Ele troni Numeri al Integrator and Computer). Composé de plus de dix-sept mille tubes à vide, ses performan es sont bien supérieures au Mark One (environ inq ents fois). Cependant, il o upe une surfa e de
150 m
2
et pèse plus de trente tonnes. Son prin ipal défaut réside dans saprogrammation. Réalisée en modiant un tableau de onnexions, he par he, la programmationné essiteplusieursjournées pour lereprogrammer. Cette ontrainte seravite dépasée en 1949
2
par l'EDVAC(Ele troni Dis rete Variable Automati Computer) dont le projet avait été initié en ollaboration ave John Presper E kert (1919-1995) et John W. Mau hly (1907-1980) réateurs de l'ENIAC, et John Von Neumann (1903-1957) avant que l'ENIAC ne soit opérationnel. En eet, ons ients de la limite de leur première ma hine, eux- iavaient déjàsolli itéles ompéten esdumathémati ienVonNeumann.Le on eptde l'ar hite tureéponyme,qui onsisteàpartageruneseuleetmêmemémoirepourleprogramme etlesdonnées, venaitde naître.
Enn, dernière étape importantedansl'histoire des ar hite tures, le15 novembre1971 sorti le premier pro esseur sur pu e. Le 4004 onçu par Intel ontenait 2300 transistors et était apable de travailler à une fréquen ede 740 kHz sur desmots de quatre bits grâ eà un jeu de 46 instru tions. Seize registres de données étaient présents, permettant de sto ker 1280 demi-o tets de données.
1. En1889,HermannHollerith(1860-1929) avait onstruitunema hine àl'aide de artes perforéesmais nesupportaientpasl'exé utionuniversellede al uls.
2. L'EDVAC est livré au Laboratoire en re her he balistique en août 1949 après qu'un ertain nombre deproblèmes aient été identiés etrésolus. Iln'est mis enservi e qu'en1951 enraison d'un onitsurle brevetentrel'UniversityofPennsylvaniaetE kert&Mau hly(quientre-tempsont rééleurpropreso iété, laE kert-Mau hlyComputerCorporation).sour es Wikipédia
B.2 Ar hite tures onfigurables
La partie pré édente s'est atta hée à présenter brièvement un historique des ma hines à al ulerd'unemanièretrèsgénérale.En equi on ernelesujetquinousimportedans e do- ument, il onvient de présenter quelques ir uits pluspro hesen termes d'ar hite tures des ir uits re ongurables dynamiquement, de manière à suivre l'évolution des solutions inno-vantesapportées estrentedernièresannées.Lorsquel'onparledere ongurationdynamique, onévoqueàl'origine letermede ongurationd'unear hite turean d'adapter elle- iàun algorithmepré is.Lapremièred'entreelleestsansau undoutelaPAL(Programmable Array Logi ) présentéepour lapremière foisen 1978.
O
0
= (I
3
·
I
2
·
I
1
) + ( ¯
I
3
·
I
¯
2
·
I
¯
1
·
I
¯
0
) + (I
3
·
I
¯
2
·
I
¯
1
·
I
0
)
I
3
I
2
I
1
I
0
vcc
vcc
vcc
vcc
gnd
Figure1-1Implémentation del'équation logique
O
0
= (I
3
· I
2
· I
1
) + ( ¯
I
3
· ¯
I
2
· ¯
I
1
· ¯
I
0
) +
(I
3
· ¯
I
2
· ¯
I
1
· I
0
)
sur une PAL. L'entréeI
0
non onne tée sur la première porte "ET" est onne tée à v , au une entrée dela dernière porte "ET"n'est onne tée, elle- i n'étantpas utilisée.La te hnologie PAL repose sur le prin ipe que toute équation logique peut s'exprimer à l'aide de fon tions "ET" et "OU". Une PAL implémente une matri e de portes logiques "ET"et"OU"pouvantêtreinter onne téesdemanièreexiblemaisdénitive.La onnexion d'une entrée sur une porte logique se fait par l'intermédiaire d'un fusible. Au as où ni une entrée ni son inverse n'est onne tée à la porte "ET", une entrée de rappel onne tée à un état logique haut permet de la rendre ina tive. Dans l'exemple gure 1-1, l'équation
O
0
= (I
3
· I
2
· I
1
) + ( ¯
I
3
· ¯
I
2
· ¯
I
1
· ¯
I
0
) + (I
3
· ¯
I
2
· ¯
I
1
· I
0
)
estimplémentée. Pour ela,des onnexions appropriéesontétéréaliséesentrelesdiérentesentrées,lesportes"ET"et"OU".Unefoisla PAL onguréeiln'estpluspossibledepro éderàunemodi ationdes onnexionsee tuées, e qui onstitue leprin ipal in onvénient de ettete hnologie.B.3 Ar hite tures re onfigurables
La modi ation du s héma de onnexion d'une ar hite ture PAL étant impossible, de nou-velles te hnologies sesont développéesde manière à palierà ette ontrainte. Ainsi, la te h-nologieGAL (Generi Array Logi ) développée par LATTICE est apparueen 1985. Celle- i reposesurlemême prin ipe queles PALsà e i prèsqueles onnexionssont programmables
à volonté. Le su èsde ette te hnologie ne fut qu'éphémère puisquela même année, Xilinx présenteun nouveautype d'ar hite ture appelée FPGA.Leprin ipe defon tionnement d'un FPGAsediéren ie omplètement deste hnologiesPALetGAL.LesFPGAsontréaliséspar l'assemblagedetroisfon tionslogiquesdebase:desLUT(LookUp Table),desmultiplexeurs etdesbas ules.
UneLUTestunetableà
n
entrées oùsontsto kéesles2
n
ombinaisonspossiblesdesolutions d'uneéquationà
n
variables.Lasolutionàl'équationestséle tionnéeenfon tiondesn
entrées (gure1-2).UnréseaudeLUTformeainsiun ir uit ombinatoirequ'ilestpossiblederendre syn hroneen implémentant desbas ulesD en sortiedesLUT.An de faire ommuniquer les LUT de la manière la plus exible possible, elles- i sont inter onne tées par l'intermédiaire de ressour es appelées multiplexeurs. Un multiplexeur est une ressour e de onnexion omposée de
n
entrées pouvant toutes être onne tées vers une seule sortie. L'entrée devant être onne tée sur la sortie est déterminée par un mot de ongurationdont lataillet = ⌈log
2
(n)⌉
.A
B
C
D
S
S
= (A · B) + (C ⊕ D)
A B C D S 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 . . . . . 1 1 1 0 1 1 1 1 1 0Figure 1-2 Fon tionnement d'une LUT. An de réaliser la fon tion logique
S = (A ·
B) + (C ⊕ D)
, un tableau à quatre entrées (A, B, C, D) représentant la table de vérité del'équation est omplété omme le serait une mémoire de sorte que l'adressage se fait par les entrées l'équation.
B.4 Vers des ar hite tures re onfigurables dynamiquement
Le développement desFPGA a ouvert de nouveaux horizons dansle domaine de la on ep-tion d'ar hite tures. En eet, jusqu'alors, seul le développement d'une ar hite ture ASIC permettait l'implémentation d'algorithmes performants aux prix de périodes de développe-ment longues et oûteuses. Deplus, l'évolution, même minime, de l'algorithme implémenté onduisaitàlamiseàl'indexdu omposantASIC.Departsare ongurabilité,les her heurs et on epteurs ont vudansla te hnologie FPGA unmoyen de réunir surune même te hno-logie performan e (des ASIC) et exibilité (des pro esseurs). Un pro esseur dispose d'une mémoire programmequiluipermet onstammentde pro éderàunemodi ation desa fon -tionnalité ontrairement àun FPGAqui, pour hanger de fon tion doit pro éderà un arrêt ompletdestâ hesavant depouvoirpro éder àsare onguration.Verslandesannées90, e onstat aamenélesso iétésATMELetXilinxà on evoirdesar hite tures [1,2℄ apables de pro éderà une modi ation d'unepartie de lafon tionnalité de leurs ressour espendant letraitement des al uls,donnantalors naissan eauxpremièresar hite turesre ongurables
partiellement.
C Exploration sur la dynami ité de la
re onfigura-tion
Le temps mis par une ar hite ture à se re ongurer va déterminer sa apa ité à s'adapter demanièredynamiqueàsonenvironnement. Selonsilare onguration durequelques mi ro-se ondes ou quelquesnanose ondes, une ar hite ture sera qualiablede dynamiqueou non. Trois ara téristiquespropresà lare onguration dynamiquepeuvent êtreenvisagéeslors de la on eption d'un ir uit. Ces trois ara téristiques sont la exibilité, la dynami ité et la performan e. Cependant, la modi ation d'un de es paramètres modiera en onséquen e les deux autres. Plus une ar hite ture est exible, plus elle aura besoin de temps pour se re ongurer etmoins elle sera e a e pour le traitement desdonnées. À l'inverse, plus une ar hite ture estrapide à sere ongurer, pluselle est e a e dansletraitement desdonnées moins elle est exible. Il faudra par onséquent prendre garde à obtenir lemeilleur rapport exibilité-dynami ité-performan e (F-D-P) lors de la on eption d'un ir uit. Cette se tion vas'atta heràmontrer lamanièredont lesparamètres deexibilité etdeperforman e inter-agissent surleparamètre de dynami ité.
C.1 Cara térisation des méthodes d'implémentations
algorith-miques sur ar hite tures et systèmes numériques
Lamanière dont unalgorithmeseraimplémenté surune ar hite turere ongurable dynami-quement va déterminerd'une part leniveau de performan edans letraitement desdonnées etd'autre partleniveau de dynami itédont ette ar hite turepourrafaire preuve.
C.1-1 Implémentation temporelle/logi ielle
Les ar hite tures Von Neumann etHarvard ont été onçues, àl'origine, ande répondre de manièreexibleà toutessortesd'algorithmes. L'exé utiond'unalgorithmesefaitparétapes su essives en fon tion des diérentes opérations à exé uter, déterminées au préalable à la ompilation. Une seule ressour e appelée UAL, ongurée pour une opération donnée à un instantdonné,est hargéed'ee tuer esopérationssu essives. Par exemple(gure1-3(a)) [3℄,la résolution de l'équation
y = A.x
2
+ B.x + C
implémentée selon le s héma deHorner,né essite deuxmultipli ations etdeux additions. Les deux multipli ations sont
(A) × (x)
et(A × x + B) × (x)
.Les deuxadditions sont(A × x) + (B)
et(A × x
2
+ B × x) + (C)
.Larésolutiondetouteautreéquationrevientàmodierl'ordonnan ement etlanaturede es diérentes phasesde al uls. Cesmodi ationssont réalisées parprogrammation etsto kées dansunemémoirequel'UALviendralireaprès haqueopérationee tuée.Cette implémenta-tionestappeléetemporelleoulogi ielledufaitdelané essitédel'utilisationd'unprogramme pourl'utilisation de l'UALetdesressour esasso iées.
x
UAL
t1
t2
A
B
C
y
t1 ← x
t2 ← A · t1
t2 ← t2 + B
t2 ← t2 · t1
y ← t2 + C
x
B
A
C
y
(a)
(b)
Figure1-3 Exemple d'appli ation exé utée par méthode d'implémentation tem-porelle et spatiale. Dans le as d'une implémentation temporelle (a) de l'équation
y =
A.x
2
+ B.x + C
, une unité de traitement unique (UAL) est partagée dans le temps entreles diérentes opérations. Dans le as d'une implémentation spatiale (b) de l'équation
y =
A.x
2
+ B.x + C
,les opérations sontassignées à des opérateurs dupliqués endiérentspoints del'espa e. L'équation est ainsiréalisée enparallèle.C.1-2 Implémentation spatiale/matérielle
Contrairementàl'implémentationtemporelle, ertainesar hite turesréalisentenmêmetemps l'ensembledesopérationsné essairesàl'exé utiond'unalgorithme.Ainsi,lesdiérentes opé-rationsàee tuernesontplusréaliséesdemanièreséquentielle,maisdemanièreparallèleou spatiale (gure 1-3 (b)). Toutes les opérations sont réalisées en même temps et permettent ainsiune exé ution plusrapide, grâ e à l'é onomiedes ongurations de l'UAL. Cette solu-tionestplusgourmandeensurfa eà ausedel'implémentationd'opérateursspé iquespour haqueopérationà ee tuer. Ce type d'implémentation est également appelée matérielle du au faitque, pour haqueopérationné essaire, uneressour e matérielle propre luiestdédiée.
C.1-3 Implémentation spatio-temporelle
La onvergen ed'uneimplémentationlogi ielleetd'uneimplémentationmatérielle ara térise une forme d'implémentation que nous pouvons qualier de re ongurable dynamiquement. Imaginons de rempla er les opérateurs dédiés d'un système dont l'implémentation est spa-tialepar desopérateurs de type UAL, ildevient alors possible de onserverlaexibilité des implémentations logi ielles(grâ e à l'utilisation desUAL), touten a quérant des ara téris-tiques d'exé ution aussi rapides que des systèmes dont l'implémentation est matérielle (de partla onstitutiond'un hemin de données). Celasetraduit par lapossibilitéd'utiliser es UALen parallèle, à ondition, d'unepart de pouvoir inter onne ter es diérentes UALpar l'intermédiairede multiplexeurs, omme elaestle aspour lesFPGA,etd'autre partquele heminde données réépar les UALsoit ongurépour un ertaintemps d'exé ution.
C.1-4 Implémentation et impa t sur les ara téristiques F-D-P
Cha une de es troisimplémentations présente desavantages et desin onvénients. Lestrois ara téristiques prin ipalesqui nousintéressent dans l'implémentation d'unalgorithme sont souvent les performan es en temps d'exé ution, en onsommation et en surfa e de sili ium né essairesàl'exé utionde etalgorithme.À ela,nouspouvonsajouterla ara téristiquede exibilité envuedes apa itésd'évolutionde esar hite tures.Toutd'abord, argument sou-ventporteur auprèsdugrandpubli ,nouspouvons onstaterqueles performan es en temps d'exé utionsontmeilleurespourlesimplémentationsmatériellesquepouruneimplémentation logi ielle (gure 1-4). Enrevan he, sil'on observe lasurfa e de sili ium né essaireà l'exé u-tiond'unmêmealgorithmesur esdeuxar hite turesdiérentes,nouspouvons onstaterqu'il est plus é onomique d'utiliser une implémentation logi ielle. Lesimplémentations logi ielles présentent de plus l'avantage d'être très exibles de part leur apa ité à pouvoir exé uter touttyped'algorithme ontrairement àuneimplémentation matériellespé iquement dédiée à uneappli ation bien pré ise.
T
emps
d’ex
´ecution
Flexibilit
´e
Surface
impl´
ementation temporelle
impl´
ementation spatiale
Figure1-4 Cara téristiques des deux types d'implémentation temporelle et spa-tiale.Les systèmes dont les ar hite tures sontdédiées à une implémentation temporelle pré-sententl'avantage d'o uper moins de surfa e de sili ium audétriment de leur performan es entemps etde la onsommationné essaire à l'exé ution d'un algorithme donné. À l'inverse, les systèmes dont les ar hite tures sont dédiées à une implémentation spatiale présentent l'avantage d'être performants en temps et en onsommation au détriment d'une surfa e de sili ium plus importante.
C.1-5 Synthèse
Ladynami itédelare onguration estdéterminéepar la apa itéd'unear hite ture à ee -tuerle hangementd'une ongurationversuneautre.Agirsurletyped'implémentation lors dela on eptiond'unear hite ture apour onséquen e de modierleparamètre de dynami- ité delare onguration. Une implémentation logi ielle nerequiert que trèspeu dedonnées
de ongurationquiserontrapidement transmisesà laressour e on ernée. Lepassaged'une onguration à une autre sera alors fait rapidement. En revan he, de part le nombre de ressour es à ongurer dans une ar hite ture ayant adopté une implémentation matérielle, les données de ongurations seront plus nombreuses, e qui aura pour eet de ralentir les pro essusde re onguration.
C.2 Notion de granularité dans la dynami ité de la
re onfigu-ration
Dela même manière que le hoix qui est faitsur le type d'implémentation agit dire tement surladynami ité potentielle d'unear hite turere ongurable, lanotionde granularitérevêt également sonimportan e sur e ritère.Cetteparties'attâ he àmontrer leniveau d'impa t induit par les hoix de granularité ee tués par les on epteurs surla re onguration d'une ar hite ture.
C.2-1 Granularité desmotifs de al uldes ar hite tures
re onfigu-rables dynamiquement
Danslemondedesar hite turesre ongurablesdynamiquement,nouspouvonsre enserdeux granularités de motifs de al ul.Les motifsde al ulqui ont laparti ularité de travailler au niveaubit sontappelés grainn etles motifsde al ulstravaillant surdesmots de plusieurs bits sont appelés grain épais. Unar hite ture grainn permet unesouplesse dans lespe tre des appli ations réalisables ontrairement aux ar hite tures grain épais qui, en imposant une taille de données gées, limitent en onséquen e le domaine des appli ations pouvant être implémentées e a ement. En revan he, une ar hite ture grain n né essitera un ot de onguration plus important et don des phases de onguration plus longues qu'une ar hite ture grainépais.
C.2-2 Granularitédes motifsde al ulet impa tsur la
re onfigura-tion dynamique
Ave lespossibilitésd'intégrationquis'orentaujourd'huiaux on epteurs,ilestenvisageable de on evoir desar hite tures re ongurables dynamiquement apablesd'exé uter plusieurs algorithmes en parallèle de granularités éventuellement diérentes. L'implémentation d'un algorithme sur une ar hite ture FPGA à grain n, né essite un ot de données de ongu-ration dont la taille n'est pasnégligeable. Par exemple, la onguration d'une seule LUT à quatreentrées de FPGAné essiteseizebits de onguration auxquelss'ajoutent desbits de ongurationdesinter onnexionsouen orede al ulsderetenuepourne iterque eux-là.Si l'on onsidèrelepluspetit omposant VirtexXCV50de Xilinx[4 ℄, elui- iest omposéd'une grillede
16 × 24
CLB (Congurable Logi Blo k). ChaqueCLB est omposé dequatreLUT etderessour esarithmétiquesde al ulderetenue et559200bitssont né essairesàla re on-guration omplète du FPGA. On omprend alors qu'un tel hoix d'implémentation devra sejustier. Un argument en faveurde ette te hnologie reste sans au un doutela exibilité de telles ar hite tures. Le fait de dé omposer haque unité de traitement en bit permet unassemblage de blo s logiquesexibles adaptés aux données qui devront être traitées par es mêmesblo s. Àl'inverse,dansledomaine desar hite tures à grainépais,les pro esseurs re- ongurablessont spé ialiséspourundomaine d'appli ationdonné etont par onséquent les ressour esdetraitementadaptésaux al ulsspé iquesné essairesàuneappli ationdonnée. La re onguration de telles ressour esne on erne quelafon tionnalité d'une unité de trai-tementqui,biensouvent,selimiteàquelquesopérationsspé iques.Dèslors,seulsquelques bits sont utiles à la re onguration dynamique. Ces phases de re onguration seront alors beau oupplusrapidesaudétriment ettefois,de laexibilitéetde lagamme d'appli ations pouvant êtreimplémentées par esar hite tures.
C.3 Impa t des réseaux d'inter onnexion sur la dynami ité de
la re onfiguration
Les réseaux d'inter onnexion sont destinés à assurer les ommuni ations entre unités de traitement. Selon la topologie d'un réseau d'inter onnexion les performan es d'exé ution, la onsommation ainsiquelaexibilité d'unsystèmes'en trouvent hangées.
N sources
M destinations
B bus
Figure1-5Exemplederéseauxd'inter onnexionglobal.LesMdestinataires onne tés auréseaupeuvent ommuniquer sans ontrainteave les N sour esà ondition que lenombre de bus B soit au moins égal au nombre minimum entre les N sour es et les M destinations (
B ≥ min(M, N )
).C.3-1 Réseaux d'inter onnexion globaux
Les rossbar ou multi-bus permettent une onnexion totale entre tous les éléments qui s'y onne tent(gure1-5).Cetteparti ularitépermetdequalier esréseaux ommeétant totale-mentexibles.Cependant,leprixde etteexibilitéestaudépendd'uneforte onsommation en énergie et d'un temps de traversée important qui sont proportionnels à leur taille et au nombre de ressour es onne tées.
C.3-2 Réseaux d'inter onnexion point-à-point
Le but desréseaux d'inter onnexion point-à-point est de proposer dessolutions e a es en temps et en surfa e pour des ommuni ations lo ales. De nombreuses topologies existent maislaplusutiliséeestsansau undoutelatopologie mesh (gure1-6).Les ommuni ations
ADD1
ADD2
ADD3
ADD4
AGU
BMU1
BMU2
MUL1
MUL2
M´
emoire
Figure1-6Exemplederéseaud'inter onnexionpoint-à-point.Lesdiérentséléments del'ar hite ture ommuniquentparlebiaisdelignesde ommuni ationpartagées.Lesdonnées sontorientées dans le ir uit par des boîtes de ommutation (swit h-box).
sont basées sur l'utilisation de swit h-box hargées d'orienter les ommuni ations entre les diérentesressour es.Letempsdetraverséed'uneswit h-box n'estpaspénalisantlo alement, mais peut devenir ontraignant pour les ommuni ations de longues distan es devant en traverser plusieurs.
bloc1
bloc3
bloc7
bloc8
bloc4
bloc5
bloc6
bloc2
bloc9
bloc10
Figure 1-7 Exemple de réseaux d'inter onnexion hiérar hique. Les diérents blo s del'ar hite ture ommuniquentparlebiais d'unréseaumeshgénéralisé.Les ommuni ations lo ales sontassurées par un réseau de type multi-bus.
C.3-3 Réseaux d'inter onnexion hiérar hiques
Ladé ompositionhiérar hiquedesréseauxde onnexionpermetdepouvoirproterdes avan-tages desdeuxmodesde onnexion itéspré édemment grâ e àl'utilisation de réseaux mul-tibus pour les ommuni ations lo ales et de swit h-box pour les ommuni ations longues distan es (gure 1-7). L'ar hite ture est dé omposée en blo sdans lesquels les ommuni a-tions lo ales sont optimisées.Toutefois, une attention toute parti ulière doit être portée sur les étapesdepla ement/routage du faitde la omplexité desréseauxainsi réés.
C.3-4 Impa t de la flexibilité d'inter onnexion sur la
re onfigura-tion dynamique
La granularité d'une ar hite ture dont la exibilité est variable en termes de al ul induit la mise en ÷uvre d'une ommuni ation entre ressour es en adéquation ave e hoix. Nous avons présenté des stru tures d'inter onnexions dans les ar hite tures re ongurables, qu'il estné essairede ara tériser ande onnaître leurimpa tsurlare onguration dynamique. L'inter onnexionauseind'unFPGAsedoit,sil'on souhaite onserverlaexibilité desblo s logiques programmables, d'être elle aussi la plus exible possible en proposant des s hémas de onnexion les plus souples possibles. À l'inverse, la exibilité d'un pro esseur re ongu-rable étant déjà le plus souvent limitée, les s hémas d'inter onnexion peuvent également se restreindre auxroutagesles plus pertinents pour un algorithme donné.Ainsi, ela ontribue à la rédu tion de la taille desmots de onguration et, par voie de onséquen e, des temps de re onguration,de la onsommation etdela surfa ede sili ium.
C.4 Méthodologie pour la mise en ÷uvre de la re onfiguration
dynamique
Le spe tre des ar hite tures re ongurables dynamiquement est limité par deux stru tures entre lesquelles nous pouvons trouver une multitude de variantes. D'un té, une ar hite -ture FPGA, générique, exible et apable d'implémenter toutes les appli ations a tuelles et futures, de l'autre un pro esseur re ongurable, moins exible mais dont les unités de trai-tement sont mieux adaptées à un domaine d'appli ation et par onséquent plus e a es en termesderapidité detraitementpourun al uldonné.Il existeentrelesdeuxunemultitude de solutions ar hite turales qui, de partleur niveau de granularité, leur exibilité en termes de onnexions et de leur spé ialisation en termes d'unités de traitement se rappro heront de l'une ou de l'autre des solutions. Dans ette se tion, nous évoquons les diérentes te h-niques, méthodes et solutions ar hite turales qui s'orent à un on epteur d'ar hite tures re ongurables.
C.4-1 Mé anismes d'a élération de la re onfiguration dynamique
Le développement d'une ar hite ture re ongurable né essitelamiseen ÷uvre de pro essus liésàlagestiondelare ongurationanque elle- irestedynamique.Lespro essusde re on-gurationinuentsurlesperforman es d'unear hite tureentermesdesurfa edesili ium et de onsommationetsurtoutentermesdetemps d'exé ution.Letempsallouéàuntraitement doit prendre en ompte les ontraintes temporelles exigées par une appli ation mais égale-ment les ontraintes temporelles né essaires à la onguration de la tâ he.C'est pourquoiil estimportantde ara tériserles on eptsfondamentauxindispensablesàl'implémentation et au développement d'une ar hite ture quele ontrle de la re onguration dynamique devra être apable de gérer.
La notion de re onguration dynamique implique une ertaine rapidité dans l'exé ution de elle- i. An de garantir ette dynami ité, il est essentiel de s'assurer que les ressour es de re onguration utilisée ne viennent pas é lipser les béné es atteints par la re onguration
dynamique.
Con
trˆ
oleur
de
configuration
M
´emoire
de
configuration
Configuration n
Configuration n + 1
Ressources ´
a configurer
Active
Inactive
Arc
hitecture
reconfigur
able
Figure1-8 Exemple d'implémentation à pré- hargement.La zone demémoire supé-rieure ontient la onguration en ours de fon tionnement, alors que la zone de mémoire inférieure ontientla onguration future prête à fon tionner.L'uneoul'autre des mémoires est a tivée par le ontrleur de onguration.
Pré hargement des données onfigurations le pré- hargement d'une future on-gurationpermetdesuperposerlesphasesde al uletlesphasesdere onguration(gure1-8). Lasolutionenvisagéeestla réationdeplusieursmémoiresde ongurationsqu'ilestpossible deveniré rireàtoutmoment.CelaaétéexploiténotammentdanslesFPGAmulti- ontexte [5,6 ℄où haque ontexteeststo képrèsdel'unité detraitementetpeutêtreinstantanément utilisé. Le prin ipal in onvénient de ette méthode vient du fait que des ressour es sont in-trinsèquementprésentesmaisnonutilisées, equiapour onséquen e d'augmenterlasurfa e de sili iumetla onsommation d'énergie,tout endiminuant l'e a ité de l'implémentation.
Compressiondesdonnéesde onfigurationetre onfiguration pardifféren e: lorsquelesphasesdere ongurationsesu èdent trèsrapidement,letempsallouéau harge-mentduotde ongurationpeutnepasêtresusant.Uneméthodepourdiminuerletemps né essaireà e hargement estde ompresser lesdonnées à harger.Une méthode [7℄repose sur la ompression de ladiéren e entre le ot de données de onguration d'un module et de sa rele ture en ours d'exé ution. Un ou-ex lusif logique bit à bit est appliqué entre le ot de données de onguration du module original etle ot de données de rele ture. Siles informations sont identiques dans les deux ux, omme des informations de routage ou de ongurationdeLUT,alorsleuxrésultantde ettefon tionouex lusif sera omposédebits nuls. Seullesétatsayant hangédevaleurserontreprésentéspar un"1"logique.Étant donné que les bits de onguration sont très largement majoritaires, le nombre de zéros adja ents dans le ux le sera aussi, la ompression sera alors d'autant plus e a e. Il est ependant né essaire de pré iser que bien souvent leot de données de onguration extrait n'est pas identiqueen termes deformatage desdonnéesrendant defait, ette méthode aduque.
Re onfiguration partielle : lagestiondelare ongurationpartielleestundes ritères né essaireà une re onguration e a e. Toutes les ressour esd'unezone de re onguration ne sont pas né essairement requises pour l'implémentation d'une tâ he. Ou bien, une fois
l'exé ution d'une tâ he terminée,une zonepeutêtre re onguréesans avoir à perturber les autrestâ hesen oursdetraitement(gure1-9).Parexemple,lapremièrephaseAimplémente trois tâ hes (T1, T2, T3), qui seront totalement rempla ées par deux autres tâ hes (T4 et T5)danslaphaseB, suiviede laphase Cquirempla era une tâ he(T5) par uneautre (T1) touten laissant ladeuxième tâ he (T4) s'exé uter.
zone a reconfigurer
ressource reconfigurable
zone compl´
ete de reconfiguration dynamique
T1
T2
T3
T4
T5
T1
T4
T1
T2
T3
T4
T5
Tˆ
aches
Temps
A
B
C
A
B
C
Figure1-9Implémentationasyn hronedetâ hessurunezonedere onguration. Unear hite ture re ongurable dynamiquementdoit être apable de pro éder à des re ongu-rations partielles de ses ressour es, sans que ela ne porte préjudi e aux ressour es voisines, notammentau niveau des ommuni ations entre ressour es.
Con
trˆ
oleur
de
configuration
M
´emoire
de
configuration
Configuration 1
Ressources `
a configurer
Inactive
Arc
hitecture
reconfigur
able
Configuration n
Ressources `
a configurer
Figure1-10 Exemple d'implémentation à re onguration partielle. La zonede mé-moire de onguration est divisée en plusieurs zones an de pouvoir a éder à ha une de manière individuelle.
Lare onguration partielle(gure1-10)s'appliquetrèsfa ilementdanslesar hite turesdont la onguration est mémorisée dans les mémoires RAM (Random A ess Memory) omme les FPGAXilinx [2℄ou le pro esseur re ongurable PipeRen h [8 ℄ entre autres.La méthode onsisteàsimplement spé ierl'adressedelamémoireàre ongurerdire tement dansleot de onguration,il estalors possiblede pro éderàlaseule re onguration de ette zone.La zone de re onguration est le plus souvent indépendante de la zone non re ongurée e qui permetd'avoirunparfaitre ouvrementdesphasesdere ongurationetdesphasesde al uls surdeuxzonesdistin tes.Lare ongurationpartiellepermetderéduiretrèsfortementlataille du ot de re onguration etainsile temps né essaireà ette re onguration. Néanmoins,le
gain apporté par la solution d'adressage individuel des mémoires doit être relativisée étant donnéquelesbitsd'adresses ontenusdansleotdedonnéesaugmenteave lenombredebits àtransférer,etaugmentedon lataille duot dedonnéesde onguration etpar onséquent letemps de re onguration.
C.4-2 Mé anismes de gestion de lapréemption
La gestionexibledes phasesde re onguration est unenjeu important.Cela setraduit par la possibilité de gérer la priorité des tâ hes dans l'ordonnan ement de elles- i. Pour ela, un mé anisme bien onnu du monde des pro esseurs doit être supporté, la préemption. La préemption est un élément primordial pour aboutir à une exé ution temps réel optimisée des al uls par re onguration d'un ensemble d'appli ations non déterministes omme ela pourraitêtreenvisagé dansle asdesar hite tures re ongurables dynamiquement. De ma-nièregénérale, letraitement préemptif onsisteà d'abordpouvoirsuspendreunetâ heouun traitement en ours d'exé ution, d'en sauvegarder le ontexte, puis de ongurer une nou-velle tâ hedont laprioritéestplusimportante, l'exé uteretenn re ongureretrestaurerle ontextede latâ he pré édente unefois quelase onde a terminésonexé ution.
La préemption surles ar hite tures re ongurables reste en oretrès marginale. Le plus sou-vent,lerempla ementd'unetâ hepar uneautresefaitseulement aprèsl'exé ution omplète de la tâ he pré édente. Il n'est don pas né essaire de sauvegarder les états des données internes de la stru ture re ongurable exé utant le module pour une reprise ultérieure de l'algorithme. Pour appliquer la préemption aux FPGA, 'est à dire pour pouvoir rempla er un moduleavant lan desonexé ution, ilest né essairede geler sonexé ution,puis de lire etsauvegarder les états des registresdu FPGA utilisés par e module avant de harger une nouvelle onguration dansle FPGA.Après reprise d'un module préemptif lesétats des re-gistres pré édemment sauvegardés doivent êtrerestaurés dans leur étatd'interruption avant que elui- i ne puisse re ommen er à travailler. Cependant, quelques problèmes s'imposent à la réalisation de ette tâ he. Les états des données peuvent êtres répartis à travers tous les modules dont au un mé anisme ne permet l'a ès dire t. De plus, les registres d'états d'unmoduleimplémenté dansunFPGA ontiennent un nombrenonnégligeable de bits mé-moire supplémentaires par rapport auxroutines exé utées surmi ropro esseur. Il faut don augmenter fortement la taille des mémoires à utiliserpour lasauvegarde de es registres et des autres données. Par omparaison, une interruption dans un pro esseur Intel Pentium II imposelasauvegarde de104 o tets.Dansle asd'unFPGAXilinxXCV1000,lasauvegarde de tousles registres,bas ules etmémoiresinternes né essitent 350 kiloo tets.
D Ar hite tures re onfigurables dynamiquement
Nousavons hoiside lassierles ar hite tures re ongurables selon deux ritères distin ts : d'unepartparlaméthodedere ongurationetd'autrepartparlagranularitédela re ongu-ration. Une ar hite ture mono- ontexte est une ar hite ture re ongurable dynamiquement dont haque ontexte est sto ké à l'extérieur du système. Les unités de traitement doivent alors être ongurées avant de pouvoir pro éder à l'exé ution d'un nouvel algorithme. Une
ar hite ture multi- ontexte ontient surlemême ir uitplusieurs ontextesqu'ilestpossible devenirvaliderdemanièresu essiveetindépendanteselonlesbesoinsdel'appli ationoude l'algorithmeàexé uter.Ladeuxième ara téristiquenotabled'unear hite turere ongurable on ernelagranularitédelare ongurationquiimpliquerauneexibilitéetdesperforman es plusou moinsintéressantesselon les hoix ee tués.
D.1 Ar hite tures mono- ontexte grain fin
D.1-1 ATMEL AT40K
Ar hite ture : l'ATMELAT40K[9℄,aujourd'huidépasséemaisinnovanteensontemps, mérite pour ela notre attention. L'AT40K fût l'une des premières ar hite tures FPGA a autoriser la re onguration partielle de ses ressour es. Le blo logique utilisé (gure 1-11) permetpar l'utilisation de deuxLUT à troisentrées, larésolution de deux équations àtrois variables ou bien d'une équation à quatre variables. L'ar hite ture de l'AT40K est onsti-tuée d'une matri e de blo s logiques identiques. Les bus de onnexion sont pour leur part diérentsselonlesdistan esde ommuni ationsquidevrontêtrepar ouruesentredeuxblo s logiques. Pour les ommuni ations longues distan e, un répéteur de bus est pla é tout les quatreblo slogiques.À haqueinterse tiondeligne etde olonnederépéteurs,setrouveun blo SRAM (Stati Random A ess Memory) pouvant sto ker jusqu'à trente deux mots de quatrebits. Ces blo smémoire sont ongurables de manièreà pouvoir ya éder en simple ou en double ports de manière syn hrone ou asyn hrone. Chaqueblo logique est onne té auréseaud'inter onnexiond'unepart,maiségalement dire tement auxblo slogiquesvoisins d'autrepart,horizontaux,verti auxetdiagonaux(gure1-12).Celapermetd'é onomiserdes unités d'inter onnexions tout enproposant desimplémentations performantes.
Re onfiguration dynamique : la re onguration de l'ar hite ture AT40K est réalisée selonsixmodesau hoix.Unmoded'auto ongurationappelélemodemaster,quatremodes appelésslave etennlemodesyn hronousRAM permettantd'a éderàlamémoirede on-guration dire tement depuis leportparallèle d'unmi ropro esseur. Le mode master permet une auto- onguration de l'ar hite ture. Celle- i est exé utée lors desphases de réinitialisa-tion du système. Les modes slave sont euxinitialisés à partir d'un signal externe. Les mots de onguration peuvent êtreau hoix envoyés en sérieou en parallèle surdes mots de huit ouseizebits selonleslave mode hoisi. La re onguration partielleestréalisée enmode syn- hronous RAM. Les mémoires de onguration sont vues par le système omme un espa e mémoire à part entière qu'il est possible de venir lire et é rire. Le ot de données de on-guration ontient trente-deuxbits d'informationdont vingt-quatre bitsd'adresse (adressede débutetadressedendelazone iblée)ethuitbitsdedonnées[1 ℄.Bienque ettear hite ture soit toujours utilisée, notamment dans le domaine de l'aérospatial, sa faible taille (
48 × 48
blo slogiques aumaximum) en faitun andidat peu probable pour les appli ations de nou-velle génération. Notons tout de même que ette ar hite ture a ouplée à un pro esseur en faitun honorable o-pro esseur re ongurable (FPSLIC[10 ℄).8x1 LUT
OUT
8x1 LUT
OUT
”1”
OE
H
OE=V
N
D
Q
Set/Reset
Clock
E S W
y
x
NW
NE
SE
SW
1 0
z
”0””1”
”1”
”1”
NW
NE
SE
SW
”1”
”1” N E S W
FB
Z
X
W
Y
Pass gates
V1
H1
V2
H2
V3
H3
V4
H4
V5
H5
L
X
W
Y
Figure1-11Blo logique del'AT40K.Leblo logiqueimplémentédans leFPGA AT40K est omposé de deux LUT à trois entrées indépendantes. Selon le mode de fon tionnement hoisi, le blo logique permet la résolution de deux équations à trois variables ou bien d'une équation à quatre variables. Cependant, seule une sortieparmi les deux peut être syn hrone. Les ressour es entourées d'un polygoneen pointilléreprésentent les ressour es de onnexions aux réseaux de onnexion horizontaux et verti aux.
LC
LC
LC
LC
LC
LC
LC
LC
LC
WX Y Z L
W
X
Y
Z
L
LC
Plane
5
Plane
4
Plane
3
Plane
2
Plane
1
Plane 5
Plane 4
Plane 3
Plane 2
Plane 1
Vertical Busing Plane
Horizon
tal
Busing
Plane
Diagonale Direct Connect
Orthogonal Direct Connect
Logic Cell
LC
Figure1-12 Inter onnexions dans un blo logique AT40K. Les blo s logiques implé-mentésdansleFPGAAT40Ksontinter onne tésàdes ressour esvoisinesde ourtedistan e ainsi qu'à des ressour es plus éloignées par l'intermédiaire debus dédiés né essitant l'utilisa-tiondemoinsderouteursintermédiaires.Celapermet deminimiserlestempsdepropagation.
D.1-2 Famille Virtex de XILINX
Ar hite ture : lafamille desFPGAVirtex esttrès étendue, nousnousintéresserons au premier d'entre eux[4 ℄.Contrairement à l'AT40K, l'ar hite ture du Virtexest hiérar hique. C'estàdirequedeuxblo slogiques(gure1-13)sontregroupésensli e euxmêmeregroupés
pardeuxen CLB.ChaqueCLB est onne tésurleréseauvia unematri ede routagede ma-nièreà omposerune grilledelignesetde olonnesde CLB.L'ar hite ture d'unblo logique se omposededeuxLUTà4entrées pouvantêtreutilisées demanière ommuneou indépen-dante.Des ressour es logiquessupplémentaires présentesdansle blo logique permettent de pro éder rapidement à un al ul de retenue au as où elui- i serait utilisé pour des al uls arithmétiques.Des multiplexeurs situés en sortie permettent d'orienter les résultats du blo logique sur les sorties syn hrones ou asyn hrones. Enn, haque LUT peut également être utilisée ommeune RAMsyn hronedeseizemotsde unbita essiblesurunoudeuxports.
O
G4
G3
G2
G1
F4
F3
F2
F1
COUT
CIN
YB
Y
YQ
WE
DI
O
WE
DI
CK
WE
A4 WSH
WSO BY DG
LUT
LUT
BX DI
BY
FSIN
SR
CLK
EC
D
REV
INIT
Q
EC
D
REV
INIT
Q
CE
CY
CY
F5
F6
XB
X
XQ
F5
Figure 1-13 Blo logique de type Virtex. Le blo logique implémenté dans le FPGA Virtex est omposé de deux LUT à 4 entrées utilisables indépendamment ou en ommun. Quel que soit le mode hoisi, trois variables seulement peuvent intervenir dans la résolution del'équation réalisable par les deux LUT.
Re onfiguration dynamique : tout omme l'AT40K, plusieurs modes de ongura-tion sont possibles sur le Virtex, mais seuls les modes de onguration Slave Sele tMAP et Boundary S an permettent la re onguration partielle de l'ar hite ture. La re ongura-tion partielle peut-être exé utée de deux manières diérentes, soit en utilisant la méthode appelée Module-based partial re onguration, soit en utilisant la méthode appelée Small-Bit Manipulations. La méthode de re onguration partielle Module-based permet de pro éder à la re onguration sur des zones ayant été dénies au préalable. Le nombre global de mo-dules doit être le plus faible possible an de minimiser les problèmes de ommuni ation au sein de systèmes omplexes. La méthode de re onguration partielle Module-based est plus parti ulièrement dédiée au développement de modules indépendants dont la ommuni ation est ee tuée à travers des bus dédiés garantissant une bonne ommuni ation. La méthode Small-Bit Manipulations est quand à elle basée sur la produ tion d'un ot de données de onguration qui ne prend en ompte que les modi ations éventuelles du ot de données de ongurationpar rapportau pré édent. Ainsi, lepassage d'une onguration àune autre peut-être très rapide (de l'ordre de quelques millise ondes [11 ℄) ar le ot de données de ongurationest alors bienplus petit queleot de donnéesde onguration omplet.