JLIGHKFUDEQTPSVNMOR
e b _ Zy
\ W ] Xy^ ` d [yyc a Y fy*=%òÛ ñ9' ü áê9B2ü,èú:íÞúÜ.Û3Ý201þðøú*=%ò=%"@ñß<Aðëßì=%üïàÜæûùñ=%<A+ðòÛ9B2üåú÷ñîéàíïß
÷ñâ'èúêöÛ=%<A+ðò9B2ñð>çïß<Aâ(ä õûúæîðïúÜ;C8
íòÛ574ýÿ6ü?ßìÛéñøàï-ï=%ü#0ðèúæîíÛ$=%<A!üèú:ü/8èúÜæñ:ü1?çê Û)í$=%<A!ü67ðçÛ=%<Aüçïßîóô43ñ&2ü5úæîâíãêÜ

Decreasing Value Predicted Instructions Using Pro le
Daisuke Iizuka,y Toshihiro Ozawa,yy Shuichi Sakaiyand Hidehiko Tanakay

Value prediction is a new technique to improve parallelism by breaking true data dependences. Most of proposed architectures with value prediction support, are designed to selectively predict instructions with high hit prediction rate. However, not all of these instructions
contribute to more parallelism. This paper describes a new technique to eliminate redundantvalue predictions using pro le data. Evaluation results show that we can eliminate numberof predictions up to half of normal number of predictions, with only a little performancedegradation.

1.

=ÒeÆç\Qf[Ó²Z8vwsäBªØXZTVJc>5cQ4yÝé8¡\á4B¡RJ4A?TVÒeQÁßB¸LlHXg0?jml5
ÀïßW]4O\i>Zû½\Z=4<l=]:Z=yÒeÆçp£ru¡p×=VT[YtJV`ÒeÆçKpñLlHXW4$1 [ÒeÆçpñJZATQB4X§ÌJV\fü@plQf\*½p§Ll5Hm[ik4yÒe[ªØZ8vw
säg:ZDV eQf4ë½XJVûßãDyÒep
1Z>HXBWCl5`[b^svyy8$1p1Z>88z£]4£|AjÆç¢¡µêNp[|
1LlHXW4$1f\ü@pJTV=l5JAJ4
I\ªhÔç[<lÆçBhLlQf4/Ú\*½W]µê\|1[]ôÅB<l5å4H\I\ªhÔçpÁêLlQf\Û$1XJV4yÒeB0§Im
V=l  5yÒe]Û$1\>S\¯UW<k4ÒeJQë½
BQJFm^fü@plHXBWClB4øTV=QB4]O\ë½p×JQ[V\ÆçBROJQypÚJ4ÒeÆ Aj $1LlªØB<l5/T
V4Òe\ßp¸GlHXByÒe[ilNü@plQf\Eì\¯UXZl5cQ4ypROLl[ÆçByÒep1Z>ùºXZlQf4ßp¸GU
U4lD\Æç[U=VyÒep1Z>HXWgNü@pélHXBWCl5
JAJ4Òep1Z>Æç\{[]Òe[ilNü@û½\Z=ÆçgÕcmlQf4H\i>ZÆç[U=VgÒep1Z>X4ÒeÆçKBbqJ4û½\Z
3) 5)

y

wulo
2.1 GUAùûþBJ,;2.

<lÆç B B4Æç A \$1ë½[ªhLlB44
C]Æç A \ë½B1ZFm^Æç B p$1LlH
XBWCZ=5JAJ4 A \$1Z[ A BROLlypÒeLlHXBWCm^4J 1\i>[Cikg 1
u{¡_D$1LlHXBWCl5 H\i>[4yÒe]I\ªhÔçpÁ<LlHXWfü@péTV=l5
2.2 GUAúR7yÒe]+7\¼"B§ImV=l5ÀWW]yÒ
e¼"\>S4(×Zg\XÀïßXÔì\<lg\[
U=V>¿Ll5
2.2.1 Last-value UA%Last-value ÒeÛÿ]4 gå=¾à[jmQyË¥Å¢Å¢ ®¢§¨¤Graduate school of Engineering, The University of
Tokyo

yy

Ð²É¨¤¶

Fujitsu Laboratry1ld [r3],r4
add r1,r2,r3
ld [r3],r4

shl r5,r6,r7
sub r4,r7,r8



sub r4,r7,r8


2




1
2
3
4

3.

0t_ulo_~vy

À=W]4/Ú\yÒeÛÿ\Ìs[U=V2`
l5Z@4¨2:TZÆç;X]}¤u[iTV
ROImQÆç\HXpJ4:ZÆç;X]4$
[$1ImQOmPm\ÆçpLg\XLl5
3.1 GUAùûýLüÿþBJ,;0Dóôöþõ
÷ùûþTE
64TZ<lÆç[U=VyÒep1Z>HXXL
l5H\Æç\ÒeQÁßp p XJ4yÒep1Z>H
XW g u{¡_D8 ªhÔçBÁêJ4ÒeB#JQHXB¢ÇJVAjÒeÆ [ÏCËLcW
[ m u{¡AATQXLl5LlX4H\Æç\yÒep1Z>HXW4H\Æç[ikROIml8]4" 1W«ImlÙoy\²RF4ÀÚikg_DR
OImlHX[Zl5speedup = pg 0 (1 0 p)(g + m)
(1)
/TV4[V\yÒep1Z>ZÆç[U=VHP\4épXTQ4 speedup pqCDLlHXB4N
ü@\Qf\Eì\¯UXZl5¨¸4H\ypqC
DLlHX[ikRKlÌs[U=VXÇLl5
3.1.1 UA%-úO2
" 1AjoAli>[4ÒeQÁß p p@GlX
speedup ]ü@Ll5/TV4ÒepñjLQf
[4 2 ¢¡uyÒe\i>[²ØÝég0àJQÒeÛÿZYB§ImV=l 5JAJ4O\i>ZÒeÛÿp×=QB44ÊA[Òeßp@GlH
X]WCl5JAJÒeÛÿB±[ZlB448
vws\$a@\MÎAj4$[£[ L
lHXB7[ZlHXB0?jml5
3.1.2 UASY>ú@D<lTZÆç[U=V4ÉÆçp$1Ll[4q¯²\$1[nJV]yÒep1Z>HX[ikjmlÜ g B 0 XZlB4¯¯²\$1[JVÜ g
B 0 ikqCDZlHXB<lB44ÒeQÁß p B
DVg4" 1\yBQ[ZlB4B<l5O\i>ZÆç[U=VgyÒep1Z?^ P speedup ]bqL
l5
JAJZBj4yÒe]²ØÒehs¢ÒeX]¬Zk4ypROLl[ÆçBn?XZlQf4O\ccW]ÒeÆçKB¾q[ZTVJc=4ÒeÛÿ[ªØZ8vwsäBbqLl5
cQ4ÒeÆçKBbqLlX4 1 u{¡[ÒeLlÆçKgbqLl5JAJ4yÝé8¡\qCI]ÏôW<lQf4Ýé8¡\á4[ikfü@û½BjmZDZl¼NB3DZl5
3.1.3 UAùûþBJ,;òLüÿøñSYúC/²ØÒe]²ØÆçBn?XZk4ÒeBQm^uu¤B8¡JZ=Qffü@Bjml5¯¼4s¢Òe]£86sÆçBn?XZ
k4Û[$1JQ£8Æç[iTVROImQyp×LlÆçBhLm^fü@Bjml5
yÒe]s¢ÒeXÖ[4Òeyp×LlÆçBhLm^fü@pjml5JAJ4ypRO
Ll[ÆçBÒen?XZlQf[4ÒeJQyp×LlÆçBhJZ=Êß]s¢ÒeikgqCD
Zl5/TV4ÒeyB×ImZ=yÒe]Òep1

g 1 ÇÖÂ½Î­¹pÒeyXLlÒeÛÿW<l5 5ÒeQÁßp3flQf4³î W]4Òe\ÂKñ\Qf[4[·¹Llzv¤ AjZl²æ8¡ (Classi cation Table, CT) p×=lyÒeÛ
ÿp§JV=l5
2.2.2 92GUA%uyÒeÛÿ]4 gå=¾à\ 2 Â\9²
Stride X4 gå=¾à[jmQy V alue Aj46
Â\yp V alue + Stride XJVÒeLlÒeÛÿW<l 5uyÒeÛÿWãDQlg\XJV4
Ñ·KB<l5640¡8\c\Ñ·K\Ò
ep1Z>XJQB44c\¡8p$1{]Ñ·K]<lÙÓ¯ \Î4WbñJV=lB4c\¡8
\$1B.áJVÈc\¡8[4ÞB­k4 _c\¡8[4ÞBËTVÚQB44Ñ·K]5Ù¹
Iml\WÒepÜHJVJc>5Hmp¿EQ
f4³î W] Init,Transient,Steady X=> 3 Fp
p×=VÒepñLl*½p§JV=l5
2.2.3 341ùûþGUA4yÒe[ÔJV4vws[ilµp1Z>*½B§ImV=l5³î W]4H\i>Z*½XJV4£ru¡p
×=V4<jAKfÒeOúß\3=Æç[U=V\dÒep1Z>*½p§JV=l5H\*½[ilX4
Òep@HZ>AY>A¢ Llîyp 60% ¨@[VLlHXW48vws\dikg=ßpvOWClXJV=l5³î gÀí³W§Ll*½g
£ru¡p×=V=lB4Z%]ÒeOúß\3=ÆçpÒen?XLl\[nJ4õ%]yÒe[ilNü@\jmZ=ÆçpÒen?Aj8ÈLlX=>
B¬ZTV=l5
cQ4³î W]4}¤u¡ [yÒe\Qf\¶ZÆçp^J4Òe]8vwsW1Z>B4ÒeBÜCQ \ÏCËJ\4Þ]vwsW1
Z>*½p§JV=l5
2.2.4 ï341ùûþUASYú?F³î W]48vws[ikÒeÆçpYtLl*½p§JV=l5H\*½]4<lÒeÆçBÆç
vt¤v{[<lB44O\ÆçB$[$1Iml
cW\¢u¤B<l¯ \y¨@W<lB4[\dÒep1Z>X=>g\W<l5cQ4O\ÒeÆç[iTVROImQyp×LlÆç[ÔJVg0àJVÒeÆçpYtJV=l5Àí³Wg³î XÖ[ÒeÆçpYtJV=lB4Àí³]T[ÒeÆçpY
tLlQf[4³î X§ÌJVÒeÛÿ[ªØZ8
vwsäB:ZDVLeX=>ÜB<l5
3),4)

3)

5)

7)

5)

2)

2)

6)

1)

1)

1)

2

C

ª«

h 1 ÇÖÂ¯ÚÒ£

r3 = r1 + r2;
r4 = *r3;

r7 = r5 << r6;

r8 = r4 - r7;

add r1,r2,r3

ld [r3],r4 /* Last-value
shl r5,r6,r7

ÖÂ */

ld [r3],r4

add r1,r2,r3

sub r4,r7,r8



ld [r3],r4
add r1,r2,r3
ld [r3],r4
add r1,r2,r3








2
3
4
0 
shl r5,r6,r7
sub r4,r7,r8

1

 
 ld [r3],r4
shl r5,r6,r7
sub r4,r7,r8


 1
2
3
4
0g 3 ºÈÇÖÂ±·mQB4]4J 2\i>[$1Iml5H\B4[]4£8Æç[ikROImly]J 1XÖ[ 2 u{¡_D)k1ImlB4O\yp×Ll 4 ¦Ê\Æç]C$1X·ojZ= u¤|W$1Iml5Hm]4J 2WyÒep1ZoZ=B4]4 2 ¦Ê\£8
ÆçX 3 ¦Ê\Æç\]¼B¡{XZTV=l
Qf48 ªh\¸¼RFByÒe1Z>HXWÁê
ImVg4g>¸¼]C[$1ImQõ[Á<Iml
Qf4ëã 4 ¦Ê\Æç]CXÖ\ u¤|W$
1Iml5/TVH\B44 4 ¦Ê\Æç]yÒe[iTVfü@plHXBWCZ=5
H\i>[4<lÆç\$1[nJV¡{
XZTV=lÆçpyÒeLlB4[]4Òe[iTV8 ªhBCikg_DÁêLlHX[ik4õ[gDÆç\$1p_flHXBWCl5¤È4¡
{XZTV=Z=Æç]yÒep1ZTVgfü@plHXBWCZ=5cQ4¡{XZTV=Z=Æç]4ÒeQÁßB 100% WZ=B4]4Òe[il¡t8g,FVJc>Qf4f¸\Ø±XZl5
3.2.2 UAùûþBJ,;+!ò:øñSY
<lTZÆç[U=V0?l5ÉÆçB$1 [±KÂ$1ImlXLlX4$1ImQOmPm\B4[@=V4J 1\i>[yÒe[ilû½BjmlB
4X4J 2\i>[Òeû½BjmZ=jmZ=B4\â¼\B4BhLlHXB<l5
H\i>ZB4[4ÉÆç\$1>S4q¯²BÒ
e[ilfü@BjmZ=g\W<k4fü@Bjml\BoMAW<lB44O\ÆçpyÒeLl
HX[ikjmlfü@]:Z=HX[Zl5/TV4H\i>ZyÒep8Lm^ÒeÆçpq
°[ñjLHXB¼XZlXoml5
3.2.3 <HøGUA<lyÒep1Z>ÆçWROImlyp4¶\yÒep1Z>ÆçB×LlB44Z%\ÆçpyÒeL
lHX[iTVfü@BjmZ=HXB<l5è?
^4J 3\i>[4»ÆçX£8Æç\yÒep1
Z>B4p0?l5Z%\»ÆçWROImlypõ
%\yÒep1Z>£8Æç\dB×LlB44ª
hÔç\¯¦¸[<lñÆç]£8Æç[U=V\dÒep1Z?^fü@pélHXBWClQf4Z%\»Æç\yÒe]AXZl5/TV4H\i>ZAZyÒeÆçp8LlHX[iTV4fü@ßpÛIM[ÒeÆçpñLlH
XBWCl5g 2 ¬  ÇÖÂ

Z>«ÃBZD4ÒepÜHJQ[f¸p;=VJc>X=>ÌsgRKVJc>5cQ4<lTZÒen?ÆçB¨C[lD$1Iml\[4ROIm
QyB×ImlB4]¨C[:Z=B4[gÖ\H
XBó?lB4B<l5
iTV4yÒep1Z>[]ÒeQÁß\3=ÆçpYtLlRFWZD4$[Òe[ilfü@û½\<lÆç[U=VgYtp1Z>HXB0ØXZl5
H\i>ZÆçpYtLlHXW4`ÒeÆçKpñJZBjñZX\fü@plHXBWCl5
cQ4H\i>[JVÒeÆçKpñLm^4r
3.1.1Whr 3.1.2WWRKlÌsgÁêWCl5O\Q
f4ÒeÆçKpñLlHX]4$\8vws[yÒeÛÿp$aLlB4[g0ØXZl5
3.2 GUAùûþ+!úøñSY
ÀWW]4Òe[ilfü@û½BZ=4<l=]:Z=Æç[]Y\i>Zg\B<lA[U=V2`
l5Hmj\Æçp8ÈLlHXW4ZWW2`Qi>[`ÒeÆçKpñLlHXBWCl5
3.2.1 UAùûþBJ,;+!òøñSY
64« 1\i>Z£|[U=V0?l5£8Æç\¢u¤] 2 W4Om¨È\Æç\¢u¤] 1 W<lXLl5Æç]Äô[<lXLl5
Òep1ZoZ=B44ÆçÓ\8 ªh[ik 4 ¦Ê\Æç]J 1\ÀÚ\$1©zW$1Imlg\XL
l5HHW4J{\ÄG\Ë]ÉÆçB$1{W<
lHXp«JV@k4ÆçÓ\Í°]8 ªhÔçp!JV=l564£|{\ 2 ¦Ê[<l£8ÆçBROL
lypyÒeLlg\XJ4J 1\i>[$1Im4Q
JDÒeB1ZomQg\XLl5Hm[iTV4£8Æç[iTVROImly]4yÒe[ik 2 u{¡_D)k1Im4O\yp×Ll 4 ¦Ê\Æç] 2
u{¡_D$1WCli>[Zl5Hm]4J 1\B
4]4 2 ¦Ê\£8Æç\$1B.áLl¨Z[ 3 ¦Ê\Æç\$1B.áJV=lQf4¡{XZTV=l 2 ¦Ê\£8Æç\yÒep1Z>HXW
4 ¦Ê\Æç\$1p_flHXBWCl\W<l5
JAJ4 3 ¦Ê\Æç\$1B 2 u{¡õn[M

3

4.



gifdehcZ\wu}qns|  

r 3.2WWXÇJQi>[4Òep1Z>Æç{[]fü@û½\jmZ=4<l=]:Z=ÆçBl7
Õcml5/TV4ÒeùºXZlÆçAjHmjyÒ
e[ilfü@û½\Z=Æçp8ÈJ4fü@û½\<lÆçpYtLlHXW4`ÒeÆçKpñJ
UUñZX\fü@pélHXBWCl5
H\i>[ÒeLlÆçpñINlHX[ik4yÒe[ªØZ8vwsäp:ZDWClQfûß\ã=yÒep1Z>HXBWClHX[Zl5
À=W]4O\i>[ÒeÆçpñLlQf\ÆçY s¡~ XZlEìp 3 U!Ll5$[]4HHV!JQ 3 U\Eìp=DUA\d4oNVÒeÆçpY LlHXW4`ÒeÆçKpñLl5
4.1 Q>úI&ÀWW]4ÆçYts¡~ W×LlÆçpY
tLls¡~ pXÇLlQf[ªØZ·K\ Ý
p1Z>5¨¸W@HZ>·K\ Ý\Qf\XÇJpJ 4[!L5Z@4¨¸\·K\ Ý{[1VDl¢u¤]4ZÆçOmPm[U=V4yÒepÆJQ p
Ö3XJVK?lg\XLl5
VPDataReadyLatency
yÒep1Z>ÆçBÒep1ZTVAj4$[$1JVQJ=yBROImlcW\¢u¤5
VPExecTimes<lTZÒeÆçByÒep1ZTQÂK5
VPDestLatency
QJ=yBÒeImQ Aj4Òeyp 5[×LlÆçB$1ImlcW\¢u¤5Òey
p×LlÆçBhJZATQB4] 0 XLl5
VPDestExistTimes
TZÒeÆç[U=V4QJDÒeImQ[Òeyp×LlÆçBhJQÂK5
VPGainQJDÒeImQ Aj4Òeyp 5[×L
lcW\¢u¤X4ÒeÆçB$[$1I
m4QJDéImQyBROImlcW\¢u¤\95QRJ VPGain < 0 XZlB4h4Ò
eyp×LlÆçBhJZ=B4] 0 XLl5
VPPenaltyyÒeBÈmQB4[@=V4ÒepÆLlZ\Fp[ÏCËLcW\¢u¤5QJDÒeI
mQB4] 0 XLl5
4.2 UAX 99% úSYÒe[il¡t8pÙ?lQf[4£ru¡p×=VÒeQÁßB 99% ¨@XZlÆçp
<jAKfYtJV@DHXXLl5H\¼"WYtImQÆçp×=VyÒep1Z>¼"p4:Òeß
99%;¼"XÅ­F4¨2HmpÒeÆç\8XL
l5H\8\{AjIj[4£ru¡D»pg
X[õ2Ll 3 U\EìpOmPm×JVÒeÆçp
ñJ4ZÒeÆçKXNü@ß\§Ìp1Z>
HXXLl5
4.3 UASY?F=)ÀWW]ÒeÆçpYtLl 3 U\Eìp!Ll5 

  

 
!"#






 

g 4 Ò¼¾Õ»4.3.1 =) 1: WúðþSY0?F<lyÒep1Z>Æç[nJV4Òeyp 5[×LlÆçBhJV=lB4p0?l5O\yÒeÆçBÒeyp×LlÆç\$1[nJV¡{
XZTV=lB4]4Òep1Z>HXWÒeyp×LlÆç\$1p_flHXBWCl5
H\XC4Òeyp×LlÆç]4yÒep1Zo
ZATQB4X§ÌJV4 VPGain \²RF_D$1
ImlHX[Zl5O\Qf4¯ PC pgUyÒeÆç[ÔJV4yÒ
ep1ZTQë½Òeyp 5[×LlÆç\$1B_DZlu{¡Kp4éLlX
P
P
TotalGain = VPGain 0 VPPenalty (2)XZl5iTV4
TotalGain > 0(3)
pÂQL4TZyÒeÆç[U=VÒep1Z?^4Òeyp×Ll 5\Æç\[V\$1p_flHX
BWClHX[Zl5" 3pÂQLi>ZTZyÒeÆçpYtLlX=>EìpEì 1 XLl5Eì 1 pÂQLTZyÒeÆ
ç]4Òe[ilÜ´B[DZ=Æçh4yÒe\[il¡t8\qCZÆçp8ÈJQg\XZl5
4.3.2 =) 2: +!ú:øñSY09"
yÒep1ZTVg«Ã\Z=Æç]4Z2\Eì 1
WYtImZ=Æç\k[ghLl5è?^4<lTÆçp$1LlB4p0?l5LlX4<l []4O\Æçp$1LlHX[ikVPDestLatency > VPDataReadyLatency(4)XZlB4¶\<l []Òeyp×LlÆçBhJZ=HXB<l5õ%\B4] VPGain B 0 XZl
Qf4yÒep1Z>«ÃBZ=5
JAJ4q¯²\$1[@=V] VPGain B 0 XZ
lB4¯²[ VPGain > 0 XZlB4BhLlQf4" 3pÂQLTÆçBhLl5
H\i>ZTÆç[U=V]4Òep1Z>HXWfü@pélHXBWClB4ÒeLlÆçKX§ÌJVfü@ßB=\Wûß]¥DZl5
OHW4H\i>ZÒe[ilfü@û½\:Z=Æçp8ÈLlHXpEì 2 XLl5
æm[]4¨¸\" 5pÂQLTÆç[U=V]4

.%.%A'AB.%.% B'

h 2 ÖÂÔÙ¿ÆÓ´
1+2 99%)# 1 $!'&")# 2 (-/3&"
)# 3
$!0*,










¸°Áµ¯ÔÙ¼h 3 ÍØ
compress

30000 q 2131







125,304,374

go

9 9

159,817,549

litrain.lsp

264,507,762

m88ksimtrain.ctl.in

154,496,314






 










 
































 








 















yÒep1ZoZ=i>[Ll5
P
P






 

g 5 ±©ÔÙ¼Ï× (ÀÄÑ¦)

VPDataReadyLatency
VPDestLatency< VPDestExistTimes(5)
VPExecTimes" 5\8¹]4<lyÒep1Z>TÆçp$1Ll[4ÒepÆJVAj$[Æçp$1JVë½
BROImlcW\¢u¤\´äp«L5²¹]4ÒepÆJVAj4OmPm\Òeyp5[×LlÆçcW\¢u¤\´äp«L5
H \ " [ i k4 < l y Ò e p 1 Z > T  Æç p $ 1 J Q [4 q ¯ ² B VPDestLatency>
P
VPDataReadyLatency XZk4 VPGain B:Z=B4[]" 5pÂQIZ=Qf[8ÈIml5Hm[ikEì 1 ikgÒeÆçKpñjLHXBWCl5
4.3.3 =) 3: UAG0PúGUASYò3Vöþ<lÆçpyÒeLlHX[iTVROImQÒey
p 5[×LlÆçByÒep1Z>ÆçW<TQB
44Z%\Æç[U=VÒep@HZoZDVg4õ%\dÒep1Z>HXW .Zfü@û½Bjm
lB4B<l5JQBTV4Eì 1,2 [@=V4Òey
p 5[×LlÆçXJV4yÒeÆçpY^Z=i>[LlHXW4Ij[ÒeÆçKpñLlHXBW
Cl5HmpEì 3 XLl5
5.






åLl}¤uW<k4l¢¡\{Óó÷p×J
V=lQf4 ¹p1Z>[4Om[JQ{Óó÷\@W4Þp1Z>HXBWClX=>}pU55.1.4  8yÒe\¬ºÒâXJV4¨¸\i>ZÿO\£¡p×JQ5 £8Æç\¢u¤] 2 u{¡4k\Æç]
1 u{¡5 y8r\x¤ K¨È\8vws
ò]Äô[<l5 Æç]4 newcc B1åLl}8W<l
SPARC version 7 p×=l5
 ²ØÒe\ÒeS] 100% W<l5
 £86s\s¢]4uu¤\_=xÇWQÊ[ÒeIm4ªhÔç\Z=£86
s]svyy8$1B¼W<l5 yÒeÛÿXJV4 Last-value ÒeÛÿX4uÒeÛÿp×Ll5
 ÒeBÜCQB4]4ÒeÆFp[ËL\[5 u{¡AAl5
5.2 ( !
5.2.1 0*SY>úM#¼" A4 B4 A'4 B' [@=V4Òeß 99% ¼"X§ÌJVZÒeÆçKBY\ñImQ\Ap
J 5[!L5
JAjoAli>[4 y8rx¤ KB·¹JVg4OmPm\¼"[ilñÆç\Î4]abJDZTV=l5´äLlX4¼" A W 22%4¼" B' W] 56% X£²¨@\ZÒeÆçpñJV=lHXBoAl5
5.2.2 K5UASY>úM#Òeß 99% ¼"X4¼" A4 B4 A'4 B' [@=V4
1 u{¡[ [yÒep1Z>ÆçK\´äBY\i>[·¹JQA[U=Vp4J 6[!L5
JAjoAli>[4Òeß 99% ¼"X§ÌJV4¼" A ] 0.5 9 1.4 Æç4¼" B' ] 1.4 9 4.0 Æçñ:JV=l5cQ4 y8rx¤ KB
32 \XC\¼" B' W]ÒeÆçK\´äB 1 p¸ÂT
V=l5Uck4´äJV 1 u{¡[ 0.9 Æç\yÒep1Z>HX[ZlQf4Òe[ªØZ8vws
ÛÿB:ZDVLeHX[Zl5cQ4yÝé8¡

xjs|_zk

À=W]4r 3=W§JQ4yÒeLlÆçpY¶Ll\Eìp\d4oNVÆçYt¼"pOJ4O
mp×JQ\Nü@ßX4yÒeLlÆç\ñÎ4[U=V¬ºJ40p1Z>5

5.1 N $ '5.1.1 UASY?FR7$[ÆçpYtLl¼"XJV4Òeß 99% pÖ
3XJV4« 2\i>ZEìp\d4oNQ 4 ¼½[ikÆçpYtJQ5
5.1.2  ï56¬º[×=Q¤8{£|]4PKè\¶\¤8{W<l SPECint95 \{Aj4comprss4 go4 li4 m88ksim pYqW×JQ5¤8{\$1ÆçKB4 1 ·9 2 ·Æç[Zli>[å8 p~PJQ5¤8{Á\åX$1ÆçKp« 3[!L5
5.1.3 72
SPECint95 \¤8{£|p}¤u¡
LlQf[4®ïß6O\ newcc }¤up
×JQ 5Hm]4 SPARC version 7 ×\}8p1
8)5ªhÔçp0àJZFm^ZjZ=5[4yÒep1
Z>X8 \ªhÔçBÁêLl\B_DZlQf4
8 ªhÔçB·¹Ll5[H\i>ZEìp¢¶Ll\]J=Qf4}¤u[iTVT[ªhÔçpÁUJVÒeÆçpê LlHXB0?jm
l5Hm[ik4¼" B' \i>[ÒeÆçKpq°[
ñJUU4¼" A \i>[Òeß 99% \¼"X\fü@ßplHXB¼[ZlXoml5



















































6.







 

g 6 Ñ¦Ì³ÖÂ¡¼ (ÀÄÑ¦)
 










!
 !







 
 
   
                                       













 a ] bÀïßW]4/Ú\yÒep1Z>\Ìsp
JQ5Òeß\3=Æç\{[]Nü@[×ÔJZ=ÆçghLlQf4O\i>ZÆçpÒen?AjÈ
J4`ÒeÆçKpñLl*½p§JQ5¬ºp1ZTQë½4Òeß 99% \¼"X§ÌJV4¼" A
p×JQB4]ÒeÆçKp 22% ñWC4Òeß
99% ikg'Ð@Âl 45% \fü@BjmQ5c
Q4¼" B' p×JQB4]ÒeÆçK\£²¨@W<l 56% Bñ¼XZk4 40% \fü@ßB
jmQ5Ij[4}¤u[iTVT[8 ªhÔçpÁUJZBjÒeÆçKpYtLlHXW¼"
B' \i>[q°[ÒeÆçKpñJZBj4¼" A\i>[Òeß 99% X\fü@plHXBW
Cl¼NB<lHXp!JQ5
8
6ÀïßpLLfl[<Qk4®ïß6\ÉiýdAjö7ópCcJQ5HDÑ&=QJcL5

r p { mg 7 µ¯ÃÊÏ× (ÀÄÑ¦)1) Brad Calder, Gleen Reinman, and Dean M.
Tullsen. Selective Value Prediction. ISCA,
1999.
2) Freddy Gabbay and Avi Mendelson. Can
Program pro ling support value prediction?
MICRO-30, pp. 270{280, December 1997.
3) Mikko H. Lipasti and John Paul Shen. Exceeding the data ow limit via value prediction.
In MICRO-29, pp. 226{237, December 1996.
4) Mikko H. Lipasti, Christopher B. Wilkerson,
and John Paul Shen. Value locality and load
value prediction. In ASPLOS VII, pp. 138{147,
Octover 1996.
5) Kai Wand and Manoj Franklin. Highly accurate data value prediction using hybrid predictors. MICRO-30, pp. 281{290, December 1997.
6) Chao ying Fu, Matthew D. Jennings, Sergei Y.
Larin, and Thomas M. Conte. Highly accurate
data value prediction using hybrid predictors.
ASPLOS VIII, pp. 281{290, December 1998.
7) ÞLð, ®-¯, {³©. ¡¢¡6
uyÒeÛÿ[ilÆç¢¡µêN\ü@.
JSPP, pp. 119{126, Jun 1999.
8) ¥q¿, 9uþ, ®-¯, {³©. C }¤u[@Fl¡8 ¹\í. D»4ÞÍÀ
ïßÀ»5 99-HPC-77, pp. 65{70, Aug 1999.

\á4BÜC[D=X=>Üg<l55.2.3 BJ,;XúM#
OmPm\yÒeÆçYt¼"p×=Q [4yÒep×=Z=B4X§ÌJQB4\f\§ßpJ 7[!
L5J\ 100% ]4[DÒep1ZoZATQ \$1
fXZTV=l5
JAj4¼" A W]Òeß 99% \g\ikg'Ðf
Bü@JV=lHXBoAl5cQ4¼" B' W]Ò
eß 99% \g\ikg qW 6% \f¸[ZTV=lB4Òeß 99% X§ÌJVgjGZ=fü@ß[ZTV=l5¼" B' W]ÒeÆçKp´äW 56% ñJV=lQ
f4ÒeÆçKpñLlHX[ikjml 
p0?lXH\f¸]ÕWClg\W<lXo
ml5
5.3 . 1
Òeß 99% \¼"X§ÌJV4¼" B' [ilfü@ßB'Ðël\]¨¸\i>ZÞÐ[il5Eì 3 W]4Òeyp×LlÆçByÒeÆçW<lB4]4õ%\ÆçBhJZ=g\XJV¦TV=
Q5/TV4õ%\yÒe[ilNü@BjmZ=
B4[4]¼XgyÒep1ZoZ=i>[V ImVJc>HXB<l5H\i>ZB4[]4Z%\yÒep1Z>i>[¼" B' pÃãLm^4õ%\Òep1
ZoZ=ÒeÆç\$1p_flHXBWCl5
H\i>ZEìpwLQf[]4|£8¡[86