vi estimation et réduction de la consommation · epic/powermill avant!/adm mentor graphics/lsim...
TRANSCRIPT
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 1
321
VI Estimation et réduction de la consommation
1. Pourquoi s'occuper de la puissance ? – Dissipation de chaleur – Portabilité – Watt is the problem ?
2. Où partent puissance et énergie électriques ? – Circuits intégrés numériques – Microprocesseurs, DSP, ...
3. Comment estimer la consommation ? 4. Comment réduire la consommation ?
– Matériel et logiciel
5. Conclusions
322
1. Introduction
Pourquoi s'occuper de la puissance dissipée ?
Watt is the problem ?
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 2
323
Évolutions technologiques • Famille DEC/Compaq [Herrick99] • EV4
– 200 MHz @ 3.3V – 16 gate delays per cycle – 30W @ 200 MHz & 3.3V – 1,7 Million Transistors – 233 mm2
• EV7 (21364) – > 1000 MHz @ 1.5V – 100W – ~100 Million Transistors – ~350 mm2
• Intel Pentium 4 [Intel 2000] – 1.5 GHz, 0.18 micron – Puissance des Pentium suit une courbe exponentielle ! – Réduction de la puissance du P4 par clock gating et power down des unités
fonctionnelles inutilisées – Une unité thermique embarquée vient couper la CPU si il y a un problème de
refroidissement – 55 Watts à 1.5 GHz (au lieu de 90 Watts)
• EV5 (21164) – 350 MHz @ 3.3V – 14 gate delays per cycle – 60W @ 350 MHz & 3.3V – 9,3 Million Transistors – 298 mm2
• EV8 – > 1-2 GHz (0.125 micron) – <150W – ~250 Million Transistors
• EV6 (21264) – 575 MHz @ 2.2V – 12 gate delays per cycle – 90W @ 575 MHz & 2.2V – 15,2 Million Transistors – 314 mm2
324
1. Dissipation de chaleur
• Effets indésirables – Diminution des performances
et de la fiabilité MTBF/2 pour +10°C
– Augmentation du coût de mise en œuvre
1€/W si >40W
– Augmentation volume-poids radiateur, ventilateur, batteries, …
• Evolutions technologiques ?
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 3
325
Évolutions technologiques
Year
Volta
ge [V
]
Pow
er p
er c
hip
[W]
VDD
cur
rent
[A]
1998 2002 2006 2010 2014 0
0.5
1
1.5
2
2.5
0 0
200 500
Current
Power
Voltage
326
Évolutions technologiques
• Projections – ... 2000 Watts, 3000 A ! – La surface de silicium doit donc rester constante pour rester autour de
100-200W et 300-500A
1
10
100
1000
10000
1985 1990 1995 2000 2005 2010
Pow
er (W
atts
)
Vdd scaling
0,1
1
10
100
1000
10000
1985 1990 1995 2000 2005 2010
Icc
(A)
386 486
Pentium Pro
PII PIV
Puissance Courant d'alimentation
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 4
327
2. Portabilité (1)
Em. Radio
Rec. Radio
Graphiques
Vidéo
Voix
Interface
• Multimédia – Visioconférence H26x – MPEGx,
• Interfaces – Reconnaissance vocale – Stylo inertiel – Cryptage, authentification
• Mobilité – UMTS, EDGE, GSM – Internet Protocol – Connexion réseaux locaux
2005 : mobilité et durée de vie des batteries d'un agenda,
capacité multimédia d'un PC
328
Technologie des batteries
• Performances des batteries
[P. Senn 2000]
250
200
150
100
50
0 100 200 300 400 Smaller
Ligh
ter
Whr/l
Whr/kg
NiCd
NiMh
Lithium-Ion Liquid Lithium-Ion Polymer
LTC Lithium-Ion Polymer
LTC Lithium-Alloy Polymer
Technologies NiCd NiMh Li-ion Li-polyNaissanceindustrielle
1956 1990 1992 1996
Tension (V) 1.2 1.2 3.6 3.7Epaisseur(mm)
>6 >6 >6 3
Capacité(Whr/kg)
30-50 60-90 70-140 115-140
Durée de vie(cycles)
~1000 ~1000 500 500
• Exemple type – 500 mAh Li-Pol = 1,7 Wh
• Exemple haute capacité – 1400 mAh Li-Pol = 5 Wh
• >10 heures autonomie – P < 400 mW
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 5
329
Terminal 3G Portable
Em. Radio
Rec. Radio
Graphiques
Vidéo
Voix
Interface
• Traitement – 6-10 Milliards d'Instructions / sec
• Autonomie : 10h • Poids : 500g (batteries)
500mW @ 6 GIPS 12 GIPS/W @ 6 GIPS
• Avec les processeurs actuels – 30 Kg ou 10 minutes !!! – ... avec quelques dizaines de DSP !!!
330
En conclusion (puissance)
• Evolution de la géométrie des transistors – Densité de transistors augmente – Fréquence d’horloge augmente
• La puissance des circuits augmente malgré – la diminution de la tension d’alimentation – l'amélioration des méthodes de conception
• Limitations ? – Limites physiques
Chaleur : e.g. 100W sur 3 cm2 – Limites dépendantes de l’application
Ordinateurs portables, nomades (PDA) Systèmes embarqués (ou enfouis) Systèmes ultra basse-consommation Commutateurs, stations de base en télécommunications, routeurs Internet, …
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 6
331
En conclusion (énergie)
• Evolution de la capacité des batteries – 10 - 15% par an
• Evolution de la puissance des circuits – 35 - 40% par an
• Conséquence – Gap important entre la technologie des batteries et l’efficacité
énergétique des circuits actuels
332
Plan
Où part la puissance ? – Puissance dynamique (rappel) – Activité (rappel)
– Chemin de données, Mémoire, Horloge ...
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 7
333
Où part la puissance ? (rappel)
P = Pc + Pcc + Ps • Puissance de charge : Pc
– Charge et décharge des capacités du circuit
• Courants de court-circuit : Pcc – Chemin de court circuit pendant la commutation des structures
logiques statiques
• Courants de fuite : Ps – Jonctions, fonctionnement sous le seuil
Pdyn = α • Cl • Vdd2 • f
334
Activité et probabilités de transition (rappel)
• Propagation des probabilités
A B C S
X P(A) = ½ P(B) = ½ P(C) = ½
P(X =1) = 1/4 P(S = 1) = 1/2 . 3/4 = 3/8
αX = P(X=0) . P(X=1) = (1-P(X=1)) . P(X=1) = (1 – 1/4) . 1/4 = 3/4 αS = P(S=0) . P(S=1) = (1 – P(S=1)) . P(S=1) = (1 – 3/8) . 3/8 = 5/8 .3/8 = 15/64
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 8
335
Quelle partie de mon système consomme le plus d'énergie ?
Opérateurs ? Horloge ? Logique ? Mémoire ?
RF ? LCD, HDD, ... ?
336
Qu'est ce qui consomme ?
• Mémoire – Interne (cache, scratch
memory)
– Externe (passage par les entrées sorties du chip)
– Exemple de l'Itanium 2 Environ 60 à 70 % de la surface
consacrée à la mémoire cache
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 9
337
Qu'est ce qui consomme ?
• Horloge – 40-50% de la puissance dissipée par l’arbre d’horloge
DIGITAL Corp. Processeur alpha 21164 1995 2.5M Portes 9.3M Transistors 298 mm2 300 MHz 64/128 Bits 0.5µ 60W @ 3.3V
Clo
ck G
ener
ator
Clo
ck D
rive
r
Clo
ck D
rive
r
338
Add Mult RAM Read
RAM Write
I/O Memory Transfer (Off-Chip)
Ener
gie
/ opé
ratio
n
• Bilan énergétique
• Codage d’image H263 1500K Opérations et 500K Transferts mémoire Energie transfert = 33 . Energie Opération -> Puissance mémoire # 10 . Puissance opérations
Où part l’énergie ?
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 10
339
Analyse des consommations
• PC Portable – Puissance totale (application Word) : 19.1 W
[Source Hitachi]
37%
20%3%10%
30% CPULCDVideoHDDLogic
340
Analyse des consommations
• Terminal GSM
Paging Mode 80% of time
Speaking Mode 20% of time
Total
40%
0%
60%
15%
50%
35%
20%
40%
40%
Radio F
Power Ampli
Base Band Codec
[Source Philips]
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 11
341
Plan
3. Comment estimer la puissance ou l’énergie
– 1. Notions d'activité – 2. Outils de CAO
342
1. Activité
CLK
Q0 Q0 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q5 Q5 Q6 Q6 Q7 Q7
D0 D1 D2 D3 D4 D5 D6 D7
• Consommation d’une bascule : 9.5µW/MHz par transition de 0 à 1 à la sortie
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 12
343
Registres
Q0 Q0 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q5 Q5 Q6 Q6 Q7 Q7
D0 D1 D2 D3 D4 D5 D6 D7
• Approche statistique : – On envoie un signal aléatoire pour estimer la consommation d’un
registre. – En moyenne 4 bascules commutent pour un signal aléatoire en entrée,
dont deux de 0 à 1. – 2x9.5=19µW/MHz
CLK
BRUIT BLANC
344
Registre d’états
CLK
Q0 Q0 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q5 Q5 Q6 Q6 Q7 Q7
D0 D1 D2 D3 D4 D5 D6 D7
Codage binaire des états
• Approche probabiliste liée au signal – différentes probabilités suivant le signal et l’utilisation.
• 1 + 1/2 + 1/4 + 1/8 ... = 2 • Consommation : 2 x 9,5 / 2 = 9,5 µW/MHz
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 13
345
Registre d’états
CLK
Q0 Q0 Q1 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q5 Q5 Q6 Q6 Q7 Q7
D0 D1 D2 D3 D4 D5 D6 D7
Codage Gray des états
• Approche probabiliste liée au signal – différentes probabilités suivant le signal et l’utilisation.
• 1/2+1/4+1/8...=1 • consommation : 1x9.5/2=4.75µW/MHz
346
2. Outils CAO
SPICE et al. Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst
Accuracy of Power Estimation
Pote
ntia
l for
Pow
er O
ptim
isat
ion Algorithmic
Architecture
RTL
Gate
Switch
20%
x
5-x1
0 50
%
10%
Research Research
Synopsys/DesignPower Sente/WattWatcher Architect HLDS Cadence/Top-Down Design Planner
Epic/AMPS
Synopsys/DesignPower/ PrimePower Veritools/Power_tool Sente/WattWatcher Gate Xpower
Synopsys/Power Compiler
Spee
d of
Pow
er O
ptim
isat
ion
Research
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 14
347
Outils au niveau transistor
• Analyses précises – SPICE (et ses dérivés) – PowerMill (Epic/Synopsys), ADM (Avant!), LSIM
Power (Mentor)
• Outils d’optimisation – Optimisation par modification de la taille des
transistors : AMPS (Epic/Synopsys) – Fiabilité : RailMill, Thunder&Lightning
• Avantages – Haute précision – Concept entré dans les mœurs
• Limitations – Capacités limitées – Intervient tard dans la conception
Device under test
In
Cl
Vdd
Vss
+ - Vs = 0 Is ßIs Ry Cy Po
wer
348
Estimation au niveau logique
• Deux techniques
– Estimation statistique
– Estimation probabiliste
Simulation niveau portes du circuit
Ense
mbl
e de
sign
aux
Activité
Activité des noeuds
Propagation de l’activité
Moyenne
Analyse
Puis
sanc
e
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 15
349
Deux modèles
• Modèle “zero delay”
• Modèle “real delay”
Glitches / Hazards
• Typiquement 20% de la consommation, les glitches peuvent atteindre 70% dans les composants arithmétiques (e.g. additionneurs, multiplieurs)
350
Outils au niveau logique
• De nombreux exemples – PrimePower (Epic/Synopsys), DesignPower (Synopsys) – QuickPower (M. G.), WattWatcher/Gate (Sente) – PowerCompiler (Synopsys) : optimisation logique
• Avantages – Plus rapides que les outils au niveau transistor – Utilisent les simulateurs gate-level existants – Utilisent des techniques probabilistes
• Limitations – Modèle précis des interconnexions – Précision de l’estimation des glitches – Capacités et vitesse encore limitées
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 16
351
Design Power - Synopsys
• Outil d'analyse au niveau porte logique • Estimation de la puissance dynamique (switching
power, internal cell power) et de la puissance statique (leakage power)
• Probabiliste ou statistique
Gate-Level Netlist
Switching Informations
Estimation
Probabilistic Analysis
Simulation Analysis
• Default or values probabilities
• Fast
• Full-timing gate-level simulation
• Time consuming • Accurate
352
Pow
er A
naly
sis
Méthodologie Synopsys
• Flot de conception
HDL Design
Optimization Timing, Area, Power
Optimization Timing and Area
Gate-Level Simulation
Physical Design
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 17
353
Power Model - Synopsys
• Switching Power
• Internal Cell Power – e.g. gate with 2 inputs A,B and 1 output Z
– Function f is given by the cell library
• Total Dynamic Power
• Leakage Power
( )∑∀
×=)(
2
TR2 inets
iloadc iCVddP inetofratetoggle
inetofloadC
i
loadi
:TR
:
( )
∑
∑
=
==
××=
BAii
BAiii
trans
transloadZZcellrnalinte
TransWeightAvg
WeightAvgCfPZ
,
,
TR
.TR
TR
ZoutputfortimetransitionaverageweightedWeightAvg
ipinofratetoggleipinoftimetransitionTrans
trans
i
i
::TR:
∑∀
=)(icells
leakagecellleakage iPP
+= ∑∀ )(icells
cellnalinterdynamic iPP ( )∑
∀
×)(
2
TR2 inets
iloadiCVdd
354
Plan
4. Comment réduire la puissance ? – Flot de conception – Techniques architecturales – Techniques logicielles – Techniques au niveau système
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 18
355
Comment réduire la puissance ?
• Diminuer au maximum la tension d’alimentation Vdd
• Minimiser la capacité effective Ceff = α Cl
• Conserver, si besoin est, la fréquence d’horloge f, donc les performances
Il faut diminuer α, Cl, Vdd et f !
Comment ?
Pdyn = α • Cl • Vdd2 • f
356
Où intervenir ?
• Interventions possibles à tous les niveaux
SUM :=
A1+B1
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 19
357
Réduire Vdd
• Puissance = fonction quadratique de Vdd • Le temps de propagation augmente si Vdd est réduit
→ Produit puissance x delay ↑ si Vdd ↓
• Influence de Vdd ne dépend pas du style logique
0
5
10
15
20
25
30
1 1.5 2 2.5 3 3.5 4 4.5 5
Vdd
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1 C
onsomm
ation normalisée
Délai Consommation
Dél
ai n
orm
alis
é
Pmoy = α • Cl • Vdd2 • f
Td = Cl.Vdd
I = Cl.Vdd
k(W/L)(Vdd - Vt) 2
358
Power Dissipation and Circuit Delay
Power : P = p t • f CLK • C L • V DD + I 0 • 10 • V DD 2 V th S
( α =1.3) k • C L • V DD ( V DD - V th ) α
Delay = k•Q I =
1 2
3 4
-0. 4 0 0.4 0.8
0 0.2 0.4 0.6 0.8
1 x 10 -4
V th (V) V DD (V)
Pow
er (W
)
A
B
1 2
3 4
-0.4 0 0.4 0.8
0 1 2 3 4 5
x 10 -10
Del
ay (s
)
V th (V) V DD (V)
A B
[Sakurai03]
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 20
360
Réduire Vdd
• Compenser la réduction de Vdd apportant une baisse de performances par des optimisations architecturales ou logiques – Exemple : architecture 16 bits (décodage de Viterbi)
Fclk = 25 MHz Vdd = 5V
P moy = 14.7 mW
Surface = 788x555 µ 2 = 0.44 mm 2
3823 Transistors 56 mm d’interconnexions
Tclk
A
Tclk
B
+> <
Tclk
C
Pref = Cref . Vref2 . Fref = 14.7 mW
Cref déterminé par simulation (Cl = 31pF) Fref = 1 / 40ns Vref = 5V
361
Architecture Parallèle
Pparallèle = (2.15•Cref) • (0.58•Vref)2 • (0.5•Fref ) # 0.36 • Pref = 5.3 mW
Cparallèle = 2.15• Cref Fparallèle = 1 / 80ns Vdd parallèle = 2.9V
Surface = 1130x768µ 2 = 0.87 mm 2 7638 Transistors
111 mm d’interconnexions
2•Tclk
A
2•Tclk
B
+> <
2•Tclk
C
2•Tclk
A
2•Tclk
B+
> <
2•Tclk
C
MUX
Tclk
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 21
362
Architecture Pipeline
Ppipeline = (1.15•Cref) • (0.58•Vref)2 • Fref # 0.39 • Pref = 5.7 mW
Cpipeline = 1.15• Cref Fpipeline = Fref Vdd pipeline = 2.9V
Tclk
A
Tclk
B
+> <
Tclk
C
Tclk
Tclk
Typed'Architecture
Vdd Surface Puissance
Référence 5V 1 1Parallèle 2.9V 1.98 0.36Pipeline 2.9V 1.1 0.39
Parallèle/Pipeline 2.0V 2.2 0.2
• Résumé
x2,5 x5
363
CLK
CLK
CLK
CLK
D
Q
Pbasc=αPdyn+Phorl
CLK
CLK
CLK
Gated Clock
• Modèle de bascule
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 22
364
Gated Clock
• Supprimer les commutations des blocs qui n’ont pas besoin d’être rechargés
• Modification de la machine d’états • Gain important (selon activité) • Mais... circuit non totalement synchrone
Reg
Clk
FSM En
Din Reg
Clk
FSM En
Din D Q
Gated Cell
Gated clock
latch
Clk
Gate signal
366
Conditional Flip-Flop
CLK CKI CKIB
D CKI
CKIB
Q
D Q CLK Controller
CLK
D
Q
CKI
D Q
5 10 15 0
Time (ns)
Clock-on-Demand (COD) F/F
[Hamada99] Clock is provided to F/F only when new data comes.
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 23
367
Isolation d’opérateurs
• Activer les UF uniquement lorsque cela est nécessaire
Clk
FSM En Gated
Cell
AD
D
MU
L Reg. Instr.
Reg
Le multiplieur consomme même si ses sorties sont inutilisées
Clk
FSM En Gated
Cell
AD
D
MU
L
Reg
Les entrées du multiplieur sont bloquées si ses sorties sont inutilisées
Les instructions sont bloquées
Reg. Instr.
Latc
h
368
Pré-calcul (1)
• Principe général : éviter le passage par une fonction coûteuse lorsque le résultat peut être pré-calculé
Fonction
Précalcul
A
B S
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 24
369
Pré-calcul (2)
• Exemple : comparateur A > B
• Si les 2 MSB sont différents alors le résultat peut être déterminé sans soustraire A et B : – Si A[MSB] != B[MSB] && A[MSB] == 0 alors A > B est vraie (1) – Si A[MSB] != B[MSB] && A[MSB] == 1 alors A > B est faux (0)
Reg
Clk
D Q A>B Reg D Q
Clk
Reg D Q
Clk
A
B Schéma classique
370
Pré-calcul (3)
• Exemple : comparateur A > B (suite) – Si les 2 MSB sont égaux alors il faut faire la soustraction – Sinon, il suffit de prendre la valeur du MSB de B
Si MSB B == 1 alors A > B est vraie Sinon A > B est fausse
Gated Cell
Clk
D Q A>B Reg D Q
Clk
A[MSB] B[MSB] D Q
D Q
Clk
B[MSB]
1 0
A
Reg D Q B
=1 si
A[M
SB] =
= B
[MSB
]
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 25
372
Post-calcul (1)
• Principe général : bloquer un chargement si l'état suivant est le même que l'état courant
f
Reg
D Q
Etat Courant
Gated Cell
Clk
= ?
Etat Suivant
373
Post-calcul (2)
• Post calcul : – exemple
f
Reg
D Q
Clk
Etat Courant
Schéma classique
E0
E1 A
E3 E2
!A&!B !A&B
Gated Cell
Clk
D Q f
Post A B
Schéma bloquant le chargement du même état
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 26
375
Codage d’état
• Code pour les états d’une machines
Gray - Activité + Capacité
Binaire + Activité - Capacité
E1
Ci Ck Cj
Ci+Cj+Ck=1
Ek
Coder le graphe avec le minimum de transistions Si Prob(Ck) >> Alors les codes de E1 et Ek doivent différer avec un minimum de positions (distance de Hamming)
Chemin le plus probable A coder avec un Min de transitions
376
Réduction de Ceff
• Hasards dynamiques – Équilibrage des chemins logiques : synthèse logique – Facteur 5 sur une version optimisée d’un multiplieur [Callaw92]
– Exemple S = a.b.c.d avec p(a) = 0.3; p(b) = 0.4; p(c) = 0.7; p(d) = 0.5
ET
ET
ET
ET
ET
ET
a b
c d
a b
c d
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 27
377
Réduction de Ceff
a) Implémentation parallèle b) Multiplexage temporel
Compteur 1Bus1
Compteur 2Bus2
Compteur 1
Compteur 2
BusMUX
1110 1111
0000 0001
1110 0000 1111 0001
• Partage de ressources augmente l’activité – Destruction des corrélations entre signaux
378
Réduction de Ceff
• Encodage de bus pour diminuer l’activité – e.g. liaison mémoire ou cache (instruction ou données) vers CPU – objectif : diminuer le nombre de transitions
codages : activité binaire > activité gray
Logique de codage
Logique de
décodage Activité des signaux à émettre
Activité du bus
Activité des signaux reçus > <
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 28
379
Bus encoding
• Ne transmettre que les transitions : intéressant quand forte corrélation temporelle des données (images)
• T0 code : pour les bus d’adresses + INC = 1 pour 2 adresses consécutives sinon INC = 0 et les lignes d’adresses utilisées normalement
[Macii03] [Julien03]
380
Bus encoding
• Codage de bus inversé (Bus Invert Code)
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 29
381
Optimisation de la mémoire
• Placement des données les plus souvent accédées dans des mémoires internes
• Minimisation de la taille mémoire totale par réutilisation des points mémoires
CPU
Cache Mem ext
Scratchpad
Espace mémoire adressable
382
Plan
3. Comment réduire la puissance ? – Flot de conception – Techniques architecturales – Techniques logicielles – Techniques au niveau système
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 30
383
Réduction d'énergie
• Le logiciel (enfoui) détermine la puissance dissipée par le processeur – Pourquoi ne pas modifier le logiciel pour réduire l'énergie
• Énergie, puissance ou performances ? – Énergie = durée de vie des batteries – Puissance = dimension alimentation, régulateur et dimensions des
interconnexions
MOV DX,[BX] MOV AX,CX MOV AX,DX
Puissance : 1.15 W Energie : 8,6 10-8 J
NOP MOV AX,CX MOV DX,[BX] NOP NOP NOP NOP MOV AX,DX
NOP Puissance : O.99 W 14% de moins Energie : 22,3 10-8 J 158% de plus
384
Optimisation du logiciel
• Performance = utilisation de la bande passante mémoire
• Energie = utilisation des registres ou du scratchpad, réduction activité
LDR r3, [r2, #0] ADD r3,r0,r3 MOV r0,#28 LDR r0,[r2,r0] ADD r0,r3,r0 ADD r2,r2,#4 ADD r1,r1,#1 CMP r1,#100 BLT LL3
ADD r3,r0,r2 MOV r0,#28 MOV r2,r12 MOV r12,r11 MOV r11,r10 MOV r0,r9 MOV r9,r8 MOV r8,r1 LDR r1,[r4,r0] ADD r0,r3,r1 ADD r4,r4,#4 ADD r5,r5,#1 CMP r5,#100 BLT LL3
int a[1000]; c=a; for (i=1; i<100; i++) { b += *c; b += *(c+7); c+=1; }
2096 cycles 19.92 uJ
2231 cycles 16.47 uJ
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 31
385
• Utilisation des registres internes (20%) • Exploitation de la mémoire interne (différent de la
notion de cache) (40%)
• Transformations pour réduire le nombre d'opérations de lecture et d'écriture aux mémoires – Loop permutation, unrolling, tiling, fusion, fission, ... – Gain 40% - x5
• Sélection d'instructions, ordonnancement, ...
Optimisation du logiciel
FOR i:= 1 TO N DO B[i] := f(A[i]) ;
FOR i:= 1 TO N DO C[i] := g(B[i]) ;
FOR i:= 1 TO N DO BEGIN B[i] := f(A[i]) ; C[i] := g(B[i]) ;
END ;
[Marwedel02]
386
Estimation au niveau logiciel
• Estimation de puissance pour définir des modèles au niveau des instructions
• Méthodes basées sur la simulation – Le programme exécuté est simulé sur
un modèle bas-niveau du circuit
• Mesure physique – Mesure le courant pour des
séquences d'instructions
Power System
CPU A
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 32
387
• Modèle au niveau des instructions
• Mesure sur des séquences d'instructions : Basei – Instructions seules en boucle ou séquence d'instructions
Estimation au niveau logiciel
Instruction Courant mA Cycles Energie nJNOP 198 1 3.26LD 213 1 3.51ST 346 2 11.40ADD 199 1 3.28MULT 198 1 3.26
SPARClite
∑∑∑ ++k kji ijii ii EnergyNOverheadNBase
, , ).().(
388
Estimation au niveau logiciel
• Effet inter-instructions : Overheadi – État précédent du circuit influe sur l'énergie d'une instruction – e.g. 486DX2
XOR BX,1 ADD RX,DX : overhead 6.8 mA
• Pipeline, cache miss : Energyk
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 33
389
Exemple : TMS 320C54x
• Note d'application TI – http://www.ti.com/sc/docs/apps/dsp/tms320c54x.html
• Mesure du courant avec exécution du code – En boucle sur une instruction – En répétition d'instructions
testloop testloop I1 RPT #255 I1 I1 (256 times) B testloop I1 I1 B testloop
(a) straight-line method (b) RPT method
390
Exemple : TMS 320C54x ACTIVITY CURRENT
(mA perMIPS)
CURRENTAT 50 MIPS(mA)
POWER AT50 MIPS,3V (mW)
IDLE3 0 0 0IDLE2 0.03 1.5 4.5IDLE1 0.12 6 18Repeat NOPs 0.3 15 45Inline NOPs 0.4 20 60Block data transfer in on-chip DARAM usingRPT
0.8 40 120
Repeat MAC with changing data (dual-operandaddressing)
1.0 50 150
Inline MAC with changing data (dual-operandaddressing)
1.2 60 180
Repeat MACD with changing data (single-operand addressing)
0.8 40 120
Inline MACD with changing data (single-operand addressing)
1.0 50 150
Repeated double-precision arithmeticinstructions with changing data
0.9 45 135
Inline double-precision arithmetic instructionswith changing data
1.1 55 165
Repeat FIRS with changing data 1.2 60 180Inline FIRS with changing data 0.9 45 135FIR filter 0.9 45 135Full-rate GSM vocoder 1.03 51.5 154.5Complex 256-point FFT 1.07 53.5 160.5
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 34
391
Plan
3. Comment réduire la puissance ? – Flot de conception – Techniques architecturales – Techniques logicielles – Techniques au niveau système
392
StrongArm
• Intel StrongArm SA-1110 ARM 4
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 35
393
Gestion de la puissance
• Gestion de la puissance – Opération à basse tension d'alimentation – Modes “Sleep” ou “Idle” – Gestion de l'horloge programmable : PLL, clock dividers – Contrôle des périphériques
• Etats de puissance sur StrongArm SA1100
RUN
IDLE SLEEP
400 mW
50 mW 160 µW
10 µs 10 µs 90 µs
160 ms
90 µs
394
Gestion statique
• Différents modes d’opérations
Full-On
Normal-On
Standby
Suspend
Hibernation
[IBM]
Off
Moniteur d’activité
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 36
395
Gestion dynamique
• Réduire la vitesse (et la tension!) du processeur sur certaines tâches pour diminuer l'énergie – e.g. codeur MPEG4
• Optimiser les temps d'attente (idle)
• Lien avec le système d'exploitation
After
Before
Time
Proc
esso
r Spe
ed
IDLE
E=CVH2+Eidle
E=CVL2
396
Gestion dynamique
• Gestion intelligente de Vdd et Fclock
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 37
397
Exemple : TransMeta Crusoe
• Processeur Crusoe : x86 à 700 MHz
• Détection de l'activité du processeur et du système
• Le logiciel ajuste dynamiquement MHz et Vdd
Fclock MHz Vdd Puissance
700 1.65 V 100%
400 1.4 V 41%
333 1.2 V 25%
398
Exemple : TransMeta Crusoe
*Taken from Doug Laird’s presentation, January 19 th 2000
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 38
399
Conclusions
• De nouvelles métriques pour la conception – Puissance ou énergie devient une des contraintes dominantes
Flexibilité
Puissance Énergie
Coût
Est il nécessaire de convaincre ?
Performances
400
Conclusions
• Consommation doit être estimée et optimisée à tous les niveaux, en particulier au niveau système
• Diminution de la tension d’alimentation en conservant les performances
• Diminution de l’activité de commutation des signaux internes ou externes
• http://www.enssat.fr/ftfc – Colloque Faible Tension Faible Consommation
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation 1/02/10
Olivier Sentieys 39
401
Perspectives
• Technologiques – Multi Vth – SOI, SiGe, ...
• Architectures matérielles – Parallélisme, pipeline, parallélisme – Réduire l'activité – Hiérarchie mémoire
• Architectures systèmes – Exploration des solutions à un haut niveau – Gestion dynamique Vdd/Vth/Fclk – Compilation efficace