计算机组成原理-运算器试验_第1页
计算机组成原理-运算器试验_第2页
计算机组成原理-运算器试验_第3页
计算机组成原理-运算器试验_第4页
计算机组成原理-运算器试验_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一运算器实验计算机的一个最主要的功能就是处理各种算术和逻辑运算,这个功能要山 CPU中的运算器来完成,运算器也称作算术逻辑部件ALUo首先安排基本运算 器实验,了解运算器的基本结构。1.1实验目的(1) 了解运算器的组成结构。(2) 掌握运算器的工作原理。1 2实验设备PC 机一台,Digilent Nexys 4 发板,Xilinx Vivado 发套件。1.3实验原理Digilent Nexys 4开发板的通用I/O设备电路图如图1.1所示:Buttons33VBTWLBTNRP17M17Slitfe SwitchesB.TNUBTNDM18P18N17iayBTMC55553.3VJ

2、15L16M13R15R17T18U1&R13IB_SSW10g-g S'l I go 5U8R16T13H6SW1 4g-V10C12CPU Re-setSWI27QwU11Artix-7H17 K15 J13 N14R16V17U17U16V16T15 U1-4 T16innLO1JLD?JLD3*-r"LB4JLD5iF111r几 j pT1O -R10pK1« pK13pP15pT11p L1«H H15PE.S.S.8. S.S.8.S.图l.lDigilent Nexys 4 fF发板的通用I/O设备电路图如上所示,Nexys4 DDR

3、板 包括2个三色LED, 16个滑动开关,6个按钮 开关,16个单体LED和1个数字的七段显示器。为了防止粗心大意的短路(假 如一个FPGA针脚分派到一个按钮开关或者滑动开关被粗心大意的定为输岀时 将发生短路)损害,按钮开关和滑动开关通过串联电阻连接到FPGAo 5个按钮 开关分派到1个“ + ”信号的配置是瞬时开关,在正常情况下,这些瞬时开关不 用时产生低信号输出,被压时产生高信号输出。另一方面,“CPURESET”红色 按钮不用时产生高信号输出,被压时产生低信号输出。“CPU RESET”按钮常常 在EDK (嵌入式开发套件)设计中用于重置进程,但你也可以把它当为常用按 钮开关使用。滑动开

4、关根据他们的位置产生固定的高或低信号输入。16个单体高效LED通过330欧姆的电阻阳极连接到FPGA,所以当其各自I/O 针脚应用到逻辑高电压时他们应该是打开的。不被用户访问的额外LED表示电 源,FPGA编程状态和USB和以太网端口状态。控制显示模块的七段显示器的原理图如图12所示:图12七段显示器原理图Nexys4 DDR板包含2个4位同阳极7段LED显示器,配置表现得像1个8 位数字显示。8位数字的每一个由分派在一个“数字8”图案中的7段组成,每 段嵌入1个LED。如图17所示,每段LED是单独发光,所以128种模式的任 何一个可以通过使某些LED段发光和另外的不发光显示在一个数字上。这

5、些128 个可能的模式中,有10个对应的十进制数字是最有用的。图1.3显示的是7段显示器共阳极电路节点图,每个数字前的7个LED的阳 极一起连接到“共同阳极”电路节点,但阴极是分开的。共同阳极信号用作数字 -8显示器的8个“位可用”输入信号。在整体4个显示器上的相似段的阴极连接 到7个标有CA到CG的电路节点。比如,来自8位的8个阴极分到一个 单独的“CD”电路节点。7个阴极信号作为数字送显示器的输入信号。此信号 连接方案创建了多路复用的显示器,其阴极信号是所有数字共有的但是只有数字 的段对应的阳极信号生效时他们才照亮。为了照亮一个段,阳极应该驱动为高电平,阴极驱动为低电平。然而,自从 Nex

6、ys4 DDR使用电阻去驱动当前足够的电平到共同阳极端,阳极可用被置反。 所以当激活时,AN0.7和CA.G/DP信号驱动为低电平。In dividual cathodes图1.37段显示器共阳极电路节点图在这个显示器上,扫描显示控制器电路常常显示8位数字。这个电路在快于 人眼能察觉的更新频率下重复持续的驱动每个数字阳极信号和相应的阴极模式 信号。照亮每个数字仅有时间的八分之一,但在那个数字再次照亮前山于人眼不 能察觉到那个数字变暗,所以那个数字一直被照壳了。如果更新,或“刷新”频 率放缓在45Hz左右,就可以注意到显示器上数字的闪烁了。4个数字的每一个发亮和持续发光,所有的8个数字每1到16

7、ms驱动一次, 因为更新频率大约在lKHz到60Hz之间。例如,在62.5Hz的刷新频率下,整个 显示器每16ms刷新一下,每个数字在刷新周期的1/8或者2ms将发光。控制器 在正确的图案下必须驱动阴极信号为低电平,而驱动对应的阳极信号为高电平。 为了说明这个过程,假设AN0有效而CB和CC有效1”将显示在数字位置1 上。然后,假设AN1有效而CA.CB和CC有效T'将显示在数字位置2上。 在无尽的自然演替中,假设ANO, CB和CC持续驱动4ms,然后AN1, CA.CB 和CC持续驱动4ms, “71 ”将显示首2个数字上。一个4位数字控制器的时序 图例子如图14所示。Refres

8、h period = 1ms to 16ms4aDigit period = Refresh / 4ANOVJAN1 /AN2<JAN3rCathodesDigit 0 X Digit 1 X Digit 2 XDigit 3图14 4位数字控制器的时序图 本次实验的原理图如图15所示:>lk1.5运算器实验原理图1)内置一个32位num2作为运算器的一个输入;2)将swOsw7输入到numl,经过符号扩展到32位后,作为运算器的另一个 输入;3)因为运算器支持“加、减、与.或、非”5种运算,需要3位(8个操作)。 将swl5svl3输入到op作为运算器的控制信号;4)将计算32位

9、结果s显示到显示器上,显示器由2个4位同阳极7段LED 显示器,显示器显示的是十六进制,显示器中有reset信号和elk信号。其中运算器模块的第一个输入变量为8位操作数numl,第二个输入为3位 的操作码op,输出变量为32位的运算结果resulto设置一个32位变量存储笫二 个常量操作数num2,该操作数固定为32500000001 ;高位补0扩展第一个8位 操作数到32位,这个32位数用变量Sign.extend保存;最后根据op的不同进行 相应的运算操作,将操作结果赋值到输出变量。具体的运算规则如下表所示:表1运算规则操作码op运算结果000result = Sign extend +

10、num2001result = Sign extend - num2;010result = Sign extend &num2;OilSign extend 1 num2;100-Signextend其他3200000000;1.4实验步骤1 创建项目,首先打开vivado,在vivado左上侧菜单栏点击File菜单,选择New Project,如下图所示:2014.2VIVADO'k&xcj册 Minted«<ai<k Start厨5iXIFB BwertTCroat* a YlvAdo Projectru< nil JWJ 3tU &l

11、t;rebUXb af rxC<>1<r4Illa rkM I»ll gE£ XILINXT» '*U« pcaj4tt »>q »i)l m*1 s aaw l«<«nu 6c ?xrFiojx, filo 計.秽 Hll4» t*r» f i9» *?« 1) U *xhr< nth h*dLv«2l«r4 eko*luck T山 r:dmVIVADO.1t» g" <U<k

12、Binc“B hl Cc山池一 tSS3点击Next,设置项LI名称和相应的路径,如下图所示:2014.2lit* ilm ixu<i*VIVADO'R-MLCJvn/ MlH口ed£ XILINX t» K4U* Projectg.»W9 if色Om PVajwe«ict Tt>< Tt4mt««r rm» t« yxr“ v<ctfy ijr«rt«xy »W« tk« 戸勺口 go ftlw nil UJ“】滋 TWf穷口“i_

13、一 _. 汕一直点击Next到Add Source界面,济加display模块的源代码文件,如下图所示:点击Next,直到Default Part界面,参照下图进行选择:点击Next,然后点击Finish完成项U创建。2.将display模块代码封装成ip核。点击Project Settings菜单,弹出对话框如 下图,按下图方式设置后点击Apply,然后点击OK。其中Category为IP盒所在 的上级目录,当添加IP盒时需要在该目录下找到相应的IP盒。足 Project SettingsI IP Repository Manager/ EackagerQener alSimul at io

14、nSynthesisTaplenentationfiitstreamIPOKCflncol设置成功后,点击Tools,选择Create and Package IR直点击next按键,选 择IP核保存的路径,最后生成IP核。gft»5k 一 d 缶$】 iiU 叫-【兰】ly Li- I>b4e E J Sl.fMlr / 0Q"* Fr«i»4C BUMfMrrtjKC $4CCir<BQ hM SMT6«C9 » 3S* IVn Cr«e*« (wno ft “ >*»< !

15、gc K»4 W,t»!© 商.al.uo 5«t«tnp Q M TiaalxUo'KIL Aa«bxi<C«xaCmbi*E S>*cVmU S«ttlM44 La0 0 C«* £9«ka;d ! i* »!«0 a9【wig 伽ciSA haa Co!«5MTCM氐 Si lEElI . .Ca«AUa4lXkX'紅dwK S<«rF<&«« Vrr Cwt.&

16、quot; Pr«j»«t54»c? 4w hr»nay »U<« ti» JPri)l UmJ «U m»x«4«ci4«< fcrcketiac tW cxrmt fcvjxi.P I; V ,J.w/m*_!A«rw»/«IP ,*:; Al.Ozw Jf «««x7 ni««%.»>»t »««<*<

17、f»t r« 厘d twM121<I Cm«l» B«n«(a: MUf -" V«f«rt< *、. 生成后会弹出该IP核的详细情况页面,点击Review and Package选项,然后 点击Package IP, IP核就封装完成。:52 Project Surnary X > Pack ace IP - Binisys X3.Wcalculate融块,新建项目然后按照第1步将calculate舷的两个源 文件加入到项U中,如下图所示:创建项口完成后,可以看到display模块的代

18、码缺失,如下图所示:添加display模块的IP核。点击Project Settings然后点击IP,点击Add Repository 将生成的display模块的IP核所在的口录添加到其中,默认的情况下,display模 块的IP盒在该模块项LI的文件夹下,只需要将display模块的项口添加到其中就 能找到相应的IP盒,然后点击OK。直 'reject SettingsIPRepository Meager £ackag*rAdd dixectoxx.es to the list o£ repositories You may tken add additicw

19、al IP to q selected ropocitcry. I£ on IP is diSEiblod thex amlrir 小1wu to【hm rewsoTtIP ReposiToriesf /zueherg/di splay (Proj«et)Xdd Repcsitory.眇 Refresh All.I? in S«14ctod RapcsitorvIt splay_vl_0eta : usci li sylev: 1. OJ& Add IFRafraxh Ecpcsi toryOKCancelApply点击IP Catalog,找到所添加的d

20、isplay模块的IP核,双击该IP核就将其加 入到项目中。1«“ I“> * e « r 少f“双击IP盒后会弹岀界面如下图,点击OK,会产生生成IP的界面,点击Generate,IP盒就生成成功了,有些调用IP盒的函数名称和IP盒的名字不匹配,需要更改IP盒名称或调用函数名称为相同名称才会添加成功。4检查IP盒是否添加到了正确位置,如果添加到了正确位置,display模块将 被IP盒取代,添加IP盒前后项目Source界面如下图所示:Q-E?design Sources (1)E A top (top. v) (2)?一 calculate calculate.=

21、 U2 - display_0El 1O Constraints由 亡iSimulation Sources '1)E)*©Design Sources (1)(2)h- Ul -® £J0U2B-Q Constraints&top (top. v)calculate (calculate, v)-di splay_0 <di sp 1 ayjj. :<ci)E ©Simulation Sources (1 '点击Rim Synthesis进行对项LI源文件进行综合,检查项LI是否有语法错误。如 下图所示:4CAtul

22、MOf - |D7Vr««Q<cakulatof/cafcukcoj.xpfl - V*j(k)20140tm H«« x>« D*£» ":&<V S.J <M<Ad:£二淤少“】 il)r> IrOtrr FrajMt laM<«« Pr«j«ct S»ttiik(> d 山 Smcm 0 V C«cd«|IT IMKTMU C>«n Il«»

23、; >«vp %>ntr»*©£ JU ji* ( f iaal w»<*<<* <U<d«Ct«?4«« F»l*E Pr>j«ct 5aa«y * 0 IF C«t4>« X -; xli 2*U««t? Oj zu.X :;u«t »ir« 12:0】4f>.,yj:.ir 蛊r«««,*O):方 01 m2&#

24、171;«> ;)s «*> am2 - 22*1M»X4O1 ML J* C»m. "43 Z.aV«r;l.CmTuMu<|X4; S>vcU<tX4i zd$>F<.««M>U/kX<OC<*.Ml:T 91kexh,!J' SOC.立d«tM VI'kOI rmit &3&a_ttoJ - rm; 3'Ut< (ult S«gh_a«ta*J < : fk<t

25、SdwM I *: r“w”a4f.h Y»«<lt . 22 kxeeKMg“】 rcff«cxt«tUwMttno© >】» w OtKinta A r<a “】 Om La(*nt«< Kvtia內“ «*4 M«<© Fi rttKB;c » . Cy«« Mb4««> Ei.BtqC<actfMU< »15 TB »B B5 TM5 VttUl Imzm UTX

26、7;«r<.luj ;“l.卜(wr-C<Tt<rt M!<T9MI TV Sttftl»t 4tUt»4 l»l BOB Cg I « U7VJ> It U Ml B S 为 ”2«M5CflWculftor - |(x/4do/c4kulKcc/c«la*3tor.Kpr3 - VT。20142综合完成后项LI右上角会有相应的提示,会显示Synthesis Complete,而且会弹 出下一步需要进行操作的界面,如下图所示: AE1U Mm PLelw?O I1C 94e E J zaz.4

27、 S”选择弹ilifi'-.ffj Run Implementation然后点击OK,或者直接点击Cancel,然后选 择左侧菜单栏Implementation菜单栏下的Run Implementation选项进行实施项U 活动的设计合成网表,完成后会有如下图所示的提示:Implementation Completed点击OK,选择Layout菜单下的I/O Planning进行I/O端口的管脚绑定。1 ctulaccx - IDVftAdQfcakulator/cculMor.xprl - Vddo20142KG©e»<E > 禺 3 ”1 F VM*

28、1J | M:alCQU4sX4 1 w口止X r«a««« *xx* " jk. e SyitUUt &«ct4« » g SinU»ut u* C” “Yd"d Ut tfl 7*a*c»« I】; >.;t»XM3W©hauE、f<tnx» 阳«nA 0 山 Xlr> Irricwftr* !F龙 Grs" rt“ &*npi C>m ll«k,“7。 % C«

29、M«U >l»«k >*HKM Lr.tt fur 紀"2W Ur»«tx-*t>»r.p i>ia rkM* r*<1/3 S«U “d.心PKCX u 久wu nnxew* U *«<vXt ILER/ U Wult lUOKSUtQi/» r«rttA »«u<* /Jft >«-1r« <«.£ 4«f iK口 a xO«MU».l*

30、4x«yD AVvbdi/«!«! »ta/<&HU <«*:0vA«v"1 Fr *<?<»,ri»>WtS»4 八“心山“<«43 mm心 StUtTMB S*tta«4FV«. rr«t klr» Sa«a<tl 51m :n» hXl 2jp« Cfr<U>:M_It« l fi*310 I1M KU W.Tf.a I ewK«

31、- IBR I CMK<«- WR i w12 su« Kti »r.nr_M二鳥:二:z 則&.do®»p 田liQ一处,>首先将所有的端口的电压改为3.3V (在IO std下选择LVCMOS33)。O cm«c0 UM.l. O>:<J": <J:;: <J “4: o":<1仲N <J <:!: -a «»: 一 S:«l* rxtiBtffl mn1w tTftl ttrvt»<« F&#

32、171;r 5vl«riX亠” eJZK4Um *LV3Mldl ««f«B X.'OMWJ nurMit avxdsiv<r 叱“ >»»lOc tw F«ll T»r«T<rwi»«»i«» tXJWU <LV3Ml«l Mx" 0.V3MW) 4.*/3K«lXI i-rwn 亿gnu U IVWW n <Lvaut«i l-f«H <LV3K4Wi H 4

33、.CSMlXl l-f-u <LVMfi6l iefwlt列U *XV3MUrl>V/3K«lll l-f-lt <LV3Mt®lSSS5SSt2Mz2unI2nx2WK-K»HICgWRK)Rso"E夕卫H.VH4n.VK_3w.vjtjaICIO其中elk所要绑定的管脚为E3, rst所要绑定的管脚为N17o绑定完成后需要 关闭该Implemented Design界面,关闭时会弹出提示框询问是否保存已绑定的管 件生成的约束文件,选择保存,该步骤完成。5.点击Generate Bitstream,生成相应的比特流文件,生成成功后,将

34、开发板连接 到电脑USB接口,打开开关,然后点击Open target,选择开发板后,点击Program device,然后将比特流文件下载到开发板,根据不同的输入观察相应显示器显示的内容。4Iiu W ri<« "Ji u* ugimi q” i:pcaTcuhcor - |D7Vf<<VcakLldtor/CAtulfitor.xpr| - Vivd(fc»20141192 2:熔©PrjY Sktrinp0 Ui !«> 护 IT C«td«K* IF龙« SI (» Cym

35、 Ilaal >* a»M8 U«<k >M1>»* MmXbUm©皿ul.f SattlMB fu StaalktiA rriJ Cy«n D4>ctt«4 Mg % U* Cy«N© la»l««cxknic» S»ttu<a A Fat«l. S 7 12 Li、 8CAicuhtoi - |DvVr««»W<dkulator/ccui£tOf.xprl - Vh.*d

36、do20142lit* Kin2 U«£1m UIp,9 * S X A » t: © 涎 £ ";ri««_U <«« ««l«t«实验二存储器实验2. 1实验目的(1)掌握存储器在设计原理,并且自己设计一个大小合适的RONL(2)掌握存储器的存储和取数的过程,并将存储器的内容通过显示管显示 出来。2. 2实验设备PC 机一台,Digilent Nexys 4TM 开发板,Xilinx Vivado 开发套件。2. 3实验原理本次实验主要是模拟数据

37、在存储器中的存取过程,先初始化ROM存储器中 的内容,在通过开关选择相应的地址,将对应的存储器中内容读出来,并通过显 示管显示。实验的原理图如下图2.1所示:reset图2存储器原理图这里我们使用到两个IP核,其中一个是ins.ROM核实系统自带的,通过该 IP核我们实现数据的存取,通过8位地址开关的选择,将ROM中对应的32位 指令取出来并送往display。而display核是我们自己设计的IP核,通过display 可以将ROM中取出的32位数据在数码管上显示出来。存储容量是指存储器可以容纳的二进制信息量,用存储器中存储地址数与存 储字位数的乘积表示。2. 4实验步骤1按照实验一步骤封装

38、display模块的IP盒。2新建项H用于实现存储器功能New ProjectProject -rillat: D:/xKiy»n/rcmEntar afair y*ur proj«ee and cpeeify vkar* tk«ri 11tfaxt >COIK61添加设计源文件。兀 Add SourcesAdd or Cro<t« Douiga SurcocSpocify JWL onS nctList £ilov, cr dir«etori«2 containing XL'L oxJ notlist

39、ftlos, tc add to your proj oct. Cr«&t4 a ne* source file on Ji»k and adJ it to your projectLibraryLocationAdd Tiloz.Add iroctorics.Create File.Xll-defsuLtllb C:/Usors/tyh/Das):top Scan and add R?L include Eilea into project0 Copy sources into projectXdd sourcvs from sul»dirc*ecorl

40、as< BftekFiiusk3.按照实验一步骤将display模块IP盒添加到项U中o4.在 IP Catalog > Memories & Storage Elements > RAMs & ROMs> Block Memory Generator LI录底下,找到系统自带的:rom核并添加。双击之后得到Basic 一栏的基本属性:Component Name 命名为:Ins_Rom。Native > 单端口、ROM 不要 ECC 校验、 最小面积算法。接着设置Port A Option的基本属性* Re-customire IP®

41、Block leiory Generator (8. 2): Ib.cg.H.tig fj / Loration QSvitch totxKu* Tnt_R4®Bk«ic ?«rt A Optiea Other Optiana Suw&rySi s* Peet A Hdrh 32Peet X Depth 256JUnee: 1 w(bit叮FUnee: 2 w 131072tK? vni Derth values ere used for Read OperaticTt in Peet KOp«ratiai Noi« | »r

42、i te T:r?T En*ll« P«rt r>v* Al®yr Esabl«43 CTt ft UptlOTMJ zUtpUT Masters rxUixiv<« Output XaiisurOc«c Ouiput lUckryS&ft&CC laput 加虹BX«11 fin口 RSTX tin(£«c/rs6t pin)Output 滋mi(Hax) 0Btc&ory lxnchPri©rity '-<:”;八和 ' »

43、»-OK数据宽度32位,要256个数据,地址线8根。 接着设置option选项属性:P7 Re-curtomire IPBlock leiory Generator (8. 2):I>ic<n»xtaft ca J / Location C) Svitck lo D»/atl tx DTP Sysbel Pe*«r fctinarian QSlo* di”bled pwrtsp&Tant Sts*' Baaac Part K Option* Ofthar Option* | Suansxy |Pipelin* Staithia

44、 Mt« (Naaary lai ft alizatianhr Sir*: NlCoe File . . WM crc58owcee_lipjrcpij32. cwinSpecifies if a memco hibalizatio to be used or not (See the dot。si more informanon).0 Fill R4fi»xsuAK Mwccy Locati&xa4.BftMJORTA-BRAIJOKTBRew-WTitnc Meicry Lawrio" <Kct)Struerur1/UniSin SinulOpt

45、ianxDefine, the type »f /axtuncs and eutpon «re cetrated "hen a r»a4-«Tit« ta rrite-rrit* collakian orcurxCollisiaa TfiaaiAfis: 8L BA«vsc«b1 SiBulatian Midel OptaoraQDisable Collision Sarnincs QOicaUe Sit of fUn" *4rnincfi若有存储器初始化文件,这里指定文件的位置,文件为prgmip32.

46、coe文件。 这里我们会给出创建好的初始文件。点击OK就会得到相应的IP核。Uak ul/.Rom ' pr9mip3Zce«F«c<M >ic«ct4<a«>Fil« FrE”P>« &ril'« *f B «t Filwt- Z现在我们可以看到我们已经成功调用了两个iP核S-feDesign Sources (2)Rob (Rom. v) (2)Ins_Rom - Ins_Rom '.Ins_Rom. xci)El display_O - displ

47、ay_O '.display_O. xci)®(C)Coefficient Files (1)®-<£i Constraints白©Simulation Sources (2)由“O sim_l (2)5.接着我们按照实验一的步骤进行综合与实现以及管脚的约束。其中时钟信号 elk和重置信号rst与实验一绑定管脚相同。管脚绑定之后按照实验一的步骤进行 比特流的生成并将比特流文件下载到开发板上,观察结果。实验三控制器实验控制器是计算机的核心部件,计算机的所有硬件都是在控制器的控制下, 完成程序规定的操作。控制器的基本功能就是把机器指令转换为按照

48、一定时序控 制机器各部件的工作信号,使各部件产生一系列动作,完成指令所规定的任务。3.1实验目的(1) 掌握单周期CPU控制器的工作原理及其设计方法。(2) 掌握各个控制信号的作用和生成过程。3. 2实验设备PC 机一台,Digilent Nexys 4 开发板,Xilinx Vivado 开发套件。3.3实验原理控制器的基本任务是完成当前指令的翻译和执行,即将当前指令的功能 转换成可以控制的硬件逻辑部件工作的命令序列,完成数据传送和各种处理操 作。本实验根据MIPS的31种类型的指令以及根据该指令结构所设讣出的数据通 路模拟其中控制单元生成控制信号的过程。其中MIPS的31条指令类型如表3.

49、 1 所示:表3.1 MIPS的31种指令肋记符指令格式示例示例含义操作及解释BIT #31.2625.2120.1615.1110.65.0R类割oprsrtrdshiinitfuncadd0000()0rsrtrd(XXXX)1()0000addSl.$2.$3$1=$2+S3(rd)(rsM-(rt): rs=S2.rl=S3.rd=Sladdu0000()0rsrtrd0000()1000()1addu$l.S2.S3$1=$2+S3(rd)(rsMrt): rs=S2,rt=S3.rd=S 1 无符石数sub00000()rsrtrd(XXXX)1()0010sub$l.$2.$3$

50、1=$2-S3ird>(rs)-(rl); rs=$2.rt=$3.rd=$Isubu0001X)0rsrtrd0000()100011subu $1.$2.$3$1=$2-S3(rd)(rs)-(rt): rs=$2.rt=$3.rd=$ 1 无符号数and00000()rsrtrd0000()1()0100and SI.$253$1=$2&S3(rd)(rs)&(rtk rs=$2.rt=$3.rd=$lor0000()0rsrtrd(XXXX)1()0101or $15253$1=$2IS3(rd)(rs) 1 (rt): rs=$2.rt=$3.rd=$lxor0

51、0000()rsrtrd0000()1()0110xor$l,S2.S3$1=$2AS3(rd)(rs户(rt): rs=$2.rt=S3.rd=Slnor0000()0rsrtrd(XXXX)1()0111nor$lJi2.S3$1=M$2IS3)(rd)1 (rt): rs=S2.rt=$3.rd=SIsit00000()rsrtrd0000()101010slt$l.$2.$3if($2<$3) Sl=l else $1=0if (rs< rt) rd=l else rd=0;rs-$2. rt=$3. rd=$lsitu00000()rsrtrd0000()101011sl

52、tuS 15253if($2<$3) Sl=l else $1=0if (rs< rt) rd=l else rd=0;rs $2. rt=S3. rd=$l. 无符号数sll00000()O(XXX)rtrdshamt000000sll $1.$240$l=$2«10(rd)(rt «shainl.rt=S2 .rd=S 1. shamt= 10sri00000()()0000rtrdshanil0()0010sriSl.$2.10$l=$2»10(rd> (rt)»shaml rt=$2. rd=$l. shaml=10. (逻辑右

53、移)sru0000()0O(XXX)rtrdshamt000011E1.S2.10$l=$2»10(rd) (rt)»shaml rt=$2. rd=$l. shaml=l(). (刃术右移注慰符号位保留)sllv00000()rsrtrd0000()0()0100sllv SI.$253$1=$2«$3(rd)(rt)«(rs). rs=S3.rt=$2.rd=S 1srlv0000()0rsrtrd(XXXX)0()0110sriv$l$2$3$1=$2»$3(rd)(rt)»(rs). rs=S3,rt=$2.rd=Sk (逻辑

54、右移)srav00000()rsrtrd(XXXX)000111srav $1.$2.$3$1=$2»$3(rd)(rt)»(rs). rs=S3,rt=$2.rd=Sk (族术右移。 注总符号位保留jr00000()rs0000()000000000()(X) 1(X)0jr$31goto S31(PC)-(rs)1 类型oprsrtimmediateaddi0010()0rsrtimmediateaddi $152.10$l=$2+10Irt)(rs)+(sign-cxlcnd)inuncdialc.rt=$Lrs=$2addiu0010()1rsrtimmediate

55、addiu SLS2.10$l=$2+I0(rt)(rs)+(sign-cxtcnd)inuncdiale.rt=$krs=$2andi001100rsrtimmediateandi $152.10$l=$2&10(rt)(rs)&(zcroYXlcml)immcdi;ilc.rt=Sl.rs=$2ori001101rsrtimmediateori $152.10$1=$2I1O(rt)(rs)l(zcr>-cxlcnd)imniediatc.rt=$l.rs=$2xori001110rsrtimmediatexoriSLS2J0$l=$2A10(rt)'(rs)

56、A(zcn>-cxlcnd)imnKdiatc.rt=$l.rs=S2lui001111()0000rtimmediatelui $1.1()$1=10*65536irt)- immcdialc«16 & ()FH-H)()(>0H.将 16 位 立即数放到目的奇存器高16位.目的寄存器 的低16位填0lw100011rsrtoffsetIwSLl(XS2)$l=Mcmory| $24-101(rt) j Memory! (rs>+( sign_cxlend kifiset. rl=$l.rs=$2sw101011rsrtoffsetsw$1.10($2)M

57、cmory| $2+10|=$lMemory |( rs )+(sign_cxlcnd rt=$).rs=$2bcq00()100rsrtoffsetbcq S 152.40if($l=$2) goto PC+4+40if (rt)=(rs) then <1>C)*-(1>Ch44-( (Sign-Exlcnd) offsct«2). rs=$k rt=S2bnc(XX)lOlrsrtoffsetbnc SI.$2.40if($】H$2) goto PC4U40if«rt) H(rO) lhen (PC)(PC)+4+( (Sign-Extend) off

58、sel«2). rs=SL rt=$2ski00101()rsrtimmediateski $1.$2.1()Sl=l else $1=0if (rsK(Sign-Extcnd)immcdiatc) then (rl)* 1: else (rt)*-O. rs=$2. rt=$lsltiu001011rsrtimmediateskiu$L$2J0if($2<10) Sl = l else $1=0if (rs)<(ZcK)-Exlcnd)imn>cdiatc) lhen (rt) - 1: else (rt)*-O. rs=$2. rt=$lJ 类型opaddressj00001()addressj 10(XX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论