vi estimation et réduction de la consommation · epic/powermill avant!/adm mentor graphics/lsim...

39
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 ?

Upload: others

Post on 21-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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 ?

Page 2: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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 ?

Page 3: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 4: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 5: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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, …

Page 6: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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 ...

Page 7: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 8: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 9: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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 ?

Page 10: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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]

Page 11: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 12: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 13: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 14: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 15: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 16: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 17: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 18: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 19: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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]

Page 20: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 21: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 22: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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.

Page 23: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 24: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

]

Page 25: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 26: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 27: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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 > <

Page 28: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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)

Page 29: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 30: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 31: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 32: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 33: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 34: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 35: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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é

Page 36: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 37: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 38: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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

Page 39: VI Estimation et réduction de la consommation · Epic/PowerMill Avant!/ADM Mentor Graphics/Lsim Power Analyst Accuracy of Power Estimation Synopsys/Power Compiler Algorithmic Architecture

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