ࡱ> nl]wTxkKePNG  IHDR{I}sRGBPLTEy '$%=;IN`,%"_F\b$X]Kȗ; 0{`,e%N59?p|qcwMKqa,=I`,_b`,S ,| ȗ` x&K & @9WX% $,љT0Wr=.*a1uEuW Xcg5]'ukUJ>0烝Av^{hqzŻQUb8k # vYCK>aF1S +%,[G[Z9TAXcg} Z6Ǯ;nm bã!Tmڞ~k͇؅L]wCc[X b✉՛,,\rѵIޣ G,&&T*`WE& ϓwD F '+cj,7z'}jGJb-S[M޳3Hf:(>29#C FwcҰt ,kE~ q,JY[s>/_% Lݶ%;Lk a,L%Vi1`y´ SU] :0E*>_mŶ*~Ƃ֨-dB`,`?s6`3NqGQɭ][zhfXvsg&iū4AF#g%M [{[96543cx83]I #fwH1֏`Ǣ BOuBB@pa:ҎHYH:k[93`,dN*x rWl_WNC|-fŸ35njjc=,gwu3i/bBvô:2jS7:,F昱Zk煱`,t, e[&g3x c|Z,pH1f-R |`MÔ!y` 9~j"ciX`;{|VCaS'U wVwq,_-bl YխǢꮓ6{&C,FQ#38MjcX:_i,w}GQ%D63( X8McX@`l&YMĩJbf798q$,"=jJE]]SLT|ehyI񼫉P0EǢ' #aAj]+ah[B%cˎYOX &¸9L]fNgQ ad~|/ۖĢ+&;N?V*j6|Eag_yX0Bij9 5V+gq*bZHl)K`x|Am68+/Ȭp D?XMxrXu>Ӏ:Aub HIEOIˋdgLwqzX:E;ړbx6[K^KR QmaE -c),`Uu>Fp$cd̼!`VȮ-. BRPC|/=ѪD%&Uy>O5,f6~CfC->[\-d!dI`X# C2gHDQB0yX@(5EW5)3ǂ(,knƵEp0k  cXxl[<~^c+"Kh[ș(o&YH:^ Qк۶-@0̮NІEnqܡ/{Rjfm&4c"Dj1?m Z=%5̍$ ONrAĮ7d,ҝhg."vF1V%Z廟+ ݯ۫'6EN1rGٳ c)+&h X{X$lݳǽS7։Zt|6y9w5dgнA]0¶sxo&jܣD Mrs`zsOm-L;aX @٤K aJc oϜzswu{뮤fB ?ʪ1^,$DW rr'hy`k)l em!"֚31;Ac6]^Ϟ`rˎvݼVA[1F},FQ,xEh7%bۯtJ8^HX b?L|:Yx@#[[j *k7ht`"m/dH޽S,"W"t&<"u5pe lk/-'nvHϮ'׀_Q9N@$g+1 @: ,6a(yl I޽I=U`nPsHO]*KcP2`5^s> hk #muk9,xU2tQZGfyoXNsFCs$i51KO+Dd%%JvJ;ӫlamBgpbTBY,Nʫ1Z5㿇#pKXPF~pwk2&Usi, %S"7v vdU |xP3Q mB("l +}&]M;A"=<4oN[PKʒO9vU|٬XKGqXPl]G/Y],#tXP e ^ztU],g3vXPE^E~Op؎^!O!o#@`;֫z'Z稺`,v @[kD&֫ڢ8"c XoU纪tm)l 1X^&K2d]}#7@?9pdH`,]Hm|$HH 1K5 ODBaPh \=|T(fP-WCI< }G`7p_ߵף-PA r_3z;7yU_*b"zƎxh&+AH[*e,V+D 'd ӿw3@oDmvX9Ʊ!ZxW[dQKCƂgra a`[LE~LrXxz74+@^REcmt\+Up˯`n@}ٓa,F ̠.s Rxxg[ƶ(cܢMT?,],&SFMaxa,];M~)mNOkg2rT3G2 MA, nk 3mG~b9m-0A ܼ;McKX@ fqyxR])iSş2܌En]k߇Pma8K §L>Ou;!E"X$HFk'Nl3N6-ĺii" Aw״Ei yjyDe\l ܤmqZR~^ RoWj{Mg,x89-ajD.&wq(:v2](=szz秵xA,Zn򓴦,ZvXy»2npS}){AD1F憵E$ y_)S,1QBPܰnrP5C?4$`![tU!,ba`c,_c./ 'r[{ԯ~=T_>W.:O0C0{g⭆T!BKd:?a~;L1,AZ;=eX{- v9-ڋEb /^.j?E 0D^=n3%?߲<SpZhb}D9d-,c"Mt) wL 4#N\ 0) !^ܟ_J+ Wߝ0%.4,0؝w׍IA;?e`ជ b\xg S3Qi G:s̶88RgD}8H,7f3]}-pN}G`b\BiDؔ;(vHSҌ|hlX'0\cQPb&ӄ7VGRpX ?gXw~G-* ûuGvPb1rH$:EHﳮM8~|<<|Xۢ1Rl[iHW}m5Ew"ų*Q1;.TqX(XQwaԁGD ? 3Q013Q=2"'^[3@m~6fX2v'ZѳEr#'J˻ؖds3LoBlK&`v;x#_5B'c2l2MDiůXe"o(2Ki& aSw<ד,꧌D޿'A:G7pڂ`*(t-YBN<,\8\N.ph6h X4,kexυ7k^)mN7T..8&e |l~=k縴D-JPrݾ|>ܯ/nQ/BDeNL/<]#<7+'x]1|F,UK+l;Ps'ps(1M&DFSJ-`c7v+gxOkl-Y] ?]b HX.׿QΞI\x- 7cEoXwޭ`ߌ-mq|hWV(860l՝#si#+ȍAy"mI[Чg ~Bg[ >~KS~&<{RZƃ̨ '-FߩKgMG޹Iy,.0 ,L o(]"Ʋ?g+ DSn˙7.fa.G´vTP+Ԓv˥0XUѷx6ƃ J/kdJL᠂l[PH*m9s0?(۾ m ҪD,:yWMV2r?dA>lrpG"FF+3)TrF(͆Aqհ͋k7,E#?_rFBK{ZNN,okd/eã#"[ϟ`ŭLr\mE^7E$A" > ϑxs=>n Dz a\Rz7E4JǛ_L0y, rDtk!4J7Z0#vc|J1=vwe$Zy<7pz#yj`[`!!p& ?ǀ[-5c/c1%nV]#SQX`ޗOҶj cz0IyI$"߈Ky_-${[&Iem/k<:G^D8ny_pQB!# Q'oj"]yUJFǢ 饤"OA!^Qa{Du6ڌ:XhXkgtk= +bLcLtŚ&"#/ڕ3J1Eq","7w q׵OkC\0aDh/"+(- dh`!<I stD>T$j¿`}<*)͟B2?9c ;JAJsr B^o\b:d2%f\N:c@ŸegVÙOwVXw3sfY!9EM4K ]7)Vo4,cQFzܷ0”˝Y, h8)`y;}ȅ&ydit=+m7CZOE9% !\6%$D 1 'D/ӰE), g [!![KjRZQ7u~W -8C&C6AG*U{ H?q'n͢<`$cXP[H0m8s!#:G:.;rg 2m/c2s'>]~=>XE.?GfX+[D , r@ -X4ЎI(e!% KLj, n1h_}= DBGR{s>LmIrC+`,J)X:E[^hb`3M򻦲-n(x1:ipxr>JbQл)Pr/Ht)bcˇC]O|k"`,Mf`& :rj>(9G%Qu \Op&KK),! ZU#h e["E7-hNN, ,BLFn_/m!Mf9A6 c {Ja9/^r9 J(Zr$?HDX1(v AD+k X9 ,%܆EIk9dX\;NX\d}>0mu|A(X+4cAZ~=ՅKS=ְ8e`,ŃNI [1Qt v-,Bg1v[v VNzJ m%^sAAq&/X>򀐱@}xy|cɽ3^ )O>+sk݇X¨U`R„HOBK?'nk9*ʞƒ :gh]O Rhǯa, _c\oob#8{\l Xwx=ڇEܟ`,rQ`,-{ܑi]b!_e x+hNEkTndƂ((J*z=HpZ4._N.5!+8_O0RrXELPu_D$D5\=T  wB.eJoڂ((TA0_VWu[H`! 'ӱc.PAQHr☈TwRFtxy)xbs0,EUURr5C;!Gbڗjn! cAiD,XP%E)q=%nq'}9xY>&c"cAa'7>E {=͗ǟ'6 J#JZVHXNL'`n/'^D¤cAk (徙P56s}5>nJee  Hki_^חǓCŜTBUrURrfEܴHNNpwܛ}AcAcAg=bA9e/_¶<4/?*+XPXP%E+g-x}u i2ֿNPy8  hByf  h1Ծ3y*'j9),&E1TɱJXFZ` b#OUPrQm_({wQ+3,sn׸Jߨ^CZY̹ܲޟ~9\;q+է HFÍgZU;mEsb(l!W(‡/zE~ߔ%xEܻܰx÷[\ /r!1&d,袢N1A ULd}yBXجQjE^UZ-"N1SX|q-De|q!YDۏQF">:Nv<҂$ap\Rb_0YƂ|ȅoFJ[PE&Vg|/jRI ͮiTenY J9ɻhY2 b_E3,2kwH\¹MCar ь/, cAk:U0pufY`\|.jǗ _\Lb 6,XX{EN2e/!m0 Ueۂ~UPfnh~&o;x|avҌU-2+>>#ڰAt. f#잹\UR~}-|kI?T޴/d?WlAyeERkC^`}ȏb[U岶"mzMAT^eE2ы3yoO#$TvV v>A XS  `ݩa- Dꁱb>`69vo?z Ƣ@|xzzkqMWd,ͧ)w--cۂ*cmJܙAͧ)w-TJjX[Y[ڂڳX[P%r-X[X遻-23~;VmX[P{k l"cQBb+qcZHV; Δ"yg p3P_?p \^a, ]oጴ$rkpә;t ȯ\ogZШc,a6fr;wΛNc|ջ ?JP*S;̙6B_NSX5Mp]Z j4u6z:ykG's{Ssυ2c`!R3(XI?-h-PG G-`wf=75A2X fM43zp0Di K,d?r$SQa1";R 7+MA3^,}T8C^Xa1Q~,X\&pyvG rEp9/('A3\0?#{YqZi"[NJ]Õ`sdK-رx($LƢJcP.:NgVθGEX;B,lnٴ- 5$>zE WXS!>S`,-P6,,nC-t{2Fכ8{cX{B~`gu+EK p5i]o8']~WbXK8 [4m 7;;Br,,n芾\H4O8z7sU Շ($V $ckiP0- [8Y Hk8TFE%H_}X"Jc[-mٍu|,Soܘ/:ف;#~-RqbװFN]4:)zW*nA@p#Ff)qg^K$ksSY J06:-Mippas2*}^`!Qq #-evs7Ž pdXK?jD~u-1/ P^WΉ5g/t"TB+t.'{q eέ"C,KP.t\yXmAu2]̹;|` ^se'w%(sb%"[X(_Km'\36t2<}ݠca bw.Wk90jE 3+)3nw|evs Rsn],Ҽ;Sm/LTK@ :m!|}L.s.cO],Zomvb?K@2P隼Wk9wϱ nKpDI*0~ |'2#tuٜ$1%]p&&X)h;$8ږes,QS7B&+lÐQoY<<7ǐ'd!ٗIb<Rc1K$N_*BZ+ӵ˜X/J*؆ =jQ 3)0vb\Rنg;N;fa=O|evs 3\AbCT}ӇLDlF*نe@cs䡏qf[[$1uPv T/ѶL.s.ckja?rolIXVma!H\~A,J|evs W5șN-rU?*,Da<JC8Y`!fuSkG$\mF֑v s~2]̹cS0*h mX*MM>TԼ}2Irꓨ?u[ ɸQk9Xk(\)uن(:2Ű3 Md̲ h|evs `4kaLאKXDp)~a}B1.jEAhbkXȰsu W=|8tN^~=>f,B$!+2B5}=~o]b#7L@FF`vD,DP u&zŭ0|-:g[B%]/y4~_C% OJǤ5_ !w{mc~}Xxjȳzn1ym7=e)(A!Rڠ2U]+[/2bw2[zy=&Eu 5đUnbu z)PY z1|6A+݁KD[Np& j4XFOI#e+O"d#}p _w\;p'pZpVPQ8FH4`1w ?kQvCb>YX^iX<][)@[Y ?\Vy}\;aY[^;ZJYL؆ ۃ &_I1*LO>^Ozr cJ-ԃPᢰp X}0b|nv"&<ɬ#uL \_Lڭ$Bj?r+,@.{W/6?cQ E,BhI~r;z&n; $xtgʙ( ;pIOUrE ,E  --$5 /;*8Ӕ׀ݕa(4[u{`!Jt2&Aض,ZWd*8Džf(-S  Ȋ7͞aAlL?h:81 䬔ټाӝĽwҐcB^a"!KkX6}Lb1t,Ymv/HVL]XL n͌`ʦQb1Ð}`Tڃ|D c8QʶK [aDN[6gT[Vd>AePV) ytv cJ9Q4 5sFXh xGw"hn D{' _O*kazAd ^d5Z~Tͺ,:#rZgi{Eg- tC603ъsX8¶eA}='\.<5*m?-m1Éi7KZm3*a# gUAf c|̪1m!J#ˊ'/R? u%2:Kv EKpA|[-"(yWp3XIo:xY&X\;C]F>Q XMc|2`*,|r@=_L*'цM%UYBI j$ܧsaA @@yx1[LIr0BC%4^OPfUuunnaC1OMuތC XcdHrvO%ғ1:S{<1,^XZerϜqgP{V >M1,W i)uxCdPMsT 1K@9| ڡ0-#^ V8Q)efwC>O¤*2J_*N~It퐶 vckI0b*: I|NJ1Q'|SF=b۪(讬;y#/_އbA>`bT ^+Z$wM"n{v웁f,[X;l{zJ}r -~OIX]I_:Y$4m҃`?AC\wP3Z1,|I(yd,F3,&*FT*JvAƏlMy"bBlXu~xW>Oj51\wP/⥌>r8.(m {nu%C,`;iHHGwUg7b]FL ätBf,-D3&LɁC$3$2b A6 n<}ʟſL~ElYLmؾyJgi,ሩ8-D%uԲXL) &P0A+/X.VA6 fM4>VDnAԙ\]cm]PB-gMXؤAO,V}31+>NCY蕌'6c&jmXa1uX̑XDaEN *&w~][hYhRн~3UಫI~E-`!Y\*m KK2j*׶@/ä-AH@ܾ+;p^Fghw?6XeW3A`Cʥ@º-`VU>Q3@")}sr!v5o +!J"ȟdEdPy;X4!3F1wŅpl[qރ)0E1%*E,گXOHE?}Bs,F#ElNG&$(ıl`b )Ŭn|TrW?CG\ 5R? mX]w @+fba%G- =EMN犾"VCs -"XMsU[g@}'bֈw\S%Qz[X:0 뫗 Xh(}'e3F4 N&X̱ KPtVlD)amX˩YKX2mV}Twj<Ŷ ի40/7KaEx,&]G-OcXDSX8x@bl[\מ?Efb:c?ky +,)ض+t,Q0`/690׀֧aEx`z~0"-4~m!^r;rկamԒ5:e`!I呁K`!]$& 1"<~ݙ#76住-b֏.y"TcTkVut#Wz[y'-aQ\ Q2 Z9_冐QkVoEx1[!֟MEvJդX.Z;!.W弰aĺ՗Ģ3;j njDZ[LFcզ7`VEBT#>2}ŭQgX8p0 ﺭۥtPdAjnC[@Y wvp 1V_Xr>Q72)j kݓsXEB.9M"r;+o@n!-:b6!:J@j4J,T,-zN 4Ś7,4-䖸]rH&F^{ kE[:}=qDb1<\/>LD*n1-ܚT*۴ l [i;]EBkzGN8 )Xv)XB?ca3zgZu(żiA2CA6TWok>QuDͥI?~g31r|d-~dZ5B?ad'iœ-<i =HhA^Ba,G V!P i)X7\)p"q,&K8U E^'`1~~d|B$mބg0˪,=8XG)e66+@Bh %$cn$,!s~d3oB9"Eg W.dA#LaN:t1]8[*ȦSMBnBPV-| mqD1y-1l[1~!0V wuߓoBi`~9 ܻWȶI#‚4ek<|jr|jc؋%&u"Xx!zo~ X@^ rD-ůxG|WX<PRX|;;=X[kR8 Nr_DX|{>}P uf{2Y(_L]>XdR?`,޵]XPGM]bq+~$ bmޅ+œC^Q$fypdy0r cAI-#,W7lb]rbᙸ;)L:x0~2➲fKT( -Ƃ"-y,5kj)Յή DEei\׃|}[34u>!ixP00hmq,< \dN_5iEHn*,LBL cs$pr;bʣGL=Cm둆E{GC@bsÃQ7O%KE-XP-Y7*f, m>w)$Ǩ1B LO:AuMPH> s%c wWEPHd,3 )N߁N Z3̝/; *A7x,at#nb2W!E|ԫ5϶+ ؃U:wXL@26YBxykG's{zB1nȈ~i Y|][@ӿ e9+°Q|;r?wŇ)أ ̣3F&w̩}_klqXXgҺki'4T{bޟҌTv&s%ʗˌԬG2}9)GD=݂xI?/@S|cS0RRW7mb:B[kw,ıh[Wt5 ?tP@/I9K0KǷX|EdJW}0[*1XЈ@ p" LpwЙ@Kضc1hΦML Ԇa[E[ /Z!XDr[M[c,MnY'ˆ;M8wj&JNQpg\/PkBLCblayXOw&SmX---MLT' b&9ͥH*0߮s"Ѱn@-uuۖ"r^JL@]`Ņ"ji$%]CWlhsQIRْXdwvR=* tD87 S&kT7p6$#%NytCai*I&REy'qA/ X?0IXK9/>IB$M׆o o~v[fckx}q(+U PK/"18Ր3QXw !IX|-qdcXX4ȎaхqiHW}5/"%`pJ)!9 ͏wy]^(*cib='dǪ %Em7>¯]8 J^6ȓoUMW[t_m 2p!@ +wX#$"o"Qf4wR{YQT!3Xo~3W_n}WF-s jGQxG8 {rcht{m3Qd+h[8QMbؾ.g !p'Q;8EO0:}KIBMhE`,rWf4)h|c꩒H6͎Q1(Xh+cڇUٻii^, m6@|tM Fw'k W$߄vB*k vP>1Uc1vF=Xk6F@7Mg4jt%?I }a[g1P7X`*p'.$Uc}}B,>.>!Xa(zW8k MUD[䩫|A{x⺟ %#/,ca a?גi{)XAH?iYcaY慰6|Gt>k "D_ߖ% c,,B!, rcu)IX@wPG9v,ݹca- ar 5d!a/s^Sh&J`RbLP F,\,bX(c(L ̗>LDօ8xO1,Ftpܸh'IVՎOкk4Tk ˍV eUiѰx0ocZ\" Xh)9+XXnXЍn?G{p s'Xf.XXsQ, ky $h3*YlEpCДLZү\ab{,XXnXL8Oiĉ=5p4enreA=tI$jHjX<3g&Wޭ(S=7}цZu xX,sXf.XXsq, ~('fYTm,]|6mYcaY%9^(Nd_;XBhb;ד<'o]{KvͽQ.aYQsG< >C IJPbbWA@eQ" #*P-_d D¶K"<é2GRFY\;Z0%pv[g74D[(èsc,,7IY,\~Ӥݎ'ɬp?6Q-s R/$8:jܭSWpor͋}H=, NQwn׻*{ug >eInre[X競sԂé.~'<⡶. k%AO6=#U$cX1o)A1z^ɖQ+f,}L20>;5۪Tۿk mPa,nwf,s;c,,˽X`$̓&{T,3D>?xw~_ 6mF@2~=?No[OE.ȃ( UAT ecYP;}9r01XXV.XX;caY[caY쌅enre31ŞŔ&dgݾ˲txEj틮[ L_pEH.|7^Ʊ{n7;N1J./_ucAs2Nqz;q@g?⻹Ϯ* sgecAk/Ƣa1:3/ 1DbMFoX_-@$ Ƃ (&ԳR,FJ⻅L89|^ڐH,bd,,ZregaNNcczBz V7 [+reAgaME aXhXƈ?Xdrk1(ӗhkH#'~G}ה6rF~-gxdmaYj fs#gL9S"wj&JNQI3^0;nXXn - &Vc{- Ɂ弄܈Ƕj XH8vXDbQ]Bx-/\¶Dq=6-K,Э\,v²@r9²  bױPL;2ȼ $(-hrҰxr/$`,hXDV.U_6w8ǿh޻y(X/~k_hG7?ݻ̾¼_žybo~JI'oE޼,~SЋ7_;!,z/WL -ΩnRܶ>l/ն@TܳLuѝ~[qh,{0?T劍R\PXv|S>T.w(/TQE܇g ,e^-]yggúxlP6zO{Co*NKsT:6oo"S^Ty3/߳虝;bպzL'u~ cF@9'vOyj-?XϬ=OfL+jws;6Zu\V#X4c3O?(VyO;及) =tmr1sSe('Hρmm@n1~HKB̳y '"ѣGoV3Zh_w>ںj[hqW[=֞={\'@u\PvxǽQ넏׶;WZ2ޏ秝vI˳:;rOƫ"d38e3%-s]*4N =uO}#./_={tOqOy%|W1T5Ǧ<Пs#y)K^*\L:E=rFYJT0ev=R)*7U= {7?z1===uON~t2m{.]ՑQ\ܳN cg5)O%{V8n݊{➸g1t=8ܳsj*>qzc>ø'{7ȑ|=iso{fyݳ(Un;'{6z*Ї>LYHc+'3hf/➸'Y{Bq,RU1t== |oӯ\8ٽжpxrމ{ug1pܳ|,\˱u&T?Ӿmbʟ=ZHg]zgp(2siosC^rrLp˕<>t7A!{uYs6޻״=5+}G=!m˾r^{t?}ۿ١-cMvO-]=E߹>heqˆz'{bT Th;~9/8Ʃ&s'W:4srb2==<|GUIz:s>湇]ΑoqOݗv*kߍ)jkW3mQy%o>^ti}䡚>~.|',fֺМDڞ(gTXp\IZsIKps79!Y~I1[ -۳gKy>N|DZHzK6?zMϩ"[ǝ=U&QrO)*euT.5l3BuEҹLh_[ťSSz*,o{:Ls/[tyZ,FLIOm{&k_wc:u^TA[N!/~m`&-^YUU|ms_~g!65Ҷ=wl^R6^խctO)+6Nj|"ގ*  1u|ڬe{Uv=].%MS9'܃5]&N a;Y^gO9] G]>V:Ɠ3q4zm#zl a]v"ً/."NxQ >^dlsJ+]C]鯿\\Py(/!l{c8|{eVU_=}|8N=0@{ֽ~/;k'ezt0aݒ=C7L;g -s5{GV-)2űꓝ6PsP/pe1H DXӵ֨ th㶻 ~Goi}{=W˜!m{S综ӱ\n&6󗯻>nkߗc|qtϴ.{o:ޯs Gp.a> g>>*7?~"He!o~{Aק,m!ڗ~ޘ Gc3A39nNePdgsrq=*a➮T5;M]UZf'ݟT伸Ѱ|v=} ps}vvэjfoý?+RؾecQ\ʹmoi/OF搧o@S5ùٺg2Tۗxdx֮:XMwO4Hn縸}2Aڗܒ|fܳ]^2NV%_u|ن{Aԯf&@yxϮjaܓmD]SsRƔ{L=}Τbڵ {:k.ܳ}qA(c̪Apީ妹(Ce<ϲ}{VZа0b67Um>i|=uOhk/r=95UcT{2Ne'{➸'t=Wu}jpÀ{➸gy 'fueqn{8 Yk95_䨮'Y{Z=q(ssD1~kgMhSΝ3//=q(s~R_8B{eSgYY{j(;||'@r5w׾2Fα{\cHm|hL;l| Zo>*6oexpxX=pO1Qޱا\T݇o>b'9sM{R/\cpO|#3ѥS㸲z/=žwW9_+#X=pO1g'"}򸧘^x瀖u,iT'{XxV=ͺ{FRkhk) {I=?ESb-ɹ4{gcsX(:j==[+=qOݻ=?}[s@dIt++=qO/?jϣIsds,ɯ=ޣЃ_=qO86gug?̯M mC0m{Qu {q==r@yYܳYF=gp86ckpNT5f<0.o{u2ʠcH~s:;Zvm9UgMGugSs}V{‚+*:vX+ܳIu 'Ywu~0g;ӬZ2:e)ѫ{➸{ܻ䞽=ە<{p{]o~ ~W=qO=q2KGpǂ6;{➀{M/R??K&+Y~&#.qk{H;S@m"\'Y{{.֙#'8Xj2ة^9LXg}3o!oK"k?CpܳYƱ0jܱ}Gti]СCI'r{zyWr{ǩ/vT)oDgklUDկN{:̺-]=EwTnzSSDw{M\^u{+/{74=9x'sӮñ]uooE\rtwE|;nW2+, a4=U_b491g-{Tǟ=z4g& '{t:gbN;nv=n7~;c-c䗎oԲ<Ƕ{ZrMAl{@㬾ѹg-[4'~\S1Eo3c:s6S]wlq=WF̯nԽk{p5 rLmB=ӈm@{sӺTm{{-)Χ4}]]9H_^}2'vPj{f*Z͏5qOvMsc8jzmqOsk>9~.syڀBrҵSYs0*}Rѹs:u:m@{SPk{ =~ț]sx|F)~yi}G,Rngh{*A&s?M|t"ھ 3OexMu@_Ӻ;R|3,Սa9=\'q}sS_x*>s4<}OrCAv ~Ϻ$6B) ;> sO9nv]mmT}?;,>c~qY [*ߦg2cP]c^OǢܮ>||z=m'9w~^.̱nTڙ=˺^j_9)'Rc{.T01 ur_ӏ>9x`ݺh#sOo/Su2VYC{:3+|Mu׈~YUPvSNyۀu= ,qOöou˜u__oa&I:gm1~h{ ľ=WgOһ~*cNs=lke=t=vӲeљ8c lZsI޸BR׆.{:H_öHk^O]=뻏4?,a1}mkYc />/qϼp]s.'h{cb]wOc~U{Wu2{y.vPݻn =2^WwԄ_a>7{ǰpL=s%|v]Ys(dm#{fmc5Ƿw|O?O֯wޛ:gQ Ƕkr\ǪK1OƝTߣݳ ePo_Dyp̋?>(9eq%O&>5kHt' M $|mw{]1lֺɾq7tR1ʳYp]ѯ;6\J>k k4H/ux~LqϦA$-{?ol4ּǺr釷tnl"ǂײi;mc)yZ m3f. T;k,<' X,'YܻB?h>cLe~f88}#'=2gWM4 mqO[axmEݦ?l#9Rm{➃{Sι{c]ry-OrQ3 z㮾Ͻvv=Mqϼoe{VEǓû,9څ9l9:پX]lktW=qZM {TyWwSy}>/Rs@ܳ]籰s}xi^#9=qO=pϺl{*hѧ|$<ѿ}4@=is=\O<msO9n>?D˷gG H1OϧY{^zgpOw86qָK{M6>av{3ceƣ‚+j96pOpO=qϺsw׮=8n~x|p;ϳl[wpO?{uTgS\=??LԘs'Fӥø' 'Y{ V{{Pn7XYn'I{pu=f?')U*w* λ`Oo]{nD4grNiw{>'52Fm' pnQ)~=?,YY=pO1.QcV*y}yqzrSw~Bǂ>{jxv]U{ \c,',4Rڜ?=댓Uw,,/?NܓzT|m.^-Aީuxvw箖*?>бqz6oN{Jꫯ|sy*y'W?2bF/4SϮzy{ 5/}imyQ?%%XC7=Osg轃Nk bޯ6οhr,;n&kZGh+վrQuC4sW~G^&=ʾPWY8*~pd\Or '4'>y_\O= GaW8~7pc5#7c!⊾L|d"zqܓpO; _!:gD .Qc;r,+}%{Mv۞V\ۘ͝6xg~%{MwOm ɉhΝ -t/I]'==:3GʱP> Zj'FShX(V|jAtC{G7Z&3o$9 a9 ǟ~zpO|9sj-X(:VӨ ?g9gyV9eg޻dghN"9(=7o[w =_roؾ#:c֭{`yꞳqEQ;7oӺSSeu\]fo˗9gez')SR35}o-_.t^kZG˴ߋ-<_t|01:mtϽ{Fs'FYUMEz͟<_?V|4/e^NY=,3iֹ}W߇ ߃\껰2&gh/wnMi5Gט96z~3_}^o3RtQ ɉɡ{ߴ{ߙF]tTߣ=~O=V9sۺAi:(Su'۴r7r,gڵn $=59]tO>\~Oŀ^>}Xv8S/ՙFe 8תpO>sWHީus]<,#|ߋGEr"]ۏvxi?Ld}N%:xczuF>ni;qOy~?\ry8 cr[8lrxYmke"^7܇s==Xxϡvhߛu==ݜߙ[}T@u_f=: uٮ}B?S1h_#;V㯎o~QMc)m|O $6q|Ϣ$=}js~E^s1 9RW3μFІ15! X =Crqdy9cKY=~j{ޯmc}mծk;{UmY8g1"9,9wK~a&=%I4upqv=v^==pOܳIsj➸gsypO~=oI5n{rܓ߄6wܳ*\reWY{Cr~A] -5Mjs﷏\7G]u[ڎ*}-EI?g_nbܳP{: ='y/4c==۹rŊs;9pOs|ӹ7lX=pO|2\w8s޽ 'Hٱ}Gtaʢ*#eo=۹lί=cHuѡC(֭{7ZរSzTlovv6~e5-G#Z85uI{쉗i״zw__ZW ?z{}N>~iw6 '@#ܮ֍ZZ8V(2cN;j?[)Sz~Y?mX/~Plcwn}九  ]A>^)s}ck[m;macMsOiCdzU5qPys=a4;@9qOg˿b}yߣn ˥}ΝaΨY6wvЉN0SX}utkej#Oz]}^{k}0~BޞQ.~Fa&cz:>GeCGeM~\rmC(5 )s"-^r 8E]l^h¶2x'@јAGh,L99L{rsi-DA0xsϋ.GܘyKs{Kǎ1B={0xsy{5J<8m)_S#~b'$=߹'%uq=*E۫*Ǜ(>sMܫ<t79}PGܫ>z=.O:\ׯ0晵,E3^$I_M.*searտeǾ|,\pU֍:6z?ZEEnC&.3RSy{5{IoCF> vҴ2 1eC ܲ!tMmLU m{]6ՏykJlS[kCr;MVۇھsX ߻Li}.F/ta;J6 c~FI%O>^G$csq-"<,tv8 m^v9}m~5Oy%j@mkhw1[L28Fm#/Bc#$b+ sJ5yqΪmT(Yz|}%ᯩsWeFqt=K8l6<'9bYs$q)O*wyTòk{f>㧆sViSYEi?9aNE8K;>LJ 훷6?Hg'_+i9ng68@4NKC_tNγ܆I΋w.`UyFkGMϹdy)x,>bg<1g_M,t\mX>@)o zs빮ϡ$9_u=sOdһ󌨼oQogmzzʳMgrcwO]Y1dw4 zq9f&ٟ(AӮ]BL;>DZ{M]=ϼ]1Ͼ*7ypZBZ9xʋ{:_.\TnIi16B?r;s.`gz.kFaٸN(wop[YG?mc׸\iucI:y5֞x`|5Cnyȑ#ːmaLq%uގP ֻT8v܆ք=^_}O%mgZGS:ay{Ta2/Y9Yeۅ>uҎ~oZ<-zg;뇹E5Yn,Rg7W_} }x_~(ZKSO=i|#-LgZ.ӣ͇{}x gI?xEnk[0Lq=9U妄9΍=p{Յ0.h~yP xy ݞ2]:9l+gP= =OFw;:xe%@)k@լ`= c[oE9X熲(<.7hdY\uArly05/e\3OYUG'w?Hܾ퉾u=9O=n^ܓk*Y{j[v>}E{rpM{ٙѲKs>9' YF➜'\Sb-#=9O{.Y|Hr@rϢVs\9]8:sk-=s'NLF⋸' {➕s@<{g.?<<==>si9' {֕{r@icČom(&g=t=~q@b(C]*gzӲeM9/uSI9P'q s@?{e➸'@yhŊ{{&s@:{➸' 7}#{{U+W{E~8>;Fyc鞃Rg yEb'{BݹwOܳc,=q\OOvۿ١b =q"cٹ>ON?ko껎q;G ܳ}ms޻g-esϞ=ioSìgCٹ&-S65uIh2zݺZu׵o=ѣGu{m3ر"ر} ܳ?ǣիno{zǢo}N,=-i{Bv==N1r9u'U>vD!/gz9 gwl+^ {6]COXv…uOW]yUtuct➸g8K螺[u3T/SǡcG}8۱ Ger=_fs:6σ\t]=EۑYn*~bKX_nK5R[T.zﺙM[^zK>Q4k 9狮c-_k||i;aM%:}^w y.CCa=c2{"Y7(mZ}2]F9נ)%s}31'םpMolc{ r!u]:lǔ{*e{!۶mΙ>qϴsC>fz-l =uu9dsDXY_PEgVgzaeIf𺑬GugmC~om}ɺ Fqv[:n{H}A身뭼+i䜊uj. /TW^patWb#SfmG""gqq>M>OS\ Eö;%i36fct񫯾6Pgjsw]쇾ggmCϥ܆'r@~xqeީC/'}$c Ic' '%q9jE331]wO7V=} oCY4=5.K=r6#ugY߯^SXMqeKFs&DoFeQ{r{wO)*3<=k*YWn'y{TܳNܓg2srbNܓg.,<=k*v~Nܓuv➜''pM_;<=kr;qO{2<=ks;qO{:6,pOv=_qe!Y}GO{P eQnyl`cByh]9OpO===M;v,9,_}4{gbNo'eQ{ ?yߢ,*uOPARhݳXM&+{9jT{j;;?EK~h?'8(s@tOy]~{' '99P_;====qO=pOs>Pզ iݳ6$=2Hn߶pO1W7Mv~vu۷=}t&'Mpa'p A;MwϺ\S۽+ն=r^{{➣=qO==qϼ9'ɵ9=7pO=qO={{}R]{:O޲(8l{ulaίGo껎z#mr}?:}r˱[kѫG${r^=MM]oSwl߁{4tp>?n}4~vs-sZݺNږ^_hq^=tP'^/6BlCSϽKq6|g!?ǎNwjt׾{➥:u u }}#ߔyUt|oԹ.osU]Wy+{mh_E0ٶ|'|W6:JtUW^}fj*=pOy9pO7K;[oGL$}r?u1}fgP5NW=Eqg?X,<9xtYgǯ{Y㞊S^uc?729{p̶=C֮]͙ϑ9:e}ף7:a{Sm]u?x9sK߹_ܳ1zr%imu'<7욪;z+婮 C/msSuypݠ,\V18 0:z}/lWynW)zZ;ym.~qϬmh\@,5ű_si)T!fV^3?(#GD^pa:h|Wx/C7{1TSW+lS9%h~r]1lֺnIw'}k6܇_}mNv_'f=Suaz\,O]1Lڧ6w}jc%t$m_eP=<6Hnzձ,(rl9!y瞮|v,̫ʱ" =}^>_{r>՗i n#N8n6X,tO5իn,SKy;cJԽ秢//Y҉I{:3$oq/o:Oƕ&ӹiCMIy|O1qOJ5{ӛoa}S|soZ<.qm=cnܳ8:Ugܔ5Nȇl{ s<<>,=qO<xNͮX7Nrϟ{➴'YIY_ıN;W~w8&{➸'{^uYAY{>a={ s==l\re491s5{9\a0}m嚑{ {v=ݳ6|ߏ~' 'EYhfolܳ=O ~{{[E)o8S{*oី'e1ߝ'v}?qOpO*ϏP啅yF~um#O16y'cǎEGɽ#/_ug^]MpOFt{' 'ty5=F1O><pOhx)ǰ~333ES=ngo{C1OԵ5whw]ܳy%_-bIsH➃e'{v=xhҥEW=ќGÓ{{﹧ќ9޽{q' {E291`==pO=b]q _a9]pO~M^/pOpO3es@;d9emFΟks4oF뿳z' 8g:wrHr@( ҥ_mf}s\3ݸac+3+8 OqOpqrOk{'_?ͷqOpO3^w_^KhWSh#qqOpOܳ(g{{L?%=KOz[*7?j\ {\7Mt϶omr0tWZ{6jv^65uIr׹Hz~eG>ifgSzǟ{Tl{ǩq95>'LT#OM{ ӫjg(=wI+ y/--9S۳iMK]sWQ-:rqbruѳ۟V,__WWuvcU*h{ GyV\9aGX|=~w=?٘w=Z^SK}=n z7& MtOz,77ctugw~&;T )n 7Hu.=c׼욟}.=qW\EϗaS|hrʼnl۹^K*=XsRV{@qBz./p{yZ>k}'ណ{.eY9Z:imYqp|uA/{cGuMUG~S1 -۟gmu0tjv=]6cFg LzPjUSN=_s$,#!94=fmWۼuMHG ۓqϰmqd{\aΪca;|]}M]SZy3m~u^zm{~wǥS?l_jkUtQ?h{? yNJ=/eE?ϬN]'<ܺ/SS'_2׈'4ͽHF]mnczݞ:H_8I/?_WUӭ{,TlU86ͽ;.w5ըtr{X5ܻ>1L&==OuIEΗ2q7޲6ws~a_{:'!̗ qOhKʊW{Z^v`Lc)k6lsw_Zu-G(o:j[ݳr]܎~ =xK]r5w;R3,zb/TyߙozusO+쇄{@Rt>:> ꞎq6t{9ޯ蚪>nKUy]q뗯>ܷ{W鞎Eϗ2-UgاyS +u=öQu: Tn-[Ns/zu={{ {z<][Үi6u|a9\ۮcǢsEY95maB!SEM3=ʹqϤ[x,d>8.O,;ly2ʸq-ܓr,:N==pOʹYÔEǴ4'{~${!psao'{{uOդC{{{V \~E)މ{ܓ'<̳99˚=}Y7cܹcnyR{ߵ:=]u{xsʕɹ+uY4/h{*S.Tfn'{rn}ȁ{Si=-[>5?6=qϦ|Fɲ=u!lC7ڱ}>Z=СCǽ~uusBgv冽'Km kԶ9*Tnu.s;9ٲ=-y]=i*n\so:sM.{j^4{=95薕>=t*S囡ꞎ;>I ]=hڞU'Q{N?N38۝ծ=Xв,W{|ѴQqGm~ 41S➸(ӹ=)s H*R}ryi9/|q9;$鯶mj=O Y˒Fa=tOv^k=qOH9cM^*ql{:s=qOAcxΧ,7:xe[sk\W=۷=vnܰql:崜^ :elji~s9gbN۹wޱ. `|ܳGye! 9h{) \Pg_=5fY鞓Hk+?B5vZ_4fl\`$ <疔O?=Ty,ɹ`|EIbWs;{@{sNCSTzW{&@.vnwtSm\aqSz{eϩk6\M?wr>Lj\z"թ9<9cK5׼z<7{PǤ^{1kzpsԼ^/|<Q(<^2|R{>aXvW?z c8|^M10j_ci7<=)ù>}2Tl5;cY3=䡸'@W:'SN-k:U[=gsi2 k$sgr;6ݯ(k}Z@RϐӏmsJ)J?#ljr+ު|Ұ?QW *NO&@uxw䱗. Puc&ip~N7V_=wSs'Ơ* X|H6+=޴7uUiCi~eVvYxq乶R&yk e*6]mw2S.6ݛ]g{]ev̴mx>MwùޓI%\|l{VU:&uնcwS^\S.}rxO)m(==DXunøcu~'Ӷ(,Tv ߶XFگqߢmFe#m v8r\;ine ?@мm`\ܤwќr{-97pU۶.F"u{))3u8.233ݽk*p%KyO9&2;b{¯u-Z{uxۊd[>g;;i֕ڶAw>&i Vnz>ehm۶>~>=O%}J.uu^?ɗ`"YNn^I=Ps^X?[K꘬kFKg_jYXrS==sdRdgN9[i=.Wc϶3CγYx[~܏Q-E͏6o~{ʑnי~6{sҼ+/Y>tּ-T|mE5ܴ,k=W.ꝺkꫯQnM8=vlOsiw'//{<>6vA-se=>[e~/׬rsd➸&@;*;7tp=h6Ls'yަ!J~\>    5 ()  HG,,:;=>?@&AB JNO3QRST8UVWX]5a3bc?$b$]wTxkKel"$aI$ėᦔm3L2nl 0e0e     A@  A5% 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN E5%  N E5%  N F   5%    !"?N@ABC DEFFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab0 ̙f@812 ʚ;ʚ;g4GdGdhx: 0ppp@ <4dddd4 0ht ___PPT10D[SOes New Romanhhx: 0DTimes New Romanhhx: 0 2___PPT9/ 0?  %m.CPEG323 Homework Review II`   Long Chen November, 30th, 20050 `h`   Homework 4 `  Problem 1: Terminologies Performance: response time & throughput Latency Wall clock time Weighted CPI System time These terminologies may show up in other courses. dPYP4PbYb3fb  "Homework 4  cont` Problem 2: can lower instruction count increase instruction clock cycle time? It depends Simple instructions do less work than complex instructions do Simple instructions execute faster than complex instructions Simple instructions -> big code size -> more cache miss, possibly DNZZZN"Homework 4  cont` RProblem 4: Two different implementations, P1 and P2, of the same instruction set. There are five classes of instructions. P1 s clock rate = 4GHz, P2 s clock rate = 6Ghz PHomework 4 - cont`  -Clearly, for P1, the ideal instruction sequence is the one composed entirely of class A instructions. Then, the peak performance of P1 is (4G cycles/sec) / (1 cycle/instn) = 4000 MIPS Similarly, the peak performance of P2 is 3000 MIPS, with the instruction sequence composed of class A, B, and/or C. N.ud.dud&    Homework 5 `  Problem 1 Speedup = (EX time b4 Imp)/(EX time aft Imp) It takes 100 seconds to complete program P1. Of this time, 15% is used for division, 40% for memory access. If you improve only division, what s the maximal possible speedup you can achieve? 1/(1  15%) = 117.65%@  ``d  Homework 5 - cont`  Problem 2: Explain how the instruction  add $t1, $t2, $t3 is being executed in the singlecycle datapath, using the figure 5.19 in your textbook. Four steps: Instruction fetch (IF) Instruction decode and reading registers (ID) ALU operation (EX) Write the result into the register file (WB) You should also be familiar with the multicycle case, pipelined case.  PPPFPP bb ffFfbfU           Homework 5 - cont`  8Problem 3 Add necessary datapaths the singlecycle datapath shown in the figure 5.17 in the textbook for a new instruction jr (jump register). Modification: The datapath to allow the new PC to come from a register (Read data 1 port) A new control signal (e.g., JumpReg) to control the new PC through a multiplexor~ ZZZ `p```dd        @  $  \  "    Homework 5 - cont`   Homework 5 - cont`  fProblem 4 Find the hazard and reorder the instructions to avoid pipeline stall S1: lw $t0, 0($t1) S2: lw $t2, 4($t1) S3: sw $t2, 0($t1) S4: sw $t0, 4($t1) RAW hazard between S2 and S3: the content of $t2 is not available when S2 tries to read $t2. We have to stall the pipeline, even with the help of forwarding. However, we can reorder the code to avoid it.t ZEZLZZ bEbLbftS         Homework 5 - cont`  The reordered code: S1: lw $t0, 0($t1) S2: lw $t2, 4($t1) S4: sw $t0, 4($t1) S3: sw $t2, 0($t1) Hazard is solved by a clever arrangement of the instructions, while it still guarantees the correctness. Instruction reorder/scheduling is a common compiler technique. HZLZZ`PHomework 5 - cont` Problem 5: Executing the following code on the pipelined datapath, what registers are being read and written at the end of the fifth cycle of the execution? S1: add $2, $3, $1 S2: sub $4, $3, $5 S3: add $5, $3, $7 S4: add $7, $6, $1 S5: add $8, $2, $6 J PPaP a:Homework 5 - cont`  Homework 5 - cont` Problem 6: How many cycles will it take to execute the code below on the pipelined datapath? S1: lw $4, 100($2) S2: sub $6, $4, $3 S3: add $2, $3, $5 S2 tries to read a register $4 right following S1, a load instruction that writes the same register Forwarding cannot help this time` R: R:,THomework 5 - cont`   Homework 6 `  2Problem 1: How many bits are required to implement a direct-mapped cache with 64KB of data and 4-B blocks, assuming a 32-bit address? Cache size = 2^16 bytes (64KB) Block size = 2^2 bytes (4-B) Number of cache blocks = 2^(16-2) = 2^14 Each block has 32 bits of data plus a tag, which is (32 - 14  2) = 16 bits, plus a valid bit. Thus, the total cache size is 2^14 * (32 + 16 + 1) = 2^14 * 49 = 784 KbitsL PP zHomework 6 - cont` Problem 3: Given a direct-mapped cache with 16-word data and 4-word blocks, what s the cache misses and hits when having a series of memory access by the addresses: 2,4,8,20,18,11,43,17? First, construct the cacheP ZZ Homework 6 - cont`  Homework 6 - cont` !Homework 6 - cont` Problem 4 Find the hazards in the code and reorder it to avoid pipeline stall lw $t0, 0($t1) addi $t3, $t0, 4 sw $t3, 0($t1) lw $t2, 4($t1) addi $t4, $t2, 4 sw $t4, 4($t1) The same thing as the problem 4, homework#5p ZDZ^Z-Z D]-tN     :"Homework 6 - cont` Problem 6 Explain how the instruction  lw $t1, 8($t2)  is being executed in the pipelined datapath, using the figure 6.17 in the textbook Five stages: Instruction fetch (IF); Instruction decode and register file fetch (ID); Address calculation (EX); Memory access (MEM); Write back (WB); It is important that you should be able to explain the details of the execution of a given instruction. For example, for  load , what should be stored in each pipeline registers?v ZZZZ  >'1  2Good Luck on your quiz! J<dd     0` r77f3/Ʊ` fff` KfxP` 7_/U<ff` HghXs3q̙` WXcklugti~^ӤO` ־3f3f` 33^` J%xiff3>?" dd@,?nFd@  d nF@ d`nF n?" dd@   @@``PP   @ ` ` p>> rj(  6 T ~  "~  c B@CW DEF"d@ W @W @W W @`".~  c B,CW DEF"d@ W ,W ,@`". \ ~  "~  c B CDEF"@   @`"(4  c B C DEF"d@ @`"(W4  c BtC DEF"d@t t tt@`"~   c B CDEF"@ @`"([4W   c B CDEF"d@ @`"(4   c B CDEF"2@  @`"(4[   c BC DEF"d@ @`"_   c BC DEF"@ @`"  c BC DEF"@  @`"\  Bݛ ?"0F  T Click to edit Master title style! !$  0 "0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  0\ "`P  B*   0 "`p   D*   0( "`0  D* H  0޽h ? fff80___PPT10. @F$ Shimmer9 1 0 9(   T ~  "~~b ~ # "~  c B@CW DEF"d@ W @W @W W @`".~  c B,CW DEF"d@ W ,W ,@`".  c B CDEF"2@  @`"(4[  c BC DEF"@ @`"  c BC DEF"d@ @`"_b \~  # "\~   c B CDEF"@   @`"(4   c B C DEF"d@ @`"(W4   c BtC DEF"d@t t tt@`"~   c B CDEF"@ @`"([4W  c B CDEF"d@ @`"(4  c BC DEF"@  @`"\  H ?"p  T Click to edit Master title style! !  0 " `   W#Click to edit Master subtitle style$ $  0A "`P  B*   04F "`@`   D*   0XK "`0  D* H  0޽h ? fff80___PPT10. @F$2 0  0(  x  c $Vp  x  c $W `   H  0޽h ? 33___PPT10i.$'+D=' = @B +} 1 0 $(  r  S 0F   r  S ̞   H  0޽h ? fff___PPT10i.%,+D=' = @B +R  1 0 8P(  8r 8 S ȭ0F    8 S Ȯ0<$@ 0  H 8 0޽h ? fff:2___PPT10.p_+ED' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8NY%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8Y%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8%(+{$ 1 0 H @ $2<(  <x < c $ང0F   ~ < s *@   @ f -< #"*   < BxɄ ?"6@ NNN?N0 mf I4 @` < Bx҄ ?"6@ NNN?Nm0 f I3 @` < BTۄ ?"6@ NNN?N@mf IE @` < B݄ ?"6@ NNN?N0 t m I4 @` < BX ?"6@ NNN?Nt 0 m I4 @` < B` ?"6@ NNN?N@t m ID @` < BD ?"6@ NNN?N0 { t  I2 @` < B  ?"6@ NNN?N{ 0 t  I3 @` < B ?"6@ NNN?N@{ t  IC @`  < B ?"6@ NNN?N0 {  I2 @`  < B$ ?"6@ NNN?N 0 {  I2 @`  < B- ?"6@ NNN?N@ {  IB @`  < B6 ?"6@ NNN?N0   I2 @`  < B? ?"6@ NNN?N 0  I1 @` < BH ?"6@ NNN?N@   IA @`  < BQ ?"6@ NNN?N0   Q CPI on P2   @`  < BL[ ?"6@ NNN?N 0  Q CPI on PI   @` < B d ?"6@ NNN?N@   MClass @`B < <o ?"0@NNN?N@  B < 61 ?"0@NNN?N@  B < 61 ?"0@NNN?N@  B < 61 ?"0@NNN?N@{ { B < 61 ?"0@NNN?N@t t B < 61 ?"0@NNN?N@mmB < <o ?"0@NNN?N@ffB < <o ?"0@NNN?N@ @fB < 61 ?"0@NNN?N fB  < 61 ?"0@NNN?N0 0 fB !< <o ?"0@NNN?N f# .< Hh ?"6@ NNN?N`UG m7The average number of cycles for each instruction class8 8T /< <n ?"6@ NNN?N   XPeak performance = the fastest rate that a computer can execute any instruction sequence6Y @fk 2< HlsGH ?"0 NNN?N 0,$D 0 Peak performances of PI and P2?0 (c H < 0޽h ?2< fff___PPT10.p_+P`G DO' = @B D ' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*2<%(+8+0+2<0 +} 1 0 $(  r  S 0F   r  S    H  0޽h ? fff___PPT10i.&p+D=' = @B +} 1 0 $(  r  S 0F   r  S p  H  0޽h ? fff___PPT10i.'@ԇ+D=' = @B +r  1 0 %P(  r  S 0F     S 0@<$@ 0  H  0޽h ? fffR J ___PPT10* .(p+ED ' = @B D ' = @BA?%,( < +O%,( < +D ' =%(D ' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$j%(+ 1 0 P(  r  S 0F     S 0<$@ 0  H  0޽h ? fff___PPT10.+@+EDZ' = @B D' = @BA?%,( < +O%,( < +DL' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*9%(+y 1 0 D (  Dr D S 00F   n D c &@A C"`H D 0޽h ? fff___PPT10i.Ц2+D=' = @B +: 1 0  P(  r  S 0F     S 00<$@ 0  H  0޽h ? fff"___PPT10.- +ED' = @B D' = @BA?%,( < +O%,( < +D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*9%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*9g%(+} 1 0  H$(  Hr H S `0F   r H S @  H H 0޽h ? fff___PPT10i.p+D=' = @B + 1 0 0L0(  Lx L c $|0F   x L c $T@  H L 0޽h ? fff___PPT10i.p+D=' = @B +5 1 0 M/E/@37P.(  Pr P S 0F    P B ?"6@ NNN?N_8   P`@  P N4 ?"6@`NNN?N :IF( P Nx ?"6@`NNN?NP   :EX( P ND( ?"6@`NNN?NP  :ID(  P N( ?"6@`NNN?N  ;MEM(  P N|( ?"6@`NNN?N :WB(mF   P    P NT ( ?"6@`NNN?N :IF( P N( ?"6@`NNN?NP   :EX( P N(( ?"6@`NNN?NP  :ID( P N( ?"6@`NNN?N  ;MEM( P N( ?"6@`NNN?N :WB(mF  P  P N( ?"6@`NNN?N :IF( P N"( ?"6@`NNN?NP   :EX( P N|&( ?"6@`NNN?NP  :ID( P NX*( ?"6@`NNN?N  ;MEM( P N)( ?"6@`NNN?N :WB(mF  P  @`  P N1( ?"6@`NNN?N :IF( P Nl5( ?"6@`NNN?NP   :EX( P N9( ?"6@`NNN?NP  :ID( P NX=( ?"6@`NNN?N  ;MEM( P N?( ?"6@`NNN?N :WB(mF  P ` @   P N8D( ?"6@`NNN?N :IF(  P NH( ?"6@`NNN?NP   :EX( !P N`L( ?"6@`NNN?NP  :ID( "P NN( ?"6@`NNN?N  ;MEM( #P NQ( ?"6@`NNN?N :WB( $P HTV( ?"6@ NNN?NK2 8S1  %P H,Z( ?"6@ NNN?N) 8S2  &P H^( ?"6@ NNN?N 8S3  'P H_( ?"6@ NNN?N  8S4  (P Hc( ?"6@ NNN?N` G  8S5 qF  )P @@  *P Ng( ?"6@`NNN?N ;CC1( +P Ndk( ?"6@`NNN?NP   ;CC3( ,P No( ?"6@`NNN?NP  ;CC2( -P NPr( ?"6@`NNN?N  ;CC4( .P Nv( ?"6@`NNN?N ;CC5( 0P Tz( ?"6@`NNN?N@  ;CC6( 1P Tl}( ?"6@`NNN?N@@ ;CC8( 2P T( ?"6@`NNN?N@ ;CC7( 3P T( ?"6@`NNN?N@@ ;CC9( 5P HL?"6@`NNN?N@@ ,$D 0L 6P H(( ?"6@ NNN?N@ 97 `S1: add $2, $3, $1 S2: sub $4, $3, $5 S3: add $5, $3, $7 S4: add $7, $6, $1 S5: add $8, $2, $6 a a 7P <( ?"6@ NNN?Nt ,$ 0 So, at the end of the fifth cycle of execution, registers $6 and $1 (of S4) are being read and register $2 (of S1) will be written. H P 0޽h ? fff___PPT10. +u-D' = @B DF' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*5P%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*7P%(+8+0+7P0 +F 1 0 PT\(  Tx T c $(0F  (  T c $8(@<$@ 0 ( H T 0޽h ? fff"___PPT10.p+ED' = @B D' = @BA?%,( < +O%,( < +D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*T%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*T%(+E 1 0 \T`X(  Xx X c $(0F  ( 4 X # A H X 0޽h ? fff___PPT10i.p+D=' = @B +  1 0 p\\(  \x \ c $(0F  (  \ c $D(@<$@ 0 ( H \ 0޽h ? fff  ___PPT10 .p+EDr ' = @B D- ' = @BA?%,( < +O%,( < +Dd' =%(D ' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*\%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*\%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*\%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*\k%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*\k%(+; 1 0 443a"4(  `x ` c $0(0F  (  ` s *0( <$@ 0 ( u1 0 a# #"& <$@ 0 ( a B( ?"6@ NNN?NF0 @ @` a B( ?"6@ NNN?NVF @ @` a B( ?"6@ NNN?N V @ @` a B( ?"6@ NNN?N   @ @` a B( ?"6@ NNN?N  @ @` a B( ?"6@ NNN?Nz0___PPT10:___PPT9 UN8 " d## a BT( ?"6@ NNN?Nz0___PPT10:___PPT9 V118 " d## a B* ?"6@ NNN?NF0 @ @` a B * ?"6@ NNN?NVF @ @` a B* ?"6@ NNN?N V @ @` a BD!* ?"6@ NNN?N   @ @` a B** ?"6@ NNN?N  @ @` a B$,* ?"6@ NNN?Nz0___PPT10:___PPT9 UN8 " d## a Bt$* ?"6@ NNN?Nz0___PPT10:___PPT9 V108 " d## a B3* ?"6@ NNN?NF^0 @ @` a B88* ?"6@ NNN?NV^F @ @` a BHG* ?"6@ NNN?N ^V @ @` a BW* ?"6@ NNN?N ^  @ @` a BY* ?"6@ NNN?N^  @ @` a Bb* ?"6@ NNN?N^z0___PPT10:___PPT9 UN8 " d## a B0g* ?"6@ NNN?N^z0___PPT10:___PPT9 V018 " d## a Bs* ?"6@ NNN?NF0^ @ @` a BX|* ?"6@ NNN?NVF^ @ @` a Bh* ?"6@ NNN?N V^ @ @` a B* ?"6@ NNN?N  ^ @ @` a B* ?"6@ NNN?N ^ @ @` a Bؙ* ?"6@ NNN?N^z0___PPT10:___PPT9 UN8 " d## a B* ?"6@ NNN?N^z0___PPT10:___PPT9 V008 " d## a B* ?"6@ NNN?N 0z0___PPT10:___PPT9 ZData:(" d## a B`* ?"6@ NNN?N z0___PPT10:___PPT9 WTag8 " d## a Bd* ?"6@ NNN?Nz0___PPT10:___PPT9 UV8 " d## a B`* ?"6@ NNN?Nz0___PPT10:___PPT9 YIndex8 " d##B a 61 ?"0@NNN?N0B a 61 ?"0@NNN?NB a 61 ?"0@NNN?NB a 61 ?"0@NNN?N  B a 61 ?"0@NNN?N^0^B a 61 ?"0@NNN?N  B a 61 ?"0@NNN?NVVB a 61 ?"0@NNN?NFFB a 61 ?"0@NNN?N0B a 61 ?"0@NNN?N0B a <1 ?"0@NNN?N0B a <1 ?"0@NNN?NB a <1 ?"0@NNN?N00B a <1 ?"0@NNN?N0; a H* ?"6@ NNN?NFX ,$ 0 QThis is a 4-block cache H ` 0޽h ? fff___PPT10.p+{Dg' = @B D"' = @BA?%,( < +O%,( < +DY' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*`%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*a%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*a%(+8+0+a0 +5 1 0 4424v4(  tr u S  *0F  * 1 0 u #"& 0 * &u B$* ?"6@ NNN?NF0 @ @` %u B* ?"6@ NNN?NVF @ @` $u B* ?"6@ NNN?N V @ @` #u B* ?"6@ NNN?N   @ @` "u BD* ?"6@ NNN?N  @ @` !u B+ ?"6@ NNN?Nz0___PPT10:___PPT9 UN8 " d##  u B+ ?"6@ NNN?Nz0___PPT10:___PPT9 V118 " d## u B + ?"6@ NNN?NF0 @ @` u B+ ?"6@ NNN?NVF @ @` u B + ?"6@ NNN?N V @ @` u B)+ ?"6@ NNN?N   @ @` u B2+ ?"6@ NNN?N  @ @` u Bd4+ ?"6@ NNN?Nz0___PPT10:___PPT9 UN8 " d## u B9+ ?"6@ NNN?Nz0___PPT10:___PPT9 V108 " d## u BE+ ?"6@ NNN?NF^0 @ @` u BX@+ ?"6@ NNN?NV^F @ @` u BxI+ ?"6@ NNN?N ^V @ @` u B\R+ ?"6@ NNN?N ^  @ @` u B@[+ ?"6@ NNN?N^  @ @` u Bj+ ?"6@ NNN?N^z0___PPT10:___PPT9 UN8 " d## u Bo+ ?"6@ NNN?N^z0___PPT10:___PPT9 V018 " d##  u B{+ ?"6@ NNN?NF0^ SMem(03) @`  u B+ ?"6@ NNN?NVF^ SMem(02) @`  u B+ ?"6@ NNN?N V^ SMem(01) @`  u B+ ?"6@ NNN?N  ^ SMem(00) @`  u B+ ?"6@ NNN?N ^ P0000 @`  u B+ ?"6@ NNN?N^z0___PPT10:___PPT9 ]Y@ " d''  u BL+ ?"6@ NNN?N^z0___PPT10:___PPT9 V008 " d## u B+ ?"6@ NNN?N 0z0___PPT10:___PPT9 ZData:(" d## u B+ ?"6@ NNN?N z0___PPT10:___PPT9 WTag8 " d## u B+ ?"6@ NNN?Nz0___PPT10:___PPT9 UV8 " d## u B+ ?"6@ NNN?Nz0___PPT10:___PPT9 YIndex8 " d##B -u 61 ?"0@NNN?N0B /u 61 ?"0@NNN?NB 2u 61 ?"0@NNN?NB 5u 61 ?"0@NNN?N  B ?u 61 ?"0@NNN?N^0^B Pu 61 ?"0@NNN?N  B Tu 61 ?"0@NNN?NVVB Xu 61 ?"0@NNN?NFFB ]u 61 ?"0@NNN?N0B ~u 61 ?"0@NNN?N0B 'u <1 ?"0@NNN?N0B )u <1 ?"0@NNN?NB *u <1 ?"0@NNN?N00B (u <1 ?"0@NNN?N0. v <t+ ?"6@ NNN?N[  Read memory by address 2 Which block to look at? The memory block number: word address DIV word per block 2/4 = 0 which maps to cache block number: memory block number MOD # of cache blocks 0 module 4 = 0; Here, we suppose the memory space is 2^8 bytesj2(9 (L (0 H t 0޽h ? fff___PPT10i.h+D=' = @B +5 1 0 44224(  x  c $ص+0F  + u2 0 # #"&`  +  BЧ+ ?"6@ NNN?NF0 @ @`  Bp+ ?"6@ NNN?NVF @ @`  Bc+ ?"6@ NNN?N V @ @`  B, + ?"6@ NNN?N   @ @`  BD- ?"6@ NNN?N  @ @`   B- ?"6@ NNN?Nz0___PPT10:___PPT9 UN8 " d##   B- ?"6@ NNN?Nz0___PPT10:___PPT9 V118 " d##    B- ?"6@`NNN?NF0 SMem(2b) @`    B- ?"6@`NNN?NVF SMem(2a) @`    B$- ?"6@`NNN?N V SMem(29) @`   B-- ?"6@`NNN?N   SMem(28) @`  B6- ?"6@`NNN?N  P0010 @`  B8- ?"6@`NNN?Nz0___PPT10:___PPT9 ]Y@ " d''  B;- ?"6@ NNN?Nz0___PPT10:___PPT9 V108 " d##   BI- ?"6@`NNN?NF^0 SMem(17) @`   BR- ?"6@`NNN?NV^F SMem(16) @`   B$[- ?"6@`NNN?N ^V SMem(15) @`   B,d- ?"6@`NNN?N ^  SMem(14) @`  B4m- ?"6@`NNN?N^  P0001 @`  B+B#style.visibility<*%(+ 1 0 0\(  x  c $0F     c $0<$@ 0  H  0޽h ? fff  ___PPT10f .<+ED: ' = @B D ' = @BA?%,( < +O%,( < +D ' =%(D ' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(+ 1 0 ((  (r ( S $-   - H ( 0޽h ? fff___PPT10i.>@+D=' = @B +rp?jUg>==--v--$>??>>--w--$?@@??--x--$@AA@@--y--$ABBAA--z--$BCCBB--{--$CDDCC--|--$DEEDD--}--$EFFEE--~--$FGGFF----$GHHGG----$HJJHH----$JKKJJ----$KLLKK----$LMMLL----$MNNMM----$NOONN----$OPPOO----$PQQPP----$QRRQQ----$RSSRR----$SUUSS----$UVVUU----$VWWVV----$WYYWW----$YZZYY----$Z[[ZZ----$[]][[----$]^^]]----$^aa^^----$abbaa----$beebb----$ehhee----$hjjhh----$joojj----$ottoo----$twwtt---'-$m--$--2p--$--p--$----$----$----$----$  ----$ !!  ----$!""!!----$"##""----$#$$##--T~--$$%%$$---'-e--$  --d--$  --_--$  --V--$  --G--$  --4--$  --"--$  ---'---$  --$--$  --1--$  --@--$  --K--$  --V--$  --]--$  --b--$  --e--$ --f--$   ---'-g--$--h--$--j--$--m--$--o--$--s--$--w--$--{--$----$  ----$     ----$     ----$     ----$     ----$   ----$----$----$----$----$---'---$,00,,----$04400----$48844----$8::88----$:<<::----$<??<<----$?@@??----$@BB@@----$BCCBB----$CEECC----$EFFEE----$FGGFF----$GHHGG----$HIIHH----$IJJII----$JLLJJ----$LMMLL----$MNNMM----$NOONN----$OPPOO----$PQQPP----$QRRQQ----$RSSRR----$STTSS----$TUUTT----$UVVUU--}--$VWWVV--|--$WXXWW--{--$XYYXX--z--$YZZYY--y--$Z[[ZZ--x--$[\\[[--w--$\]]\\--u--$]^^]]--t--$^``^^--s--$`aa``--r--$abbaa--q--$bccbb--p--$cddcc--o--$deedd--n--$eggee--m--$ghhgg--l--$hjjhh--k--$jkkjj--j--$knnkk--i--$nppnn--h--$prrpp--g--$rvvrr--f--$vwwvv---'---$ ) )----$)) 3 3)----$33 < <3----$<< B B<----$BB F FB----$FF J JF----$JJ N NJ----$NN R RN----$RR V VR----$VV X XV----$XX \ \X----$\\ _ _\----$__ c c_----$cc e ec--}--$ee i ie--{--$ii l li--y--$ll o ol--w--$oo r ro--u--$rr u ur--s--$uu y yu--q--$yy ~ ~y--o--$~~ ~--m--$ --k--$ --i--$ --f--$ ---'-f--$%&&%%--d--$&''&&--]--$'((''--S--$())((--C--$)**))--0--$*++**----$+,,++---'---$----$--'--$--:--$--K--$--Y--$--a--$---'-l--$   --b--$   ----$   ----$   ----$    ----$  ----$  ----$  ----$  ----$  --`--$  --k--$  ---'@"Tahoma-. 2 .CPEG323 .. 2 -CPEG323 ."System:-@"Tahoma-. "2 :Homework Review II   .. "2 9Homework Review II   .-@"Tahoma-. 2 X Long Chen .. 2 W Long Chen .-@"Tahoma-. 2 b November, 30.. 2 a November, 30.-@"Tahoma-.  2 `Bth..  2 _Ath.-@"Tahoma-. 2 bF, 2005.. 2 aE, 2005.-՜.+,0    IOn-screen Show ] ArialTahomaTimes New Roman Wingdings宋体ShimmerCPEG323 Homework Review II Homework 4Homework 4 – contHomework 4 – contHomework 4 - cont Homework 5Homework 5 - contHomework 5 - contHomework 5 - contHomework 5 - contHomework 5 - contHomework 5 - contHomework 5 - contHomework 5 - contHomework 5 - cont Homework 6Homework 6 - contHomework 6 - contHomework 6 - contHomework 6 - contHomework 6 - contGood Luck on your quiz!   Fonts UsedDesign Template Slide Titles_0LongLong  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)PicturesoCurrent UserSummaryInformation(WQPowerPoint Document(nDocumentSummaryInformation8