26
1 Concurrent Integrated Systems Estimation et Estimation et optimisation de la optimisation de la consommation d’énergie consommation d’énergie des circuits asynchrones des circuits asynchrones K. Slimani, Y. Remond, A. Sirianni, G. Sicard, L. Fesquet , M. Renaudin

Estimation et optimisation de la consommation d’énergie des circuits asynchrones

  • Upload
    dionne

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Estimation et optimisation de la consommation d’énergie des circuits asynchrones. K. Slimani, Y. Remond, A. Sirianni, G. Sicard, L. Fesquet , M. Renaudin. Plan. Introduction Objectifs Flot de conception TAST Principes Estimation statique Estimation dynamique - PowerPoint PPT Presentation

Citation preview

Page 1: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

1Concurrent Integrated Systems

Estimation et optimisation de la Estimation et optimisation de la consommation d’énergie des consommation d’énergie des

circuits asynchronescircuits asynchrones

K. Slimani, Y. Remond, A. Sirianni,

G. Sicard, L. Fesquet, M. Renaudin

Page 2: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

2FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

1. Introduction1. Objectifs2. Flot de conception TAST

2. Principes 1. Estimation statique 2. Estimation dynamique

3. Caractéristiques de l’outil Trace

4. Optimisations

5. Exemple d’une application

6. Conclusion et perspectives

PlanPlan

Page 3: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

3FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

IntroductionIntroduction

• Estimer la consommation d’un circuit au niveau HDL – Avant synthèse

– Réduction du temps de conception

• Faire du « Profiling »– Identifier les parties du circuit les plus activées

• Optimiser– Tirer parti du « profiling »

– Agir sur l’architecture et le codage des données

Objectifs :

Page 4: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

4FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Le flot de conception TASTLe flot de conception TAST

VHDL Simulator

Reports

Back-end Tools

Standard Design Flow

CHP Code

CHP Compiler

Petri Net

Simulation Model Generator

VHDL Custom Libraries

for Simulation

Behavioral Asynchronous

VHDL Model

DTL1 Compliance Checker

Synthesizable Petri Net

µP2 Flavor Synthesizer

Custom Cell Libraries

QDI FlavorSynthesizer

VHDL Gate Level Netlist

TAST Compiler

TAST Model GeneratorStd Cell Libraries

TAST Synthesizer

Energy estimator

Page 5: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

5FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

1. Introduction1. Objectifs2. Flot de conception TAST

2. Principes 1. Estimation statique 2. Estimation dynamique

3. Caractéristiques de l’outil Trace

4. Optimisations

5. Exemple d’une application

6. Conclusion et perspectives

PlanPlan

Page 6: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

6FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Estimation statiqueEstimation statique

Component multiplexer Port ( cmd : in DI DR ; Input0mn : in DI MR[m][n] ;

Input1mn : in DI MR[m][n] ;

Outputmn : out DI MR[m][n]

)Begin process P_multiplexer

Port (cmd : in DI DR ; Input0mn : in DI MR[m][n] ;

Input1mn : in DI MR[m][n] ;

Outputmn : out DI MR[m][n]

)begin[cmd ? G ; @[G=0 => Intput0mn ? x ;

label_1 :Outputmn ! x ; break

G=1 => Input1mn ? x ;

label_2 : Outputmn ! x ; break

]; loop ];end ; -- processend ; -- component

Le code CHP du multiplexeur : Représentation graphique du réseau de pétri :

P0skipTRUE

No_label : [ ]

TRUE

P6label_1 :Outputmn ! x P7label_2 : Outputmn ! x

P1

P8

P3

P4Input0mn ? x P5Input1mn ? x

G0 G1

TRUE

No_label : @[ ]

TRUE TRUE

No_label : break

P2cmd ? G

TRUE TRUE

Page 7: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

7FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Estimation statiqueEstimation statique

);0;0(0 ackoutputmnInputGdonnéesWCHB

FmnOutput

);1;1(1 ackOutputmnInputGdonnéesWCHB

FmnOutput

)1;0( mnOutputmnOutputdonnéesunionFmnOutput

))0((0 mnInputVackvalide

FackmnInput

))1((1 mnInputVackvalide

FackmnInput

)1;0( ackmnInputackmnInputackunionFackCmd

(1)

(3)

(2)

(4)

Equations de dépendances : Circuit synthétisé :

Output(m-1)(n-1)

Input0ack

Input1ack

C CR

C CR

Input000

Input0(m-1)0

C CR

C CR

Input00(n-1)

Input0(m-1)(n-1)

C

C CR

C CR

Input100

Input1(m-1)0

C CR

C CR

Input10(n-1)

Inputp1(m-1)(n-1)

C

Output00

Output(m-1)0

Output0(n-1)

OutputackG0

G1Cmdack

Page 8: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

8FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Estimation statiqueEstimation statique

Coût1 = n*muller(2) + n*muller_R(2) + Fourche(m*n) + Fourche(G*m*n)

C C_R

C C_R

Input000

Input0(m-1)0

C C_R

C C_R

Input00(n-1)

Input0(m-1)(n-1)

C

C C_R

C C_R

Input100

Input1(m-1)0

C C_R

C C_R

Input10(n-1)

Inputp1(m-1)(n-1)

C

Input0ack

Input1ack

Output00

Output(m-1)0

Output0(n-1)

Output(m-1)(n-1)

OutputackG0

G1Cmd_ack

Etape 1 :

);0;0(0 ackOutputmnInputGdonnéesWCHB

FmnOutput

);1;1(1 ackOutputmnInputGdonnéesWCHB

FmnOutput

)1;0( mnOutputmnOutputdonnéesunionFmnOutput

))0((0 mnInputVackvalide

FackmnInput

))1((1 mnInputVackvalide

FackmnInput

)1;0( ackmnInputackmnInputackunionFackCmd

(1)

(3)

(2)

(4)

Page 9: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

9FTFC, Paris France, Mai 2003CIS Group

“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Estimation statiqueEstimation statique

Coût1 = n*muller(2) + n*muller_R(2) + Fourche(m*n) + Fourche(G*m*n)Coût2 = n*OR(G)

C C_R

C C_R

Input000

Input0(m-1)0

C C_R

C C_R

Input00(n-1)

Input0(m-1)(n-1)

C

C C_R

C C_R

Input100

Input1(m-1)0

C C_R

C C_R

Input10(n-1)

Inputp1(m-1)(n-1)

C

Input0ack

Input1ack

Output00

Output(m-1)0

Output0(n-1)

Output(m-1)(n-1)

OutputackG0

G1Cmd_ack

Etape 2 :

);0;0(0 ackOutputmnInputGdonnéesWCHB

FmnOutput

);1;1(1 ackOutputmnInputGdonnéesWCHB

FmnOutput

)1;0( mnOutputmnOutputdonnéesunionFmnOutput

))0((0 mnInputVackvalide

FackmnInput

))1((1 mnInputVackvalide

FackmnInput

)1;0( ackmnInputackmnInputackunionFackCmd

(1)

(3)

(2)

(4)

Page 10: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

10FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Estimation statiqueEstimation statique

Coût1 = n*muller(2) + n*muller2_R + Fourche(m*n) + Fourche(G*m*n)Coût2 = n*OR(G)Coût3 = n*NOR(m) + muller(n)

C C_R

C C_R

Input000

Input0(m-1)0

C C_R

C C_R

Input00(n-1)

Input0(m-1)(n-1)

C

C C_R

C C_R

Input100

Input1(m-1)0

C C_R

C C_R

Input10(n-1)

Inputp1(m-1)(n-1)

C

Input0ack

Input1ack

Output00

Output(m-1)0

Output0(n-1)

Output(m-1)(n-1)

OutputackG0

G1Cmd_ack

Etape 3 :

);0;0(0 ackOutputmnInputGdonnéesWCHB

FmnOutput

);1;1(1 ackOutputmnInputGdonnéesWCHB

FmnOutput

)1;0( mnOutputmnOutputdonnéesunionFmnOutput

))0((0 mnInputVackvalide

FackmnInput

))1((1 mnInputVackvalide

FackmnInput

)1;0( ackmnInputackmnInputackunionFackCmd

(1)

(3)

(2)

(4)

Page 11: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

11FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

);0;0(0 ackOutputmnInputGdonnéesWCHB

FmnOutput

);1;1(1 ackOutputmnInputGdonnéesWCHB

FmnOutput

)1;0( mnOutputmnOutputdonnéesunionFmnOutput

))0((0 mnInputVackvalide

FackmnInput

))1((1 mnInputVackvalide

FackmnInput

)1;0( ackmnInputackmnInputackunionFackCmd

(1)

(3)

(2)

(4)

Coût1 = n*muller(2) + n*muller2_R + Fourche(m*n) + Fourche(G*m*n)Coût2 = n*OR(G)Coût3 = n*NOR(m) + muller(n)Coût4 = AND(G)

Estimation statiqueEstimation statique

C C_R

C C_R

Input000

Input0(m-1)0

C C_R

C C_R

Input00(n-1)

Input0(m-1)(n-1)

C

C C_R

C C_R

Input100

Input1(m-1)0

C C_R

C C_R

Input10(n-1)

Inputp1(m-1)(n-1)

C

Input0ack

Input1ack

Output00

Output(m-1)0

Output0(n-1)

Output(m-1)(n-1)

OutputackG0

G1Cmd_ack

Etape 4 :

Page 12: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

12FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Coût statique = 2*(Coût1 + Coût2 + Coût3 + Coût4)

Estimation statiqueEstimation statique

Coût statique total = Somme des coûts partiels

Exclusion mutuelle et additivité

Application à un protocole 4 phases

Page 13: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

13FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Estimation dynamiqueEstimation dynamique

• Parcours du réseau de pétri lors de la simulation

•Accumulation des coûts statiques

label_1 :Outputmn ! x

skip

TRUE

No_label : [ ]

TRUE

P6

P0

label_2 : Outputmn ! x

P1

P8

P3

P4Input0mn ? x P5Input1mn ? x

G0 G1

TRUE

No_label : @[ ]

TRUE TRUE

No_label : break

P2cmd ? G

TRUE TRUECoût (label_1)

P7Coût (label_2)

skip

TRUE

No_label : [ ]

TRUEP7

P0

label_2 : Outputmn ! x

P1

P8

P3

P4Input0mn ? x P5Input1mn ? x

G0 G1

TRUE

No_label : @[ ]

TRUE TRUE

No_label : break

P2cmd ? G

TRUE TRUECoût (label_1) Coût (label_2)

P6label_1 : Outputmn ! x

Execution statiqueCoûtdynamiqueCoût

Page 14: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

14FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

1. Introduction1. Objectifs2. Flot de conception TAST

2. Principes 1. Estimation statique 2. Estimation dynamique

3. Caractéristiques de l’outil Trace

4. Optimisations

5. Exemple d’une application

6. Conclusion et perspectives

PlanPlan

Page 15: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

15FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Caractéristiques de l’outil TraceCaractéristiques de l’outil Trace

Nb de transitions

labels label_1 Label_2 Label_4

10000

5000

1500

Label_3

0

Consommation d’énergie des instructions labellisées

Activité

labels label_1 Label_2 Label_4

50

9075

Label_3

0

Activité des instructions labellisées

Trace -label

Nb de transitions

processus process_1 process_2

10000

5000

1500

process_3

Consommation d’énergie des processus

Activité

processus process_1 process_2 process_3

Activité des processus

Trace -process

50

9075

Page 16: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

16FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Caractéristiques de l’outil TraceCaractéristiques de l’outil TraceNb de transitions

composants composant_1

11500

5000

composant_2

Consommation d’énergie des composants

Activité

composants composant_1 composant_2

Activité des composants

Trace -component

90

125

composant_1

Nb de transitions

11500

5000

composant_2

Consommation d’énergie de l’ensemble

all

process_1 process_2

10000

1500

5000

process_3

Label_3

0

Label_2

1500

10000

5000

Label_4

Activité

Activité de l’ensemble

0

Trace -all

90

125

50

9075

50

9075

Label_1

composant_1 composant_2 all

process_1 process_2 process_3

Label_3Label_2 Label_4Label_1

Page 17: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

17FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

1. Introduction1. Objectifs2. Flot de conception TAST

2. Principes 1. Estimation statique 2. Estimation dynamique

3. Caractéristiques de l’outil Trace

4. Optimisations

5. Exemple d’une application

6. Conclusion et perspectives

PlanPlan

Page 18: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

18FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Optimisations Optimisations

Déséquilibrer les structures de choix

Probabilité

Output

Input0

Input1

Input2

Input3

cmd

+

-

cmd

OutputInput0

Input1

Input2

Input3

cmd

cmd

Codage des données :

MR[2][2]

2 fils « commutent »

MR[4][1]

1 fil « commute »

Page 19: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

19FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Optimisations Optimisations

cmd

OutputInput0

Input1

Input2

Input3

cmd

cmd

cmd0

OutputInput0

Input1

Input2

Input3

cmd2

cmd1

Découper les canaux

Page 20: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

20FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

1. Introduction1. Objectifs2. Flot de conception TAST

2. Principes 1. Estimation statique 2. Estimation dynamique

3. Caractéristiques de l’outil Trace

4. Optimisations

5. Exemple d’une application

6. Conclusion et perspectives

PlanPlan

Page 21: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

21FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

ApplicationApplication

ENVIRONMENT

Component ALU

Arithmetic Process

Logical ProcessLabel_andLabel_or

Label_add

Component Register

Register R0 Process

Register R1 Process

Register R2 Process

Register R3 Process

Page 22: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

22FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

ApplicationApplication

PROGRAM :

R2 = R0 AND R1R3 = R0 OR R2R1 = R0 AND R3R3 = R0 AND R2R2 = R0 AND R1R3 = R0 AND R2R1 = R0 AND R3R3 = R0 ADD R1R2 = R0 OR R2R3 = R0 AND R3R1 = R0 AND R1

Base Digitm = 2 n = 32

Nb de transitions

Label_and Label_or Label_addlabels

896

224

196

Trace -label

R0 R1 R2 R3 logical arithmetic

processus

Nb de transitions

1120

196

3223

2519 2519 3124

Trace -process

Total = 1316

Total = 12701

Page 23: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

23FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

ApplicationApplication

R0 R1 R2 R3 logical arithmetic

processus

Nb de transitions

800156

21671991 1991

2596

Trace -process

PROGRAM :

R2 = R0 AND R1R3 = R0 OR R2R1 = R0 AND R3R3 = R0 AND R2R2 = R0 AND R1R3 = R0 AND R2R1 = R0 AND R3R3 = R0 ADD R1R2 = R0 OR R2R3 = R0 AND R3R1 = R0 AND R1

Label_and Label_or Label_addlabels

Nb de transitions

640

160

156

Trace -label

Base Digitm = 4 n = 16 Total = 956

Total = 9701Réduction 31%

Réduction 38%

Page 24: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

24FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Conclusion et perspectivesConclusion et perspectives

• Un outil d’estimation de l’activité et de la consommation au niveau HDL (avant synthèse) a été développé

• L’outil permet le « profiling » afin de déterminer les zones les plus actives dans le circuit

• les optimisations sont guidées par l’outil et sont faites très tôt dans le flot de conception

• Poursuivre le développement et étalonner l’outil

• Illustrer les bénéfices de cette approche par la réalisation d’un microprocesseur asynchrone

Conclusion

Perspectives

Page 25: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

25FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

Merci de votre attention !Merci de votre attention !

Page 26: Estimation et optimisation de la consommation d’énergie des circuits asynchrones

26FTFC, Paris France, Mai 2003

CIS Group“Concurrent Integrated Systems”

TIMA-CNRS-INPG-UJF

46 Av. Félix Viallet38031 Grenoble Cedex

ApplicationApplication

Coût moyen d’un opérateur AND et OR : • en base m=2 : Coût(avg) = n*(muller(2) + 3/4*OR(3))• en base m=4 : Coût(avg) = n*(muller(2) + 6/16*OR(3) + 9/16*OR(9))

Coût moyen d’un opérateur ADD :• en base m=2 : Coût(avg) = n*(2*muller(2) + 2*OR(2))• en base m=4 : Coût(avg) = n*(2*muller(2) + 3*OR(2) + 1.125*OR(3) + 0.25*OR(4))

Coût d’une lecture d’un registre :Coût = n*muller2 + n*AND2 + Fourche(m*n) + n*OR(Nb registre) +

n*NOR(m) + muller(n) + AND(Nb registre) + Fourche(Nb registre)

Coût d’écriture d’un registre : Coût = n*muller2 + Fourche(m*n) + n*NOR(m) + muller(n) +

AND(Nb registre) + m*n*Fourche(Nb registre)