An Accurate Instruction-Level Energy Consumption Model for Embedded RISC Processors
Sheayun Lee
Andreas Ermedahl
School of Computer Science and Engineering Seoul National University Seoul 151-742, Korea
Dept. of Information Technology Uppsala University SE-751 05 Uppsala, Sweden
[email protected] [email protected] ABSTRACT "!# $&%' (!) *! ,+ -./0'1! 23"54 6 %-75%'*448*46,8, :9; %! *4LS 96 '; : = 96+ , ; B%2V 9pS0,]:`48+ *! W_48;5 9LqN2 0 654;K\-8+ / 90E2` 5 *48 U 9D; A 8 0 S!#"K ! -K\-GU -4 Q8 1!z M*!# 0 (NS-*'* Uf+ -8 '; >KF0%-A!> 9, ; t-K-^G3S 9_!#>.
*!T%'6*!0-.S02 1! *4H02 I!I 1! y M;*B ¨Q©Lª\ª¶'«=·¸µ¹3±N´N±cµ1®¯ b79IF48-39 -04&%'f! %-I S04;F . 9 *!-0-*4A£ N'¤ Á@¤R ¤ 1^¢ LÁ 'Á £ à N`?*4a "ºO 9F4- *E2_!#+ S 5 9J! ; _!-m; H%'9!#KF U= 961!# ;U 2 ; *B b798 '4! 8 \! 9 0KZ!Ä48;1! -*4Y, ; 8+d-K 19_!1! ; ; M*!# 0 Å 6 9V; %';9_!*KF0L > 2 ; GU8+ ! %-0 L!A-0>%:2;a! ;1! /, A! [` cd"!# I8+ ; Ä 8 0 mB§Xt[;e8' ;S 9!H 9Sc A!# 0 Æ:--
8 #K8048I!A%_!5N>! K\I 1! M*!# 0 [c J-* '*!"F48>2 0! -@Q4K- T!S,8, A!# 0 I M*!# 0 Zc1!;+
19. ; 81! -@c*! 8 I" 9f1!# ;5 2 ; *B[C 1! -M*4N >!v`b|N , ;H1!,c;I-K\-U 5-0! 7 *!-0-*4HP8-0 =#!# f 21! 4[ ZF4;-0 L 951! ; !#
9. ; GFrJ-!!I 19E2a fF4; 9H , a cd"!# G"%_!*4 9T!*K\1! H ;F 481!:A%2I 9U1!# ; stimulus (test programs)
model variable extraction
hypothetical model equation
sequence of instructions
black box (target processor)
regression analysis
fitted model equation
response (measured energy consumption)
statistical results
energy consumption estimation
Measurement
Model Fitting
Model Application
±c¾_«?¬# ½ ?½t ¶ '½F¬#_´N´U³=³=¬#¶_ª d¶¬?½F¬ ± ?±N·m¾(_·Æ½· ½F¬#¾_®$ª¶'·*«=²]³=µ*±c¶_·Å²]¶?½8´ +akmRX
2 B"b796 90E268 2 *4SS 9U! ';U 84 , 0 09*4c 9U! %'#K\D! ! 197 9_!#; VF4;-lBab79_!#6G¸ 9 19E2I *!t! -V48; K\5 9f; &F48- L 9f4!1! %81! 4J ; 6I-0! m 9_!m K\`c A! I!%'
;8 -;+R-K\-?; T OG:9;T 9>I-0!# UN D 9 1! ;> 2 ; >>! -. *! 48[!*K ! -0! %-B5 V 90a *! GO 95 + '4I 90E27 .º_ *!2 -5 *4 97 " -;e8. / ; ], A! OG3 f 9F4-9! >%'Q48; K\*4¸G 7I *! [, A! / 9I;; & [:. 9 6 9I*4 Na f 9/05-0! TN a 9>, 0 V*E2 /+ 4fFK\, \!# 0 mBZCD-G 9A ; 90E2A *! 8 KF04 9L8+ N A! !%'85 9LK ! >^! 5 9!I!»¸ 5 9L;;
8 S, 0 :V! T! %,1! ;:N `!IF4;*E2_!# mG8:9 19S:'%-a:9H_!#1! ; U 9JF4;*E2_!# L%FI8K, \! 5 9U I%! 7 O 9U*! 8 *4 ; (! _4 9&K!-0S> 9&F4-DK!# 0! %-B§b790H +
*48 VL *! --*4(F4;-:º ( i#lG::9 V -.LS!]º *4 F4;-`EF! [ 9_!#5e-0! 6 9I -0! 9Q%';d7[ 9 F4;-=K!# 0! %-6! _4T 9/;; V%'9_!*KF J 9>1! J +
*BZD V 95º *4ZF48-D G@! -. ; _!# K\-./t 9 ! -BtP8 9 2 ; ! -= ! -J&! 2 >! / F --04[%2T, ; e; OG?; S 8 0 V ! . 9; J! 4H- 0 ! -=;e8 ; T. B CDD 9!7, ; ) !`,1! \ G \!#14-@ ' 9"8 KF,1!# U' 9"0';-0B aI 9U 9;@9_!_4¸G 97c ; W |\ %&\ ] 3 K\;` 9UK ! 0!#+ L ?; A 8 0 L! 1Z 4 /W / 9DF48-'K ! 0! %-0 \ 4;º*4A%2A 9ad7f, ; ) !_4/+ B L q7!*4 9H%; K!# $ 9! 9S; W ' ! -` S 9F5%';J"%.[ _/!_4[ 9FI%'J - 0 ! -<s :S 96F _! -¸ ! -G_4;ºa 96 LK!# .+ ! SN ; T! W | \ W %&\ ] 1 V` X$a W bc | \ W %,\ ] B Aed X$a W bgf | \ W ( % | 2 Z :9 c | &%ih2=4 = 9 a! U4,1! 7%' 7;5d7a%.+ _!#fF5%'; j 3!_[ 4 hG8! 4 f | `4 9" 9_!#5 19_!#1! ; 0M;A 9 ] 8+ 8 & '-f,1! n G¸:. 9] !14 fF48-¸K!# !%- \_B ua 6 9_!#"7J9_!*K\>!5-0*!U*E2_!# T,8, gc U H 8+ 8 ZQ!H -2 o] ;8 -G=:. 9Q!SF5%';J:oF#:]_!#+ 1! ; G:^B B0( G ` X$a W ( G d Xga W S!_o 4 U W BXtV *!-0-U 9 _!#1! ; ZQ¡ PÁÁ\¡;d¤1> p;NF Â R8ÁÁ ¤d¤ G6 V 9;4 0%' 9a 9!1! ; , 0 ;D= 96;; H%';9_!*KF0: = 9a1! ;U +
*B! A4 ; *4[%F -*!#D &!_! -.8B d?3'%- T;; Z OG :9 19t'%-t4 1!48A 9F4-@! ; 1! ;2BTb79; ;c G3 ; .[ 9J %-TGm 95 !_! -.8>6d7H ; 98+ 0E2;"%_! 4HH,1! , *! -mF4-_ ;, 0 GT!44. L f4+ KF0 J 9"K ! -@ ¸ 9" 19_!#1! ; 0M;0 5!1!; ; B¦=. ,*G27 042 .cL 9 >_!1!; ; : 9_!#D9!*K\J- -> DI0 .º_ ! ; ! 4L;-0_!# D 9TG2 / 4 ;D 9DFI%' ;-!# 9[%' 7;V 96 ' f!_4H 9>;6 8 *4 ; 0!*4J a%' 9fI 9_!# -!# ;50] 9A! ! -.8>N 5 9;5_!1!f+ ; 2; Z%'&48; ; 4OBĦ A;e! -G'1! _4]' .º_; 5! 4Z!-0-` 94!1!SK ! -G3%2 ;'*! *48-.;e8 & 9H !S, ; Bb797H *! 48; ; / 950! ;6 e!-GO%2 e; J 9D !U, ; *! 8 *4S; SK!-0B PF0-0!# -2G T 9ID8 KF-.t4; ; *4]K ! -;5 XtU! -/02 F48 D!J; 8 *4 5 OGF%`!-6o\= 97 ;-;e8. /_ 9 - ; *4J I ;2 2 - .G % G I$I$I;G /(FB`b79aF4-' 9_!#:%',";e8-!:8:*! 8 *4L;; K ! -::- ; *4H%_! 4HT!5F4;-¸ ;, 0 I 19E26 *! --*4 9! 0a+l ,U i#lB 2 K\;-2G J 9 1o5.m!6 O, ; 9 -045%'" *4> `3:. 9I ' ;3 6!a' .º_ < 9!1! ;+ M T!1!; ;*GO7f _!# !HF48-3: 9[ 95 ! f 19_!#+ ! ; M _!#1! ; :c D4.»¸; ;F:, ; U! _4H! 9 F4;-¸:. 9V48.»¸; 2U 9!1! ; M _!#1! ; :c D4.»¸; ;F , ; B3¦ `;e! -G pS.s;lG T 9 ;8 -;+d! ;1! 9 9+R ;0 /! ;2¸9_!14F"!# Z!_! -.8G'754; K\4 ` = a Hh I ,F"s I|^ $2O!_4 d = a M'!I , )/|^ $2G;:90 19> *! J%';D= ; *4 c ¦FC)"!D *!_!%-> ;e8-0!0 f 9! )j J 9T $K!# !# Å4S t 9S 9! L0 9>0, ; TN;
19&!448 BDb79J -. a_480 ! J 9_!#D 9
and and and and
r2,r8,r78 r3,r5,r97 r9,r11,r2 r10,r2,r1 . . .
and sub eor add
. . .
r0,r0,r0 r0,r0,r0 r0,r0,r0 r0,r0,r0
. . .
and and and and
. . .
Example of instruction sequence used in model derivation
7¹3´c½ /½/¶µ d¶¬H±@½8¬#½8·¸µ;· µ¬«=ªµ*±c¶_· d, 0
\
# 2
2!
`# "%$ a
'-/PF1! , ¦ 10 FB , ) Fs,2B hi h ,2B h )FB0s\ hFB s s s) FB FB0s\h h ,h2B 8s FB )h )i h )FB i hi ) 8s"FB Fs \h2B 8B )\i ssB ,2ss 8B 8s#i |^. ¯ $8G1 Ä I
; S8 ' _! -U t 9&F5%'; /% ,:.
9f 9AN;
19W!44F G
19Ä!448 BÆXÄ. 9$ 9L8+ N A! S!*K!0-0!%-G876 *!S!-A8 1! g M*! LN -* ; & 19Z!6 F48I -0! 2*G¸:9; /c *E22 -T;eF+ 8 *4, ; T! &-! *4(Ä 1! ! 448 ;L:. 9 A! -- 6!0 I48,1! ;U! _4S!I-0! >F5%';7"ks B b?H4; K\/ 95%_! 5 , 6c >K ! 6, ; 6!>*! 9[ 9L 9 S'-T,1! G7! --= 95, ; B>b?A-f+ _!# 5 9/;»¸ J @ 9! 6V 95, 0 VN;
19Z! 44F G 7> *!- -0! 4V 9J TK ! 0!# 0 &46 f 96N
9&! 448 ; [ 9L!1!; ;fK ! -f48; K\*4Q 9H8 KFI! ! -.F+ D, ;mG! 4S%81! ; *4L.U g 96*! 8 *4H;; HK ! -B b=!%-Is68 2
X
X
X
`'-5P21!
1 0 8B ) \h ,FB \\i FB ) \i ) 8B , hFB , ,Fs FB i h sB ) 8B Fs" , s B 8"s h sB ii2s* 8B \hh s Bs" 8B ) , 8B i ) s B \i hFB h \i 8B 'U I , |^ ¯ $G 1 Å I \h \ ,¦
d
; *! Ht 9 6!0 V4,1! L : 9A ' F4L_4 *!# 9!" 96 L 8 0 H=c 7! > *!S%'a *48 4H%2 !-8 >, ; A- ; S!_64 #
P8-0! -.2G¸75;e8 4[!A;>@ ,6 1! a:. 9&1! 4 4 !#1!DK ! -;= J4; K\` 97 ;2 2 3N48, _!# 0 &';1!_4 5 97 (,1! :. *4>05 9%'5 ;1! 4]2 -3 9I 0§,1! BCD-T 9_!#*G6-o\[ 9[ ;-. Sc x 9]8 KF0 S! _!-.V, G 4.»¸; ;F`, ; @9!#K:4.»¸; 2_!#1! ; @K ! -`c ` 9 F4;-'K!# !%-:48;º_*4fL ; K!-B`b790""48 D 9 ; f! _!-.3 5 9@_! = 9J*480! J'1! _4¸G:90 19S 8 *4S : 9_!*K\J -.H0 + .º *! 6H 9 6!0 /4,1! JH 9a,¦Q! 4LdY,1! B b79V ;2 2LK!-A48; K\*4!# ` a I )(|^ $2G ! 4 ` a ) I ) ]|^ $2G' ' 0K;>=-.2G_:. 9[ 9 1 K ! - `FB )8;Ds*C iFB 4.2 Program Energy Estimation b?/9*Ä 9D;c-;7 ?7; A 8 0 AF4-' , A! a 9"; 5 45%25! f, ; *E2 G 7/-2 *4S! & V &!_! -.8M;*B6b795! 8+ ! -.8M;J1!o\J!Z!I%-.&
;I 1! |^ /!A%_!#& + 1!LJ! / /*G3!_4Z;, 0A!# J 9; Z 8 0 " 9f K\;t, 0 t*E2; ft! 19t -2 o[ ;8 -BHb79 ! ! -.8M;>º ,6;eF1! ; 6 9fK!-JK ! 0! %-0; %2;e! 0 J 9U0, ; H*E2 B Sb79;L." ! - -0!# 9U; I A!"*! 9A -2 1of ;8 -U J 9UF4;-
dV4 0KF 5 9JK ! -:3 9J 4 ; DK ! 0! %-0;a48;º_*4H ; D "4!1!AK!-G¸7I! *4T 9_!D 950. !-K!-06 9D , ; a! JoF*:T!5 ^B
IF A B C st. st. st. D ...
1500
A B st. st. st. C ... A A A A B ...
ID EX
Energy Consumption (pJ)
1400
1
3
4
5
6
7
±¾'«?¬#½[O'²[³3´c½V¶ U³3±c³½8´N±N·?½ µ´N´
1300
1100
Measurement Estimation
1000
1
6
11
16 21 26 Clock Cycles
31
36
±c¾_«?¬#½ >¶¸²]³=¬ ± ¶'·Ä¹`½Fµ 5½F½8·½ µ±^²]µ;½ (·Ä²]½F *«m¬½ ½8·?½F¬#¾_® EF! Æ!_4 9&K ! -;S > 9] 19_!#1! ; ; M $!1! ; 8 KF-.S4; 0*4A%FA 9a ;0 &! ! -.80B ¦ U 9J;e8'; 2 G!f ! -0J8 1! w"!D ;1!# *4S 9_!# ; 21! `!:1! _48eF 8 , 0 &*E2 6 9_!#a e; *4AN I -2 oL ;8 -B b79H -. I9*g 9!5 9A '*4W! \! 98 KF04;f! ! 81! 7; /, A!# 0 mG:9 19I3K\; .º_4>%2J 9@^! ;3 9_!# 9D 1! 9Lc 7 9U;, 0A!# *4 A -;- ;I%-0;@ 9_!#7 96*! *4L; 2B`b796 ;2 2U 48; ; _!# Z| 1 K ! -SW 9 *! TAFB ) 8G":9 19$! 5 9_!f A 9_! )Ij O 9:K ! 0! H 9U*! 8 *4f; @ *! 8 *4%2 D, A! &*E2! OB:b79J 1!-= 9/! 4S
; AN" 9# \5 ;-02 1oA ;8 -":iFB h \ihI $GF:9-a 9_!# = 9D, A! *4L ADiFB h f $8Bb796; D? 907 1! ;; &0a-0;6 9_! QsfjLB6XZI!-0H *! - -0! *4V 95; 61!# T! 19T ;8 -J K\H%2
, A! *!'] *! ;F8 2 %
b 95 [ 8 0 &A!*T 6%'I';c ; -.[-0*!J ¨ 7 9 6! Q480,1! ;&! _4( 9[ 93*! 8 2O9_!#148+ "!# *4&] 9fF4- , ; ZA!& *!_! 8+ 1! ;0;DT48; KF0 I 9a 9!1! ; M _!#1! ; B
1200
900
2
Energy consumed in clock-cycle 4 depends on stalled C and B instructions
| ,
:9U!*K\;1! "K ! -"`8B \h iFs G2:9 9I*! = 9_!3 9"; ` 97; /, A! I%2>8F4-F*E2_!# 57! I!*K\;1! h2B i6j 99!#K/8 ' *4&! ; 90E26NJ48; K8 H!&! ;1! /8+ ; & VF4-3!#6 9/, ; [-0;K\-^B>b795 + '4L!8 \! 19A 5%;! ';/! %-/! -A%8/\;f! 81! L; 9F4]c I, A! T 9L;;
8 5!3 9:048DK ! ;d m +
G a."4827 '*4&; 9F4& S4; K\I! [; [ 8+ 8 fF48-c 7 9DCUv6 p ,b7>pS3 2 ; " ; G2 JK\+ .cL 96K ! -04.dS= 9J!8 \! 19mB@b79J *! >, _4FA9*:: 9_! ! [! 1!# I; TF4-= ! &%'I48; K\*4Tc , ; 8+ -K\- 19_!#1! ; ; M*!# Q 7 cd"!# G=0 S 9/ 190E25 + '4Z] 9>_!';*BAb79f -. Jc /;e8'; 2 68+ 4 *!# H 9! ; tF4-" *!! 81! -., A! L 9 ; a!& K\W, 0 $EF ;Bb79 ,1! , *!-@ - J9* 9_!6 5 9! )Sj !_4;*G8u/B +D ,!o2 9! OG_p]B $Bd:mG! 4 XY/B .@B8 _ D -;U8 0M*!# : S,8, '#Á < R¤Á ^cF à d¤ I N;¢ #?0¢ %:U0¢ %P Wc 7! >B "? ,Á Á\¡;^l¢/¢ A@# Ã1d¤ 5 G__! >s s 8G¸pT!
19t"s ,2B
.s 5BpS921!8Gv/Bp]B D7G'! 4Tp]B $B_R:mB , ; -0;K\-O'#BXZ-.NB =*7;D! ! -.8D 5%'*448*4Lcd"! ¯ Cź ,U, H *7!14U 7! '*7;UM*!# 0 mB "? ,Á Á\¡;^^¢ 5¢ @# à d¤ I GOhF| 2 ¯ , 2i2G¸6 5%';J"s 8B h +5Bb7."!# lG'P¸B_pT! -o'G'C/BFXZ-.NG_! 4Vp]B_baB + }DB'kOB , ; S-K\-O'*7;a! ! -.8D!_4S M*! T 7! BF¢ 81'Á £=,¢ N@# 0 _Á£ ",¢*¡¤ N2 G "s 8|Rk h \ ¯ hh 8h )FG=CU ,J"s 8B h2s;5p]B_}DB'b? % ;T! 4SbaB'p]B'}