79
1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy UNSA-CNRS 2000, route des lucioles Les Algorithmes - bât. Euclide B, 06903 Sophia Antipolis - Ecole d’architecture Mars 2005

1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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