HAL Id: inria-00637269
https://hal.inria.fr/inria-00637269
Submitted on 31 Oct 2011
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Optimal acyclic fine-grain scheduling with cache effects for embedded and real time systems
Sid Touati
To cite this version:
Sid Touati. Optimal acyclic fine-grain scheduling with cache effects for embedded and real time systems. Hardware/Software Codesign, CODES 2001, Apr 2001, Copenhague, Denmark. pp.159 -164, �10.1109/HSC.2001.924668�. �inria-00637269�
Optimal Acyclic Fine-Grain Scheduling with Cache Effects for Embedded and Real Time Systems
Sid-Ahmed-Ali Touati
INRIA. Domaine de Voluceau, BP 105 78153 Le Chesnay cedex, France
ABSTRACT
!"#$%&'()*"+,"(-$.!/
.0.)*.)%213/4(56 7 %()8%.9:.;-$ <221=%.0/
01(5>; %?"(5013@AB*013'"2DCE< 0()21
*7 13F%. 13@G -01"(H'IG1 %1)2131% @A>;
J-$%%K&'(012.L @M!"@%J*@*(5(9 @ML12N2&
>OP0"CRQ S T2$%%+=><9@2UV9J">W&'(R 12*&<7 13
R.0 13@;*- 1%(X .0%"@* %,*. "
!YI( 13 1# *T @Z!"%>[
"M"\=%"C^]_UV%`a.!%S71@** WbHcedgf8hi#j+
9"*(5 1"k!3 7N*&<*6l%@*%T132*@*(5(9 @J(5!.0"1m
-$*. .n-l79o)dpfJpqjrU***-01%82.RoJdpi)p'spfZpqjm"* l"C
<0Y"(501"k!t7Z6-$"%_*B R(5 1"k!3 7Z*&8n"k! /
@I0u! #>;0A1.09><* 9*1T%. 1)(5
&v*%C
Keywords
* ()21V7 138 . 01*+%@* %m !"+2*"%r"* /
!"+%\="+0l%@*%;*@*(5(9 @
1. INTRODUCTION
w %lJ"(5031"57x*PVB-$"": 9&v*(yN /
*Z1%UV"1D*2131"13(zd{Q |r}Oj~ %l<N ><. 7 < !""C
B01301T$"2<*;.5) 6*(5_1!P571; /
;< @* 8*&=[k %" .R$%*"C w *(5 1"/
@Rn"*(502956* O(5[<n . 013 @*- /
1%(" 2.)-l75()*l7R&{"CO<T(5 O(5$2l<
2R R. 2). "$%.0%"+$ #U*231*-0313t7S*&8n2.0>[2
&'2 T2.N (5%(57J %2l7N" 2l"C6< [1'%
1. 8~%@* %,"* l,2.YO%~"\="CG 31
T%@2 %[" 2l~(5$V6;&{[2~6!(-$"~2&
U*21 T (013*" 137S13UR(R _*_"k "%%. n0 (-$%;2&
U*231*-01Z%@* %"+~Z%J"\=9*Z.03\=%%lD)x&v+
5%* (9'%*50137Z "5*&[$"&v()2"-$*1"/
P ;-$%2R5(9';$%213 7N()7N 2131, # !"*%CT /
%(5*+* [%O-$%Ulm.03 )"01rY.! 2%1317l+
()2Pl @# TUV":%2*B*.J* (92*N*&m21=(5Y2 133/
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
Copyright 2001 ACM 0-89791-88-6/97/05 ... 5.00.
%*S*.0%%C_Q 6&'(R 12D+$><#@*UVR9: T* V*
9*.!1n"(5 17Id4"21'.N *j[%(9[>;"nR
(5%(5*7J%"%6*$%26k 0- 3_(5221r;%(5$1
1!%2133 7M24C
<< %'"21$ .0,9 . 01 @Y%UV1 2,l%@/
@9 "T !Rm*6 n%@* %_" 2l
*62Jt><ST}/t"(5015-01%()"C
w
(-0 @S.0 13@
. %-$29;%@* %O*.9%O"* l8-$"(56
"*(5 1"kN*PZ>; %# n@% %218"*(5 31%;R(5n% /
%YN@*"#* (9%. . 01$*1370*(921(55"(9/
1"k!3 7lC<T><%U%%+"(-$. . .B2.N%21m(5# 7 %();%*
ul * ()21d{-$ j5 . 01CWMUVM>;I
@*l!.&v*( 1*A*&;)*- 1%(zx. "RS. "5
210(5CY*l7B>OP0TUV#-$%%I.0# @Jl%@"
132m*@*(5(9 @#dvl|r}OjD(5!.0"1Ol+ll+*0+0+2 +0+!+24CrQ
_>OP$+$><R%lTJ ">X&'(R 12S2&<*7 13'R . 013/
@R2, ;"(501"k!t7n*&$ <(5!. "1 @"%.R1><"
2N%"k!' @9 ulO>;031n><Y1. n*(5n%
0(9%2"+13Pn>O>[131"k001'NBn%.Z*&, ;2$%%C
&'(012x(R #. "9)21 x(5) "5><
"* . %2- 1375.0"< ;0 (-$%,2&=U2*- 1~*.5" 2l
NT@% %2.Jl|}K(5!. 1gC
< <*$%<<@*0".N*[&'*131>[ @ C8M6: ;%%l<
(5!. 1O2&6 9*@*".M!RA!C,B*.I).0
71I@* d{T6]j9F-$.0 1.LX!C;<A
.!7l+>O*(5n""@"%*_,T"+$(5* R"@* /
%Yt7 $*+r2.I. "1%7l.S12%*&O>;3@ZlN*.S*.0@
&v*(%@2 %"C< R - 1%(*&~*7 13'R . 013 @5'6-" 7
%131%.xA!Cr CS;&'%%+,>OZ.0": )(59l|r}W(5!.0"13@
0'ul <0C!C8MY0u! O9>;3n
l|r}¡&'(012L?0%C;¢0C£"!N(5I*0"UV.
><*Px R:1'.a0%C~*.A"*1. J-!7 %()2P
*.Z$%$%UV<S0C!C
2. PROCESSOR DESCRIPTION
_RQ |} !"_*P,-$%": ,&v*( O %%l2/
2131"13(¤I >¥*.Sn(0101R$%/
_$%61!P7 1* P0[5 $"13.B"k0 S2.
n %R2&O(R 13 1&v21, 3Rd{,TjCT6$%/
%*#-$O"k0 .n# Td{,(5*jD&'*1 3Od{,YjC
MT(5!. "1=Y"(501k)-$%Ul[*&rY"k0 Z*&m Y0/
%**M),Yn-l7 )%U*2x*-01"CSMJ2*
N% *MJ%U*22- 1Bd{¦8;j_B.0"-$5
>; 1!PB7 1n9,X[- 7B.0T9 Y"k0"0*B*&,0
J)C8¦8K"* [*&r#t><*/t.!(5" 21$*-01+
>;") )0 (-$%T*&;13 '512"7*&;5*$%2*+
*.NR"*1 (56" ' _*&R"Y2&8,Y"CY]_U%SJ¦8*&
*I *§r+r¨5©#ª=d{«2h¬jYc(5*T2n§"k0" %Y
< J2@"9!"*^R. "-$.A-l7M© J"5*&;3
"@* %6t70$dv V+l+"2Cj+ 36*.0><*n*""+$*.
<"m*& >; Rk %" 8n~ ""C8<
*.!>[*~ ",28 O"r*&08,YXc¬2h Dh¬
B2#;!(R-$%[*&~"* _2&,n,W¬9C<
*!2n9*N N§B["U*N*-01¨5©RªC
3. DAG MODEL
x_6]abcWdgf8hi9hj"* r2&6"m2&*$%2*,f9+**.
_",2&$*",iK>; R"*!rO._.0%$%.0%r-$"t><%%
T*$%2<>[Z*l7)2%< ".0%Y"* 2l"CO*
*$%2*§I;R12"7 d{§$jC~n(5T# P)*$%2/
*£SbW>; " ; Y*21, . 01(5,~3&"
O(5*6*) T P9!.0+l><_. .5 _Ul1$!.0G>[
22#&v(^ P#>[30d *j[c"!$#&%"d'2jCT£U13'.
%. 1Z*&Yb9I$ 3UZl%@%R&v)(L>; K**/
'TJ*$%2*§M2I (5(8d{§=jCn6!77 13
%. 1(I*&~bX(R ;%T2r
*
d{§h,+0j-Bi£.(~d/+0j102(~d{§$j-340d{§=j
QtJ0O2$%%+!><"* . "<2<Z*$%2*B§5SfX>;3
ln(5V n 9%@2' "R2&;Z 70$6%A©)C)<5*$%2*
>;0X. ":(R 13 1U*21 N>[3£.03\=%%lBt70$B*A*/
% .Mx (5!.0"1<3\K "7M.0S*9. ":)(55*A
U*21 T*&m""2Jt70$CmMT. % *_-!79§87 TU*21_*& 70$9%
.0": .-l7N#$"2I§rCY1'Z"* . %_n&v*131>[@
*C6f8:1;
7
[_2&mU*21 <*&,t7 $%-N©=<
lC;i :>;
7
m["82&O >K.0%$%. %7#*%m @*R
U*21;*&8 70$?%9S©5C_Qg&,%T*(5nU1 ;*T.
I _6]R+=n*9 1318*.2&%Y1Ul @Z0'_T6]R+
%U1 [UVY9-$P% [B%@2 %"COn" '.0%
"Z[%Y;R >`2T&v( U1O@A<
m213137l+O><N" . %25%.0 @I&'( 2.M>;3 @lI
"@* %#%*I-$9.0"1%7l.&v(^-$"@*0 @N2&O . 01
(5Bd/B_|rQg %jCZ5. ": 9 >O. "1%7I&vC DE;
7
2.F G
;7
Z2
G
;7
f :>;
7IHKJ
§FL
H G ;7
d{§$jMN4 G ;7
d{§$j-O40d{§=j
T>;3#7 1Y*&§878'P(8d{§=j=s)G ;7 d{§=j
DE;
7 f HQJ
§FL
H D;
7
d{§=jMRRN=
DE;
7
d{§=jSN4G
;7
d{§=jSO40d{§=j
Y*.B7 1*&,§BP(8d{§=jsAD;
7
d{§$j
4. ACYCLIC SCHEDULING PROBLEM
FU13'.R . 01S(J*&Dbar: 8 .-l7 ~ %%l
. 2M.0%$%. %7F"12J-$"t><%"KB*$%2*)J*l7
2%6%1" 2l"C~<Y*@*"T* 3 Y1(932*
(5$Z2%5 !n>; K2J J13(93.x0 (-$%n2&
%_ !;2.N%@2 %"C
4.1 Resources Constraints
< %N"* lB2 (5017a&{*N2J >O
*$%2*r(R D2m"k0"08 (R 13* % 137YY O2(5,R+
4CCY #221!(R-$%;*&~$%6>; I"k0"0n),
¬9. @551!PB7 1«( 6 *6"k "%.T! (-$%[2&
(8d{§=jh¬$cXC8*()213137l+ Y*"6"* 2l;*
* 6NK«WN4(8d'njh * ¬65 X
ª&Y&Z
¨5©
ª «P02(~d{§=jh ¬2N=C
4.2 Registers Constraints
aU*21 [§ 7 f :1;
7
'8213UV62 <: ~ %5&'%<>;3@
*&_§87l31O3n1'* 5*.0@Ad4"*(50$jC< N"*&6
"*(5"T*&OZU*21#§
7
xf :>;
7
_ 9"2&O R*$%2
>; B*.Z3r
[W\^] Vd{§ 7 jc+_M`=d{§rh+0jSi:1;
7
<J1 J"*(50A*&TU*21)5%2131.xZP!31313@M. 2
*.Z *.?<
* § 7 Bf8:1;
7ba_c
!d!td{§ 7jc ()2k
e
YgfihkjglEm3ª^nporq
(~d/+0j=sADE;
7
d/+0j,s
Mn*(5Y9U*21 Y>;"S2T51!P71n«Y9%@2/
%_6U12- 1R*# %B12"%C6<266)%7l+3&8$"2
§F. R&v*(yS%@* %55I1!PA71J«5>; 31B$"2
+>;3@A3J29 B*(5N1!PA71*+<§L.0l925@
+rt#% 13#- #@*"Y5U*2192n>[*# %Ul* 137 .
Y%@2 %%C#<%D+$@uvwxzy/v${@x6vd|}ypxz~z^u8V9
ª n
*&8#U*21
§ 7 (~d{§=j,s G ;7 d{§=jh
ac
!d! d{§ 7jtgCB]_UV%I9133&v"(59l%U1
*&_11~)U*21"+r)!(-$"*&;%@2' "R*&;t7 $%Y%.0.
I Z2131[J.0": .U*21n#)()k0(R(E!(R-$%n*&
U*216*&8 70$%;2T* ( 132%* 137S213UVC_M#%11,0
!(R-$%Y5%@2 % %.Kd{ul0"(5%ljT*&[)%. 1@(+
*.J>O*_?
7
dgbjC~<0'<"@* %6%.)6(50.)-!7
-031'.!@5.!%.l%&v%""J@24
7
c¤dgf8:1;
7
hErj+
)2<§ 7 2.@+ 7 2.%l63\B "7J*Y (R 13* % 137
213UV+gCC[ "6133&v(5nl%U1;l%&v"C6<%D+ #()k!/
()210 (-$%2&rU*21%O (012%* 137513U_8 T%2.013t7
*&, Y()2k!()21D1ul5d4(5 1"Y-@** $j<*&V5
7 C
!"!(R-$%5¨
7
*&RU12- 1"@* %Z2&n 70$5%5
13(9%.II *@*"n!%+m>O9".IJ:.IN%. 1
>; . l%t6%.J(5T*B¨
7
%@* %r
* %-N© W
7
dgbjSNF¨
7
Qt&9.0 1[.0lt8"k! +V0131"!. [rY-$O@% %2.=+
4CC>ON( R B*(5)U1 #A(5%(5*7%#*x
%@2' ""C6001313@9[Y221m . 01Y(5-$"*
3Z%J ">^$%*J*.KS 3131.G.M()%7K"*
%* (9'%"C8. *;*.01n 3131m!. YN [2$%%C
4.3 Cache Effects
Q B 2)*&8:n@*2%. 13@0+$#%* "\=T*
*17)2PV%5!R"" !;-$%%*_O-$%Ul;.03\=%~&v(
9 1&v(EB*2%%C %(5*+r.0 @Z%
"\=T()%7Nul0#(5#%@2' "T) (5n*$%2
. @nY(9< 11r7 1"+ *.N*(5"(5O()%75ul _"k!/
% U"!. n %n"k0* *B. T1lN2131 @9"k0 -0
(5Qt|r},Cr;"k0 12 Qt|r},+% 8(5"(5761.>; R"*%
I%Z(9'J( -$J.x><"13162*.F2&_ N$"2
>; Nul0%OT1V*. .Z.#N*. %<R. "TT%
(9Z 131#7 1JAx(9 ( (BC£< %. 13@A(5" !.
%.S T*$%TT-.S0'6 uln>;%#><#7
5"UV"<"*(501'*7J(9'%[3&-_2&,(5%(5*751.
""[2(5n%Y13*C
]_UV%*(5n(5%(5751V*.6$%*_%"% @5#*(5
%* 91 +mR: .I1.x%2nB")"*(5 1*7
(9N2.L- @VJ "!13lM%* +_>;031I
"["\=2"* <$%213 7n&v*O_(9'm&v%%"+!2.R>O[2
3 !'«
CmK -ul"!m"&v%""<T [*(5<%<13;0\=%
;2313@%* <"\=I%« [.0O;~1'%7R2&&' 13137"U! @
n(9'=O ul .. 2>;0'S%2;(96-l70*
S%S2.K@*lJ.0137F&v( B(5%(57A- 9
w }8R+[>;031II-ul%lZ 3Z(R J>[F%« 7 1Z&'
1.0 @9T>; *1#%Y13YlY%C
_%"*.0@K2-$UV+nA%* x"\=()2PVx(5"(9/
*7B*$%2_12%_U**2- 1*%"*.0@55#.0 1C
< %62Nl%/t. %$%. %"Y-$"t><%"Nn.0 12.Z
"O\="Cm *+*$82%8(5%(5761V*.
#$h
h«J%RJ2(5N%* J13*CQg&#I9 . 01.M-$"&v*
2.K«2+[%a 91.KJ*G%l21d4"(5 17j9(9
>;0S%2S*_-$"13(92%.DC6<12"7N*&#N(R 6-$#"
0d/# jOc!'« n&,>O>[*l6)UV*. 21313@) !"%C6
1(9.# O2313@"<"\=%m*& *.R«*+2><[(R '
%(z2&%5%. 19(592&P#>[M2n1 Zd !'« 6s=% « 2j
1!PZ7 1"C
5. INTEGER LINEAR PROGRAMMING
65l%@*%O132<*@2(5(9 @n-01%(dvl|r}Oj_='O
21UV~
()2k!(9"9d{[(9 (9%jO«
-_ ;Jc
>[3x«2h
J j
3 !+*.¥#*Ld ] j"* 2l
()3kDCJ<05 2. *.&'(012DC)Q &v+,>O)%*
* %[1 *6"* 2lnd,Nh 3h OhhcjC
5.1 Logical Operators
Qtl %213137l+m2Il|r}(5!.0"18. ":69 tUV* /
"2<Cx]_UV%M >O !#()23k2.{+~%70 @
2I(R _-$)210&v*Y-$*3
*.3
r
(5!.0"1.Z-l7W
53
< *@VI*&OZ"* lT()3kW>[ 13d
13%*)"* 2l^2h
q
h Dh"!Yj+O4CCA&v @AM. I2
U%3&'7#F3 [(5!. "1.J-l7T
^*d=jSO
%$&
q
d=j O q
$'($&)!d=j O !
QtA¢24+$#*0*T>;S>?)(5!. "1#.0d UVn* /
"2$OC w '.0%;Y - 1%(
()2k!(9%9d{[(90(9%j*rd=j
-_ 6Z,+=d$j3a-$/.rd=jS3a
U~7l!. @Y- *7RU2'2- 110A0hV+l .0d *
;ul U*21%l<[
+=d=j 3203+
.rd=jS3?dP040,j5.
>; %6+ *.. *# ><)P!>;S*!011r: 3n1>O%Y-$*.
&'+B*..%CnM#@% %213%9Z**-027S!(-$"_2&
![B2
]
/ .!d UVT&'(01$ j
$ j d7 2h h8 j j8cWd7^*d=jS3a$9
q
d=jS3a:$; $< j d=jS3Kj
l"6_.0 **(R79*$%2*$I<!'UV+>OT@*5
!Tt><J-l7B >OJ&'(^1"&Z@*!C#< %Rd] 0Lj
< R12%7A.0%$%. R*A Z(5"(57x*%"1%7x*.
U***-01%d=. h ;h.rj?> jC£<:21Y" 2lN 7 %(y
"k0%@$ j *Ro)d
]
jY" 2l#2.oJd
]
jY-$l*1*- 27
U***-01%"C
*(*-$UV+V>O6. .0"< <1 *~" 2l82&*l72%
1@2'"21,*$%2*r
CA+=d=j 3ancCB.rd=j 3K9%*Z-$Y>;3%
+=d=j Oa$D.rd=jS3a
!CA+=d=j 3a@EFBG.rd$j-3a9"*N-$Y>;3%
q
+=d=j 3a1#.rd$j 3L^sA$
q
.d=j OL1+=d=j Oa s
5.2 Maximum an Minimum
Q S*Yl|r}G&v*( 1*+D><9 %.N(50# R&'/
H#c F#ImdrhKJ jr>; )"*9&v*(01'.9-l79 .0%@
&v2131>[@J"* l
LMMM
NMMMO HR32
HR32J
HRN?dP040jPRs0QJ
HRN20RJsGdP040,j)Q
0 0h
>;"dQh"QJjn*J >OI: 3)A! 131[ $%#-$ . #&v*Srh5J
DC,M6%*J1'#"k0%81#?rjR&v 5>[3J*-027
!(R-$%=*&02*(5"%TH#c F#I j d h
q
h;Dh j jC,l",F#I
!U+,><9@* RU2*- 1Yt><N-l7t><Z&'(E1"&
9@lC~<T@% %21&v(2&UF#I8j5
LMMMMM
NMMMMMO
J<c F#Imdih
q j
J q
c F#ImdJ
h8WV%j
CCC
J
jI>
q
c F#ImdJ
jI>WV h
j?>
%j
Hnc F#ImdJgjI>
q
h8j j
M[ %.n. ": ] 0)6l%(5.!'XJZY=U***-01%~2.Zd] 0Nj
7 %()5A"(5
()2k $"2"C QtJ1. JFA"(9/
1"k!3 79*&moJd] j8l%(5.0T2.5- 275U***-01%<*.Zo)d] j
132T"* lnd{ ()2k *$%2*_ %.[13%*_"0/
2l<9-$n. :%.jC
610+0"(5 @Y 6(90(R([H#c
c]
drhPJj%2J-$_. *
"3"6-l7Z"*(5 @SH#c 01F#Imd,01rhE01J jO;-l7Z" . %@;
LMMM
NMMMO HRN2
HRN2J
HR3?dP040jPRs0RJ
HR320RJsGdP040,jP
0 0h
>;"xd hJ j2B ><I:0NF! 131;1>O%)-$ .&'rh5J
DCNB"k0Y F
c]
jI&'*+m>O)21R)2/
2Ul3 7N*&:
c]
-!7J@*0@9U**2- 16t><9-l7J >O9&v(
1"&'J@ln*. R&'\F#I8jC#Qt_1. TBJ"(501k03t7*&
oJd
]
j8l%(5.!26U2'2- 1Ydv _-0*75U**2- 1[*.9V
>; *1.GS!"(5.02S(9 (R()j9*.?oJd
]
jJ132
"* 2l"C
Qt&; Z.0()AR*&_11[ )U2'2- 1R*J-$. .=+,
:03[00131 $%2.R1><%8-$ . m*&D2131 <1328&'/
62Y:0n2.Z%*.0. %(9.%24C
6. EQUIMINMAX FORMULATION
Q M0*+><Z. ":J"> &v*( 1*A*&_ . 013/
>;0"k0 ; nul U1%"1'Ad7EFBFj;2.N Y&v/
**
c] j *.D#? j C
6.1 Basic Variables and Objective Function
<2l79$"2J§Tf9+l><_. ":6*5l%@"<U2*- 19( ª
>;0"(5 ; . 01n(5C#<R-_ U&v
2& [(5!. "1D[(90(9"_Y221r . 01Y(5_gCC
vd| v${Rvx-(
< : 13%*n"* 2ln. -$R9 ".0%"R"12/
*"C_T*l7B*$%2I"k 1.!@9#(5%(5*7N*%""+=
1%>0d{§=jD*OP! >;# '"213137lC,|r",f0-$~",2&(5"(9/
*7Idv1.j[*$%2*<bRC~<T1%7J2&m*$%2*
.0%$%.<J%. 1T(5T "Y O12"_.0"%(9%~3&
J1.nB"*(5 1*7(9Y*# *CZ! +m>O5%.S. :
2l%@"#U**2- 1ªB&v*n1V*.$"2M"%l@
3<12%7)>; N[";9(9<$%213 7!'« 3\I§N;%*
(9"+m*.SBN031'%72%>[CZ< &v211>[@S%""/
.0%n" 2l62Y>;3%NNT(5!. "1V
* TcWd{§rh+0jSBi M,§Sf ( e
02($ª@340d{§=j
*
TcWd{§rh+0jSBi M,§5Sf ( e
02( ª 34 ª
< %_;o)dpf)psFpf pj-NKoJdg0pfJpj8-* TU2*- 1O*.ZoJdpi)pj
13%*< !"C~r()2PV<6.0()2~"O*&D ~U**2- 1
-$*. .=+><R (56W_ n>O $ - 19.0 1(5
-l7)1.0@J(5!. 1D "* 2l9 4N)nC,M
0 )%l137M1*@*+<>;"Z&v* 2"N N ( 2&Y11;
*$%2*r12%>[3#" . %@_;(9'=12%7Y&v*r1V*.
~#03*- 1;><* O*1=.0 16(5qCT8"ul%"+V>O
.0. "R R-$*. .I. *()2I"Y*&~ U2'2- 1"C#**l7
§TBfa
( ª 3 ( ª c \^] +!§8 %?#&%5.} \ d{§=jR5 *Nl*
$V -01%5 . 01Y(5I<
( ª N ( ª
c 40 \] +!§8 %?#&%. \ d{§=j,'< *<1'
$V -01%#%. 1[(5["".! @Y<><* ~221
.0 1Y(5W <
6.2 Registers Constraints
6.2.1 Interference Graph
< Y13&'"(5Y!"U1r2&U*21§ 7 *&,t7 $%O
I
ª^n
c_($ªYsAG ;7
d{§$jh ()2k
e
Ygfihkj lkm3ªno q( e sA D;
7
d/+0j,s"
6. ":<&v*~%5U1 ;§87r[U***-01
a
ªn
>;0')"*(5 %
3#[email protected]<)!(-$"#2&
a ª n
U2'2- 1n'oJdpf :1;
7 pjC
l"6_. ()5*&OU2'2- 1~O-$*. .=+V><_P0 >K
a
ªn
';-$ .0.J-l7)_ ><R&v*131>[@5:0n%. 1T(5=
*
%-N©
* § 7
Sf :1;
7 a ª n O a ª n N a ª n
>; %
a ª n c ($ª s)G ;7
d{§=j<6 Y: _$V - 19.0":03*S.
*&§
7 <
a ª n cL()2k
e
Y&f8hkjglkm3ª no q( e s6 D;
7
d/+0js 12 $ - 1
Pl3113@). 2Y2&§87C
a
ªn
1 .T#0C2!C<D>O%.T;.0": ,&v
a
ªn
oJdp[W\] ld{§ 7j%pj
U***-01%*.xoJdp [W\]
ld{§r7j%pj1329"* lnS"(5
3C<B221T"(501"k!t7xM.0": B2131_NPl31313 @A.
-$ .0.Z-l7ZoJdpfJpq j[U**2- 1;*.oJdpf)pq j< !"C
T>+2><;%2 .0%
7
~.!.nl%&'%%"<@2
*&Rb^&')B"@* %) 70$F%"CJ*l7a" 1*&YU1 5*&
I2(5It7 $S§87h+72 f8:>;
7
+6><. ":Ix- 27LU***-01
7ª ;e 0h>; F5")aB3&T N >OMU*21133&v(5%
l%U1[l%&'%8
*
%-N©5h
*
" 1§87hE+7f8:1;
7
7ª ;e c &IV
ªn
I
e n c
2%>[
*n*l7I%@* % 70$%CA©)+ 9!(R-$%T2&[U2*- 167ª
;e
6 #! (-$%[2&O(-02*_2&OU1 T2(5 @Spf8:1;
7
p04CC
q pf8:1;
7 p dpf8:1;
7
p0ajs M!C
I
ª^n
I
e n
cN(5%*,<*6*&D[ >O#133&v"(5;!"/
U*21<' -$"&v*2%%+04C*CSI
ªn
V
en $ I
e
n
V
ªn
>;"
. "*%RN ".0%N$"2d -$"&v*Vj
_l%U*21r21@*%-!C<< %+0><UT9"k0%D
7ª ;e
cXEFB
q
I
ªn
V
e n $ I
e
n
I
ªn
s
!"6 7ª ;e
0hl+ "* l6*ul0U*21%l[[
7ª ;e 3EFB
a
ª^n 02(
e 0 G ;7
d/+0j>0a?3a
a e n
02($ª0 G ;7
d{§=j>0aW3L
]_UV%S%#1@*%1<"k0 9d<hE9hj+~d ESB d 8jj
[ul U1%l[Bd2 jC$Sd IRjT$Id2!jCM
>;3J 5 >O.!d #>[3x1 *" 2lR-l70/
!. @5 >O)- 27NU***-01.h8. 0hNd4%0%CD!C3j
*.9"*(5 @T<: 3[*9! 1311><%8-$ . 2&=<132
&v *"C<B(5 1"k!3 7*&T"*(5 @S2131<F 7ª ;e
U23/
*-01m'8o
q pf8:1;
7
p8#dpf8:1;
7
p/0)j,s[- *7#U2*- 1[dvt><_&'*
"* 1;*&DU*21%6d{§ 7 h+ 7 jj,2.5o
q
^M0pf :1;
7
p 5dpf :>;
7 p0Bj%ps;10/
2Y"* 2lRd4"UV%N&'T%01#2&8U1 jC6<n*1
"*(5 1"k!3 7J*&8"* . " @5Tl%&v"%"n@**
7
; %
-$ .0.5-!7)oJdpf8:1;
7 pq j~U***-01[*.No)dpf8:1;
7 pq j~"* 2l"C
6.2.2 Maximal Clique in the Interference Graph
<T()2k!((¥!(R-$%O2&,U1[*&r 70$%< (R 13* % 137
213UVS"*$.()2k!()21613ulN
7
cydgf8:1;
7
hE
7
j+
>;"Td{§
7
h+
7
jSF
7
3\ "133&v"(58l%U*21=l%&'%Td' 7ª ;e c
jCZ*R (5013t7l+m2 %B2.!19 9!"&v%%"5@2
3"13& +=><n "&v%T" . %@53T(5 1%(5"!27N@**
7 c
dgf8:1;
7
h
7
j#>;"d{§87h+7j
7
\a"133&v(5J!"U1'.
|#"yY!"&v%ad'7ª
;e c VjC<%D+x()2k!()2113'ul I
7
"*$.[9()k0()1D. %$%. %l;
V
F
7 C
rJ>;R9 !T>;0. -$RR. %$%. %l
"5d{Q j+$><5.0": 5Z-0*7SU**2- 1
ª n
2!h)&'*
U*21F
ª^n af8:1;
7
2@
ªn
c 3\A§87_-$1*@N*Q
*&
7
CB5( #"k0 n )(5!. "189&'*131>[ @132
"* 2l
*
%-N©)h
*
01\
ª^n h
e n Sf8:1;
7
ª^n s
e n
NEFB 7ª ;e cG
M###1 *Yk Y*&8%u!0U1""Jd7EFBFj_. /
: .ZI0%CD!C3#-l7Zl!. @)5U***-016. 0hlC6<
!(R-$%2&YZU2'2- 1
ªn
')o)dpf8:>;
7 pjC<N0 (-$%R*&
l!. .a-0*7FU***-01%5"k09 Bul U*21%
oJdM pf8:>;
7
p3Gdpf8:1;
7 p 0XjjC`<!(R-$%92&B132
"* 2l<5. :_Q5_o)dg6Mpf :1;
7
p?dpf :1;
7
p^0AjjC
V
(R 13* % 17213UV5(R n2n"k "%.I9!(R-$%Y2&6U*2313/
2- 1%@2' "_¨
7
C8< %%-l7l+!><Y>;3NY(5!.0"1
*
%SN© X
ªnEYgZ
n ªn
Na¨
7
< %YTo)dp©Zpj8coJdj[N" 2l"C
6.3 Cache Effects
Qta0')*+;><S >^ >(5!. "16(5017
"Y(9[2.)>L750 %"6_ . 01C,MT *
-l7T@ @;(5%(5*7Y*%"$%*rl;-",f
f +lR28110O$%*-$"1 @*@T_[2(5[-"
f
*%"TJ*(59"R13
c
d4%"*.0@JZ %*
13N-$.2%%2'jCMfMcQ#$h h«VCG<Z: 9%.
1.9)-[f
%*~n%* ;(9'"CmQt,1'%79( 8-$
2@*.n!'« lCm<~%()2 @6*$%2*r>[3 n2m-"
UVYn 3<12"7)>; 31T "OT(56( O-$Y.0"17V.Z
1* _>[3Md !« <s %« 2j~1PVk 012.)S0C0C!C
Z. %l3&'7>;0I1.I$%*Y-$"@N . 01.S:
2.%*Z(9"+D><5.0": JU2'2- 1F#Y[&'*-"
f
>;0'B *1.<_: #d{(9 ()21'j8Y(5,
* f
f Yc (9
ª&YgZ
( ª
_6 613%*<"k0 J*&C
c] j k 012.9Z0C0!C!C
< %n'_2_(5V ToJdpfpj* Y~U**2- 1"C_<n!(R-$%[*&~"* /
!_*.NU2*- 1;)"(5 n11r@ Y _-$ .0.N-l7
o)dpfpjSNKoJdpf)pjC
6l7(5%(57B%Y$%M§AAf
. 01%.Y(5
#Yr( OUV6#(981%7RUV2.J 131 @# _ !"%C
Y>;3YZY(5!.0"1=T132T ![2&
* f f h * §5Bf
d/($ªRc YjcCB d/ª9c !'« *j
;131$_-%u! %lO(5"(575*%"<*$%2*OZf
*_ 3
2.( T-$R. 1'%7l%.JUV2'.n2313@J. @*"\=%"CT
>;3Z (5!. "1=_1 *_" 2l[*&0
*
f
f
*
§5Bf
d/( ª 2 YgjcCB
ª c . c%
($ª60 Y 3 !« <s % «
< O!(R-$%D*&01 *, !r>;0#. %"-$<2131!%
(501%[[-$. .)-l7NoJdpfpjPNKo)dpf)pjC
6.4 Resources Constraints
6.4.1 Conflicting Graph
< *"%Y" 2l*R*.01.-l7"* . " @Z&'
%I,2B.0.@* 1nc dgfhE&j[>;0S% %l
9"* 'Y-$" >O%%SR TZ,¥¬F 5C#*
2l7"* 1n*&8*$%2"+,d{§rhE+0jP 3\§I*.5+Z*S"* /
O)¬!C8_l751ul6 T% %l8 Y"O*&m*$%2*
>;0"0 n¬J29*(5R(5C900+m2l7I13'ul 9(
*6"k "%%.FY!(R-$%<2&"062&mT,W¬0C
T.0": Tn- *75U***-01\
ª ;e
0h#51
ª ;e c
_3\%T[R"0 ;-$"t><%%Z§B2.+Z Y,?¬0C~]_UV%
5¦82&[ >OB$%#§A*. ++m><)"*A. %. >;%M
1m*2.;!%";B ,W¬!C[<@*%"21m&'(0/
1*)*&$6"* ' @U2*- 1,8 ;.0d 52&D2131
"[>;%n"0 6N Y,X!"""C
|" ª ;T-$;_"[2&m1!P57 1~)6%U*252- 1
2&§B>;%Y Y,X¬#;.Z-l7J§n
* §5f * ¬F ,ª ; c«? M¨5©Nª=«*h¬=cX
¬J*. "-$.S-l7BR%2 * !. ,ª ;
e ; Cn<
@"%1~&'(01Z*&O9-0*7I"* ' @BU***-01%T %Y
*
¬6T
*
01§rh+@f
ª ;e
cXEFB
m k;q o'Y_m
o ( ª sx«*;c ( e sx«%
M)J )13%*9 !R*&6ul U*21%2.x.0dt/
Z.0": .F?0%C[>;SB13%*Z. "0*G*&
~&'(R 1n)_(5!. "14C< Y!(-$"~2&%()8) <.! /
*Z.0%$%.Sp ª ; e ;lp2>; 5OY&'*)*&=
*@*"* 3 x**% %Ad{%U*2?*- 1S2.
5j+[*.F %%-l7M355" *l5&v*9Z
__]Y"C
6.4.2 Maximal Click in the Conflicting Graph
*T (5 133 7l+2 %6*S"* . " @5n"* _@2
3"13&t+r><R3"*(5 1%(5%l27 cdgfhE
jTS2
d{§rh+0j4
3\A§x*.+S2F|#"y8"0 YI¬Id7
ª ;e c jC
<"+913u! Y -$(5;*Z. %$". "![";
C
M6.0": _-0*7U2'2- 1J
ª
2!h_&v*<*)$"2
§)*J
ª
cXT3\S§B-$"1 @VO*JQ5*&!\
C,M_>;3Y
_l|}K(5!. 1D Y13 *6"* l[*&Q_
* ¬F * " 1§rh+f J
ª
sJ
e
NEFB
ª ;e cG
M# #132"* 2l_2&~ nul U1%"Jdg0%CD!C3j
-l7_l!. @;[- *7YU**2- 1,.TT2!hVC<%,mo)dM*
pfJp)Ndpf)pk0Ijj,- 279U***-01X.5&vO),¥d{*;&v*O*
"* 1Y2&,$"2j<*.NoJdg\IpfJpZSdpf)p0Mjj~1326"0/
2l,n. "-$[[Q=C<[*"%O"* 2l8*[
&{*2#J%2.013t7M*&; Z2l7.0%$%.0%lR"R \
( [26"k "%.CVCT>;3YZY(5!.0"1V
*
¬F X
ª&YgZ J ª
N=
<"Y'6o)dp)pj8c?o)dj[Z13%*6" 2l"C
7. RELATED WORK AND DISCUSSION
T71.0 13@[. %D%@2' "r*.Y "" 2l
T1 %1$*- 1%(X>; %<1*2&><*P ,UO-$%%. *Cm_
l|r}&v(R 12*Wdg0Qt|r}OjR>[).0": .FWTM"(5
*5* ()21 . 016>[35%@2' "[2131!%2*Z . "8%
"* 2l"CK<B(5 1"k!3 7M*&T09(5!. "1[-$*.0.A-!7
oJdpf)pq jU2'2- 152.aoJdpfJpq j9"* l"CKT><%U%%+~0
&v*(01'. lT *Yl!. "#%@* %"* l"+=4CC3
. l%) *513(939B! (-$%R*&U*21%5 (R 13* % 137K13UC
"9&v(R 12*!+66l!. ".F%@* %)"* 2l"C
<S!(R-$%5*&nU**2- 1J><ZoJdpfZpq j5-0)!(R-$%5*&
R1 *R" 2l#@*>;M"k0$ %l'1317. B%@2 %
"* 2l"C
A$*1370(91l&v(R 12*R&v*m~%@* %"* 2lm>[*
. :%.*$>[3Z#(5 1"k!3 79*&moJdd NpfJpj~U**2- 1<2.
oJdpi)pts52ZpfJpj~ !"C~l(912<* 8(90(9".
8%@2' ",ul %(5%lD&v8"k 71~ . 01 @6 -0/
1%(d42&'t>[*0$"130@ljO .0%O%@2 %[*.J*"%["0/
2l+!+24CQg<< 75R">;3T6!|}A(5!. "1~
*1UV;6*7 13'6.0 13@*- 1%(BC;131[&'(012
*.ZR"(501"k!t79>; N.0%$%. .))6>< [221.!/
15(5nCBQ . %%.D+m "7M.0": )B- 27U**2- 1@( ª ; &v*
*M*$%2*x§A*.S&v*R*"k0" *x %«9. @N
>;21R"k0 Bl%U*21[!h64CP( ª ; '_"6B#3\In$"/
2*B§N[ . 01.Z;Y1!PJ7 1«*C8< "(501"k!t7)*&
2.o)dpiJp%sA Mpf)pj["* l"COQ Z&v+ Y&v*9X%*
-$OUV%71*@*<R21 "!.0 "O38.0%$%. r#O ,.2
3"13&;d4"3%1m;*.N$:.N*$%2;1%jC
0PS2R"*(5 1"k!3 7( #. %$%.0137*M^{ "| y
2&0J.M*.a2)K .B3"13& C
%>[+[
%*1 B(56><01.N26%21nUV%75>O"131gC~*< *"+0&,
(5"(57*$%2R',13>[%7 8_%O(9'"+2"#>O[* @O3
T$3:.)1%7(5%(5*75""TdX*Vj8J.0%
Z-$"%_"k0 1*3&v"5 1*. @Z . 01 @ C#<0 (-$%
2&6U2'2- 192.x"* l#@% %2.>[3F2131< )0/
0u! 8O(R 13 13.9-l75&{*<2&r! . %.D+>;0316_ %T2&
*;(5!. 1r.0l;*62@*n*l70(5C
< ;"l" )"!,l!. .-l7#,&'(012 <:21
!Y()3kS*21318-$. .-l752. 0Pn+$>; I
n%n2&mn"l )%l;N Y(5!. 1';.0": .Jx+ +!+
24C;Qt&I?';UV%7Z!@*+ #%*1 !"_%*-$#.03 ) 13
-$%%*[*&$(502210UV% >6[*"4C~!S~u!0N2k
%. ; n %n*&(5!.0"14+21Ul@)2TOul0'kN(5!.0"1
[1;"3'"21r*2l7Z*Y2&,%.Z ul%"C
8. CONCLUSION
QtL Z>OP$+_>O@2U2l|r}&'(R 12?*&n * /
()16 . 01 @. %R "52.A%@* %)"* 2l
>[3x")"\="CZ< 5,Yn%*UV5B(5 1"k2. "/
"@"%*)*@*%K2.a*(5!. 1%.F-l7A%U*2*
2- 1"CM62.!16(013016"@* %O 70$~*.J.0"1%7l.5.
&'(z2.I>;35lZ%@* %"CJQ I T><*P$+r><5%.
O"O\=m%2.-l7Y O"*(501'*7(9"C,< <"*(9/
01"k!t72&; R(5!.0"1~n$*1370*(9'1<*x 137I) %J*&[
mT6]RC*<%*"%213137l+l*m&v*(01'(R r. "["* /
.0%*-0179k*#*10*x(5*C)Q &v0+m>O9>[311
7x(5!. "1; B%2t7a*.F"* )(952.F"k!%.
*&'(R 12F71Z . 01 @ad42&' ><*0$10 @lj+
>; %R 13&'"(5Rl%U1_*&8nU*21%T*.B# "
*@*#2%<-$"*(5n7 13'2C
9. REFERENCES
8';13()*C y/vd{ u #"wzy ^~ExSv}x uvd|}vd|Vvdy
|y/v"^|8 u|}vdyC^| x^vEypxz~C$}8W "+%]_131
T0UV% 3 7=+ Bl1g+
-$"n%!C
n61N*+ YU<¦_*-$%+*.J"!.#!%?B_Ul"C
$}x%&}uv$||('_y"{^y/v ^~, udux uv^y/v"^|C}UOP!*%
U< M+**0C
n61"k 2. W6C}8%!-$%@*%%+r~.0><*.$C0U!. +*.
2lVS]RC_- *2(BC0N (9"@5¦6%@* %
¦6ul %(5%lO2&9B!. 01J .0 1YUl
( (
!2@#0 . 01 @ C)k| ypxz~k|8^y/v"|8 u+* "~z|r u",w,P^~ u$ux u
S~"%^~{R{Rv$|*+=dg*j%.-!+_ 31~%¢!C
2 w C%!-$""+2")]Y*$%04+$*.Z6><
l>[%@"1 DC$;11!%@5¦6%@* %[BB 13 1
Q * /gQ0 @}8!"*"C=Q /S~".kxEx0^vd|1 ",wCy}x
)02)043658719;:=<>3 "~%?vd|1/@ "^| wxz~Exz|kx "^|AP^~ u$ux u
'9~0$&vdypx0 y_~x|B@ "^{Crvdu^y/v"^|ED8x0$|}vFG x%HI 'J@DLKM;N*+
2@_**O-!*!C=
w }~"+P* #Q-0*!+m*VlC
w C%!-$"62.B6l*n0%>[%7!0C ()1
|rl*B}*1311I.0%[¦6%@* %
w
2l"CQt
vSR^yT3"^~0?&0 " "^|>@ "^{,rv/uxz~$Vw "^~ ^~, udux u@ "^{CU_ypxz~$
@+C@VKM1W;:r+ *@*62V.-0**!+DT"Z/O]T%()*l7=+
Y%(-$%Y%*¢0C
¢¦6-$%_$C]Y2: PV"1D*.B]T%*@|8C _%(52%%CU)k|}ypx&xz~
w
C#C$]T%-$2 7 "C
()21r %. 13@*.N6131!%**&
~(R-$..0.B_|,!Q w 0"CQt/S~".kxEx%vd| ",wy x[M^y
@ "^|wxz~xz|kx "^|Y\6xkvS^|B'y"^{^y/v"^| +*@%*¢.-%0+
|rV;;1'2(93V"+
w
#+ n+UP* 9!CQ w
(50%
0!"t7N}8"C
w C#C$]T%-$2 7 ;*.NC QC}81()7lC X]_1*-1
(92N_ V*J&v*_6031,l70! "C0Q
-~".zxEx0^vd|1 ",w?y xL)0]I]^]_)k| ypxz~k|8^y/v"|8 u`@ "|wxz~xz|kx "^|
@ "^{Cypxz~a'9v&x0b\xEvc^| +*@%_**.-0*¢!+0*l
w
1*!+
w #+ TUV%(R-$%T*!CQ w (5 %6!!" 7Z}8"C
nCUdn2 ";*.NC|r*@*%!-*DC w !.0 (92
-!7JQt!"@%[|D *;}8@**(5(9@0C e1x0 y~ExVf "^ypx?v$|
@ "^{Cypxz~V v xz|kx+rl3Q-%¢0+%!C
nU!.Z#C0}2%*S*.YP**B|8C_% 7lC@ "^{Cypxz~
-~g^|}v^y/v"^| ^|\6xkvS^|_Dg}xCh^~0&S~ExGa#",wzy ^~x
)k| ypxz~$w ;kxC$B*@V*Bdn2 &'()*J}8- 13""+r**0C
#61"k *. %60 tUV%%C`Dg x"^~$i ",wLe>vd|ix^~6|()k| ypx&xz~
-~"%^~^{{Rvd|1*C P**NL31"7N*.B0*"+ T">j~P$+=*V!C
kP*;l1*+ U<09U<-0'2+$*.N< %9T @%"%C S~".kx% "^~
'9~0$vdypx0 y~Ex.lVwz~"^{m\6^y'on " y"p"O}xz~E u^~^|
qWxi "|*C$0 @%%+0: ;.!3*+*0C
R!.0/t_ (5.0/t;1r24C
()21D¦6%@* %602N
T7 13n0 $%%212_2.FB_|rQg
w
!. %"C¦6*
¦_%$*+QtT¦6Qn+!TUV%(R-$%;**!C
&'C!C&'$r2QtT¦6QLr}~ %%r**;r*r0¦T=C"C@*C
%2n},%7)x* @5*.~. **.ZU!. C _%20%21
$%&v*()*(5!. "13@#>[B%"\=%"~X%*
.07J2&m.021 0Cr0%21r%$+T.0U2".
w (50%;_ 3Y|r*-$7l+ T0U% 3 7J*&
N' @*+**VlC
!Drsr>[>[>C%%%"C(9DC. r2*(5Or% %$%r2%VlC!(914C
n|~Ct=*@0Cu)0e+vl+$ x0_uvd|1^| x^vEypxz~'u$u".ky/v"^|
v$yw)k|}ypx&xz~Ce>vd|ix^~LS~"%^~,^{R{vd|*C}~ X "+
T UV" t7J*&80*12."+*¢0C