Upload
carlos-jimenez
View
48
Download
1
Embed Size (px)
DESCRIPTION
Exploration de l’espace de conception des architectures reconfigurables. Lilian Bossuet Soutenance de Thèse de Doctorat, Université de Bretagne Sud Laboratoire d’Électronique des Systèmes Temps Réels. Amphithéâtre de l’IUP de Lorient, Vendredi 10 septembre 2004. Plan. - PowerPoint PPT Presentation
Citation preview
1/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Exploration de l’espace de conception des architectures reconfigurables
Lilian Bossuet
Soutenance de Thèse de Doctorat, Université de Bretagne Sud
Laboratoire d’Électronique des Systèmes Temps Réels
Amphithéâtre de l’IUP de Lorient, Vendredi 10 septembre 2004
2/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthode de projection architecturale
Méthode d’exploration architecturale
Applications
Conclusion, perspectives et bilan
3/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Besoin de flexibilité ?
Radio Logicielle différentes normes différents opérateurs interopérabilité évolution des services adaptation à l’environnement
Protection des réseaux évolution des attaques évolution des protections mise à jour
4/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
entrée 1 entrée 2entrée 1 entrée 2entrée 1 entrée 2
Plate-forme et flexibilité
Solution logicielle
ALU
Banc de registres
µP
sortie
REGREGREGREG
mémoiresinstructions
données
entrée 1 entrée 2
Solution flexible
Solution matérielle dédiée
ASIC 1 ASIC 2 ASIC 3
Solution performante
010111010100101111010101010010101111110000101111110101001010111111
Configuration 1
010100101011111100001011111101010010111010100101111010101010111111
Configuration 2
111111010100101110101001011110101 010100101011111100001001010111111
Configuration 3
010100101011111100001011111101010010111010100101111010101010111111
Configuration 4
Solution matérielle reconfigurable
Architecture Reconfigurable
5/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Solution matérielle reconfigurable
architecture physiquereconfigurable
éléments configurables de
calculs et mémoires
réseaux configurables de
connexions
architecture logique 1
configuration 1
application 1
configuration
architecture logique 2
configuration 2
application 2
reconfiguration
6/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Système reconfigurable sur puce (R-SOC)
RSOCRSOC
cluster 1cluster 1 cluster 2cluster 2
cluster 4cluster 4cluster 3cluster 3
Contrôleur de tâchesContrôleur de tâches
Mémoire de donnéesMémoire de données
Mém.Config.Mém.Config.
Mém.Instr.Mém.Instr.
E/ S.E/ S.
logiqueconfigurable
Bloc 3
Bloc 2
Bloc 1
Tranche 1
Bloc 1
Tranche 2
Bloc 1
Tranche 3
Bloc 1
Tranche 4
Interface de configuration Contrôleur DMA
Bus 128 bits
Interface PCI Processeur ARCContrôleurmémoire
Mémoire locale128 x 32 bits
Unité de traitement 32 bits
Unité de traitement 32 bits
Mémoire locale128 x 32 bits
Unité de traitement 32 bits
Unité de traitement 32 bits
Mémoire locale128 x 32 bits
Unité de traitement 32 bits
Unité de traitement 32 bits
Mémoire locale128 x 32 bits
Unité de traitement 32 bits
Mult 16 x 24 Mult 16 x 24
Unité de contrôle
DCTEstimateur demouvements
FIR RISC
Décodeurde Viterbi
RAM
FPGA
Control Interface
Interconnections
CoeursLABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
E/S
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
E/S
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
E/S
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
E/S
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
LABs
RAM81 Koctets
RAM 72 octets RAM 576 octetsBloc DSP
Switch
Switch
Dnode Dnode
Dnode Dnode
Switch
Switch
Switch
Dnode Dnode
Dnode Dnode
Switch
Switch
Dnode
Dnode
Dnode
Dnode
Switch
Dnode
Dnode
Dnode
Dnode
mémoirecache
données
mémoirecache
instructions
processeurstructure
reconfigurable
mémoireexterne
Mémoire A256 x 32
Mémoire B256 x 32
FPGAGTI1
IN
GTI1
Mémoire256 x 32
Mémoire256 x 32
FPGAALGO1
BC
Mémoire C256 x 32
Mémoire D256 x 32
FPGAGTI2
GTI1
OUTop op op op op op
op op op op op op
op op op op op op
op op op op op op
configurationconfiguration
banc deregistresbanc deregistres
unité degénérationd’adresse
unité degénérationd’adresse unité de
contrôleunité decontrôle
statusstatusbufferbuffer
rDPA
Bus mémoire externe
? ? ?
7/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthode de projection architecturale
Méthode d’exploration architecturale
Applications
Conclusion, perspectives et bilan
8/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
explorationalgorithmique
explorationarchitecturale
cible architecturale
FPGA
gros grain
C1 C2
+*
cycles
opérations
+* +*test test
C18
Ordonnancement séquentiel
C1 C2
+*
cycles
opérations
+*
+*
C3 C4
Ordonnancement pipeline
C1 C2
+*
cycles
opérations
6 iterations
ALU ALU ALU ALU
ALU ALU ALU ALU
ALU ALU ALU ALU
ALU ALU ALU ALUcible architecturale
FPGA
gros grain
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
µP µP
DSP
DSP
DSP
DSP
gros grain
grain finFPGA
Espace d’exploration : 3 dimensions
explorationarchitecturale
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
LUT LUT LUT
cible architecturale
FPGA
gros grain
ALU ALU ALU ALU
ALU ALU ALU ALU
ALU ALU ALU ALU
ALU ALU ALU ALU
ALU ALU ALU
ALU ALU ALU
ALU ALU ALU
ALU ALU ALU
ALU ALU ALU
9/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
routagetaille LUT
taille cluster
VPR
Betz 1997Université de Toronto
Canada
famille
parallélismepipeline
Enzler 2000Institut Technologique
Fédéral de Suisse E.T.H.
ordonnancementparallélismedéroulage
Le Moullec 2003
LESTER
Bossuet 2004
Bilavarn 2002
taille des élémentsfonctions
taille des clustersrépartition hiérarchique
taille des élémentsfonctions
taille des clustersrépartition hiérarchique
LESTER
Bossuet 2004
Bilavarn 2002
DESIGN TROTTER
LESTER
Bossuet 2004
Bilavarn 2002
Le Moullec 2003
Positionnement d’outils d’exploration
explorationalgorithmique
explorationarchitecturale
cible architecturale
FPGA
gros grain
explorationalgorithmique
explorationarchitecturale
cible architecturale
FPGA
gros grain
explorationalgorithmique
explorationarchitecturale
cible architecturale
FPGA
gros grain
explorationalgorithmique
explorationarchitecturale
cible architecturale
FPGA
gros grain
domaine 1
domaine 2
domaine 3
famille
Enzler 2000Institut Technologique
Fédéral de Suisse E.T.H.
Choi 2002Université de Caroline Sud
USA
Lagadec 2001UBO
FranceMADEO-BET
VPR
Betz 1997Université de Toronto
Canada
routagetaille élémenttaille cluster
config configMoritz 1998
M.I.T.USA
KressArray
Nageldinger 1997Université de Kaiserlautern
Allemagne
Raw +-
largeur de l’espace deconception
famille
LESTER
Bilavarn 2002
Précisiondes
estimations
+ -
10/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Environnement Design TrotterSpécification de l’applicationlangage C
HCDFG
Courbes de compromisressources vs cycles
Parser
ESTIMATIONSYSTEME
Y. Le Moullec
PROJECTIONMATERIELLE
S. Bilavarn
116 Cellules Logiques1 RAM
0 lignes 3 états24 Entrées/Sorties
Th = 5 nsTex = 30 ns
XCV400EPQ240
FPGA
Librairie
estimationsprécises
Architecture modélisée
PROJECTIONARCHITECTURALE
L. Bossuet
68,80%
100% 100%93,80%
ADD/SUB MUL/DIV COMP LOGIC niveau 1
69%
niveau 2
10%
niveau 3
21%
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1H0
MémoireLocale
MémoireLocale
Unité de traitement
Unité de traitement
Unité de traitement
H2
Mul Mul
estimationtaux d’occupation
estimationdistribution des communications
4 5 6 7 8 9 10 cycles
4
2
3
1
5
Nombreressources
add
sous
ram(read)
ram(write)
rom
mul
Réalisation matérielleparallèle
Réalisation logicielle
séquentielle
11/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
1SpécificationsApplications
et Architectures
2Projection
Architecturale
3Exploration
Architecturale
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthode de projection architecturale
Méthode d’exploration architecturale
Applications
Conclusion, perspectives et bilan
12/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Spécification des applications : exemple, DCT-1D
X5 X2 X4 X3 X6 X1 X7 X0
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x x
+ +
+ ++
Y7 Y5 Y3 Y1 Y6 Y4Y2 Y0
C4 C4 C4 C4
C6 C2 C6 C2
C5 C7 C3 C1
Graphe flot de données Choix d’un ordonnancement
informations nécessaires ???
4 5 6 7 8 9 10 cycles
4
2
3
1
5
Nombreressources
4 multiplieurs4 soustracteurs3 additionneurslargeur mémoire
add
sous
ram(read)
ram(write)
rom
mul
13/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Les communications au cœur de la spécification
D’après des études sur la consommation de puissance des ressources d’architectures à grain fin (LESTER, Univ Princeton, ...) Répartition de la consommation de puissance :
Ce sont les ressources de routage qui consomment le plus de puissance !
LOGIQUE
E/S
ROUTAGE
14/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Réduire l’impact du routage ? Sources : LESTER, Univ Princeton, ...
Conclusion : rapprocher physiquement les ressources qui communiquent le plus
longueur double 31%
longueur triple20%
longue3%
locale46%
longueur double 25%
longueur triple21%
longue23%
locale31%
Utilisation moyenne des ressources de routage
Part de la consommation des ressources de routage
15/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Nombre decommunications
ACG : mise en évidence des communications
-
+×
20
14
8
(4)
(4) (3)
X5 X2 X4 X3 X6 X1 X7 X0
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x
+-
x x
+ +
+ ++
Y7 Y5 Y3 Y1 Y6 Y4Y2 Y0
C4 C4 C4 C4
C6 C2 C6 C2
C5 C7 C3 C1
C[0••7] Y[0••7]53 3
8 8
ACG
TRANSFORMATION
NœudsTraitements
NœudsMémoires
X[0••7]
Nombred’opérateurs(ordonnancement)
4 multiplieurs4 soustracteurs3 additionneurslargeur mémoire
4 5 6 7 8 9 10 cycles
4
2
3
1
5
Nombreressources
add
sous
ram(read)
ram(write)
rom
mul
16/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Modélisation fonctionnelle des architectures
Modélisation possible d’un large spectre d’architectures grain fin, gros grain, hétérogène indépendante de la technologie
Utilisation d’une vue fonctionnelle de l’architecture les ressources sont décrites par les fonctions qu’elles réalisent
La modélisation hiérarchique à deux types d’éléments
Elément Hiérarchique
Elément Fonctionnel
• nom et ID
• liste des opérations réalisables
• liste des mémorisations réalisables
• nombre
Les éléments hiérarchiques sont utilisés pour modéliser le routage et la hiérarchie de l’architecture
Les éléments fonctionnels sont utilisés pour modéliser les ressources de traitements et de mémorisation de l’architecture
• nombre d’éléments contenus
• liste des éléments contenus
• nombre
• nom et ID
17/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Modélisation fonctionnelle : exemple Cas d'une architecture gros grain hiérarchique (Chameleon)
Élément Hiérarchique Élément Fonctionnel
3 Éléments hiérarchiques• HO = H1*3• H1 = H2*3• H2 = F0*2 + F2*3 + F2*2 + F3
3 Éléments fonctionnels• FO => Unité mémoire• F1 => Unité de traitement• F2 => Mul
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1H0
MémoireLocale
MémoireLocale
Unité de traitement
Unité de traitement
Unité de traitement
H2
Mul Mul
18/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Cas d'une architecture gros grain hiérarchique (Chameleon) représentation grammaticale
Modélisation fonctionnelle : exemple
<MODEL> Chameleon
<HIERARCHICAL> H0 <ATTRIBUTES> ID:=1 number:=1 h_number:=1 f_number:=0 <ELEMENT> element_1:=2 /* H1 */ <ENDELEMENT> <ENDATTRIBUTES><ENDHIERARCHICAL>
<HIERARCHICAL> H1 <ATTRIBUTES> ID:=2 number:=4 h_number:=1 f_number:=0 <ELEMENT> element_1:= 3 /* H2 */ <ENDELEMENT> <ENDATTRIBUTES><ENDHIERARCHICAL>
<HIERARCHICAL> H2 <ATTRIBUTES> ID:=3 number:=3 h_number:=0 f_number:=3 <ELEMENT> element_1:= 4 /* F0 */ element_2:= 5 /* F1 */ element_3:= 6 /* F2 */ <ENDELEMENT> <ENDATTRIBUTES><ENDHIERARCHICAL>
<FUNCTIONAL> F0 <ATTRIBUTES> ID:=4 number:=2 <MEMORY> m1 RAM 32 128 <ENDMEMORY> <ENDATTRIBUTES><ENDFUNCTIONAL>
<FUNCTIONAL> F1 <ATTRIBUTES> ID:=5 number:=3 <OPERATOR> f1 ALU 32 <ENDOPERATOR> <ENDATTRIBUTES><ENDFUNCTIONAL>
<FUNCTIONAL> F2 <ATTRIBUTES> ID:=6 number:=2 <OPERATOR> f1 MUL_S 16 <ENDOPERATOR> <ENDATTRIBUTES><ENDFUNCTIONAL>
<ENDMODEL> Chameleon
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1H0
MémoireLocale
MémoireLocale
Unité de traitement
Unité de traitement
Unité de traitement
H2
Mul Mul
19/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
1SpécificationsApplications
et Architectures
2Projection
Architecturale
3Exploration
Architecturale
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthode de projection architecturale
Méthode d’exploration architecturale
Applications
Conclusion, perspectives et bilan
20/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Projection architecturale Faire une projection de l’ACG de l’application sur le modèle de
l’architecture spécifiée
Stratégie : émuler les outils de CAO en rapprochant hiérarchiquement les opérateurs
et mémoires qui communiquent le plus Estimations :
répartition des communications dans l’architecture regroupement hiérarchique des opérateurs et des mémoires taux d’utilisation des ressources de l’architecture
-
+×
20
14
8
(4)
(4) (3)
C[0••7] Y[0••7]53 3
8 8
X[0••7]
PROJECTION H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1H0
MémoireLocale
MémoireLocale
Unité de traitement
Unité de traitement
Unité de traitement
H2
Mul Mul
21/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Projection architecturalefavoriser la localité hiérarchique
nœudsmémoires
(m) (n)x
(1) (n)y
(1) (1)z
Nœuds les pluscommunicants
+/-
+/-
H2
+/-
H2
RAM
Taille A
H2
RAM
Taille A
Taille B
Compatibilité des nœuds,réalisation hiérarchique
a)
b)
c)
(m-1) (n-1)?
- +?
- +
??
(n-1)A +?
+?
A Bz
Regroupement des nœuds,création du nœud composite
nœudscomposites
nœudstraitements
- +
A +
A B
22/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Projection architecturaleproposer un intervalle d’estimations
Niveau d’abstraction élevé application : HCDFG architecture : modélisation fonctionnelle
Utilisation de trois algorithmes rapides algorithme minimum algorithme intermédiaire algorithme maximum
architecture A
architecture C
architecture B
Coût de communication
Résultat de l’outil de synthèse
Résultat de l'estimation
23/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Projection architecturale : les trois algorithmes
ACG initial
(1)
+
–×
14
20
8
(2) (2)
+
–×
9.33 5.33
(1)
(1) (1)
× –20
7.33
MINIM
UM
L’algorithme minimum considère que toutes les communications entre x et - se font dans le nœud composite
+
–×
9.33 5.33
(1)
(1) (1)
× –10
7.33
10INTERMEDIAIRE
L’algorithme intermédiaire privilégie les communications entre x et - au niveau du nœud composite
+
–×
7 4
(1)
(1) (1)
× –5
11
5
5 5
MAXIMUM
L’algorithme maximum répartie uniformément les communications sans prendre en compte la spécificité du nœud composite
24/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Algorithme Minimum Exemple
+
–×
9.33 5.33
(1)
(1) (1)
× –20
7.33étape 2
H1
+/-
×
+/- +/-
×H2H2
-
–
5.33
(1)
× –20
× +9.33
7.33étape 3
H1
+/-
×
+ +/-
×H2H2
-
(1)
+
–×
14
20
8
(2) (2)étape 1début
Modifications de l’ACG Modifications de l’architecture
H1
+/-
×
+/- +/-
×H2H2
+/-
élément fonctionnel non utilisé
élément fonctionnel utilisé
× –20
× + –14.66
7.33étape 4fin
H1
+/-
×
+ -
×H2H2
-
Nc H2 : 34,66 Nc H1 : 7,33
A chaque étape un nouveau nœud composite est créé
Les éléments fonctionnels sont successivement alloués
Le processus se termine lorsqu’il ne reste que des nœuds composites
A la fin du processus il est possible de calculer le nombre de communications dans les éléments hiérarchiques H1 et H2
25/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
(1)
+
–×
14
20
8
(2) (2)
+
–×
7 4
(1)
(1) (1)
× –5
11
– (1)
×+ –16
×+ –16
× –5
21
étape 1début
étape 2
étape 3
étape 4fin
Modifications de l’ACG Modifications de l’architecture
H1
+/-
×
+/- +/-
×H2H2
+/-
H1
+/-
×
+/- +/-
×H2H2
-
H1
+
×
+/- +/-
×H2H2
-
H1
+
×
- +/-
×H2H2
-
Nc H2 : 21 Nc H1 : 21
5
5 5
×(1)
5
912
Algorithme MaximumAlgorithme Intermédiaire
+
–×
9.33 5.33
(1)
(1) (1)
× –10
7.33étape 2
H1
+/-
×
+/- +/-
×H2H2
-
× –10
étape 3
H1
+/-
×
+ +/-
×H2H2
-
(1)
+
–×
14
20
8
(2) (2)étape 1début
Modifications de l’ACG Modifications de l’architecture
H1
+/-
×
+/- +/-
×H2H2
+/-
× –10
× – +24.66
7.33étape 4fin
H1
+/-
×
+ -
×H2H2
-
Nc H2 : 34,66 Nc H1 : 7,33
10
×(1) × –10
14.66
7.33
26/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
De la projection à l’exploration architecturale
PROJECTIONARCHITECTURALE
Architecture modélisée
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1
H2 H2
H2
H2
H2
H1H0
MémoireLocale
MémoireLocale
Unité de traitement
Unité de traitement
Unité de traitement
H2
Mul Mul
68,80%
100% 100%93,80%
ADD/SUB MUL/DIV COMP LOGIC
niveau 169%
niveau 210%
niveau 321%
Estimation dutaux d’occupation
Estimations de la distribution hiérarchique des communications
niveau 1
58%
niveau 3
25%
niveau 2
17%niveau 2
41%
niveau 3
35%
niveau 1
24%
minimum intermédiaire maximum
-
+×
20
14
8
(4)
(4) (3)
C[0••7] Y[0••7]53 3
8 8
ACG
X[0••7]
EXPLORATIONARCHITECTURALE
27/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthode de projection architecturale
Méthode d’exploration architecturale
Applications
Conclusion, perspectives et bilan
1SpécificationsApplications
et Architectures
2Projection
Architecturale
3Exploration
Architecturale
28/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Flot d’exploration architecturale
Choix des fonctions critiques
Projection architecturaleExploration architecture
Choix d’une architecture commune
Estimation pour l’application communications & taux d’utilisation
F6F5
F4F3
F2
F1
Spécification HCDFG desfonctions de l’application
ESTIMATION SYSTEME
Fonctions critiquesde l’application
ArchitectureModélisée
n°1
Spécification desarchitectures
Architecture choisie
29/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Localité des communications
F2 est plus critique que F1 pour la localité des communications si et seulement si :
On peut faire la même chose avec le nombre de ressources mémoires
Nombre de ressources de traitement
Nombre de communications
F1
F2
Aire critique
il y a en moyenne de nombreusescommunications pour peu de ressources
Ncomm1 Ncomm2
Nress1
Nress2
Ncomm2
Nress2
Ncomm1
Nress1
30/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Méthodologie d’exploration architecturale
Nombre d’éléments fonctionnels
Taille des clusters
Taille des mémoires
Point de départ
Point d’arrivée
Taille des clusters
Taille mémoire Choix des clusters
Taux d’utilisation
Choix compromis
Étude de l’ACG
Sur la ou les fonctions critiques de l’application
Sur l’ensemble des fonctions de l’application
31/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthodes de projection architecturale
Méthodes d’exploration architecturale
Applications
Conclusion, perspectives et bilan
32/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : Intelligent CAMera - LIST CEA
Détection de mouvement par différence d’intensité et mise à jour de l’image de fond
Applications gestion du flux automobile mouvement de foule (métro)
33/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : fonctions critiques
nombre de communications
nom
bre
de r
ess
ou
rces
nombre de communicationsn
om
bre
de c
ycl
es
envelop
testGravité
reconstDilat
etiquet
errorBin
gethistogram
add
sub
div
absolute
thresholdAdapt
convolveTabHisto
histoThershold
setvalue
Plan de criticité selon la Localité spatiale des communications
Plan de criticité selon la congestion temporelle des ressources communications
Ressources de traitementFonction
Nombre decommunications
Nombre decycles add/sub mul/div comp logique
Ressources
mémoires
envelop 15 643 324 1 360 648 66 18 84 327*20 +
3*35536
testGravité 7 523 319 264 758 60 1 176 59 15*20
34/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : étude de l’ACG
Répartition des communications dans la fonction testGravité
50.3 % mémoires <--> mémoires 32.9 % comparateurs <--> mémoires 16.4% comparateurs <--> logiques 0.2 % add/sous <--> mémoires 0.1 % add/sous <--> mul/div 0.1 % mul/div <--> mémoires
Deux types de cluster comparateurs + logiques + mémoires add/sous + mul/div + mémoires
Taille mémoire Choix des clusters
Taille des clusters
Taux d’utilisation
Choix compromis
Étude de l’ACG
Hniveau3
Hniveau2
cluster1
+/- +/-
×/÷
+/-
×/÷
20*16 20*16cluster2
L
CP
20
*16
L L L
CP
C1 C2 C2
C1 C2 C2
C1 C2 C2
C1 C2 C2
C1 C2 C2
Hniveau2
C1 C2 C2
C1 C2 C2
C1 C2 C2
C1 C2 C2
C1 C2 C2
Hniveau2
C1 C2 C2
C1 C2 C2
C1 C2 C2
C1 C2 C2
C1 C2 C2
<- Niveau 1 ->
35/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : exploration taille mémoireTaille mémoire
Étude de l’ACG
Taille mémoire Choix des clusters
Taille des clusters
Taux d’utilisation
Choix compromis
Étude de l’ACG
cluster 2
54
55
56
57
1 * 20 2 * 20 3 * 20 4 * 20
taille de l'élément mémoire
% d
es
com
mu
nic
ati
on
sau
niv
eau
1
cluster 1
54
55
56
57
1 * 20 2 * 20 3 * 20 4 * 20
taille de l'élément mémoire
% d
es
com
mu
nic
ati
on
sau
niv
eau
1
36/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : choix des clustersÉtude de l’ACG
Taille mémoire Choix des clusters
Taille des clusters
Taux d’utilisation
Choix compromis
Étude de l’ACG
55
56
57
58
59
% d
es
com
mu
nic
ati
on
s
{1
AD
D, 1
MU
L}
{1
CO
MP, 1
LO
GIC
}
{1
AD
D, 1
MU
L}
{2
CO
MP, 1
LO
GIC
}
{2
AD
D, 1
MU
L}{
2 C
OM
P, 1
LO
GIC
}
{1
AD
D, 1
MU
L}{
4 C
OM
P, 1
LO
GIC
}
{2
AD
D, 1
MU
L}{
4 C
OM
P, 1
LO
GIC
}
{1
AD
D, 1
MU
L}
{6
CO
MP, 1
LO
GIC
}
{2
AD
D, 1
MU
L}{
6 C
OM
P, 1
LO
GIC
}
37/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : tailles des clustersÉtude de l’ACG
Taille mémoire Choix des clusters
Taille des clusters
Taux d’utilisation
Choix compromis
Étude de l’ACG
0%
20%
40%
60%
80%
100%
4 cluster 2 6 cluster 2 8 cluster 2 10 cluster 2
% d
es
com
mu
nic
ati
on
s
0%
20%
40%
60%
80%
100%
4 cluster 1 6 cluster 1 8 cluster 1 10 cluster 1
% d
es
com
mu
nic
ati
on
s
niveau 1
niveau 2
niveau 3
Coût descommunications
++
+
-
38/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : Choix finalÉtude de l’ACG
Taille mémoire Choix des clusters
Taille des clusters
Taux d’utilisation
Choix compromis
Étude de l’ACG
98,50% 96,10%
36,70%
70,10%
ADD/SUB MUL/DIV COMP LOGIC
Taux d’utilisationdes ressources de
l’architecturepour l’application
complète
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2 Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2
Hn2 Hn2 Hn2
Hn2
Hn2
Hn2
Hn2
Hniveau3
niveau 3
Hniveau3={28 Hniveau2 }
Hniveau2
C1 C2
C1
C1
C1
C1
C2
C2
C2
C2
C2
C2
C2
C2C3
niveau 2
Hn2
Hniveau2={5C1, 9C2, C3}
cluster1
×/÷
20*16
+/- +/-
+/- +/-
cluster2
CP L LCP
CPCP CP
20*16 20*16
cluster3
35536
niveau 1
C1
C2
C3
Grosgrain
Grainfin
Mémoire
39/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : Distribution des communications
0%
20%
40%
60%
80%
100%
hist
oThe
rsho
ld
test
Gravité
geth
istog
ram
etiq
uet
enve
lop
dila
tBin
reco
nstD
ilat
erro
rBin
% d
es
com
munic
ati
ons niveau 1
37%niveau 3
28%
niveau 2
35%
niveau 1
niveau 2
niveau 3++
+
-
niveau 1
58%
niveau 3
25%
niveau 2
17%niveau 2
41%
niveau 3
35%
niveau 1
24%
testGravité envelop
niveau 1
57%
niveau 3
13%
niveau 2
30%
Distribution avec des clusters de grande taille:
cluster 1 : 20 add/sous, 10 mul, 5 memcluster 2 : 21 comp, 12 log, 6 mem
40/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
ICAM : Conclusion
Définition d’une architecture un cluster gros grain un cluster grain fin un cluster mémoire (image) cluster de niveau 2 de grande taille
Autres applications de traitement d’images compression Matching Pursuit (décodage) compression norme MPEG-2 (codeur)
Définition d’un type d’architecture adapté au domaine du traitement d’images
41/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
AES : Advanced Encryption Standard
Algorithme de chiffrement par blocs à clé secrète 10 rounds sans générateur de clefs
Architecture résultat de l’exploration :
Hn2
niveau 3
Hniveau3={4 Hniveau2 }
Hn2
Hn2 Hn2
Hniveau3
cluster1RAM
×/÷+/-
CP L L
niveau 1
Gros grain
Grain fin
Mémoire
C1
niveau 2
Hniveau2={4C1}
Hniveau2
C1 C1
C1 C1
Hn2
42/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
AES : Résultats
niveau 1
69%
niveau 2
10%
niveau 3
21%
Taux d’utilisationdes ressources de l’architecture
68,80%
100% 100%93,80%
ADD/SUB MUL/DIV COMP LOGIC
Répartition des communications
niveau 1
50%
niveau 2
14%
niveau 3
36% Architecture traitement image diminution de 19% au niveau 1 augmentation de 15% au niveau 3
43/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Applications : conclusion
Possibilité de définir des architectures par domaine d’applications
Proposer des architectures avec des "zones" adaptées à des parties d’une application
Intervalles de résultat
0%
20%
40%
60%
80%
100%
MAX 19% 62% 30% 60%
MIN 66% 98% 58% 90%
INTER 37% 63% 37% 69%
ICAM MPEG Matching AES
% des communications au plus bas niveau de hiérarchie (niveau 1)
44/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Plan
Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux
Spécifications des applications et des architectures
Méthode de projection architecturale
Méthode d’exploration architecturale
Applications
Conclusion, perspectives et bilan
45/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Conclusion
Principales contributions Mise en évidence de l’impact des communications sur les
performances des architectures reconfigurables Développement d’un outil d’estimation de l’adéquation
architecture/application Définition d’une méthodologie d’exploration architecturale
Réduction significative du fossé entre la description algorithmique des applications et la définition des architectures reconfigurables par une approche originale intervenant dès les phases de spécification algorithmique visant un large espace de conception architecturale convergeant rapidement vers une solution efficace
Identification de motifs architecturaux adaptés à des domaines d’applications
46/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Perspectives
Intégration de l’approche au sein d’un flot de conception complet renforcement du lien avec l’outil MADEO spécialisation de la modélisation pour des architectures spécifiques
(Systolic Ring, aSoC) prise en compte de la reconfiguration dynamique
Développement d’un Générateur Automatique d’Architecture Reconfigurable (après GAUT, GAAR ?) basé sur une approche logique floue
Proposition d’architectures reconfigurables à multi-granularités adaptées à des domaines émergents à spécifications mouvantes architectures reconfigurables sécurisées architectures reconfigurables pour la radio logicielle
47/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Bilan des travaux de thèse Publications
6 conférences internationales dont 5 IEEE 3 conférences nationales 1 article pour la revue IEEE Transaction on Computer Aided Design en
révision 1 article à paraître dans la revue International Journal of Embedded
Systems,Inderscience Publishers
Collaborations Internationale : Université du Massachusetts - VSPG Nationale : Université de Bretagne Occidentale - A&S En projet : Université de Montpellier - LIRMM
Enseignements Cours : Architecture, Conception et Utilisation des FPGA (ENS Cachan et
DEA électronique UBS) TP/ TD initiation aux FPGA Xilinx (licence GEII IUP Lorient)
48/48
Soutenance de Thèse Vendredi 10 septembre 2004, IUP Lorient
Merci,Questions ...