6 Consommation

publicité
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
321
1. Introduction
Pourquoi s'occuper de la puissance
dissipée ?
Watt is the problem ?
322
Olivier Sentieys
1
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Évolutions technologiques
•  Famille DEC/Compaq
•  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
[Herrick99]
•  EV5 (21164)
– 
– 
– 
– 
– 
•  EV6 (21264)
350 MHz @ 3.3V
14 gate delays per cycle
60W @ 350 MHz & 3.3V
9,3 Million Transistors
298 mm2
– 
– 
– 
– 
– 
575 MHz @ 2.2V
12 gate delays per cycle
90W @ 575 MHz & 2.2V
15,2 Million Transistors
314 mm2
•  EV8
–  > 1-2 GHz (0.125 micron)
–  <150W
–  ~250 Million Transistors
•  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)
323
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 ?
324
Olivier Sentieys
2
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Évolutions technologiques
200
Voltage
Power per chip [W]
2
Voltage [V]
Power
1.5
Current
1
0.5
0
1998
2002
2006
500
0
2014
2010
VDD current [A]
2.5
0
Year
325
Évolutions technologiques
10000
1000
1000
100
PIV
PII
Pro
Pentium
10
1
1985
386
Vdd scaling
1995
2000
Puissance
100
10
1
486
1990
Icc (A)
Power (Watts)
10000
2005
2010
0,1
1985
1990
1995
2000
2005
2010
Courant d'alimentation
•  Projections
–  ... 2000 Watts, 3000 A !
–  La surface de silicium doit donc rester constante pour rester autour de
100-200W et 300-500A
326
Olivier Sentieys
3
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
2. Portabilité (1)
•  Multimédia
Graphiques
Em. Radio
Vidéo
Rec. Radio
Voix
–  Visioconférence H26x
–  MPEGx,
•  Interfaces
–  Reconnaissance vocale
–  Stylo inertiel
–  Cryptage, authentification
Interface
•  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
327
Technologie des batteries
•  Performances des
batteries
Lighter
Whr/kg
250
Technologies
Naissance
industrielle
Tension (V)
Epaisseur
(mm)
Capacité
(Whr/kg)
Durée de vie
(cycles)
LTC Lithium-Alloy
Polymer
200
LTC Lithium-Ion Polymer
150
Li-ion
1992
Li-poly
1996
1.2
>6
1.2
>6
3.6
>6
3.7
3
30-50
60-90
70-140
115-140
~1000
~1000
500
500
•  Exemple type
–  500 mAh Li-Pol = 1,7 Wh
–  1400 mAh Li-Pol = 5 Wh
•  >10 heures autonomie
NiMh
50
–  P < 400 mW
NiCd
0
100
[P. Senn 2000]
Olivier Sentieys
NiMh
1990
•  Exemple haute capacité
Lithium-Ion Polymer
Lithium-Ion Liquid
100
NiCd
1956
200
300
400 Smaller
Whr/l
328
4
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Terminal 3G Portable
•  Traitement
Graphiques
Em. Radio
Vidéo
Rec. Radio
Voix
–  6-10 Milliards d'Instructions / sec
•  Autonomie : 10h
•  Poids : 500g (batteries)
Interface
500mW @ 6 GIPS
12 GIPS/W @ 6 GIPS
•  Avec les processeurs actuels
–  30 Kg ou 10 minutes !!!
–  ... avec quelques dizaines de DSP !!!
329
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, …
330
Olivier Sentieys
5
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
331
Plan
Où part la puissance ?
– Puissance dynamique (rappel)
– Activité (rappel)
– Chemin de données, Mémoire, Horloge ...
332
Olivier Sentieys
6
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
333
Activité et probabilités de transition (rappel)
•  Propagation des probabilités
P(A) = ½
P(B) = ½
P(C) = ½
A
B
C
P(X =1) = 1/4
P(S = 1) = 1/2 . 3/4 = 3/8
X
S
α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
334
Olivier Sentieys
7
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Quelle partie de mon système
consomme le plus d'énergie ?
Opérateurs ?
Horloge ?
Logique ?
Mémoire ?
RF ?
LCD, HDD, ... ?
335
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
336
Olivier Sentieys
8
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Qu'est ce qui consomme ?
•  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
Clock Driver
Clock Generator
Clock Driver
–  40-50% de la puissance dissipée par l’arbre d’horloge
337
Où part l’énergie ?
Energie / opération
•  Bilan énergétique
Add
Mult
RAM
Read
•  Codage d’image H263
RAM
Write
I/O
Memory
Transfer
(Off-Chip)
1500K Opérations et 500K Transferts mémoire
Energie transfert = 33 . Energie Opération
-> Puissance mémoire # 10 . Puissance opérations
338
Olivier Sentieys
9
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Analyse des consommations
•  PC Portable
–  Puissance totale (application Word) : 19.1 W
30%
10%
37%
3%
CPU
LCD
Video
HDD
Logic
20%
[Source Hitachi]
339
Analyse des consommations
•  Terminal GSM
Paging Mode Speaking Mode
Total
80% of time
20% of time
Radio F
40%
15%
20%
Power Ampli
0%
50%
40%
Base Band
Codec
60%
35%
40%
[Source Philips]
340
Olivier Sentieys
10
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Plan
3. Comment estimer la puissance ou
l’énergie
–  1. Notions d'activité
–  2. Outils de CAO
341
1. Activité
•  Consommation d’une bascule : 9.5µW/MHz par
transition de 0 à 1 à la sortie
CLK
D0
Q0 Q0
D1
D2
D3
D4
D5
D6
D7
Q1 Q1
Q2 Q2
Q3 Q3
Q4 Q4
Q5 Q5
Q6 Q6
Q7 Q7
342
Olivier Sentieys
11
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Registres
•  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
BRUIT BLANC
CLK
D0
Q0 Q0
D1
D2
D3
D4
D5
D6
D7
Q1 Q1
Q2 Q2
Q3 Q3
Q4 Q4
Q5 Q5
Q6 Q6
Q7 Q7
343
Registre d’é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
Codage binaire des états
CLK
D0
Q0 Q0
D1
D2
D3
D4
D5
D6
D7
Q1 Q1
Q2 Q2
Q3 Q3
Q4 Q4
Q5 Q5
Q6 Q6
Q7 Q7
344
Olivier Sentieys
12
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Registre d’é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
Codage Gray des états
CLK
D0
Q0 Q0
D1
D2
D3
D4
D5
D6
D7
Q1 Q1
Q2 Q2
Q3 Q3
Q4 Q4
Q5 Q5
Q6 Q6
Q7 Q7
345
Potential for Power Optimisation
10%
20%
50% x5-x10
Speed of Power Optimisation
2. Outils CAO
Algorithmic
Architecture
Research
Research
Research
RTL
Synopsys/Power Compiler
Synopsys/DesignPower
Sente/WattWatcher Architect
HLDS Cadence/Top-Down Design Planner
Gate
Synopsys/DesignPower/
PrimePower
Veritools/Power_tool
Sente/WattWatcher Gate
Xpower
Epic/AMPS
Switch
SPICE et al.
Epic/PowerMill
Avant!/ADM
Mentor Graphics/Lsim Power Analyst
Accuracy of Power Estimation
Olivier Sentieys
346
13
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Outils au niveau transistor
•  Analyses précises
–  SPICE (et ses dérivés)
–  PowerMill (Epic/Synopsys), ADM (Avant!), LSIM
Power (Mentor)
Vdd
–  Optimisation par modification de la taille des
transistors : AMPS (Epic/Synopsys)
–  Fiabilité : RailMill, Thunder&Lightning
Vs = 0
+
-
Is
ßIs
Ry Cy
Power
•  Outils d’optimisation
•  Avantages
–  Haute précision
–  Concept entré dans les mœurs
In
•  Limitations
Device
under test
Cl
–  Capacités limitées
–  Intervient tard dans la conception
Vss
347
Estimation au niveau logique
•  Deux techniques
Simulation niveau
portes du circuit
Activité
des noeuds
Moyenne
Activité
Propagation
de l’activité
Analyse
Puissance
Ensemble de signaux
–  Estimation statistique
–  Estimation probabiliste
348
Olivier Sentieys
14
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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)
349
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
350
Olivier Sentieys
15
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
•  Default or values
probabilities
•  Fast
Switching
Informations
Estimation
Probabilistic
Analysis
Simulation
Analysis
•  Full-timing gatelevel simulation
•  Time consuming
•  Accurate
351
Méthodologie Synopsys
•  Flot de conception
Power Analysis
HDL Design
Optimization
Timing and Area
Gate-Level
Simulation
Optimization
Timing, Area, Power
Physical Design
352
Olivier Sentieys
16
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Power Model - Synopsys
•  Switching Power
Pc =
Vdd 2
2
∑ (C
∀nets ( i )
load i
× TR i
Cload i : load of net i
)
TR i : toggle rate of net i
•  Internal Cell Power
–  e.g. gate with 2 inputs A,B and 1 output Z
Pinternal cell Z = TR Z × f Cload Z × WeightAvgtrans
Transi : transition time of pin i
TR i .Transi
∑
TR i : toggle rate of pin i
WeightAvgtrans = i = A, B
WeightAvg
trans : weighted average
∑ TR i
i = A, B
transition time for output Z
–  Function f is given by the cell library
(
)
•  Total Dynamic Power
Pdynamic =
∑P
∀cells (i )
internal celli
•  Leakage Power
+
Vdd 2
2
Pleakage =
∑ (C
∀nets ( i )
load i
× TR i
)
∑P
∀cells (i )
cell leakagei
353
Plan
4. Comment réduire la puissance ?
–  Flot de conception
–  Techniques architecturales
–  Techniques logicielles
–  Techniques au niveau système
354
Olivier Sentieys
17
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Comment réduire la puissance ?
Pdyn = α • Cl • Vdd2 • f
•  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
Comment ?
Il faut diminuer
α, Cl, Vdd et f !
355
Où intervenir ?
•  Interventions possibles à tous les niveaux
SUM :=
A1+B1
356
Olivier Sentieys
18
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
30
1
0.8
Délai normalisé
Consommation
0.7
20
0.6
15
0.5
0.4
10
0.3
0.2
5
0.1
0
Consommation normalisée
0.9
Délai
25
Td =
Cl.Vdd
=
I
Cl.Vdd
k(W/L)(Vdd - Vt) 2
Pmoy = α • Cl • Vdd2 • f
0
1
1.5
2
2.5
3
3.5
4
4.5
5
357
Vdd
Power Dissipation and Circuit Delay
2
Power :
1
P = p t •f CLK • CL • VDD +
x 10
V th
I 0 •10
S
•
-4
Power (W)
=
k•Q
I
=
k • CL • V DD
(V DD - V th )
α
( α =1.3)
-10
5
0.8
x 10
4
Delay (s)
0.6
0.4
Delay
V DD
A
0.2
0
4
VD 3
D(
V) 2
B
3
2
1
04
1 0.8
0.4
Vth
0
(V)
-0. 4
A
VD 3
D(
V) 2
B
1 0.8
0 -0.4
0.4
V)
V th (
[Sakurai03]
Olivier Sentieys
358
19
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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)
Pref = Cref . Vref2 . Fref = 14.7 mW
Cref déterminé par simulation (Cl = 31pF)
Fref = 1 / 40ns Vref = 5V
A
+
Tclk
>
<
B
Tclk
C
Tclk
Fclk = 25 MHz
Vdd = 5V
P moy = 14.7 mW
Surface = 788x555 µ2 = 0.44mm
2
3823 Transistors
56 mm d’interconnexions
360
Architecture Parallèle
A
+
2•Tclk
>
<
B
2•Tclk
C
M
U
X
2•Tclk
A
+
2•Tclk
>
<
B
Tclk
Surface = 1130x768µ 2 = 0.87 mm 2
7638 Transistors
111 mm d’interconnexions
2•Tclk
C
2•Tclk
Olivier Sentieys
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
361
20
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Architecture Pipeline
A
Ppipeline = (1.15•Cref) • (0.58•Vref)2 • Fref
# 0.39 • Pref = 5.7 mW
+
Tclk
B
Tclk
>
<
Tclk
C
Tclk
Cpipeline = 1.15• Cref
Fpipeline = Fref
Tclk
Vdd pipeline = 2.9V
•  Résumé
Type
d'Architecture
Référence
Parallèle
Pipeline
Parallèle/Pipeline
Vdd
Surface
Puissance
5V
2.9V
2.9V
2.0V
1
1.98
1.1
2.2
1
0.36
0.39
0.2
x2,5
x5
362
Gated Clock
•  Modèle de bascule
Q
CLK
CLK
D
CLK
P =αP +P
basc
dyn
CLK
horl
CLK
CLK
CLK
363
Olivier Sentieys
21
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Gated Clock
•  Supprimer les commutations des blocs qui n’ont pas
besoin d’être rechargés
Din
D Q
Din
Reg
FSM
En
Clk
Reg
FSM
En
Clk
Gated
Cell
Gate
signal
latch
Gated
clock
•  Modification de la machine d’états
Clk
•  Gain important (selon activité)
•  Mais... circuit non totalement synchrone
364
Conditional Flip-Flop
Clock-on-Demand (COD) F/F
CKI
D
CLK
Q
D
CKIB
Q
D Q
CLK Controller
CLK
CKI
CKIB
D Q
CKI
0
5
10
15
Time (ns)
  Clock is provided to F/F only when new data comes.
[Hamada99] Olivier Sentieys
366
22
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Isolation d’opérateurs
•  Activer les UF uniquement lorsque cela est
nécessaire
Reg. Instr.
FSM
Clk
En
MUL
Latch
ADD
MUL
ADD
Reg. Instr.
Reg
FSM
Gated
Cell
Clk
Le multiplieur consomme même
si ses sorties sont inutilisées
En
Reg
Gated
Cell
Les entrées du multiplieur sont
bloquées si ses sorties sont inutilisées
Les instructions sont bloquées
367
Pré-calcul (1)
•  Principe général : éviter le passage par une fonction
coûteuse lorsque le résultat peut être pré-calculé
A
B
Fonction
S
Précalcul
368
Olivier Sentieys
23
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Pré-calcul (2)
•  Exemple : comparateur A > B
A
Clk
Schéma classique
B
Clk
D
Q
A>B
D
Reg
D
Q
Q
Reg
Clk
Reg
•  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)
369
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
A
D Q
A>B
B
D Q
Reg
Clk
A[MSB]
B[MSB]
Gated
Cell
B[MSB]
=1 si A[MSB] == B[MSB]
Reg
1
0
D Q
Clk
D Q
D Q
Clk
370
Olivier Sentieys
24
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Post-calcul (1)
•  Principe général : bloquer un chargement si l'état
suivant est le même que l'état courant
Etat Courant
Etat Suivant
f
D
Q
Reg
Clk
=?
Gated
Cell
372
Post-calcul (2)
•  Post calcul :
–  exemple
E0
E1
!A&!B
E2
A
!A&B
E3
Schéma bloquant le chargement du même état
Schéma classique
Etat Courant
f
D
Q
f
Reg
Clk
Clk
A
B
Post
D Q
Gated
Cell
373
Olivier Sentieys
25
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Codage d’état
•  Code pour les états d’une machines
Gray
- Activité
+ Capacité
E1
Ci
Cj
Binaire
+ Activité
- Capacité
Ci+Cj+Ck=1
Ck
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
375
Réduction de Ceff
•  Hasards dynamiques
–  Équilibrage des chemins logiques : synthèse logique
–  Facteur 5 sur une version optimisée d’un multiplieur [Callaw92]
a
b
a
b
ET
ET
c
d
ET
ET
ET
c
d
ET
–  Exemple
S = a.b.c.d avec p(a) = 0.3; p(b) = 0.4; p(c) = 0.7; p(d) = 0.5
376
Olivier Sentieys
26
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Réduction de Ceff
•  Partage de ressources augmente l’activité
–  Destruction des corrélations entre signaux
1110 1111
0000 0001
Bus1
Compteur 1
Compteur 1
Bus2
Compteur 2
1110 0000 1111 0001
M
U
X
Bus
Compteur 2
a) Implémentation parallèle
b) Multiplexage temporel
377
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
décodage
Logique
de codage
Activité
des signaux
à émettre
>
Activité
du bus
<
Activité
des signaux
reçus
378
Olivier Sentieys
27
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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]
379
Bus encoding
•  Codage de bus inversé (Bus Invert Code)
380
Olivier Sentieys
28
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
Scratchpad
CPU
Cache
Mem
ext
Espace
mémoire
adressable
381
Plan
3. Comment réduire la puissance ?
–  Flot de conception
–  Techniques architecturales
–  Techniques logicielles
–  Techniques au niveau système
382
Olivier Sentieys
29
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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 DX,[BX]
NOP
NOP
MOV AX,CX
NOP
NOP
MOV AX,DX
NOP
Puissance : O.99 W 14% de moins
Energie : 22,3 10-8 J 158% de plus
383
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
Olivier Sentieys
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
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
384
30
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Optimisation du logiciel
•  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
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 ;
•  Sélection d'instructions, ordonnancement, ...
[Marwedel02]
385
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
System
Power
A
CPU
386
Olivier Sentieys
31
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Estimation au niveau logiciel
•  Modèle au niveau des instructions
∑ ( Base .N ) +∑
i
i
i
i, j
(Overheadi , j .N i ) + ∑k Energyk
•  Mesure sur des séquences d'instructions : Basei
–  Instructions seules en boucle ou séquence d'instructions
Instruction
NOP
LD
ST
ADD
MULT
Courant mA
198
213
346
199
198
Cycles
1
1
2
1
1
Energie nJ
3.26
3.51
11.40
3.28
3.26
SPARClite
387
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
388
Olivier Sentieys
32
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
I1
I1
(256 times)
I1
I1
B testloop
(a) straight-line method
testloop
RPT #255
I1
B testloop
(b) RPT method
389
Exemple : TMS 320C54x
ACTIVITY
IDLE3
IDLE2
IDLE1
Repeat NOPs
Inline NOPs
Block data transfer in on-chip DARAM using
RPT
Repeat MAC with changing data (dual-operand
addressing)
Inline MAC with changing data (dual-operand
addressing)
Repeat MACD with changing data (singleoperand addressing)
Inline MACD with changing data (singleoperand addressing)
Repeated double-precision arithmetic
instructions with changing data
Inline double-precision arithmetic instructions
with changing data
Repeat FIRS with changing data
Inline FIRS with changing data
FIR filter
Full-rate GSM vocoder
Complex 256-point FFT
CURRENT
(mA per
MIPS)
0
0.03
0.12
0.3
0.4
0.8
CURRENT POWER AT
AT 50 MIPS 50 MIPS,
(mA)
3V (mW)
0
0
1.5
4.5
6
18
15
45
20
60
40
120
1.0
50
150
1.2
60
180
0.8
40
120
1.0
50
150
0.9
45
135
1.1
55
165
1.2
0.9
0.9
1.03
1.07
60
45
45
51.5
53.5
180
135
135
154.5
160.5
390
Olivier Sentieys
33
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Plan
3. Comment réduire la puissance ?
–  Flot de conception
–  Techniques architecturales
–  Techniques logicielles
–  Techniques au niveau système
391
StrongArm
•  Intel StrongArm SA-1110 ARM 4
392
Olivier Sentieys
34
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
400 mW
RUN
90 µs
10 µs
10 µs 160 ms
SLEEP
IDLE
50 mW
90 µs
160 µW
393
Gestion statique
•  Différents modes d’opérations
Off
Full-On
Normal-On
Moniteur d’activité
Standby
Suspend
Hibernation
[IBM]
394
Olivier Sentieys
35
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Gestion dynamique
•  Réduire la vitesse (et la tension!) du processeur sur
certaines tâches pour diminuer l'énergie
–  e.g. codeur MPEG4
Processor Speed
•  Optimiser les temps d'attente (idle)
E=CVH2+Eidle
E=CVL2
Before
IDLE
After
Time
•  Lien avec le système d'exploitation
395
Gestion dynamique
•  Gestion intelligente de Vdd et Fclock
396
Olivier Sentieys
36
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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%
397
Exemple : TransMeta Crusoe
*Taken from Doug Laird’s presentation, January 19 th 2000
Olivier Sentieys
398
37
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
Conclusions
Est il nécessaire de convaincre ?
•  De nouvelles métriques pour la conception
–  Puissance ou énergie devient une des contraintes dominantes
Puissance
Énergie
Coût
Flexibilité
Performances
399
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
400
Olivier Sentieys
38
Méthodologie de conception des circuits intégrés VLSI - 6. Faible consommation
1/02/10
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
401
Olivier Sentieys
39
Téléchargement