From 45fa1e000558f5f72dc20810b74da4328da498cd Mon Sep 17 00:00:00 2001 From: Liphen Date: Tue, 23 Jan 2024 16:59:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0lab10=E5=AE=9E=E9=AA=8C?= =?UTF-8?q?=E6=8C=87=E5=AF=BC=E6=89=8B=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/计算机结构设计实验/RV64指令.xlsx | Bin 0 -> 11574 bytes .../lab10/image/image-20240123134117946.png | Bin 0 -> 24916 bytes .../lab10/image/image-20240123134317947.png | Bin 0 -> 32510 bytes .../lab10/image/image-20240123134347792.png | Bin 0 -> 7750 bytes doc/计算机结构设计实验/lab10/main.typ | 204 ++++++++++++++++++ .../实现 I 型和 U 型运算类指令的理想流水线设计实验.md | 10 + 6 files changed, 214 insertions(+) create mode 100644 doc/计算机结构设计实验/RV64指令.xlsx create mode 100644 doc/计算机结构设计实验/lab10/image/image-20240123134117946.png create mode 100644 doc/计算机结构设计实验/lab10/image/image-20240123134317947.png create mode 100644 doc/计算机结构设计实验/lab10/image/image-20240123134347792.png create mode 100644 doc/计算机结构设计实验/lab10/main.typ create mode 100644 doc/计算机结构设计实验/lab10/实现 I 型和 U 型运算类指令的理想流水线设计实验.md diff --git a/doc/计算机结构设计实验/RV64指令.xlsx b/doc/计算机结构设计实验/RV64指令.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4a9a12c2aae42101286f7da9b36463bfffe770a1 GIT binary patch literal 11574 zcmeHN1y>x|)@|I~A-KD{Hx}G2gy8NL+%34fLy+L^8r(eu4;D1I>(`l?_vTGzzF+WO z_3EnXRdx2NK6Umz=k9xyWFa6i0nh+g002M=5akY-v;_kIAfW&N3;-;+j+mXTvx%*< zo|?P8iIXmqn~gO|J|s9zE&v>K|NplCVh@z74cmTZLG92y5Ek#$2+IpCEros6`bvjl z4<^+uUW=k}2ao2_o7z-ay#}_2QrUV^hw4HAw_=G(8z{16&2+D=NTH8V997|XCiwI^ zM3xkgl7Yy@X6F4D;f^lSr+T=SA4lO@>;86`GnJv{qv&$+@ru1C4$yZxPn%Urcm)yMc52bKhv$iT5UGyIL z1Eymm)pHf+Yh7C`w_^}4(wr`iIED%enGz&*R+ns{B=F?_th@t@oy$!3i` zbMFX(bqYbXSOu)L{y@8Yvg!D%| z5_2^FdL8-du51~3H7j3~_*?QBGQl&5XD=@h0Hwdsv_YMP{1Oyni%Xja1FYPkIHVA*z6aV6}_- z6{;G3AcT}}htK24@~S}8!4T>7CP#S$Iwn7PqiaP-%DsaN3>}qYvZO=#MjzVy`K$Ts zG$|Q(n)e+sbY;yYd9uUnR{3B zW&-{FlJ{PJplHR!;)lKdVq_P1r=d+RsR{ zE9uoND^;_lwS(6{QS8_@}-nT>a>Yci!+B0F)B0_*uIAY$m}NX_k}HAO5epyVljzh7DWY&q zf^!!|TnvVjFVp;+B1#x#PVtj1@JoH_lP+jA+4!h!XsJlHiHP`m9lUyz`9*OJXlbg# za>X+Sh6tj+SAqZ;6BED{3`YxN-O0j zxe(+S>tZ@D3dl$@CC!^Cn_2TJarWBF>8Kxj1R9Wja9nI*j*#0%EwXac zS#GLtp75{RZL1Y)CjEpo_mKBPk|$blJeo|W&TC=8i`da1gnT;$+L4g|h-P1r$EBFw z{?N4Wm~ZoKb~A3Y1Fx&L1{Tqf>**GvtNIbKtaKU>X6V!Mo{{mbBaCjC19>Z6pC&-i zI&Vs%voJ3X?owcVN???uJ`an4e3`JnU?>?XUN7|93lDi45$yeBv~d~+6IJF%?$a8+ zf{PCvxg{4elpKQ`TXY7?Yt*&go@6loMsvWvv) zr#fmK+FVEmjg40EcddGh6eiP|c_K{KxD{WP2b?~1e)P0eV7gx6@$zQlU35Be<7jD> z<0E}Cs`t=D;(d=l^MFtEg!E5@_7_S_xd0Kl6_oYx0kB{oLjRul{*%`KN`hdZ8Wl7w z{C98VD)O>@pc)O~Ih4gU<2@GIqBAquk@_JD>~KBpG8HMi&*eG+U8}Cv7g=TqyAb!2 z@xk{uoXDFH7*{>?CE@6h9vIdq{7`n|7vm7HhCeEZ0;HfY(2oud%YGmrr#oS^2*nRE zWMlGtzontX3oR%j6TfVk3E{AuU~yrybebX@0VRRa`fb1aAl0LafcmB;l5|?rotGA| zt%*GFhThPC>5_XOhq% zDPmvRc&DBGv^MpV4QJrP2yNH$Im77XiRt$6;QTu1P5(Uy90=;!c0dCFI)nfKF6fRw za)6V$iHWll^KS>%pUEIIVL3X31vTV^{)&)c-H9bsL}`d_mE*_S)r!?%sy>vFB|o*g z_f2%3LDPtQJ$kMIZl~|SbB7zxC^lgW7tn>0%I5>xNouKh6aCqZ9Rc&;kk*oVy*eTD zSunw4wbz5GgNlb8{sbd9&`f4UYZ*sWU#pjrv-7|mM$fX4vf;GU)qkI}c>XlOI*QG4FL~b74U3vC!oWf}A;rlN>~wn}_C0sh-gpw#q9Bj-)$^36+%OTU&NRFyUM{Y* zhQJTL!u`hJmPv{{#4OIYXe(#xrbFvA(mnNTrHw+dfi=6!XS+QDxz=Q>6TUbh6#n0( zHn>jlusSL!;}y#H@UXkkxia)^TbvzG)x&%ThudiMiu)oi+>acg^-iRk0dBXF8Xxq%#-=J zYOzq>)%nQO!POqF$@jb>NSvS<(~z#|!ADtj+&=TXaCUi4F5vZYtfVUC5eY(gKlF~M<;yKBF$m`1A00qDnrb((H40Xt&qQ! zT*lQ|D)D$P+I+P^INw>yReV4C_;t}kg{Dm9($<6ep1GO=a=?X!QpbcvEYs|1yy{1q zA$HOnl?mi9E`P--Qdrnl$cy2 z5u54K=Qw`J>89R8g@n`%h|QInqQ*rPhZK9*r{O0z3V;)pV`)$aojL^s>jt`FNoqh^ z1t9f&(O|7*CpUd5wE2z;(MLlv05(ivZ^CTLE_1!@V~?~rYeK?*Y*pbkqWvB`Cszy= z)fw(Hf?bfAAiH+}n5Z~Qy-A7iztKUbP67SFA>SN~hsVP8<*P}*F0l>xn)cC<+OQA4 zCLMrhee?Qz@S*QnUee3()-dOzVv7HZ8=3Wv>clg~EhJ%pU#=|bJ2&#noHU^xKN2$B zCAQ0)fBOe?%GbM(kQn-X3ZeEm7CSrVLA0J5ma z6eTR22juS#p}<9pgrkCF?Mc*^WTDpD{`Nx0UQ4EhVGY~Z7_OX#$J#~@^2JeADiU^G zZ@f)SnWMp%(2XgJKyuHDq4m~bI-S1`y4eLoir)-HQ&m1?8X>~FrFDmFubmXQAiO! zy#-Q*31C&{@mK(~MLLK-hin$3b76L2Dk(p*`Gs$$kg8#JB`U=|qp6|o;E7>jxHIME zdYuE{N2pQqa=jekpmtOd%xQcGMa0eyQSrm|WX)guKq9%U@r8u&+0m1D=Laoy<0L8* z+y|&w7BbTmbDcv`&JT1pYmYy79?Z`mzR4rFVNND&a9kGqyqnpg7zn57Q8CZIWHEQ( z;azmddSWeH8kTjs_YyJ~n##_9-TSm?;Ur6GR<*?I-Khxi9;SYQ_M1<_`HZfP$ zF=yx>wvXqdIGGmw`Hoo^hZwf?E{z0P>o5gP^~=4Fbes=U*Eaa5s|N)Cl=AYcUr^q` z00848KP9~1Ql7K9iH!;KZ~Nb}-I2CV1OYdu5A&rk;>GbT*VZVy-5KYyF*lqxbz#gK zookvhJUr>OC^-Lkp(J2lY;rrMjNZMH3<4uZJ<1dFYW&n_%wC-7QQQ~D%8dBrRbA|u z$E<<^r)Z%p-qzcRtW*!FRD{p*$$Fhi=YpA$UsEY&lYO0dXgItSUnfSQnZViJAuv3; zHm>^|k}bufMc2TbhkXSy3dcJ(sxyS6A(A`zkK2Q<%j3qx1xX1pM)UGPcd#;Q$P~U| zm83Z9fb7q`UNQzsetmeFX7=^EI&DG`3K918xea|!oiGYH5Q-&8okLVk zg%rS2(x7?I={Mr?wrj2G%8K3_-%pZU%fd3EqVC;3G~O3LAu(aA=heFg>kXu*dCrXG zy!(bz{KNy4FQ&e<3ad4K zFln|0$lo|3f}wB%*~0juzRMkVL_3TnDxU#uqm8E2N<< zsThUh7dOY3;sg|7ftD9tt|kqW;UBrimLpGBSH-@*XZ|<4D0=5tj>89Yd|$Q)Pl$ydw`1&xcMKA7J3>H>>Tv*a873)8%+*<`gY@aOgqv0vF&46mkd_+{pc;3 zdV71_*<2JScBzh`fl`$%Z8SCDD>;*X@4{qFxIZVSEzrtPq;EpXDtZqhv%W7s_69O^ z9mk=W1;~HA5jx}hz@y7X0i!{-1LUU&X=Zo}4J=_?KUzKKi)__c?Umv}Z-mN6-U>~9 zW7{6|9lf6^NeokUcBAdJBop}!j+gP~JrMY@IF+qRcmUXJTvGTjFO<&J3^m+Ws)i& zL!`1u+C8Ae?)wVbsBG%ugM%nFY@1fmxKV`eawbn*0ejAyPaP4g5`*TEHLe%Bp-_Ze zbza#7-n`%%i#?Tnt&vA>)hFSwzs|ah^GO_|8x$T1W!EBIA2BMRO@dRhZf0=k1()c2 zLMYBmkg1xU&Vy^0$%PN{a^TxZ2M|g+-f&xV5Ro1psZ4&(szR{sKXJdtJsMqRZeG5ef!RUbYq{eLl9itG0;o z%x@CY=EoZtFj#S`E|VpnSnE{Uy%_X>lFTW{p;&3eBmIT97OOVuOX{wsZYWqGKmibV)SC^i|@n5ms@1T6<(A{6w0hM*{n& zG%zJYW_FSoXVt}42X{*si&8F+0Ed-A2 z2T==XRuW{z&HhwWs#AUZws#GduqpK999DN2d$_%WZqO~{b2>Qrs?FYb(%H7RDF(@S zIJKeTiF|Jp6h@#~<5E2n`xx~YeUp$lreEdT&};gku4!$hi_qJpJD@uA54o}RkXwYT z;won=5c_YaR@(cN_3IIpQ!Kvv+(8@_(*eP^%Z>U`ON*HvCOXV7BGB<*oYg<08Y^z+ z&h3x2xarS4}EQ~p0Z1URe z3ccZVb;`^2>?wWD;*?UlEaZ-*wduxgA+N(n6LNP_c=Nof@)fx?sal7I^Ro|W33MTl+*%Xi2TOVK zgF(yOq1tgz4_QI;tD>fBi003^5l6@GVyafx2S;_%5y-J|(mHdPEqkw?yjwO~yNF9O z+}FuP_*|`$MC+E0=HSOIJ(XZRvLy2sD_r0^-ZZTdT(%k%@HX#yO5wk%FI&z1VuxwD zW7~u}Co}RWS*L_Tm-JrAj{9Ep;hn}n_lWBKkQdnT{CgXaO8*ZtP{oZpm1fYDWRL_2 zQZ;_gK%Jc3txcSMPCHjL$D^13&>-8bu8d?GkfcRlRrvv=m7TdoD(l4;#c#=#E+rLW zb(p>5vprBe_GdBojhty@8o7q4*5u=Cooa^Bc-OhvGfAo4ryRe(MVnWmRl&@>8zRk* zrNqj>6l@z?#dE}uk_bz~q>%8O$%R?GS*MIzV|T2f6z9(ca?mbW>M{#d(KZHceV6+p z-kl;t7tJX*KVW4kVZWFvpXr`=GDtM2Mp9Dr&Z0BGJg3Ed~3S;N#b8k!MU!?+xuCsI6X4LOhe@>4btKC7*j|n;tN9 z(QDP%bP%0hluf2N7ldLWO&M&P2|Nx`n8y5okHhc|_D*H{JBE0(UJ~Uv{VqIvEacE= zJdo|vE2KP#Nf&f~-WvL~r{}{q;b)FAx-r^i9gD9v%ZBsaXw~Uds^o{rB3((Uu%T!k zA?cKELD?D1dSJU3RPR(2@OP!oXYRBe8P=K_oQ9<2Vao}GHac`lj#2SX(M^s}2d2ak zA+^DGbulO%Q+b|l9reW8AwL$mI5r)#mvO_N1hU}Uobq)uXv?YtX>pO25Qj7pDI?YJ z0}A&{t)3goH(VJTLY#-=<2R!)Q`1CH_y_p&f zQdgWbJF6+YK~97jpsr{dczS5mK6xrmtb#dzr*xN0?jyU59Cp<|SU)LILIY)R^m+T+ z#X;=acRF)=sUx?EE2AN?<_GyCq7Wt7`#gCQ{$cd7JxP1A+yjh43j?M&@S;BK`^Eq= zmVvrG@^6b-ep!vJP=OhU2t5Na1n;L#zO|ZqI_WJPoa+n?S(1U0HmYl=8y24n=D%g1xXWO|+q@4bkivu!?)^6 zBviD=<0B)}x`o=~Gp~3lbD$s*9=%2V{S3PgIo4~_`ArI1f{b}0n!?`LFxkL9~3t?a5OPib#}C{ zHT#X}<%#l^y)3AbH^FP7V?uG;kM*3j;7FJ=>J}O5`=7r$GJKG%q)dT!yd9BNoMJU+ zM_IGCh9Oz3-9c%6)-jy!jZEo9UpSFlbKx>NO~x6P1MkD%ZpXqEdTnRh|g zb-XhMuZPztEAdWoj@(o(tCUBc)?gO25*X0UiuCVSP3fDm6MRMje@ib^R29@&^ij{u z2m;5%esEWFxGAO*iH ztN$qQI~%!TV%W4~wh14KDj)?1clhw-A+(sW!uKDSZ}@H4WP3o~1cI)T|L)bFI`1FS z-S5Khp90=*vTsmKPxxmROo275RbFaobFK$d&#cgJ!m#bF8OSH7qWydn z?M*CTThKM}`g}4-nm1NoDE~F@ki?I3KSR+&*XwL6Z)C_Ko3YW0Yq)=ktHFgjuyv5u z?FebPI6ME0EaqQ+voaZ4*dA&0*v^WedRx%sgF`-w_J2y@kS2iN zNgl9pNa~|fC?(Q9urcCnU|c4J`#?bKe+!NLDs~U%vO5k!>N$|SeU&2iBbHihDbTPW zOLuZ&LLkO0TO|+)qfBcM-;qX@$q+84L{}UNoRxyiT9s<<>k7=j_Owx{Un4m$~2ol8Mw<;fIe(t`DG8%QJ`iyH@;f~WWw|hDK z==I5US99798D*Be?{0m*E6HD3Hw(rkWJB^Hpp)MqJbi55pvd6YcT))0N8!s`-Y8622x#PF>Xy3N-Zl*OO^V+M{o@ zkvSSjWM5*$x%s0kmvSFS)b+sD&k_;2iZ9FFmq1O&nHONzFO$VpTP_VOZhi9YR@M8w z7i6<2HeQNW7a90oil5Wki81BSp>$bP4e4!I#p_F>cgedz0F!<1sm% zTq%1SjFZv4^KShv{)b2tMhZD{$pp^>fek}ea6kd^q80lv`p^*#4F@D#T*T(0zuVYVm z#VoHUhbF8YcC~`xn}ELWRv!B3Q{i~~d`gs```R7hugaY&Sa#EHx_Zi$ItjkJpF$^8 zGYe17Ua^*#spEutJv^! zGPW~Pa3>T>AlF64kAe~qrua?pbKvw^GO;w=!24WAZAv9`88KI2 ztAlt2O#B;aU%f?zS1HcZg~yT6rc89nQqz#@`V5-2;?kG}01EZU(N=N0W%Xtee;0AK z85%fBK7WbPgXhXzzT%PY2xa`pEqw^Zc&_4BahP4_=$b+p)IP~I(vD_LNz~n#qJi`& zMHL8zty?ez`yezadl`EeX+_dUNM-DlT%Cw~k5z$coNbm8r8X)bVX~Kt1CmYa*Kb&onLI{0?^nPjC zxtpkLq$^a0f@8A(Y$u1UYW3B@!8XPyI-MrnAt9zU zOjy?F7J1DFArWy1T5^OGcn$Ipyj|&qsS*y-#W?P-( z6!c_`K@k@leo6}F#T%7bgbWbI>EkT1wLma2jL+}aM!@$Ti@#H_;x}2WkeS-RELWeV z2@RSDP3wr4V_8OgeSHKUpUz%(?Run%Exmbc2?xIyWL_g-zT$ch4FLle8blw6J=0{F zN7e}@KnQVz2yyIJR}Nh|lIkurbAqoF?)fok=VvkX`#=f?&Il@4 z|GD?`U+?c<$A9PqRg(QHz+b!4{$=>{SPUY`fApyRYWQoX&Yz}Zptajy`gVRb{%cpj zpQZpn7N~Ce|9b>}#rbuq_)nxM#D71;-xiL4Mfp{I{}ZJbB*ufD=2tELSAbvjf z`;P_fub_X;`F}zJ05ucU(NqIa{s3}9jMCwxA`CAxRNXsC4+M7z?hxDq0fM_b1ec(}tpg#!-8HzoySux)2AAM=JNch8b7tn; zbLYLO`(9NSwYzJvSNE>9zy1Ae1uDpiqaflV0sw#_DIux^08mlj;|zF6@LygmoFxDt z1tdj#v}E$+FhWwSGtPOH9P;jz8QyYE0zd?s73h)HBhi$^F^f7sc>+RJlKFwVYQ^7&>@F!;^QzIjZg0gLPH z*#^nWZQlnRXw45SxSm^~T+f&9UZ(baaeo};y?gqp|1_h2yi_-~A4R%^&D$iU%$w@{ za9pQYQ_ZsqK6v+h9=@;DpOBh*<=z55C9CX|rKP3!Z5IjnOBmxl+?>7)wLMB_NgIY# zwmmepJ#3)*%r7ihe3p!mjYED>g7<*~6f{o{EILtWI{MuVRUiP@X!}$XWSWjqPHyh` z*;(hab>S?eO7dpc^Y@CFpYujspC9jjPUTHZ(3rg3m%ZG}zxd)-Q~?% z8^c!LN~=-!mmX4Y(>gBZm10SCp7=rk(MkHFJc0;xFAqW&^K(NQeqcbG%x-|d z4ee}At`iPo+FEx&szyXjl+1O8K$0e?Hu(o`X|ygn1ON<_AGVO%e~MVDVn=Pkycm8T z&EKbc!2DjIHnufHPY6M=i(K%hslV;C`2 zh0w=7NZT%?#T{XxTbW5>aVYXAM9>T?qd3A8#Hg3`!ne6etzZ^z`!|pTRB7IlZf?t zyMsy&^V%fBi5t8^pB`>PnZ!1zvb@tzl_QI&SwK+&@uG^Kc~g6&-+2f27T$rPRgkOg1H4~j*uGV zu6L$Mb{-Ou$b1YI_&+Q6Gb6Q^=nBrUw#n?0C}>SbD$IvKfcVi7m>-6o=?3lYt!X?9 zlk+ZoAl{Tn6K4MN8(YYP-fzWk@UPVH(bLxMq6jcRqy#c;&h>{k zC`Bp)saV1qjMz@oTSQ)0r{vBa(f&FGT-i2=ZpL3`SgtvfI@O!o_F-evvTeD0QCyEq zLE;_#`OmMU6-f|08N0m)oc3BCc%3z|Eo;eo$i+{(0XjN|Mk5Sph%*}eCNq@+G~?vJ z54ME>R_@W49+OyC#`bc|)RhPTdO_p9#?O-)9V*{dz^s|S;yVzL<&x8UF)p2P#!#D` z_obg(n#+t>+2mBhP9QKw6F->-^wp(5{gj#YaNcCW7;zp)llo^J(W?D;8r7yp>bW%X zuslr8-~=>ncO(7x<;{_=yg5mh8qdh`TUwi!t*w!+mQsFnMO)jCR$2o~JF!B_#NDzb z5M{C#$k3Vc(Lvw1YMW9%Wz*uF>s)*wE;?ZNFym6s%P5w{A|j3K(Mfk~o_EFyL~JVp zq=89CxWg*1fVX0>LWiiNn%JejnpAciZ1a@Jw@6@wyB} zog{2}_gUk=!Uc9?fxJE%K*?k2A+`Z`m6ms1y^is zMF$Ep4tp8ATuzqx2>mBA^ybb=D_i8K2MIuu2+_Z6{`jtjakgSe30x3?%7va}v9M4H z661R^D4Q*vhs^id!Jo%41vk2r9z5sl6G9upwAL)tJc|iC{Dpl`K?g596CV@Lytb;0 z0HNBH&of>fGrF-19uM_z2RYUqlZ1#I(3}sy9u(BGZPagWjR5*h#n|*&y;)|#ZbYlc zTN>)fLcNnGrl7o_N(bvrMacGkP0R=-za{Ru)_|e`@{QaR7mTn&LP<{dM)pbPA@@{! zil(i(`QcDGqLcDx^otY2mKEBd=1sHLcLbmdUnqqtEC9$0ZwOFS-%>^3a;gjAgFL1< z4^Mj)noTZ;F7$NJoTWP5NS1LJg8)Qzgu%YC`J5pg<9)1fNE;F8z0kX^^LnnN?VLNT1e{CN>@+l_k%Osz)GA{_|J zOf8TAXpDFE2#JzpgA7iX?Q?s&4#D$jcuoF_a0dp1BrO8*=(TWp2Nw9G&IDRaj)@k0 zEQO`7R9?R8ZH5@Ug#y|)8hJtU#}fA9?`K%UoRci~4Z|P-P+`UdVLyJ%mMe$YGxT~9 zX*E)DqWvrQQF=&q45ZL*JKqE!?!F`<26xqWwp!W^6Ai);@Boltmy#_3Ny>?Qt%q%8 z=kAeuq8A1Y>LV^)z$&?c-i5sZ){7rxkQ(8bjwl=N(&RvsNxByy-z{flosLUwPyh-a8*J}$KcgsopjtT*vc9Ghzri~NG3LnbN z_T1q`VefsFg|zommh2X=@pJu-;4dV&Cx(Z|>PI>4p+W9!n0n$(S9}~0fRJHq&+=d2 zqA5OXO23iv+;w0mGG|4=+d#{6h%lb(DizUGtE48>X1_m(j^1$>x$n-AOd0#q^Hy#p zxkPa#eznSYdJCpQ)q2G)e&HHg7ieYdnbBI0BaPzcO|!N17T=Tj-hR)lq% zCTXO_OzVk@hJW?l>_g+Bw;I>YTA~3WklUG&Y-L+FI@%&Sudh3-8z(d}TVmln5M_Rs z;Olf;tLH&S4*_8ASe#sI0zf5V4R1vA46jHf`c?3#5kqKBXWOxB-|XuY)n&sFa`kPhE@WX#M`)Wrt;eA4V0bs5mfdaMmX>z1=G>ut13vR-9zOM8*CMglN3? zv4KE4B#1Y4Fwm6&3TR<2V|xGRvdog9z?tHjPT*u6YC;0vX6NM%II-~~0f`fh)nJP< zqxhX4ru3DO)o_t#D|giDDHU%4`@7^LG)-bSZkZ{{nrTR-NtGQ_(u=FkwsW<#D&Y%F z%N<>3%p@B!0R6(R_*3{cG%#yWV_Eb(_q0mQPbW%_R642S6289MNf4Y@DBP;WBi_PW*19j|dv}%`{P;SzNnGR`w7z^D zwq4Yk*#Q(|LbDoknjEoYxI+%X4Xx9hHPkW|2CG{Zjuf7b8P~D4AIOAU(i4&iD$W37 zCyiv%+Re$m)#6rq%QMsYcCuLRr^SrH4wt9{bK^H3ISCsI(EA$iM24t%vKR|vKPziE zVwZCV*TCUY-Zk_+I8o}={K81G>4YG4Ws8{G$6?$!t(-KYN?5hKEv77MR$nl2KK86+0Zgo{?!~}xdEug~Xq7#L34WtrK)&rO=Z)p}t+0-T(mx-F`<(l=v9nWw( z(h5eWeu{ug=2p!13oSlc@9?`hUE^xRM2aEsZF%G9U?|FHbc*?2o;4lXwVgqhVT$SY zM5eoq5Oa~i+LrywvQ2?`jAKe=_dO7jpR-`Z|IQ^X9#Ii9RnF{uQrMh^|i1!diex7-$Jk<)PiYU(B8z(X1La$SJoescg%?*}5-C?>&1e#m&W>xFf zdU#}!=A+F;`f#WVOPWQ_ux+1YZt5PN+cT~-NoD|Dl+DR`=orJG@kmn$%0-`sduhYP zfo*)B*Fz1sceibOs%>lYDLK|P4wn8k@vt*m?QtB9T((dgS5Fj^3joxICDWN#S>O5e znxtezQ>KPvx>lFF+?HrAz|g$5%xO=U`n~nY<#VB4%*H z_qdSI58DEn!M&_=xl=j98P^;jIA;YLZ_YNOL3 zw&Kwj$)dSe0PsT~0J<+407Zw?I17j?art*v%^T;*r}wfPMav7mZ6t*iQcfoAQ8y(! zJkD1QDo&P&+s5v3gBF$6PbNNBfczAaiKD z6eCXd4y}o0z0GIH!y|9JGOxr8r3IjE$?1{%Nrcg$g(FI!!NV9*cn(cN7=@L?n+C?w z|C-JzM!@I!5sbgb(gfHVDd2sr3tt}EULKwwPA6*Gc*avXmoE3lAONCJrEe#wIY;1; ziNWS@?jtsJf5w&SHia-D_>v|cJe;n71m~n=<%L&(4JobKPp#eroIv=_(ooK=0gH!R9n15xC)Ta zzkhV?t7+?%ihlsw2{}jq8fd$l1>(wk;3Ihx2MA8A%SKt48@}4G8}sm9UYwE}WtM7& z|F)IuREH5SJN0#Ah;bwN-Ly5wx5vAOQ~kK}Et|EsKrhbdg77~~52e%!i7Ls^JBn5%-YZtGK=;_C9z}usBZ+Uir!aw5e#?_H zpPiKZ*^p!}2we)=;IHP@?pfU-zD0RYZPr6BV<|ocfM{u5I}BT_3z9EfuiZTsC0)_b z1f#3_CfWnCAq`a7r$p6+C><-mYjS4?3cCB;d;(IkuM@yURP`>c7(4*e5EcMgh`A>~ z8?4Afda`njXyxwE81l9^ge$^$MgIdNcL#uc9BLH$uCL}$f(bQmI9^{octQzS=a$}+ zmb;>^fOfKd`7Lt&D-yu~J1r3D3U}cktZg_5{=xu*8u5X(pO+9!8$CZge2CAqi&ktK zyD8|O!N3(7NR!T_;Y}Ug%pqwLHJb4hk_4CVYV`G@w?lmy(~o^_I?cSa)--?B%9Lv9 zKnjhER@FFsUs5XSU~S=_bFbE5ZY@Jv(b9wKg^Xs3wY6?NFT%$5NHD`EzTyGq_MVc& z?zH=`*}WoyZDU?ZId(vQ3Hv1y%{S#dIo)R0w=cKTC~45r@(gB1kLaO{g72XCi!T^6 z1!@fLXtJAi81))Pqj`LSXQp)6*d@l%zB-bUen$KPVOAjEw-xtlZ6NMFqyzu8U7vtP z{Jdj7G+>bFUW(9-Q+iSq=qnvWid60u;`*hGtr7Pd-m!B^2-_Ys=cPNQ*-CuFc3G1y zxux^8C628(Evc2V>Efr)ucg5K45>$$BXO}dzwC%u3Nhw2j4t(q!$J7P(=bfryK-yd zM%wLonDtqvbgM*ts!LRsIQ-|%Xzs~*2W~U^tBQFqSAT)Hy!@LZqCH&CnYEwiYSe3( z@jEp*Z12EmDx$@DESA{0Y@(7md9Y18`eXz%x7fs$W*fYUW{LQ8KZr}o zz~Z&>D?^JaHgSpJ1meXUp(|83jCOWT<4}guy2*&M$I;XF5Na; zjhus@#qgb$75Q1jr~5@dBo#}^4BJv(l;DL-js(7G>LxH-H=o3~en9tMZ~;?n()Wo< z49V*9Z9Ii>yp`$G>FuEWB1!{iMi?EWX=||{@v!AU2o;qWGg}IH$aO__=dpaHH~pL# zp{ptobTSJwlA4ryNGuFumxcU@@({waqHWF*r=lMLtg^l8r~mF5BVI1+ z5iStHNUiInZ|9^=IkYNh6XJk!n?j}Vo$%`lZ-zVFi41q?tt(sm98*!xVE+03!biRD zE)U$ZSWpoa)lGQo1)0T!$*wT~ivu=H_VhaEXbtnG<%L9j!NbbeEne}c&@`sd>Xk}8 zGs1zBTMo`CUWM;`#cf}kJv3}xf+{bpLIWOUi9<&_mFHjE-6sU&I&tX5+9|sX)sv6Q zp}*|^9GBqTq=1+%8|BjyE1^ekluHCi@s7;VHb3Arih^qq)*#)AGVvf7m`S!^euk=* z#}Z4u4sh8&nMk-X4!)r

s2wk>z6MauOL3Nrgr>VBIpV;xN0F;0aT&s)hl41JmoF z30?sTrUh9*tKeyrcK7x0JYxv20-W;m{&7Q0xd6AS{1i~JH13c%lmfz4Rfj8l5n;Cf zP;R`N&8?#jht@`73XeqbITw?7^5#QN&|g@bJrqQgyW z-ST5bB(5CVWgC{k$SdrY!gQ_@ta~e+4ca4QDne@7C?EjEuO+?*KV?-fuPL4!V!h(K zm9yBPz?X&&0f75ZaLV`O%g|IAkrK?@Ur2OT@dHoSdAr4|l0O9KUIP*J%Bkw%aP>+; zy95W#eM!rb;q%ib9RFhP!Areu77iRy#!p#qaitIE=_{LDT=K?zAAh|$eLv2a~2)|e|@xU*%JAsbse)Dn|F^h#ivXdnzokJ zw*}3B8N?YI@iB7zw0YH#_FN23Ul-@N23NP9L&#QJdgLTW#4FxLGq>t;5-x%y0eg+L zFPMw6$AM+avgFfe5pgvY%|tdc?$LCN#L9%dE|-JVMIYgjUa0Q%{s4}>n%4v`0>rkQ!eE7;=@Uuw6Aw8iZP_myG;2Bjc@ zG=>9)d<$lXA7TA_y!8Aq(3%)ei-soyLXx}J??$G*JT7_YoqpfFC1lIzrs8%3YQ>s% zwU9ED+u!dfq9m665HG*Qe;NU^Q?$hN3&_&EZz;FM0U?Z`u~(s_(qf}*d*oEhle?H@ zFgBE!JG}COzXIA8`v6()WQAu)GIoGqtN0sdB z!unfZT=0E9IEM^>B3*QA)j|n}#cACgk#G%KmpjXOrU;I~9$;J7=MFZVQ3*0&7-HPL zS6Z4*W6AmA7M?c}c{bv2DcOn_2&{N@wmuF;QsSH@DGNCme)63Ul1}%ix-ZS|NH&BD zR@wYz^_>oGO|md6(m!CqZaY_s@NgHEF?lP&nwu8k;6VC9o?|0qBl0H5@>gwwF3;a^~@kXd-rk5Q9un+4R zS`BaPMy8iPuFr(DaAk*}IE-L-A_E{*&3PlgbLux4sc-gtC31D)1p-l>7k|3iV+)=KTqz9v3~GaqSa!N_(b$YcX#YL8zuU41)6mO9c513;;Fi+iN+! z`iyOY2*mRm-1QI-etOk`5w+-}*!|(5U&FUQTJX)7ddw=TP=5D`L7&SbW5HnXuRihP z7YC7YE@L^SkbIM)R4@gw8x5c)}=jH%>5y>r*YOUr<$td;M zHC@!%ggNH#Rux7e+{orhU+6aA3*-u1cnzj9-t|t_I96>Ls$#ATpQrkrH!F{$;u3809S>*tOMka4 zzeIA$eR)>%)Af>w zhzJ}iF?%EFeKqZfG3S?DsyudpCDGoxDD>j^@K70346}!9H-pkB>$MyHkCgIx2GNFR zVuJMd-f8cAo_h&w&6h4lZi}igyX>c|cVA@Z(->VkJGE_FoDOFhGv}eA)yjy#@|Oo1 zLKrm!K#ga0>>dVIaKK&JfLyxZ6ZiyRQi86{P8B~k&>azKJU4saoD89S5Q5p>+!7=E zc2LH+g{Vd<(uvLFq=X7t97I|5>6TA6SK9>kKdQSKhl+K9>{Q=Uv+nCiqI^ zwl#e{y|f!>jU}lCd7t~Kw%gz~p%FFc1q(2UuP_@U{(Nj3=Jjy>bRO;_D$Zx*?0k*t za|^|bpL4WOWfmJ7yKk$K1n=8kPSgk@(y}q=lltaE`?U=U$S-!eV&8B-7yB>zd98mO z!8|OdQNx!KBR*!Xa$W052dMtW6hSZiu5x+7yKXQu09<|gkLcZr^Y)eOc7R=nH0eR*t((rq~T#8)_e~hbvj7ueDTQ|1*eJ z4<`eIc;>45A}ZY-9XcFd>9X>48zGxtT|f4wBsL3JmF1>6>^#{LEvSq*LRw(kF`YbH zR+&Mhno;CTHVJ3mgU7?-Kelzt=9p#q)qt|BwXJ%QA>wZ+t&Ndb6p-=Fk#G<%#}uAu zU`{=@ScT76jKWvFCGu;gc@sj=2JZspYXFEqZdye`pM!148H)Ou8)1f>w9Rv(JLgAN;NN;iO6o~v5uWwswIob?p?Pj# zF-U6H7`4hy0>kUq^T`sxEqVMF0vIm55YPkc$RA8K7FSwRc{2R)KqgDiil z_a_P2uaAOjLa50F$Aa(-t0G(mJO!lkNfw6IRH<@#W}EK?KGZgDF;|iK^3Qh%cD5o{ zz5-W{W}lbVi5!|`xx6aZpMA^|8XP1Fli){03G}Vy@P$1M z$BVsv>50=6`=_~5U9pi&3JKqwTevC-c;AE+1{)Z#zTk-iCIRl>dopc8hN@QCSZrJl z@Cl~-DDZ#4Fa>_}oKw2(=lmduz(>7%6uhyB1M|;ylf%qEaOF~Yoxom{$1PfEY4+ONN942e!McF!Y2Tf!hzo}rS8zkK`^cy!9om2P`Jn#&)4o1 z^jEnzEb9z4W_HVy8+;2&5<+2p#3%J|hv*)!OlD*9{?7>C7waDpKCJ#qKq>2#O;)f% zBe*A7a7?*0SlP6&WZL}oqnvr4cOhQcC+5_QDd6#o$>q50n>GfZ&iPJf=#e$i2UIbA zhLhGE*&Elzqg@c*bJ9hBRKYLSVs^^iw_fxt7hcDEms`(J){?ML9ux%S6yugCuTV8Z z>ambUFL0!n6SN0D!G5XW8tQD(oM`+Y3YIOem@Ucp1^jy;m2Vs=S#Pnp&_J(Uq&X z{?kLi%Bu035qh0RFf|bgqt-RQWR9qR{+vmm0BHV2?+2NypyAVRXBH-qYs=H0s1GJl=Q%h;kQT# zZR$?6t~btA%ybVbraG@|CRmn_rI1v*w+FT8MY`&&AI@TBP+LJsv>l&?`CYTWUONoY z|7hS%N23}>CGlofmuDN>mTH=IMy2b*%oTqQJ^kh?v|CvjUqzFMdQX2!YL%%BI_ZMc z#uCN#Qk2rCK-SwWQQ?=M$OWuLPxj@CGa&)vyEmZM(ppW=Ax(K~_2z_{w z?=B8T3n{@>X`@2a61(UJek#hhxVmgGK%L|QBdeR;lsOGI7@#|?AGjZ({@t8^3?|*r z!p04C3u9Z%vU$cq=6LaL94OgtQ!@#@oULhw90<2v(Gq`q>6cUjOPZ|PthqfO@Jl#X zob?aLrmL=zxRKewkSlH&b0PY^kZ_oPm1^44H~3ly_ty=O|D2A&7>BUNCCCR07!OIR zui)scs18)tg%f1yKndm{OuvCMtdq-63*y5FqZeF7KC2nBtYEd|cdt#D+gK3{bLs(% z8IEmWT?=XG`>2R1fshn22wIN%P{-ro`XqjIn*(pIjr!3@;m(a^We2K29iiPsMuKaH3^PS3cicFL|WZiNZ)Nj_%fiID#ch=x{Z z<2^OUswtJ&=QV)@8JA}X2N3A)ql4>_3e7+)`TtMY-kqJKv_KGXf4{A~*9t`B|t-z9kZ*)n?x zCXBFXOi7^oTgU3qM-(~RvZ71Z6>r?w_`Tv z$;s4}L=~R}U;$C9aCji1n1a+f@w6SfbVe#s7RcW6H5zK65ULITExQBI9?mukRsBNx zc8D5Csg4ArZF8i)nA&(9dhq2qLdjAR6%zX{dZ*&~Hw>1uMK^$OuwO$TqcOtyh?OHNHJ~KCLIPK zEmA0g8qh9bqo7x8+vo3{)S!D@3Uje0>Y&Y%RwbjOM*v(a^Q(U3wm^e;tF!r)g1|F3 zP(x8BF1@fT-yDzZHP6caHXjAq^(7N^P-<70b}S&W#721P zJyu+In!M!vI+hw3lfWd61OLhv;l0Ku%t{r(L`iJTfldV#_TvP zA*rOoWn|G-y<4u;K}SvrLFtm_p|JN;vd}{By(4OlBU6BO{9?5(shTVU89ySZ0I9cG z(v_SaFY;hwm^?| zV!np}l3=JbHcvSsh^wb^URe44u&nw4(f;{5E4NU#jK1KfilU|M$|#dG6!9+(V%NNL zGvmJgW!TKry`q^jbGr?z)sU}w@F&o1scFWMo6-DG&;C{BYO*=-y_L%!OPOnAj}esd z6K-4=2@%$G^5eFXBjLwasE>x)2sQg=LW>ctFuK)r?w6BiT*OdTkqI=i(euF7h38gI zi71pobod)Nm+Gblmyh`Zg;}-OUWpB&)hHykS;aMwCCcPf-#Yk-Wc7aw_v!l#MtpA} z3SJ?UE<2%R>$jcuz|2Wa5#QY0xHviGM2=*Ab?3RZGvy>nu`Wjq%ZVj`oRb-0q}Cgm z_YfJJC!Mo?GYkOWK2d-Z*9RSa5zm1szK>;m#sMl^a4klWyV5K7mMt7l{~5VmPk=K?K36d2s9Tu{NPU4+H615V$*Ozdx-3A zcLr$nuF`%@GZsWR18F8{K<_0Is5RRiCT(2|qK| z--M-fL_Ws)9y}G(Nw&dw0d~3bx!B?{q}E2Rm|Tk{=VQ7LgFP`$E*uyteyOJ@JA|q6 z(O=|}_>FNMC-&oQTEG0f3rIyJCS)s|KNLml-rhF0zZ@?i((7F*p#V!* z_OfK#c6@rOpP?CStqv9g+m;iZxp3YUX)@aL(a1soadTlU}yjQ$0?mDpFAmJieYZ)AO!_PamrLq<;ff2UJp>GZ{w6oWw9#C8v=_lm_)J^5NbT@unBQSbw(HL zfI+w7Vx?J)QpSK{#3nsk+u*`kXHqk*xz)~2nojX`q5lZtXcYRPp`mVIyj>FW)b;KWDs0QV0RoKkYsVd+ zmfB4jxXPWZ_jX`wgJr>Lyk`8c1JsB3PTYLk!?4)@V2Hok4E}E_?mH|08ngda-1laD zyB1goxndbFCmf{BtOm-+zASBYy8u+ag=U1Dlhyg>^*Y!J-!^U$OM*?dWO38_K34rF zpZff<0!|_WCigT4jTIvIQ?$*TNlmrbFqcR8< zF(Uo48zfSRxb1*o0;=Y82fo|a<~3GqZgYoM(iq`b?T7m}+$ZCkTiFDlZN}I2VC@b5 z)|Pt153sB)HO^UlLr?a)`5=@6Q*23A0eNnKDG>Y&GoHWFi>T-9XVjHd=kn*T8mAbu zkG~IA2>+DBoP}c$0|&9eMjOjR0MRZpj*@cu9<>T?UAWzCGIk+MRdfHIceg&7ue#jo z!a4o&YXWIg4-%Qa$z*Q!`p!vXy45d}y7@S#6o<-ohEHL#B759;zk3*8N7YQO znAm?Y#WRHaoBidQ3OV`MG$j*s1=e!@uiE0J1j4P@{)scb2Kw)2rT+^8y#1$#=8#~p zBU31vZ}0S;wY}r2t9qW#P21J13}HWGK?lXl(Ww#89LQUwVFKPeBmR zdXA4nYkVV3fr7|ThDYX>KE@-g`+O@`i-{hwRq>tgq@%GrO@s;nFlHQONn7ol^kp%1 zl%O?1$41>qo~aW(EVGt#yXJLU#wk41<%u_W+=s2hls+rR_==Y({{z1~upF<=LBtJ)SgDjBRnhE;$qh;&s_6 zd`Wm4#gSg{%~#d3j!ZmCf0ct{HXk@cj2DkSGq%=`Nj*bIONf9~FR?kZ)L;Ju!aGR% z6sL;rEvoz-#EXRg9mHQE3PqrRMc(DBhi|HdX`?};#n{2T2j{JpPiW#t*HlOiO5Y_` zFfaNciwuuGvDYY(jPOHBNnkOjWV}`I+iMgEhXB?q@|xzRT|)IAVLx$_rJPfM))$Y4 zkq!90I`_SO$Z&9?-BdN zzAV;{&KTX77}d=hpiAj9XZnBi+vm-Q9=!p!_gDD!E_Nb+nJ$yf^i$qfRd44M5BWxd!ehznS@usM6rSEuYcXK7+Il)8 z1O0K)rH#z>jYUx=wj^918el!;F!DuSb=ssV2w=HT5vqGOl8&wMnQcKv1jwydkk zi|{ZAqF-Zi1^G-xQ7ufCUkbqG35Ha%v?JJC#IfgaqgbAPvgx!>B_H@8AOB&|Mzf49 z%-H1-Ke?f;u#0F`|NW{!u?xRgr1~QRnGcjgDGvC74glO6O6#GcTi?(iRkXX_z0LM&AW z71}qBeJ!CTt5|C4fpBh!*F?Aj)4xZ$pK1^`shxn=w^EudU&;i|9H{S2tv%P1l1u1{ zw*e5?px^n=4Emgez>i@iaR^VZRm!@6PugdI`b(lM=I2WWTocfyC;B|-yfFd>~NK^|B4;3Ez_v- z6DvEo%+iO%ObeWB)ULpor|!ZO0Hs$@o z-DMlE&vW;~>0_~jOLX0ZZ>H!n0Y?JdKd=Vc*KRcNp?ZX$zvgn?5lQ0p_&5izE%Qen z2jm>S1xU3#z`hh?N{EUfPdF;O6172VNKzskLTy86=t^0RsZdjZbiT^5=<367vwpkQ zZ?irguVkcB% z1pw|sp{Z7e8g%wNg!kq~-bZ4883v5L#M?-MtB`~7zwrtexvk0_GDS7D6DUNQiY6wb zDI45Aa>j!n(@@t6JREPVVjl>?A20`%ETj8kOC6>L`w;yq`5`03&IXrbanUDr@c=se zY9SHt|I8~Som@G2en6aqJYi#pEqsAKP1nK{Mo;9*y0H8NOGyg>5EkfMsfB2c@-(yz zoCSs^J|QYpITa=8R?=w+<{IcWmCU6LN&$eFTT+u3HUKJqU-F8=wq`VYnUWEK?oA^AhnO0O8n9 z+tIOQz%Yeov^bDyG;sP@r9{H4Z0hXa7_>Y{J9eWJr`g)=ZEI=&;O`B~BY#w$?q--(H6`q6n@ zQ2nEAs&zrpLA}%XZnNVeZNuwY4 z9!-wkZFE_>IIifV{Of@XY>rh2ZM%^`mVBe@(*T5?!1RajF!P!SgR*zS%T{S*Yy&khdO2h1%3goQVf&#|8QR5nEls`> zOq!*ADNe8W&&C9cftrElzNuY_+uiq93~M2xpcBEjbe{ zZzv2(fncjoA)zOALD&auGSjZeWIFre^3#p=B0Fi!Pt znvq>5CLyost{H$I+!Q02wxRSStz?WHZFjYXl^U?_Nn1>oY2Cj0G4?IK^r4Y3WEt#x zxwRzAfCNNKd72aVniia#bdF9>PY({H$dknpt{jdwhOGs;7Ys-UrRlk#OB0i{k(-k$ zZob7-2$wFrPk;c*>5x3ES)M5g&gSLCm%mTO#j!Q2J4D8X6Bk#7$ipPL612iRk|{ib(y0EsKc6H4h#D>hV$ zeYjZ;UBiN9R112lTVfg>NwxacaL%oabFDD3^`>a#E6&PFKRDFYHlMY9B?bi>`0H=O z1OBgTLRysJ1qM9P*CDFdD`cA1o7i5zI4GD`mA6bx7d^di;h&RHPDFxW$&51%KYv_y z)1&*7Qx%ieyV;b@>y$&Xv4@RK{1tLxf*Pv)=tRkfumVEKwpaw)w}WC_CyZBgN1$g6 z_B=#*;P!Wne?(KEF2MM(-{&OT8n_F7-1CF$3!%H_eGUDVhevan|FhNiczYLm$=b%O zvB{ri7=FhTs}!cxk28w(r=bjD;Pe%*&}4 z@HD=Ev(ApK-%@@nOidR;BY%ZdxBKp)_mloD{F!Bt#Tc#IL0EFtMt!J@51x7&O%Nv9 zB29D9ZrNTM0XUDqC!)Hg`ST2E@6jcLnBWy?B7T!CD4cJz`Ra<)CnQI|XY6U?qRFCd zc5UtDxNhzG=B6xbAlTaEpVAg)R4jw6%jb)#AIUbC(=hnr%j?#>JH!e!`DyNrNj+j2EqqFop85miR3#TlI3KNhCoPJ;$gjEidyd7}Q@ z;#7QI_w3&c(>*T+c8&7{!o)s03MkKc1XORUNA_c20eMLll^~IjTu$MjvSHELCB-64 zO)lkJRyIR!{97e>3>%Bevf9Q>8z7V3if12;UH;k^;GfzXDq0c?8DvzyaKU1Df32_; zHB?wr`->?sM*8gl`0b)c10SYBJF~kDpUwe%?JOLy$T(^wU%R&GLWY1P`@+|MMsZ?V z)}Cl!WrxPM1%EJ7(3E5Q@cD4Um=<3dfM5Nfh8ywjj}Jl{;rB3Z$Jr5FZQopCm*@;i zp+9pR(md4pJk-5Bt-bWvFM|{P@RbE=0v^}QFBi-l9Ol5W>DirUQts2)_jh2238nB< z_3y0#emh`(TNsjpahTOqe=_@iwQdz6E%&%Nkxd4QvSXf(*Pf4kp5}bOXBz(Nq^&Q{ z4=YVBSyn!dzfBSMzjF=~qqkG(&%f5dv;W?DK!xsV&*ypXx2s{;^iu!jN}oU%(dfqx ztaGvPZT$ONJ^(c6t}Y)9QMMFKzUQw91FXyTI>iYyKXNT#gZ&Q#G=V#?QoYW4HU>@e z**mZiP7B-M4-gNQ8jW($>jW+g)3*SFuWzk<6W|9e-xw_K)u*n5pCiH%$0EwR24wl}y@uqn!T5e<*d9ZQU^+yq#9y7-Gc2MeKuJIIO7nH#x~eTj2F;?4@5g#M=Q}6iXu~-V;mt+Ty3d-d zU`Y61QvVXGCyr@o7{+z3!rMhMU|z0yS@*^ zS>_BGkynH+zGg*LsLJ4-2k0#vK65k3LL|`UE=VQNoFIySx^>zAd!@HjDux3wcO9N*Hh2#<<42Ob-fCA%kzmQ8eV}`lC&?aFc)M1rqBO!XrygZik8k{&2|U z%znjP|HdIBa^YP)c%}#G2z-HvIclKz;|xI=R7Tj0uSgUX&duFdo1M;OvQ{Y`AVI+D@J?*k;94eWWr z7Kt;6?KOT4l4_~AH~)Gg00mQ7x5B+7APop3bbF0e#dR87^~ZVEEp!7;o+x${-V z)J=Da{3mIH{?OC+HU60H=Y@aY7+~h&;BQ6*uGV_^DDh*vxl;nQ0(V||-*PR6gZ#dS z!WvP+-%*2XH~(O8C&FLZZi(wbAX_q@r~K{*#qfu(Y-!MFI>}xOly4bNd2kiT!yK0@bWbN*&;aTNqWy-VD4(vG_>#`DeCnY_|~o{9Q~-`^}T4S^2lhm zcLKdDtz3$4k+vBbpm4(kB*@GJJ^r>U!2cswg4K4Z@9!Z4)SkbE41Q430=v{GG6F&G zmD?Rjj~dZKUagDSn8kTaGTV=&*pH;v|AUjKe#)tw7NL0b z)A42)dEPZ+&w@05li%zeS-iNt~096 z=}YZdYu-rup6iC0^|etG;-uG1ULfMCnlNondQ(fGDpqko<;n8|zBL;%AmsX0ExQOsL~*{BCKsD628ZxtS-{rT zrC{YF*!}=U+~rl80Y7#3S#xyxruzv#%e#^8DEd&;D2*e}bE>MmcZUW5IIg5`@vb$m zg}ydj^rARBStjtUyffQ?60uPW=Kzb)s&KI6a#|yy<0QI|=FDMpRn-XmYp@t)a^c!` z0EkYR9Oi7njT$T9>8)eA;q=Cb`h)Q0>xE*#p#6GF1w&RuqZvg2L&x+UF~rguy6xr3 zaBjPP0GyKR!zX~?uj}dNDg3%;2xWANHiL)Z2;NT#6DxFAh|>@}lk#>EQ0I3h7R2#! z8ml8ByFo-zT^!TryN0JaNb}g*Pkt=ZhOO%0enibU5TZ{qhyv(-eday(5tn1xEP{~` z0g&fUnZf&Cjh%NeTyNXQ4;E3AAbJa;_ufmeY_v$!C_z|JqxUEg(RQ8sUM0CWkB1YN&(j;s=$PhTEW39X?&2ss!UL5=K1!5>8-CgzY`U z6X0v{8V)d)9x$^d4gr1=Jo=L;`Yxa3<2yx$_0e!lqFzohU%lIZO)g-Iy~Ux-C9mZD z;RfEl8SiWUq~XJ-3ag`e*Lxal?QZY{TE^CIHye8 zPo+o|Z;MR?POi$@J?hwn0goeZ=mg-sVo#=x4TfOSImkXL=QD=)dr{itiUwvxVF9$| zb9*BZX|m2vxQVFI(|&*KLgcfeRf1;-Uz{2@yuFL+Y7j_p&V6*?4So_|g9${$A12VE z8)-iqP^*Q=?fT7(P-P4^>dZhLcrXAheK#?kaSGsP7}*(o1%>Avkf?K4h*r9)~s8cPj~*v5|tBjv=3>0R|xAfk1zm^2yPEtwigzL>WEs1{Lp~RXa}<(t^!j zc^Kmt;B_9Jr?y}Q`Xr{T?vDr;jGA0KsR*#{B+~QVj?aSyz7RIiQ{!Q@(uh~VS`<^e z>YDK$#O!5wvi0hXJ-$XQ2{M~9k{*T!d_mezl%RJHm(xx&?FbC;@8L! z?Y(v(h-dnOo@b?MZ>Nm@xthvwQ^KRWQ8uNW#?K3lrb!E=9WIxx{D(%N0@4jS0cyE9 zx7>y{swc-3^jbCX%RHq09lQ(|?mZBvo~Tf@(rol7tU55s6J+I8?hozM4iO)3XD|`! zm2mG2DotxEs0vInw3n6VOC6^>9f8WO?`{*by5bjgU44#j!T(dgx9R?TQa#*n4gxrN zN@fE`$RoS)F>8Ac=JcIMBLDQu=&i|D29`~k%(53jqfwTYIEQu~UM7wz9_gFB2& z5X{Rom;n*_G?id1!kx@v<(T&s_b%BtEY>E!lxT?tx6Q``qW&A3AeI0xL&9|x#1dfJ zr#39Da*I2n=AL&if3BpxeT$8wDF!qTE=$>({BRY=`OXV`A~t@d#GrN+zmwAfxqO|g zmJFV=0+&pyJBtR0Hcft#_aQ6ESNBb`Ou$`Uczrb2+S;mS17S{L9@c8P@18$5F=8!J z&gzJ}Bm`msG}7>*lBqUkMO4)zV|D~9TsyrE2E@uuzxyor-2G0Fqmiji1jQ7I=p`s5YWPn;7w86ePgex0qs_@AvfbQuS^a5K5ay{dUCLKcDVDjb|n!Vk_$#6 z+Wl6qh^8(hq|8vQL0C&mOG-t!tPaLfVAEOh0S?;@nV>#9PNwMkOtG&3L-!Vxhr=oi z_iE}-Sva9pGEWIEdTsa1*kyGAr@lvtMsP-^G`2}h*g}?^LRjx|gZLg; zwQ7`#(k0u?Y9=$}>#m25gXOZBxYA4n4MpM2iAAoM8D7M-uO#-Xn`#EZF}V8Ayn!nA zKej<0=BI0VfiUW*B#;iCswfHC1_f;>7&hyJz#Wl)PdYpRJ1J6nL^i1WUFLZ9vETVr zG7WzVpGcD=VceR3II;e3+aT%R^nx|`A07p}@}1nZ2}Xgaz@m9DA#r)J8*p{J6ubVY@ui1{$L@TB24N%_kqJW|5=0X4 zkRzU7o$7--70j8~`v>v-a(^UW%_jw9C-7K_eh7W{j+ky5HhOQ<+R2GOO&yG^nC`xL zA95YJSZKKd&4|!>Y=sGTkXdL{>-ha}+Rg{W7Pf<~!e=l!v0;M$T1Qu3e|P@-S(3i# za3f0(x!Suc?zb(tK%s-nVa=lC`(LZx=IS`WG4_&l_xj^EnLBK9C%r=fm#%KVUlFZf*o&y38p%RLdp)NI`#j&|*`&}*jwlIrb_oD}nzIiWX&&*qIy*4$bzSU>XWHw^m z@{g;ao5jHi^s7f!z1>J!?iySk$#iq|r~nBdmfBlV53jf$S9Pj%C`i2AkMJ!hjz;zl=UDYRwO1 z&hEL z9lN_@FPMcAZxpX##q;4S2i0T2tUlVkz%N$<7>#*)@~-6& z4WM>vns|Kq?{7~tvrmnUQqlHB-DUkjBg;NtjHn83p31VS8lhm^A<6WRofz0NHCrK1 z$FRG`3#t;3x?V@xC`i-!E9dBZE4Z0@f;&Y_W@8obotAszK?3ELNyMT|%<=1HK4W82 z&|BE4SazwWB~~eV!gsmMv%bxnT3kFnKK@`Jhr0v&>4qmf{0;}98kW=+PQcO$Nt@93P3m!|e7$8YS#`to|?zz?n1d8G0^K^%WNUOz>z4MnPnEet(t3wCwtX z=^W)Mt?I=A2PPUAY4tH5rrfDpWUuvgnjPCX`&ybBNUJ41+erUqX54oS3}=4w356_j zSr3`ztS2z_kZikmxd*)(Yot8oyj-4}MMl3Y7Tg|gytSg%=n*Hq>q7sf+da7tn(-IE z95<8UaBYmicfpLe?zr7<6|9o|4FSjBhZ2)sLTLf=-rA1u+Mt9$-UkaW|6J8GHcUIn z#z9tAxy!=3ej2q#bhM7?mL2t`#O@S-Y>03A_GMaIWM)u$siZ{Dq3Lg{+nXj)EBpx( zHn}uYPpw56^gFoPE#mW)2xEE9&*}yyY?-3BGS1Vl^9$f@pP9$uH@6iDmp_4> zLUU&C#SYxsV`qUkYB2< zCWOOCv_R-ctJx&Bz0vw>nBQ}{#fMP$lHcwFkvtXpWcOY?K6OHVt` ztCMgi$XspK^}!wQq$kN`V;iU80y#C*x_U=!C@=|vyCLj*i70UC%*A8Gj)xk8dgPcc5e|y3%8~Nyc6GxYkL;?QObgJ#* z=O>Q{P2tFB>fqF!r&=$^ez)`;XhfCg{`7!A?+^hCP%N>W?y+G^ACjV=ip!^U>6LbkS5?|ZOsTwEkCX(4@*`Ab0ut&R<XErC$*i-e#?=b~=5ZNa#r4NSWq& zSN0SKP{on@5Ry6{!uxc(S}{7qSZ*=s{WU!Bk%G`QJn)H`@SukP2oJ19HeO^=ee@a~ zaGVvGe0gAeH+PrtOv`nZ6r;K9>z9gjY9R2K6c*IRkdv*6DalXiJYqXYC0j|+y=6EJ z0e*CpX#RME1?Z$va|FH`l*$*?SAlPnL+KpfQUxq~h(55F(-avNmj5IA?RB3OJf*d; z3;Otc_ckd5K|wzY*|m1hsqGwzd24I7O(#4)i^u@mDat&nA()j*+ns2i2)}#39Pda% zCVIrnZp9!lJ=v)ns5-fJ`m@87!JJ6OfYVCRhFKf1j#QO_Jk7!S4O3)0 z)7kLcFwUOb%YP|mO(t=YtVZPMvEGZrme^npuzMN`J@DGMw=_xdA|XRRw7$~8s4v+h z0D$5cc6ch0ZH->RiHN@Ts2~=$gI?h_T@tq(;=+#}96?aL9zh_AiDOYY=k4Z5?s|e6 zl3J*7BNw3|c*7_;Qbt$liQ^(zdu3DbTS|3VJK$x(V?XjFI45luX^82`Z;gy#`81de?AktAXA5_FJJ=+6=bsX1lNg&2SPR>x|yjYBh0|3@M`N& zXxwmS;^82Aa5+XvuVz!cSnL%4)k4aw`*ow|qD_g)kJx|LSK5Es`rn%Up3}agD9{^{ zNoKs`bw0gU+06CGN%+f)_`VE}oyXQ|jjC4a#u2HvBXjYci$moa;0dmq5lebPAsW^g zTvbzkfu;$Q((Mali+24c%A=*?07L~#V)tTgDIAxvlwK7puo}OtOhcVGxoK{}BZuc} z%E25OsTVbsrN6eX#s1ol#fNrOQIy4 z9}}cYupYh_I}~PdYGWx|Z z==q;=A>3{?ON~~Pe{X}4&QQR3>?t;vB)BxJG$E~FIO#H-2gs!+<2qyB(01+0+Qvno3E`pUy6!gS zU9i|hFO95b8%i~W)z84dD)!`l=B4@cjKX4R*~;C0kXO(-LWI08Ye1)LB+-nZK}ccm z1mf{6SiOkh&7=aQ|MLdPmAj8Itp_vez0ej}KlUkTtG`A9Y#Yt!{9V@BFCk2o8om7? zlQe4Gv-SEq^DUc_dls|WT8-per{Mqmc#N#Uz4k$Pvv$GNB-7QpLqzE5Z9I4~TChTc zx$uK~8PiLq({0)P2U3Kee{arnfryaMzUF(RPMwn6#k;X2k5|&Ydujsz73y%?&eLJ$ z%toAWo8byNHVe;!f<+yDqPjxRXPLaA0C3q$c7i=apb0_vLxXTcTCfVbB$s-JDIhq0)O#XMiZah{N@P^6lC3P zX|9gY1(I)v4My%f7&mSFq})xufD<*&Bx+jPF;L9b{H<-dAOidkJ}j(*fdB68?d{f9 zc}2zGYuycwn23sr9ZlPnU$5V%;>~jZzg#-I@2gB2J;1#>Kb>ruXk_f6cARUd24yXs zB*sJ#7H&a70llnWAzdURc3OJ6&q|WMt?gr#!2SJeN$luIoOx#S0z?+dT^=(}&rn^R zfL~u8wd8)+9)!c;WXcKwx%)aMCf@_Dh%=3Mt}v`yV~f}ycz{850DviLDwRDnd-FeX CEO?&) literal 0 HcmV?d00001 diff --git a/doc/计算机结构设计实验/lab10/image/image-20240123134317947.png b/doc/计算机结构设计实验/lab10/image/image-20240123134317947.png new file mode 100644 index 0000000000000000000000000000000000000000..ef871da416f0a68e0c6de18d96cc9e80c1b2708d GIT binary patch literal 32510 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 MBKx^qNblQ!0Z`x+RR910 literal 0 HcmV?d00001 diff --git a/doc/计算机结构设计实验/lab10/image/image-20240123134347792.png b/doc/计算机结构设计实验/lab10/image/image-20240123134347792.png new file mode 100644 index 0000000000000000000000000000000000000000..0d00ce94480b18bf03c4fcc3aba2d79cbd87d46c GIT binary patch literal 7750 zcmchcWmFtZw5}T&oZyn60RjZ~;7kSxuEG6-5Zv9}gS)#226qhs5(or$7)WpicL;DM z-#Pc+x$EBZ=ltoeUaNLhSM}~%@AK{`Rb?4mtQS}S0N~2WN~r??N*1Cmgn^8>E?f^F z0RT0woYY$l&z!^609gvFHQ>Y{=GZ;$yp%pY1k+W>V$WGwZ8uWvh1HYek#9eNv119R zt1~s+oc-cmSd9_1X76#s{5s7DUZ~VD!Eb0Ohow(=%o64J>jE#mq<{ewqiZ?;S|pXv5`ij*jddJ({A)k||H<9C+3bIX{OY4I^{Cle+79{_^!G87*&ScwXdl9Ha~ zqW$~46r7ZlB|&6 zcexQk6Biph$(Q>#KAqE;QH}?uON=kd`;J*AYQmVZFdYE4y?s=OQjdKbWN`wH$Tg7w z|Ndp@Sy%=g;!T^D>qKHyA2%`j z;ZKi>G5`!Vw{VqY_AU(2$aPy^i(;TL5&^{1eNJPm90L1oMAP{Z4+Gq|fuiHBIb~5S z+10UQY2S=^aEg0-dm9_4!4-~Uf(J-I!J1HVD`i=(8!c!G%T&2X`D|zhcYy0t$&)Aw z_;kLQ73uq4!Ow&4Mfw?40N8oRe$#NvDEH)*)+t;zPBD~yySGe-0?ymV>QThTlvUly zSzGIrvNYc9@ZX&%^tGtJHhrcL2YdJ;Ieqct$J&uoGEx+`Q(Tl6Vv5^};=B*zZAA`R z$RCHgjbH_hvBgS2pHTVST%A?m=@h4C!V1~spg_<1H>`e=WeD!~%7XbFH$ze#EI^9} zZ!>o0rY{Z(aNr4xV=ZuA4Z764468c4SjzSwJei{%Ra70* zJIfu?L*%*iuZjuY33|#gj~A>OZlr|CNKZFYMyHXBH~_wyMLI+_T!Phkm`sLh>qD{< zVc{g$dBu)KZ?99&GY&Lybl1(?iSgyi$19vU}>47JgKO{mz?)A}itVXFKqz%2=&SdKSTY)2-o~3Q8oCM+UhACHilW zc)WJW7Z!Hrl{q~zpANIgs2LYOI&BH}1&iYWC*na0_;gLJT34bIn;zO>aFn23)+O)3 z_6F$0?;wi22`SNba9Vw=A+Fb0Yr$ZO8epuPy z{OP+cT11n_xJ|mhLm-D-E?{3 zdgiTrQ#tD=Lx)6{KRcJV-5lkpqQrr@AEhR9-)wc{Jh7a8zXSr3{RH}{kyK>|QkM%@ z8{Wb7a@DISlmxKD_y|!7TL}l77x&bBe#eqayS6IoKGfhm^d7nAZftU(f$xu84xX2< zy+-df#{^_imnbMFeVGgkj4Jl;IEV5Fk=%PCl_0C@d9&9ewM{`-sLuqz(t%uRiY|6; z-k8$dV+QQNO8m4orGa(WZ1U_Zkl4GB%B##h+sa!%t68v$%Nh5TPIez-G=CeQ<7pC< zP_CJSG-%Fp?btkpw_NL~&+D++@`I)P+q~aFNIQIsySp2gA2pf3x12CpIxAR24tv?K z4hvkIl(#l$3bU{Gyb6hG3}7Vr!5|d6riUuc%_fN=6%K}zd<*ALaY(P89|HPZT5A@m zYd!ACEU1uFgAe4f$0vU%PhUSK%N6J9ucN1fXImmsxqU}$-fupLhH{cEeL>6KTZ;L*A91f+r2+&p z#)q~{V6So5RjhhvJIAAUT07={!e{K{kwm#V-!en;Nx^nR8i2H3-ph?W|t+$G4DGA)4z8c@hIGn+dm*v{x)*5 zy3?*`tanIHYk7-dm%G>%_DTsKnBf^q;0_gVV~Q<)<6YFRwNya}fPGR8W`|rrKwG?{ zZU|p|(MChVmd&E;D+QE3+qpgOM9a`(iKX5d=g_~$l-Xly8uu_*4%dpdI&MoGO*?=t zg0Xes-fzX?L8CFY4RzXCjX~7DY(DPgJB&k$BnN!CKu5NuW5sCD;QT3|wq@mASfq%Q zv)N{-R~}})?ipCoU=3vOP=M+j%TIs7qbFK>bU@wCn^moHZotnkiQhj>s0FN}yk+hh zz;(A!OVk0V0He~}?>64f4=1>m67~+An!Db4A}r68Z|p|XKjcMhssTh6y|f=`pv?(t zXC=`3{Wq~p8CM%_S>IPaa7_5Oh}^NjEh}op>o4M)I~4W|cJg0_UIAWn8={hfM_$M- zqvm=hB^43$N9-M%Ni0nhmL}#4Jz{0=4dPbsQz0)TU zsqUbv6!0+isW-&TS}KB*@-bb(dfi8yBrPQUia|Q0Y%eo2v)hh-n~;V4A6n6;p^W?& z#H`GZdamM!ZkIul)g=F2V`CExz8jnaL0D?@+Prj?fG7R3ibmL17|tWM47v3a?P!>{_*BYh%cO4lWPo zBk*YEF8>%$FZy+)WiiOB6W1r)NxY?g8Dl@b9YNzSC?N3e`0`UFNbHddKN|&zu7sK^ z`J4&usciOXAOpn$P+YF`zu+Q` z)7kiMqat#{1SPZuoOyEVN?YyO(|}L&wNwlJeOWo6v!Wl>553wcwRc#sxSs{PR<%Rgoic*lR)mUWhkh=1AC zD-Wz6t#-P&xG*MLOu|k$0Lvpz+C7weQQaNPM7c zHD1kAA3kkHJkbK5HzSTlLu?YW%=a6~R_7_38ssF735yYYK7E_Qe@1Nl$kYF#lla~e zwi0?^yVWfTd)^o2mn>{c5AH`4OGNvoyv9DMvX;-o7^G7_`lZsw<9qKzspe9W6J#wH zj~<8^tFW&Dw=@70NZ{5| z@NR9IrhG(tB~PXOIATP?F6El@f6Vn<3r||78VCz7kt6 zlZHo}1cwCFaZm=E+&F>3SuzwTPkXReCuuaz1>8cyh-+n$86adOKbf=#)zaLL2h-R! zyZaeOv<2>iS7D=Ss9?-~U-+d#vnA|Om-B|l0rzF-+2>GC3D|4m+8z64p*M?r@XD6} zfYGv(7SiKz+(Td-t-7*fYu~W!m1+2?O?3B$*`#-YOa)qgLH-o>zG`G?Xxv7&&|0MX zYC9K|nAA>?oF@?|z!@#HV@CxieKe_N7ik}MXb==;ApCXYBJeY2YsxeK+j4|k;rzjm zjABTxQ~P7e!!!23Qb3U90_Orl<~(-@OEWj@>xVvxo+fQkQvnn}YG$z%KWXD<^ompT zw+HOr?~G9smb5}gEqFB-hU}ul$d(=tYh=1_-eMF&h&vB(f7BcJElrG_EiJvz@|~tH z_s_ZTir{O>Q-~?BVJEelIecz-cl(#;$ftz|xIBy`t?}n|<4Rj-R6PmT3L_88^!boP zvA-2(JJe~57gZyfaL`H^h*rEdUZg61k(1J~++f`G>yg>q5THh!y>@sz^~MeOTL(8|?2Qb)%jB*QoHdbI9jNEalHSx7^|^GC+oe+?4k;M#IE!$)kiJ zU431a@?$!)&h4-WxfWf6_GfhkKT&`#726axh~>`zgbFqBaG0XhfyfH1KBq{rRHQ(m zj{R*OT|G1)Q5Qrz`sq)z9lR~PRozr4j(_onP~B$zd#Cte4<$K%Xx9aLK8qT_6~%7x z8VDRNT&D*D_2wEL1wL;D+{g}{KI?3(z~CBl|GwFT=?w2e1pwmtkLC2w4q|ma^Ue4N z5!d=W5ckph)NH-^qTn#fySO5<+l|Gw)5yaACT}S=9`(bE%u(tVOCxd5osa!bT>Z4(#Wj zD<7ExO~>M`c~1Me&L{e5K%i7XcR#_H#}sHktg80O^p7rOf#T|V-1N0PrAec?J)ubL zMor0$j41>i57^8kwJHB8wv!rR_~jArPj1XY@0m5DR>v0U`_=c-u>hd+gJL{sqZW-9 zuj#L$@}CUKe<7Wwz#MJ0ZQW1RNmE`v)HdUJ`WHiwdKaouCTlfd<6pJ3gO2TWdg!qL zaKa2hn#7nJ-YAc&%>N-#$NBlkSQovPlAiaZEid}mB|ahcq^om!i()mXyr36@X_52* zGizl^dtcDOF7;9fJHVS&zjPY;NS`M|@ZLhbUolB?w?B7Ta0oX*!X$UDq(*B-O zyS*&(cb34Dmb2TJELsJz)=OTu-~-1}WuoT$d=2bj(VDe&yTtL+7|k#89z!MUZ#opQ z4eC4jYc0OP+QSUcjALmRdigM}S z4u_lh5Tw{z2H)BD8RhTT!iW@sJ7sR>yYnh!ptYJV(3@o zeF{qj69U_i{zT-qlm~(_BtR;qoI={F*dCVL9EM1b<8V8%=SKPqCcK6|iLyUR(RKcN zB3}FM#{;RTV6U~UsIt)_Hvj;Wk-aTmH2!*Tz}C9eH)Z@E&)IPs&jV4+ux+YBPd?%L z3r>OGPeix{x9=b}_l@@fww0T0$pA1}`3+5NQq4o~H#0(9g|^V2Hm5%J*?#<-cj4!> zAALN!X~daX>SxjFj}+$wZR2}jompJC_Keq;#;6&!UHg*6hyhqRDpO3eD2cZRa_BTH)7PI*f11X;y zujuNzWRCANgthL9Ws$!g-OdNJNwV>b&wW%BL^xHDW$q{W(Khbll5oBR&0*)K=mV9_ ziA_?U-uU~^`PMB2=_Yy{(V@d*7fak60Wh|l#fQ|F-?UnHL{WZ<`UU*#;i_|oQHk1(Qf~j1rVOND^gwMZi?gge0|{T0 zrTFD#dyn1E^>b6%@aR2IF~avn{{}h!gV-sz?aXu}?+ zk#kq;B?L=;R0;SW3;FSsaN%FHWNpQ09lSZ^M|o^IhR@lAKFGI#xN!$|kB^Vxa6Wt% zRqMKW#+(v40Eo82M`xNbfhtwVDYX}5piQ2FW7qWJUhX9aA8Kj%t>aT<3>IJ+!EvjI zLeyDhvH{?mbIgPQc`mN7-fbyuxPu$2MRAB-aA^)Iz%`lnad};eCH7x|n%b1~`&mzL zvVEMig(m-Ys&e9o_H}ZVGIMGwc*0jS_j><=j2A}m1WLS_QkLK;Cqm{m{?y-$ytS94 zc9xg5e3S_V<3imsy||(7A+-k)&!|Q`NcBt6e58AVeenYy5YR@s1J{NTPe9|qjfc68^Y`+7~Cj? z4i8dD=XgLAw8pq~y6w!;*JxF7=0#f0mO>RO%=QL-{22Ul$fjYP^*7o|YBA`YyS)bL zR0G%H$<=z1&)gS6J4#jhq#E6VYs|Q^gngkiD%>$!*;)Bla+DyA+%Yd7go~jZ?~`kn zv-O$x56?XsI?ez&IXQybX%H~bNW(|~0f1BSql~HgJ1=zXjx*V~AJzca-(*91YFUTf z;TpG@rtPiDsNwM@)<%V3m;b}v$;LoOPmNp_NO@j8SxPRNj#T}L=^Oor$+5*hCj)rH zLqogWdECtf!!&57E&!POvibAt(VY^BM3ncKKmmEr)s4IO_uP3^OAg~6-=?fT}IgaEg6PKL>xc*s}=rvD&AdM0Jc|qtIwA%(wZ!VEunl-i?5vSro03 z;qZyMnlQMM?9IO@?_}YE;%+n`6311)viOiMDw8lQ#NDbn>jY=}xBSRria1~Y3-8e> zXq!MIp+Cz}bO+Bz)U&G`O_zk(o9v-Jd+%XF2-21pb zrKP3)Em?D49Vo}T_zxkNPu z0NdHIORFiD^TNI(hV^Dbe1WW@ih!qk*k4cJV4>cuP_?2 { + it + par()[#text(size:0.5em)[#h(0.0em)]] +} + +#show list: set list(indent: 1em) +#show enum: set enum(indent: 1em) + +// 缩进控制 +#let indent = h(2em) +#let noindent = h(-2em) +#let fakepar = par()[#text(size:0.5em)[#h(0.0em)]] + += 实验目的 + ++ 掌握I型和U型运算类指令的数据通路 ++ 掌握在五级流水线中添加I型和U型指令的方法 + += 实验原理与实验内容 + +#figure( + tablex( + columns: 33, + align: center + horizon, + repeat-header: true, + header-rows: 1, + auto-lines: false, + + vlinex(x:0, start:1), vlinex(x:7, start:1), vlinex(x:12, start:1), vlinex(x:17, start:1), vlinex(x:20, start:1), vlinex(x:25, start:1), vlinex(x:32, start:1), + + cellx(align: left, colspan: 6)[31], cellx(align: right)[25], cellx(align: left, colspan: 4)[24], cellx(align: right)[20], cellx(align: left, colspan: 4)[19], cellx(align: right)[15], cellx(align: left, colspan: 2)[14], cellx(align: right)[12], cellx(align: left, colspan: 4)[11], cellx(align: right)[7], cellx(align: left, colspan: 6)[6], cellx(align: right)[0], [], + + hlinex(end:32), + + colspanx(7, inset:(x: 5em))[funct7], colspanx(5, inset:(x: 2em))[rs2], colspanx(5, inset:(x: 2em))[rs1], colspanx(3)[funct3], colspanx(5, inset:(x: 2em))[rd], colspanx(7, inset:(x: 1.5em))[opcode], [R-type], + + hlinex(end:32), + + colspanx(12)[imm[11:0]], colspanx(5)[rs1], colspanx(3)[funct3], colspanx(5)[rd], colspanx(7)[opcode], [I-type], + + hlinex(end:32), + + colspanx(7)[imm[15:5]], colspanx(5)[rs2], colspanx(5)[rs1], colspanx(3)[funct3], colspanx(5)[imm[4:0]], colspanx(7)[opcode], [S-type], + + hlinex(end:32), + + colspanx(7)[imm[12|10:5]], colspanx(5)[rs2], colspanx(5)[rs1], colspanx(3)[funct3], colspanx(5)[imm[4:1|11]], colspanx(7)[opcode], [B-type], + + hlinex(end:32), + + colspanx(20)[imm[31:12]], colspanx(5)[rd], colspanx(7)[opcode], [U-type], + + hlinex(end:32), + + colspanx(20)[imm[20|10:1|11|19:12]], colspanx(5)[rd], colspanx(7)[opcode], [J-type], + + hlinex(end:32), + ), + caption: "RISC-V指令格式", + kind: table +) + +#figure( + tablex( + columns: 33, + align: center + horizon, + repeat-header: true, + header-rows: 1, + auto-lines: false, + + map-cells: cell => { + if (cell.x == 32) { + cell.content = { + set align(left) + cell.content + } + } + cell + }, + + vlinex(x:0, start:1), vlinex(x:6, start:1), vlinex(x:7, start:1), vlinex(x:12, start:1), vlinex(x:17, start:1), vlinex(x:20, start:1), vlinex(x:25, start:1), vlinex(x:32, start:1), + + cellx(align: left, colspan: 5)[31], cellx(align: right)[26], [25], cellx(align: left, colspan: 4)[24], cellx(align: right)[20], cellx(align: left, colspan: 4)[19], cellx(align: right)[15], cellx(align: left, colspan: 2)[14], cellx(align: right)[12], cellx(align: left, colspan: 4)[11], cellx(align: right)[7], cellx(align: left, colspan: 6)[6], cellx(align: right)[0], [], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[000], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [ADDI], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[010], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [SLTI], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[011], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [SLTIU], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[100], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [XORI], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[110], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [ORI], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[111], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [ANDI], + + hlinex(end:32), + + colspanx(6, inset:(x:3.5em))[000000], colspanx(6, inset:(x:3.5em))[shamt], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[001], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [SLLI], + + hlinex(end:32), + + colspanx(6, inset:(x:3.5em))[000000], colspanx(6, inset:(x:3.5em))[shamt], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[101], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [SRLI], + + hlinex(end:32), + + colspanx(6, inset:(x:3.5em))[010000], colspanx(6, inset:(x:3.5em))[shamt], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[101], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0010011], [SRAI], + + hlinex(end:32), + + colspanx(12, inset:(x:7em))[imm[11:0]], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[000], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0011011], [ADDIW], + + hlinex(end:32), + + colspanx(7, inset:(x:4em))[0000000], colspanx(5, inset:(x:3em))[shamt], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[001], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0011011], [SLLIW], + + hlinex(end:32), + + colspanx(7, inset:(x:4em))[0000000], colspanx(5, inset:(x:3em))[shamt], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[101], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0011011], [SRLIW], + + hlinex(end:32), + + colspanx(7, inset:(x:4em))[0100000], colspanx(5, inset:(x:3em))[shamt], colspanx(5, inset:(x:2em))[rs1], colspanx(3)[101], colspanx(5, inset:(x:2em))[rd], colspanx(7)[0011011], [SRAIW], + + hlinex(end:32), + + ), + caption: "I型运算类指令", + kind: table +) + +#figure( + tablex( + columns: 33, + align: center + horizon, + repeat-header: true, + header-rows: 1, + auto-lines: false, + + map-cells: cell => { + if (cell.x == 32) { + cell.content = { + set align(left) + cell.content + } + } + cell + }, + + vlinex(x:0, start:1), vlinex(x:6, start:1), vlinex(x:7, start:1), vlinex(x:12, start:1), vlinex(x:17, start:1), vlinex(x:20, start:1), vlinex(x:25, start:1), vlinex(x:32, start:1), + + cellx(align: left, colspan: 19)[31], cellx(align: right)[12], cellx(align: left, colspan: 4)[11], cellx(align: right)[7], cellx(align: left, colspan: 6)[6], cellx(align: right)[0], [], + + hlinex(end:32), + + colspanx(20, inset:(x:12.4em))[imm[31:12]], colspanx(5, inset:(x:2.1em))[rd], colspanx(7)[0110111], [LUI], + + hlinex(end:32), + + colspanx(20, inset:(x:12.4em))[imm[31:12]], colspanx(5, inset:(x:2.1em))[rd], colspanx(7)[0010111], [AUIPC], + + hlinex(end:32), + + ), + caption: "U型运算类指令", + kind: table +) + +#fakepar + + + += 实验要求 + += 实验步骤 + += 思考与探索 \ No newline at end of file diff --git a/doc/计算机结构设计实验/lab10/实现 I 型和 U 型运算类指令的理想流水线设计实验.md b/doc/计算机结构设计实验/lab10/实现 I 型和 U 型运算类指令的理想流水线设计实验.md new file mode 100644 index 0000000..5fe99e3 --- /dev/null +++ b/doc/计算机结构设计实验/lab10/实现 I 型和 U 型运算类指令的理想流水线设计实验.md @@ -0,0 +1,10 @@ +![image-20240123134117946](image/image-20240123134117946.png) + +![image-20240123134317947](image/image-20240123134317947.png) + +![image-20240123134347792](image/image-20240123134347792.png) + + + + +