Utilisation des liaisons séries embarquées dans les FPGA XILINX.
1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy...
-
Upload
ace-bellec -
Category
Documents
-
view
105 -
download
1
Transcript of 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy...
![Page 1: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/1.jpg)
1
Modélisation et optimisation de la Consommation dans
les architectures embarquées
C. Belleudy
Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les Algorithmes - bât. Euclide B, 06903 Sophia Antipolis -France
Ecole d’architecture Mars 2005
![Page 2: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/2.jpg)
2
PLAN
1. Généralités sur la consommation électrique des circuits numériques
2. Estimation et optimisation de la consommation des ASICs et des FPGAs
3. Estimation et Optimisation de la consommation des processeurs et des mémoires
![Page 3: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/3.jpg)
3
PLAN
1. Généralités sur la consommation électrique des circuits numériques
1. La consommation ?2. Les sources de dissipation3. Optimisation
2. Estimation et optimisation de la consommation des ASICs et des FPGAs
3. Estimation et Optimisation de la consommation des processeurs et des mémoires
![Page 4: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/4.jpg)
4
020406080
100120140
2003
2005
2007
2009
2012
2015
2018
0
10
20
30
40
50
60
taille des Tren nm
F en Ghz
Evolution de la technologie
0100200300400
0
0,5
1
1,5
W
VddPrévisions ITRS 2003
année
année
année
050
100150200250300350
05001000150020002500300035004000
M Tr/cm2
W
W
W
![Page 5: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/5.jpg)
5
Quelques chiffres ?[Bo02]
carte mère Intel D865GvHz : • Minimum loading : 190 W (aucune application s’exécute),• Maximum loading : 286 W (heavy gaming application).
![Page 6: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/6.jpg)
6
Quelques chiffres ? Le packaging
$/mP
05
10152025303540
30 40 60 80
Boîtier Céramique : 4 fois plus cher que le boîtier plastique (P<2W/cm2).
W
Souce : P. Maurine - AS-LP
Refroidissement : 1$/puce/watt au dessus de 40 W. (Source INTEL).
[Ti98]
![Page 7: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/7.jpg)
7
Quelques chiffres ? Les batteries
Batteries au lithium :
1992 : 90 Wh/kg,
2000 : 140 à 160 Wh/kg .
2007 : de 190 à 200 Wh/kg.
Source : CEA
Piles à combustibles ?
![Page 8: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/8.jpg)
8
Température dans le circuit [Sil04]
Température de la jonction : de 85°C -> 125°C : Fmax diminue de 14%
Le circuit se dégrade exponentiellement à la température de la jonction.
![Page 9: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/9.jpg)
9
La consommation des circuits ?
Diversité et complexité accrues des applications :Audio, vidéo, téléphonie, bureautique, messagerie …Autre milieu médical ...
...
![Page 10: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/10.jpg)
10
Les sources de dissipation : Puissance et Energie
P = Pstatique + Pcommutation
Vdd
VsVe
Icc
NMOS
PMOS
1
0
1
0
Puissance de reposDue aux commutations
en sortie de la porte CMOS
Tm
dttPE0
)(
Vdd
Vs
Ve
NMOS
PMOS
![Page 11: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/11.jpg)
11
Puissance dynamique
Vdd
Vs
Cch
1
01
0
Idécharge
(c)
Ve
Ve1
0
Pcommutation = Pcourt_circuit + Pdynamique
Pcourt_circuit : changement d’état : les deux transistors NMOS et PMOS sont conducteurs simultanément, ~10% à 15% de Ptotale.
Par transition (0->1) : Pdynamique = Cl.Vdd2.F
CL : capacité de charge (loading charge)
Vdd
Vs
Ve
Cch
1
0
1
0 Icharge
1
0Ve
![Page 12: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/12.jpg)
12
Puissance statique
CMOS : interrupteur imparfaitVdd
Vs
Ve
Cch
1
0 I
1
0Ve
Pstatique = Isub. Vdd + Idiodes.Vdd
Courants inverses de diodes (jonction)
G
S D
Subtreshold current (I2):
Transistor PMOS laisse passer le courant,Transistor NMOS : ouvert,
Vdrain = Valim, Vsubstrat = 0V Courant de
fuite.
![Page 13: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/13.jpg)
13
Puissance statique : courant statique Isub
Courant de fuites attention : circuit mémoire, W/L, VTH, T ?
VT : tension de seuil (Threshold Voltage)
Isub
Isub ~ (W/L) e(-VTH
/T)
Cas idéal : VTH/Vdd < 0.3 [Bo02]
![Page 14: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/14.jpg)
14
Influence de VT sur PstatiqueT.
Saku
rai, IS
SC
C2003
Ileakage = 0.01 µA/µm pour une techno de 130 nm
Ileakage = 3 µA/µm pour une techno de 45 nm
![Page 15: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/15.jpg)
15
Puissance statique, Puissance dynamique
Source : P. Maurine - LIRMM - AS-LP
![Page 16: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/16.jpg)
16
Du coté des batteries
Choix d’une batterie adaptée : Wh/Kg ,
Le temps de décharge de la batterie : à courant constant
A Typical Discharge Profile (Li/MnO2DL2/3A Cells) [Ge01]
L’énergie totale C fournie par une batterie idéale est :
C = In .Tl (loi de Peukert)
n : constante propre à la batterie (cas idéal : n=1),Tl : temps de décharge en heure,I : courant de décharge.
![Page 17: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/17.jpg)
17
Du coté des batteries
Modèle électrochimique trop complexe,
Modèles basés sur des circuits électriques ?
Maîtriser E, Pmoyen, Ppic(Le packaging est déterminé par rapport à Ppic/cm2).
0
50
100
150
200
250
300
60 120 180 300
Pic de puissance W
Te
mp
s d
e d
éc
ha
rge
de
la
ba
tte
rie
Pmoyen constant [Ma99]
![Page 18: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/18.jpg)
18
A quel niveau doit-on intervenir ?
SOURCE : MEDEA+ conférence/octobre 2002
![Page 19: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/19.jpg)
19
Comment réduire la consommation ?
Couper la tension d’alimentation : Couper la tension d’alimentation :
Exemple modes de repos (idle, sleep) des processeurs (LParm, Exemple modes de repos (idle, sleep) des processeurs (LParm, StrongArm, Arm7, 9, 11, Crusoé, Xscale, Pentium M, PowerPC…)StrongArm, Arm7, 9, 11, Crusoé, Xscale, Pentium M, PowerPC…)
Baisser la tension d’alimentation Baisser la tension d’alimentation (voltage scaling) (voltage scaling)
T = K. CL.VddVdd-VTH)2
Lorsqu’on baisse le tension
d’alimentation, F doit être recalculée
=> on parle de couple (V,F)0
5
10
15
20
25
30
1 2 3 4 5
Vdd(V)T
em
ps d
e r
ép
on
se
(no
rmali
sé)
![Page 20: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/20.jpg)
20
Comment réduire la consommation ?
Baisser la fréquence du circuit : Ppic et Pmoyen diminuent, E reste inchangée Ppic et Pmoyen diminuent, E reste inchangée => permet de limiter la dissipation thermique => permet de limiter la dissipation thermique et de maîtriser le pic de puissance (Ppic et de maîtriser le pic de puissance (Ppic détermine le prix du packaging).détermine le prix du packaging).
Réduction du nombre de commutations : niveau porte, processeur, bus et mémoire.
Taille des transistors : Permet de diminuer la capacité de charge équivalente.
![Page 21: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/21.jpg)
21
Comment réduire la consommation ?
Plusieurs VT : Influence de VTH
1- Dual Treshold CMOS (DTCMOS) : 2xVTH
VTH bas sur le chemin
critique, VTH haut hors
chemin critique.
2 - Multiple Threshold CMOS (MTCMOS) [Ca04] : VTH bas
fonctionnement normal, VTH haut en
mode repos.
VTH
![Page 22: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/22.jpg)
22
Comment réduire la consommation ?
Sub=1 : VTH haut
Sub=0 : VTH bas
Transistor off : VGS =0V, Transistor on : VGS = Vdd.
Plusieurs VTH [In01] : 3 - Variable Treshold CMOS
Transistor (VTCMOS)
=> ABB (Adaptative Body Biaising)
![Page 23: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/23.jpg)
23
La consommation dans un SOC
uP USB
DSPASIC
PCIDRAM
SRAM
DSP
RISC
Fonction
Matérielle
(IP)
FPGAFPGAS/DRAM
Bus/Réseau
Bibliothèques
T1
C1 C2
T5
T3 T4 T2
DSP
RISC
Bus
Architecture du SOC
Ordonnancement
![Page 24: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/24.jpg)
24
La consommation ?
![Page 25: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/25.jpg)
25
PLAN
1. Généralités sur la consommation électrique des circuits numériques
2. Estimation et optimisation de la consommation des circuits logiques (ASIC/FPGA)
1. Estimation de la consommation des ASICs
2. Optimisation de la consommation des ASICs
3. Cas particulier des FPGAs
3. Estimation et Optimisation de la consommation des processeurs et des mémoires
![Page 26: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/26.jpg)
26
Estimation niveau logique : principe
P = Pstatique + Pdynamique
Pstatique = Vdd.i (Istatiquei)
Istatiquei = N.Kdesign.Îleak
Avec : N : nombre de transistors,Kdesign : représente les caractéristiques
du circuit, Îleak : dépendant de la technologie,
de VTH.
Circuit N Kdesign
D Latch 10/bit 1.4
D FlipFlop 22/bit 2.0
Mpx 2->1 2/bit/entrée 1.9
1 cell 6T-RAM
6/bit 1.2
Porte logique
2/entrée 11
![Page 27: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/27.jpg)
27
Estimation niveau logique : principe
P = Pstatique + Pdynamique
n
iiicyclejportesPP
1,
.
i : Nombre de transitions 0->1 de la porte i pendant le cycle d’horloge j.Pi : puissance dissipée lors d’une commutation de sortie par la porte i.
Combinatoire Séquentiel
clock
m
iQijcyclebasc
PmPP .).( 1
,
Pclock : consommation sans activité en sortie de la bascule,PQ : consommation due à la commutation de sortie,
i : nombre de commutation de sortie.
![Page 28: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/28.jpg)
28
Estimation niveau logique : Méthode statistique
Simulateur
P1P2
Pn
S’appuie sur les simulateurs logiques du commerce (Cadence, SPICE, ….).
2 - Méthode probabiliste (SequenceDesign, BuildGates-Cadence, ….) :
Vecteurs de testreprésentatifs
Pmoyen
Calcul de la consommation à partir de l’activité => Déterminer toutes les
transitions => Processeurs actuels 500Mtransistor/cm2 => Temps de
calcul ??
1 - Méthode statistique :
Analyseur PmoyenVecteurs de test
Extraction de
Propriétés
![Page 29: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/29.jpg)
29
Estimation niveau logique : modèle probabiliste
Modèle probabiliste : est remplacé par la probabilité de transition notée P0->1.
P0->1 = P0(out=0).P1(out=1) =P0(1-P0)
Si les N entrées d’une porte ont la même probabilité de transition alors :
N
N NNP
2
0010
10 2
)2(
NN
22NN
Exemple : P0->1 = P0.P1= 1/2.1/2=1/4Notons PA=P(A=1) et P(A=0)=1-PA
P0->1 = (1-PA)PA
=> Glitchs non pris en compte
A OUT
O 1
1 0
![Page 30: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/30.jpg)
30
Estimation niveau logique : les Glitchs ?
ns
![Page 31: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/31.jpg)
31
Estimation niveau logique : cas des FSM
11S1 S2
S4 S3
10-1
-0
01-0
1- 01-0
11
00
P1,2 =3/4
S1 S2
S4 S3
P1,1 =1/4P2,1 =1/4
P3,3 =1/4
P4,2 =2/4
P3,4 =3/4
P4,3 =2/4
P2,3 =3/4
Calcul des probabilités de transition
P4=9/29
3/58
S1=00 S2=01
S4=11 S3=10
P1=2/29
3/58
3/29
9/58
9/29
9/58
9/58
1/58
P2=6/29
P3=12/29
Calcul des probabilités des états et de la probabilité totale de transitions Pi,j
PQ1 = P1,2*PS1 + P3,4*PS3 PQ2 = P2,3*PS 3
![Page 32: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/32.jpg)
32
Optimisation ? Dynamic Power Management (DPM)
Vdd : Power Supply Shutdown : on coupe l’alimentation des parties
du circuit qui ne sont pas utilisées, Voltage Scaling : on abaisse la tension d’alimentation (=> F
diminue) hors chemin critique. Clock gating : principe
L’arbre d’horloge : 30% Pcrête d ’un processeur Pbasc = .(PQ + Pclock)
CNTRLLatch
CLK
GCLK& T > TCLK + TAND + Tlatch
=> Réduit aussi le nombre de commutations inutiles.
![Page 33: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/33.jpg)
33
Clock gating pour les unités de contrôle
Avec Fa = i j(Si.Cj) avec Cj condition pour rester dans Si
10,01S1
S0
S2
-1, 10
00 00
11
00
-1,10
Logique combinatoire
Etat
sorties
entrées
Fa latch &
CLK
Gain en puissance variant de 10% à 30%,Augmentation en surface de 9% à 38%.
![Page 34: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/34.jpg)
34
Clock gating pour les unités de contrôle
S3
S1
S5
S2
S4
C35 C42
FSM1
FSM2
FSM1
FSM2
Fa1
Fa2
CLK
Le gain en consommation dépend de la qualité du partitionnement (ILP, Algorithme génétique) :
puissance : -30%, vitesse : + 12%, surface de silicium : + 28 % sur la FSM, +8% sur le circuit total.
![Page 35: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/35.jpg)
35
Clock gating
• Clock gating pour les unités fonctionnelles Principe: on se sert des contrôles de sortie pour désactiver les registres d’entrées. Implantée dans les
microprocesseurs haute performance. Puissance : -10% sur la puissance, peu d’augmentation de la surface de silicium.
EN
EN
AddTri
En
• Clock gating commandé par l’instruction
PC
Fetch Decode MemoryExecute WriteBack
Inst
ruct
ion
No FPNo WB
CLK
![Page 36: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/36.jpg)
36
Autres Optimisations : Influence du codage
Compteur : 9,5 mW/Mhz par transition 0->1.Compteur binaire naturel : 4 transitions en moyenne (2
montantes, 2 descendantes) Pmoyen = 2x9,5 mW/Mhz + 8xPclock
Compteur Binaire réfléchi : Pmoyen = ½ *9,5 mW/Mhz + 8xPclock
Exemple d’application : compteur de programme d’un processeur
Application aux unités de contrôle :
Chemin le plus probable : coder avec un nombre minimum de transitions (distance de Hamming).
![Page 37: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/37.jpg)
37
Autres optimisations : pré calcul
Principe : éviter le passage par une fonction coûteuse lorsque le résultat peut-être pré calculé.
Exemple : comparateur A>BSi les deux MSB sont différents alors le résultat peut-être déterminé sans soustraire A et B.
![Page 38: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/38.jpg)
38
Autres optimisations : parallélisation, pipeline(décodage de viterbi 16 bits)[Be98]
Pref = Cref.Vref2.Fref = 14.7
mW
Cref = 31 pF, Fref=1/40 ns,
Vref = 5V
Pparallèle = (2.15).Cref. (0.58.Vref
2).
(0.5.Fref)= 5.3 mW
Ppipeline = (1.15).Cref.
(0.58.Vref2).
(Fref)= 5.7 mW
![Page 39: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/39.jpg)
39
Parallélisation, pipeline, Pstatique ?
Techno 65 nm : Pdyn/Pstatique = 1
Pref = Pdyn+Pstatique = 2 . P
Pparallèle = 0,36. P + 1,98.P.(0,58) = P.(0,36 + 1.98.0.58) = 1,508.P
Ppipeline = 0,39. P + 1,1.P .(0,58) = P.(0,39 + 1,1.0,58) = 1,028. P.
![Page 40: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/40.jpg)
40
La Consommation des FPGAs
SOURCE : ramirtha-EEC2890-Winter 2004
PFPGA/PASIC ~ 100 à 300 ?
Xilinx4000 => 1000nW/MHz/porte
ASIC => 20-30nW/Mhz/porte
![Page 41: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/41.jpg)
41
La consommation des FPGAs
Architecture d’un FPGA type ISLAND Exemple de schéma d’un bloc Logic
Pdyn = Pdyncell + Pdynhorloge + Pdyninterconnect
Pstatique = allcellIleakcell + allroutingswitch Iswitch + all
ramcellIleakramcell
![Page 42: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/42.jpg)
42
Réduction de la consommation des FPGAs
• Consommation des blocs logiques : méthodes identiques aux ASICs ? ,• Consommation dans le réseau d’horloge :
- Clock gating => cellule d’entrée
- Clock gating par bloc ?
• Mode basse consommation : 100µA, (800ns pour passer en mode basse consommation, 200 µs pour retourner en mode run – source FPGA Actel).
• Deux Vdds : Blocs logics avec
soit VddH, soit VddL
soit choix par programmation.
1
Réseau d’horloge
Horloge
CNTRL
2 ns
![Page 43: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/43.jpg)
43
PLAN
1. Généralités sur la consommation électrique des circuits numériques
2. Estimation et optimisation de la consommation des circuits logiques (ASIC/FPGA)
3. Estimation et Optimisation de la consommation des processeurs et des mémoires
1. Estimation de la consommation du processeur et du système mémoire
2. Réduction de la consommation du processeur
3. Réduction de la consommation du système mémoire
![Page 44: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/44.jpg)
44
Processeur et mémoire (système monoprocesseur)
mp
E = Eprocesseur + Ebus + E mémoires
Emémoires = Emémoires internes (cache, scratchpad)
+ Emémoires externes
![Page 45: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/45.jpg)
45
Consommation logicielle
E = i Ei Ni + i,j Oi,j Mi,j + k Ek [Ti98]
Avec Ei : énergie propre à l’instruction i, Ni : nombre d’instruction de type i,
Oi,j : overhead entre les deux instructions de type i,j (changement de chemin de donnée)
Ek : énergie due aux défauts de cache, et aux ruptures de pipeline.
![Page 46: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/46.jpg)
46
Consommation logicielle : Instruction Level Power Analysis
AIi, Ii,jIi, Ii,j
Calcul de E et Ppic
Calcul de E et Ppic
Ni, Mi,j, Ek?
Ni, Mi,j, Ek?
Programme asm ou C
Intégration du parallélisme
Ii, Ii,j : Mettre 150 à 200 (E(200.Ei)>> Erebouclage) fois la même instruction i (ou la paire d’instruction i,j) dans une boucle. Effectuer ces mesures sans puis avec commutation de données.
Ces mesures peuvent être effectuées par classe d’instructions.
VESTIM-LP [Gu01]
![Page 47: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/47.jpg)
47
Consommation logicielle : Fonctional Level Power Analysis
1- Analyse fonctionnelle de l’architecture => paramètres architecturaux significatifs pour la consommation et définition du modèle de E et P.2 – Mesures caractéristiques
Exemple : SoftExplorer (N. Julien – Lester – AS-LP) : taux de parallélisme, : taux d ’utilisation des
unités de traitement : taux d ’accès en
mémoire externe : taux de défaut de
cache : taux d ’utilisation du
DMA PSR : taux de rupture de
pipelineItotal = f(mode mémoire, F, , , )
Exe
mp
le :
TI
TM
S32
0C62
01
![Page 48: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/48.jpg)
48
Architecture du système mémoire et consommation
Mémoires locales :
Mémoires cache : flexibles mais consommatrice,
Mémoires Scratch_pad : SRAM localisée sur laquelle on mappe les variables les plus fréquemment accédées,
Mémoire externe ou principale : DRAM, MRAM, Flash ...
Temps d’accés aux données
![Page 49: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/49.jpg)
49
Architecture du système mémoire et consommation
1 cycle, Temps d’accès : 3 ns, 0. 565 nJ
5 à 10 cyclesTemps d’accès :20 ns, 5. 83 nJ
Processeur L1 Cache(SRAM)
L2 Cache(SRAM)
MémoirePrincipale
20 à 50 cyclestemps d’accès 75 ns, 100 mW
N-1
P-1
0
P
1 cycle
ScratchPad Mem
Cache de données
Processeur
Mémoire externe
Espacemémoireadressable
Cellule SRAM : 6Trs
Cellule DRAM : 2 Trs
![Page 50: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/50.jpg)
50
Architecture du système mémoire : scratch-pad
Espacemémoireadressable
N-1
P-1
0
P
1 cycle
ScratchPad Mem
Cache de données
Processeur
Mémoire externe
Calcul de l’histogramme d’une image :
Char Image[512][512];
Int Histo[256];
…
For (i=0;i<512;i++)
For (j=0;j<512; j++)
level = Image[i][j];
Histo[level]=Histo[level]+1;
Configuration 1 - Cache 2K : cache misses dues aux conflits d’adresse entre Image et Histo. Optimisation difficile car l’adresse de Histo est dépendant de la valeur du pixel.Configuration 2 – cache 1K-Scratchpad 1K :Histo est placé dans le scratchpad.
![Page 51: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/51.jpg)
51
Consommation des SRAM (cache, scrachtpad)
Ecache = F(Line size, associativity, cache size, word size, techno)
Estimation : CACTI [CA]
0,64
0,65
0,66
0,67
0,68
0,69
16 32 64
Taille d'un mot du cache (Byte)E
ner
gie
(n
J)0
0,2
0,4
0,6
0,8
1
1 2 4
Degré d'associativité
En
erg
ie (
nJ)
0
0,1
0,2
0,3
0,4
0,5
0,6
2 4 8 16
Taille du cache (Kbyte)
Ene
rgie
(nJ
)
![Page 52: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/52.jpg)
52
Consommation des DRAM
SDRAM : ESDRAM =ESTBY + EREFRESH + EREAD + EWRITE
Typiquemment le refresh intervient toute les 64 ms.Benchmarks : SPEC95
RDRAM (Rambus DRAM)[Le00] :
Power down(3mW)
Active(300mW)
Standby(180mW)
Nap(30mW)
+6000ns +6ns
+60ns
Read/writeTransaction
capacité : 64 Mbits répartie en 4 bancs
![Page 53: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/53.jpg)
53
Consommation des DRAM : Mémoire multi_bancs
ProcessorCache
Chip 1 Chip 4Chip 3Chip 2
16 16 16 16
ProcessorCache
Chip 1 Chip 4Chip 3Chip 2
16 16 16 16
NAP, STB, PDN
![Page 54: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/54.jpg)
54
Consommation de la hiérarchie mémoire
Ememorysystem = Ecaches + Escratchpad + Emain memory
Ecaches = n Ecache i n : nombre de caches (données + instructions)
Ecache i = m Ehit + p Emiss + l Enoaccess
Emain memory = k Eaccess + j Enoaccess + … ( si différents modes )
P+m+l = k+ i : durée d’exécution de l’application
![Page 55: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/55.jpg)
55
Réduction de la consommation : transformation de code
E = i Ei Ni + i,j Oi,j Mi,j + k Ek
Ei :Ei : Utiliser des formats adaptés à l’échelle de numération souhaitée :Utiliser des formats adaptés à l’échelle de numération souhaitée :
Exemple : type « int », + 18.2% sur P que pour « char » ou Exemple : type « int », + 18.2% sur P que pour « char » ou « short ». « short ». Favoriser l’utilisation des opérations consommant moins d’énergie.
Exemple : A*2 => A+A.Exemple : A*2 => A+A.
Oi,j : Réordonner les instructions après ordonnancement :
Principe : Réordonner les instructions afin de réduire les commutations entre deux instructions consécutives.
Exemple pour le processeur Fujitsu DSP :1. LDI Séquences : 1,2,3 => 87.3 mA2. MOV2 2,1,3 => 71.4 mA gain de 22%3. ADD
![Page 56: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/56.jpg)
56
Réduction de la consommation : transformation de code
Ek : Réduction du nombre de rupture de pipelineBasé sur les probabilités de passage dans les séquences d’instructions. Exemple : IF (…)
Then <= Prob=0.3seq instr 1 …
Else <= Prob =0.7seq instr 2 …
END IF;Pour le pentium 4, taille du pipeline : 20
Ei, Ek : Réduction du nombre d’accés mémoire et de défaut de cache :
Modifications algorithmiques : favoriser l’utilisation des registres. Modifications architecturales, Combinaison des deux.
Beq seq instr1Seq instr 2Jump END IFSeq instr 1END IF
Bne seq instr2Seq instr 1Jump END IFSeq instr 2END IF
![Page 57: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/57.jpg)
57
Réduction de la consommation : transformation de code
for(i=0;i<N;i++) for(j=0;j<N;j++)
A[j][i] = A[j][i] +1;
for(j=0;j<N;j++) for(i=0;i<N;i++)
A[j][i] = A[j][i] +1;
for(i=0;i<N;i++) B[i]=A[i] +1; for(i=0;i<N ;i++) C[i]=A[i] * 3;
for(i=0;i<N;i++) B[i]=A[i] +1;
C[i]=A[i] * 3;
for(i=0;i<N;i++) B[i]=A[i] + A[i+1];
for(i=0;i<N;i++) B[i]=A[i] + A[i+1]; B[i+1]=A[i+1] + A[i+2];
Loop Interchange
Loop Fusion
Loop Unrolling
Hypothèse : les données sont stockées par ligne, A[j][i] et A[j][i+1] sont à des adresses consécutives.
Cette transformation réduit le nombre de défauts de cache. Si A peut_être affectée à un registre => une seule lecture mémoire.
Si A[i+1] peut_être affectée à un registre => une seule lecture mémoire. Pb : Augmente la taille du code (cache d’instruction).
![Page 58: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/58.jpg)
58
Réduction de la consommation : transformation de code
for(i=0;i<N;i++) for(j=0;j<N ;j++) for(k=0;k<N ;k++) C[i][j]= C[i][j] + A[i][k] * B[k][i];
for(j’=0;j’<N;j’+T) for(k’=0;k’<N ;k’+T)/* un block de taille T */ for(i=0;i<N;i++) for(j=j’;j< min(j’+T-1,N-1);j++) for(k=k’;k< min(k’+T-1,N-1);k++) C[i][j]= C[i][j] + A[i][k] * B[k][i]; A, B, C ne rentrent pas dans
le cache => décomposition par bloc dont la taille rentre dans le cache (Tile size).
=> Autre solution : modification du calcul d’adresse associé à un code de gray
Multiplication de matrice
Loop Tiling Transformation
Tile 1
Tile 2
Tile 3 Tile 4
Tile 1 : A[0][0], A[0][1], A[1][0], A[1][1],
Tile 2 : A[0][2], A[0][3], A[1][2], A[1][3],
…
![Page 59: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/59.jpg)
59
Réduction de la consommation : Architecture du système mémoire
Système embarqué : Architecture mémoire adaptée à l’application afin de diminuer le nombre de défaut de cache : degré d’associativité, niveau de cache, taille de ces différents niveaux de cache … => dépend de l’application ?
![Page 60: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/60.jpg)
60
Réduction de la consommation : DVFS, ABB, modes repos
Pour les processeurs DVFS (Xscale, Transmetta, StrongArm, Lparm …) : on adapte la vitesse de fonctionnement en fonction des contraintes temporelles (problème d’ordonnancement).
Modes repos : idle, sleep …
IDLE SLEEP
50 mW160 mW
RUN400 mW
10ms10ms 160ms
90ms
90msProcesseur StrongArm : (59 Mhz, 0.8 V) -> (206 Mhz, 1.5 V)
ABB (Adaptative Body Biaising) : VTH variable
![Page 61: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/61.jpg)
61
Quelques chiffres
Echelle de V,F P(V,F) Modes repos (Pénalités)
StrongArm SA110
0.8V,59Mhz 1.5V,206Mhz
_400mW
Idle : 160mW (10 µs)Sleep : 50mW (160
ms)
LParm (base : ARM8)
1.1V,10Mhz)(3.3V,100Mhz)
1.8 mW220 mW
Idle : 500µW (1 cycle)
PXA255(Xscale) 1V,200Mhz1.3V,400Mhz
0.9 W1.5 W
Pidle(F,V) = 45 à 939 mW
Sleep : (P=45µA)
Arm1176 (130µm)
De 330 Mhz à 550 Mhz
0.8mW/Mhz avec cache
0.6 mW sans cache
_
Transmetta 0.8V, 300Mhz1.3V,1GHz
_ _
FPGA-Actel F<400Mhz 1000nW/MHz/porte stby : 100µA(800ns,200µs)
![Page 62: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/62.jpg)
62
E processeur : DVFS ou mode repos ?
Tâche1
F1,V1Processeur inactif
WCET (Worst Case Execution Time)
Tâche1
F1,V1
Processeur en mode repos
WCET
Tâche1
F2<F1,V2<V1
WCET
E = Etâche1,F1,V1 + Einactif
E’ = Etâche1,F2,V2 + EtransitionDVS
E’ < Etâche1,F1,V1 < E
E et Ppic réduit.
E’’ = Etâche1,F1,V1 + Etransitionrepos + Emode
repos
E’’ > Etâche1,F1,V1(>E’) < E
Ppic inchangé, Prepos => rechargement de la batterie ?
![Page 63: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/63.jpg)
63
DVFS ou modes repos
Exploitation des modes repos lorsque F n’est plus disponible.=> Et la mémoire ????
Recherche des différentes vitesses de fonctionnement du ou des processeurs.
T1 (V,F)PE1
Echéance
T3 (V3,F3)Mode repos
T6 (V,F)
F CPU (Mhz) ECPU Emem Etotal
50 1.04 37.71 38.75
200 1.58 9.51 11.09
600 3.63 3.25 6.88
1000 7.88 2.02 9.9
Exemple : décodeur MPEG
(Processeur intel XSCALE) [Le00]
P en mW, E en mJ
![Page 64: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/64.jpg)
64
E processeur + Emémoire : DVFS ou mode repos ?
Tâche1
F1,V1
Processeur en mode repos
WCET
Tâche1
F2<F1,V2<V1
WCET
E’proc = Etâche1,F2,V2 + EtransitionDVS
Sans cache : E’mem = Pmactive . (T3-T1)
Avec cache - sans défaut de cache
E’mem = Pmstby . (T3 - T1)
Avec cache - Avec défaut de cache
E’mem = Pmstby . T.F1/F2 + Pmactive . T’’
E’’proc = Etâche1,F1,V1 + Etransition + Emode repos
E’’mem = Pmactive . (T2-T1) + Pmstby . (T3 -T2)
E’’mem = Pmstby . (T3 - T1)
E’’mem = Pmactive.T’’ + Pmstby.T + Pmstby.(T3 –T2)
T1 T2T3 T1 T3
![Page 65: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/65.jpg)
65
DVFS + Gestion des modes repos du système mémoire (RDRAM) [Le00]
F CPU
(Mhz)ECPU Emem Etotal
50 1.04 37.71
38.75
200 1.58 9.51 11.09
600 3.63 3.25 6.88
1000 7.88 2.02 9.9Exemple : décodeur MPEG (Processeur intel XSCALE)
P en mW, E en mJ
F CPU
(Mhz)P CPU P mem ECPU Emem Etotal
50 16.5 31.5 1.04 1.98 3.02
200 98.5 35.6 1.58 0.57 2.15
600 639 43.5 3.63 0.25 3.88
1000 2169 50.1 7.88 0.18 8.06
Exploitation des modes
STBY, NAP, PDN
![Page 66: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/66.jpg)
66
Considérons un ensemble de tâches définies par :Ci (Worst Case Execution Time : WCET) : pire temps d’exécution d’une tâche i,AETi : temps effectif d’exécution d’une tâche i,Ai : Date d’activation d’une tâche i,Ti : Période d’une tâche i = Echéance d’une tâche i (Di).
Principe de la politique RM (Rate Monotonic) [Gru02] : Priorité à la tâche qui a la plus petite période.
(à priorité fixe) Pour N tâches :
Ordonnancement basse consommation (monoprocesseur)
)12.(N Ti
CiU :ment ordonnanced'Test N/1
N
1i
![Page 67: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/67.jpg)
67
1. Recherche d’un facteur de ralentissement global
=> Rechercher : S = Fref/F : facteur de ralentissement (S>1).
Ordonnancement RM-LP hors ligne
)12.(N Ti
CiU :ment ordonnanced'Test N/1
N
1i
On cherche un facteur de ralentissement Ci’=Ci*S tel que :
U
)12.(N S )12(*N U* S
Ti
Ci*S
Ti
i'C N/1N/1
N
1i
N
1i
![Page 68: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/68.jpg)
68
Ordonnancement RM-LP hors ligne
Exemple :
42.10,583
0.828 S 1)-(2*2
12
7
4
1
3
1 U 1/2 Tâch
eWCET Périod
e
T1 1 3
T2 1 4
Ordonnancement RM
Choix de Emin
(E = Eproc + Emem)
Parmi EDVFS et Emoderepos
Modes repos
PHyperpériodePréemption
[Ki04]
P
t
Hyperpériode
P Hyperpériode
t3 4 6 8 9 12
3 4 6 8 9 12
3 4 6 8 9 12 t
![Page 69: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/69.jpg)
69
Ordonnancement RM-LP hors ligne
Solution ?
Recherche d’un facteur de ralentissement localSi il reste du temps, recherche d’un facteur de ralentissement local.
E
FnominaleFmin
F
DVFS
DVFS+Modes repos
t
P
P
t3 4 6 8 9 12
3 4 6 8 9 12
![Page 70: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/70.jpg)
70
Ordonnancement en ligne
Principe : redistributions des gainsLorqu’une tâche termine, on calcule la différence entre le WCET et le AET et on redistribue le temps gagné soit :
à la tâche qui débute son exécution, à toutes les tâches en attente.
Tâche
WCET Période
Exécution 1
T1 1 3 0.5
T2 1 4 1
T1 (V1,F1)CPU
Deadline
Si T1 finit avant son WCET
T2 (V2’,F2’)
Idle
![Page 71: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/71.jpg)
71
Ordonnancement CC-RM [SH03]
ii i
1jj
)AET puis WCET(
DDS
Tâche WCET Période Exécution1 Execution2
Execution3
Exécution4
T1 1 3 0.5 0.5 0.5 0.5
T2 1 4 1 0.5 1
Dj : deadline
En ligne => EDF ...Modes repos ?? Prédiction ?Coût de l’ordonnancement en ligne Power-aware ???
P
t
D1D2 D3 D4D5
3 4 6 8 9 12
3/2
9/4
![Page 72: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/72.jpg)
72
DVFS et ABB [Je04]
1. Modélisation de Pleakage (V) de façon à valider le gain attendu : P = Pdynamique(Vdd,F) + Pleakage (Vdd) à Vth constant.
2. Gestion du DVFS et du ABB (Adaptive Body Biaising)P = Pdynamique(Vdd,F) + Pleakage (Vdd,Vth)
avec Vth = Vth1 – K1. Vdd – K2.Vbs
Pleakage = [Vdd. (K3. eK4Vdd.eK5Vbs) + |Vbs|.Ij. Exemple : processeur crusoe 70 µm
Vdd=1V, Vbs =0V => E =93.5µJ, Vdd=0.85, Vbs =0V => E = 73.8µJ, Vdd=1V, Vbs =-0.66V => E =50.6µJ.
Politique d’ordonnancement ?
![Page 73: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/73.jpg)
73
Réduction de la consommation : Autres mémoires
• Mémoire 1T-SRAM (proposée par MoSys [Mo]) :
• Cellule de base : un transistor et une capacité (MOS).
• Une petite taille de cellule (1/3-1/4 d’une cellule SRAM)• Facilité de leur intégration • de très grandes vitesses, 220Mhz pour une technologie 0.25 µm, plus de 300 Mhz pour une technologie 0.18 µm. Ces mémoires surpassent les mémoires DRAM en terme de densité ?
Mémoire MRAM (proposée par Cypress) : Capacité : actuellement 2 Mo par chip, en 2006, 32Mo. Forte consommation en écriture, faible consommation en lecture, Quelques chiffres : Documentation cypress
32Kx8, Read and write access : 70 ns, active power : 495 mW, standby mode : 825 µW.
![Page 74: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/74.jpg)
74
Autres mémoires
Victim Buffer [Zh04] : mémorise les lignes récemment expulsées du cache.
Frequent Value [Va04] : les données du cache sont divisées en deux catégories : FV pour « Frequent value » et « NFV » pour « Non frequent value ». Les FVs sont stockées sous un format encodé dans un petit bloc tandis que les NFVs occupent un bloc plus large sous un format non encodé.
20 Cycles1 Cycle CacheCache CacheCache
MainMainMemoryMemory
MainMainMemoryMemory ProcessorProcessor ProcessorProcessor
Victim bufferVictim buffer Victim bufferVictim buffer
1 Cycle
![Page 75: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/75.jpg)
75
Conclusion
Evolution des techniques d’ordonnancement hors ligne et en ligne afin de réduire la consommation processeur + système mémoire en tenant compte du DVFS/ABB et des modes repos du processeur et des mémoires,
Impact de l’allocation mémoire ?
Gestion du RTOS complexe => réalisation de certains services en HW.
Systèmes Multiprocesseurs ?
NOC (Network On Chip) ?
![Page 76: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/76.jpg)
76
Conclusion : ITRS 2004
année 03 04 05 06 07 08 09 12 15 18
SOC Dynamic power reduction
0 0.1
0.1
0.2
0.2
0.2
0.2
6 4.7 8.1
SOC Static power reduction
0.37
1.4
2.4
3.4
5.1
6.4
8.7
18.8
44.4 232
Manufacturable solutions exist.
Manufacturable solutions are known.
Manufacturable solutions are not known.
![Page 77: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/77.jpg)
77
Bibliographie
[Ac03] A. Acquaviva, T. Simunic, L. benini, « LP-ECOS : An energy efficient RTOS », HP Lanoratories, April 2003.
[Be98] Luca Benini, Giovanni De Micheli , « Dynamic Power Management, Luca Benini, Giovanni De Micheli», Kluwer Academic Plublishers,1998.
[Be00] L. Benini, A. Bogliolo, G. De Micheli, « A survey of design technique for system Level dynamic power Management », IEEE transactions on VLSi Systems, vol. 8, No. 3, Juin 2000, pp. 299-316.
[Bo02] Bokar, www.intel.com. [Ca04], B.H. Calhoun, F.A. Honoré, A. P. Chandrakasan, » A Leakage
Reduction Methodology for distributed MTCMOS », proceeding of IEEE Joiurnal of Solid-state circuits, vol.39, no.5, may 2004.
[Ch02] P. H.Chou, J. Liu, D. Li, N. Bagherzadeh, « IMPACCT : Methodology and tools for Power-Aware Embedded Systems », Design Automation for Embedded Systems, Kluwer Academic Plublishers, pp.205-232, 2002.
[Da99] P. dave, G. Lakshminarayana, N. Jha, « COSYN: Hardware-Software Co-Synthesis of heterogeneous distributed Embedded Systems, IEEE Transactions on VLSI systems, Vol. 7, No. 1, mars 1999.
[Do94] M. Doyle, J. Newman, J. Reimers, « A quick method for measuring the capacity versus the discharge rate for a dual Lithium-ion insertion cell undergoing cycling », Journal of pwoer sources, Vol. 52, No. 2, décembre 1994, pp. 211-216.
[Ge01] Jun fei Geng, Battery Modeling: a Longer Lifetime, (duke University). [Gr02] F. Gruian, « Energy centric Scheduling for Real Time Systems », PhD
thesis Lund Institute of Technology, 2002.
![Page 78: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/78.jpg)
78
Bibliographie
[Gu01] Guitton-Ouhamou Patri cia, Belleudy Cécile, Auguin Michel, «Power consumption Model for the DSP OAK Processor», proceedings of 11th IFIP International Conference on Very Large Scale Integration-System-On Chip 2001, December 3-5 2001, Montpellier, France, pp73-78.
[Gu03] P. Guitton-Ouhamou, K. Ben Chehida, C. Belleudy, M. Auguin, «Automatical architecture exploration : Energy optimisations of a codesign tool for embedded HW/SW systems», first Northeast Workshop on Circuits and Systems (NEWCAS'2003), sponsored by IEEE June 17 - 20, 2003, in Montréal, Canada.
[FEL03] Xiaobo Fan, Carla Ellis, and Alvin Lebeck. Interaction of power-aware memory systems and processor voltage scaling. In Proceedings of the Workshop on Power-Aware Computer Systems PACS'03, December 2003.
[In01] T. Inukai, T. Hiramoto, T. sakurai, « VTCMOS in Seris Connected circuits », Proceedinf of ISPLED 2001.
[Je04] R. Jejurikan, C. Pereira, R. Gupta, « Leakage Aware Dynamic Voltage Scaling For Real-Time Embedded Systems », Proceeding of Design Automation Conference 2004.
[Ki04] W.Kim, J.Kim, S.L Min « Preemption-awware dynamic voltage scaling in hard real time systems », ISLPED 2004.
[Le00] X. Fan, C. Ellis, A. Lebeck, « The synergy between Power-Aware Ssystems and Processor Voltage Scaling », Proceedings of the International Symposium on Low-Power Electronics and Design ISLPED'01, August 2001.
[Lu01] Jiong Luo, Niraj K. Jha "Battery-Aware Static Scheduling for Distributed Real-Time Embedded Systems", in proceedings of 38th Design Automation Conference 2001 [p. 444] June 18-22, 2001 Las Vegas.
[Lu02] J. Luo and N. K. Jha, ‘‘Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems,’’ Int. Conf. on VLSI Design, Jan. 2002.
![Page 79: 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.](https://reader035.fdocument.pub/reader035/viewer/2022062512/551d9dbc497959293b8df89f/html5/thumbnails/79.jpg)
79
Bibliographie
[Ma99] Thomas Martin and Daniel Seiwiorek, "Non-Ideal Battery Behavior and Its Impact on Power Performance Trade-offs in Wearable Computing," Proceedings of the 1999 International Symposium on Wearable Computers, San Francisco, October 18-19, 1999; pp. 101-106.[Ti98] V.Tiwari, Reducing power in High performance microprocessors, Design Automation Conference , 1998, pp. 732-737 [Va04] Chuanjun Zhang, Jun Yang and Frank Vahid, “ Low static power frequent value data caches” Date 2004.[Wu03] Dong Wu and Bashir M. Al-Hashimi, Petru Eles, "Scheduling and Mapping of Conditional Task Graphs for the Synthesis of Low Power Embedded Systems", in proceedings of Design Automation Test in Europe 2003 Munich, Germany, March 3-7, 2003, p.90-95.[Zh03] D. Zhu, R. Melhem, and B. Childers; "Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation in Multi-Processor Real-Time Systems", IEEE Trans. on Parallel & Distributed Systems, vol. 14, no. 7, pp. 686 - 700, 2003.[Zh04] Chuanjun zhang, Frank Vahid, “ Using a victim buffer in application-specific memory hiearachy”, DATE 2004.AS-LP : http://lester.univ-ubs.fr:8080/~julien/AS%20conso/AS%20conso2.htm[Ca] CACTI : http://www.ece.ubc.ca/~stevew/cacti.html[Mo] Mosys low power design –don’t forget about the memory, http://www.mosys.com