計算機組成原理實驗2:MIPS指令系統和MIPS體系結構_第1頁
計算機組成原理實驗2:MIPS指令系統和MIPS體系結構_第2頁
計算機組成原理實驗2:MIPS指令系統和MIPS體系結構_第3頁
計算機組成原理實驗2:MIPS指令系統和MIPS體系結構_第4頁
計算機組成原理實驗2:MIPS指令系統和MIPS體系結構_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理實驗2:MIPS指令系統和MIPS體系結構實驗目的了解和熟悉指令級模擬器熟悉掌握MIPSsim模擬器的操作和使用方法熟悉MIPS指令系統及其特點,加深對MIPS指令操作語義的理解熟悉MIPS體系結構二.實驗內容和步驟首先要閱讀MIPSsim模擬器的使用方法,然后了解MIPSsim的指令系統。(1)、啟動MIPSsim。、選擇“配置”-“流水方式”選項,使模擬器工作在非流水方式。、參照使用說明,熟悉MIPSsim模擬器的操作和使用方法。、選擇“文件”-“載入程序”選項,加載樣例程序alltest.asm,然后查看“代碼”窗口,查看程序所在的位置。(5)、查看“寄存器”窗口PC寄存器

2、的值:PC=0 x00000000。代丁血F9wwasCwaijjMH5CWAIF.-:&:-MOR-1氏mEXWmDUFJiKiKC-Xi!mwF4JLi丄垃口審“ff=Ji旳詐幵=命Fi-:Most-MO-tZ-te-itfiJW.L(燉-i=*-nt*-r-!F:I-dnYHilHinm-U5-r.1-1.-.f.miE-i.ij.1hiM-1KOuCiiEifiy-etrfrnfj(riTiI目吟P-d-dsml-fr-nla?ft?-tIMrfiFj#,1WXXXrt-iUP-PITrJWCBEBm-cmnn::IEHlKl:a::MXiT-EF*+_:.!:4?LMlf-Xd+i.

3、EllW+WW:MC-WPI:呻警dlH.;如-H4MHI:”hIJK-ELI.E_Na-dl?rll!iilltl2lllril.ldll一晉SM盅崇H?f7)查看R1的值,R1=0 x0000000000000080(一進制的值為:128)。8)下一條指令地址為0 x0000000C,是一條無(有,無)符號載入字節(字節,半字,字)指令。LBU功能與LB指令相同,但讀出的是不帶符號的數據9)單步執行1條指令。;n=:-Z-:lLhVM:n3-:=:-=Ji.F!HI4ldlMrwi、毗網衛:B=:O:V:L:aL2:IM:rintdiib.:a.UJHLPI-3TETWIf匸:1uMri-

4、u-.UlM-llv.Bl-TTWJEM-*TFJ?*?90EIUfrtlTt*!OiAflMrx-JT-frra晦十B*WpI.mE_10)查看R1的值,R1=128(十進制)/0 x0000000000000080(十六進制)11)單步執行1條指令。:j:b.ir:Iitahn:j::-:MITrnvMhirBfcri:齢:=:VPM2:J:=l12)下一條指令地址為0 x00000014,是一條保存字(字節,半字,字)指令。13)單步執行一條指令。14)查看內存BUFFER處字的值,值為0X00000080JU話切4皿2:曲返:曙Sft-Irlrl.n肚畑隔MLLixb.M.tlJM:5

5、JUKtl-r3.az4.5UMKH4?JTUtr?rf:LHfOD,湖50.irSJci.D也:就帕護5LLNZlIM.f!理討曲伽:i.DSEL託mnHWKXKLtrXJituDri-KOD*ffWClXWtl3:血知SO-點ilftt.Q1EL回冊測tlL*simICL忖血上cdcamsM-ELLixS.Eri.D(7)、執行算術運算類指令。步驟如下:1)雙擊“寄存器”窗口中的R1,將其值修改為2。2)雙擊“寄存器”窗口中的R2,將其值修改為3。3)單步執行一條指令。4)下一條指令地址為0 x00000020,是一條加法指令。5)單步執行一條指令。6)查看R3的值,R3=5lC曲淚:R圮

6、siK昵盟dqei!-nnQn勺Jr,r.-ip5ii1cr-11ZB-cL9Ecw*就工I4iir)a114111E?1.4lEctlItial,gMaki垃叮ItCfbZCEE,.FiK!.lie疋ii-L.ailrtiMCIZUiXtH刪1X址7iTO*r?-(rl.lrJtMXIFftr:3aED4dxl.deO.HijOlJ血KlCbQfrS.GEl.C寄存器直接尋4)下一條指令地址為0 x00000030,是一條邏輯與運算指令,第二個操作數尋址方式是寄存器直接尋址址,立即數尋址)。5)單步執行一條指令。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。2-

7、K:Fpv.PZTIW.f-iliF.drelaveV.1MIfnwr:J-WT:nM.Ir-s.lM|:4It-.:iHlTllWIMbio.!ibili:fcirLtrfiici3ir-:-:a:D:i:-i:H:口E:-l.la-a.-lSRanMitdasirir-:rvir.itiai3.-.:3I(3:rIFWKi哄中駅H嚴ir-.-ii-:=lKd!:/?!l-fil-Fia.MJaixarcoi*:ZIJ-CIEMCZTIjI.Ia=;_;atan4蠱.i.Z.dl:.iH;i;=:?nr!.hl.:泅:兇憶工丄丄dr_.9r._u-r.-.-.jm:x-1dr2.rtr._k

8、.xul乂斗訥Pkin.irir;:-7Hmmn/汴IMj?;i:;!5X::H?r:4r:.3lUllI:-耳:i-rJ79)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。6)查看R3的值,R3=0X00000000FF00000O9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。UJKCKi!.-l-r1.LH3:;:!:niST期Ul-ja.QIIrtl!:lZ:!:!:.::UIJ:.aiG!-!::.4!-:SLfcip:.:iii-ig七曲:*呂:!:aB

9、fiaM托l.l-li.Uri:匹:注iiiih.|ir!|i:h;::X-SSIIt.-::.:;e33LIK曲站ErV.Eel_Ix4?區禍護:huwe-;xmi6JE/.aKi.rLfUd于沖上蚯lE-.lil.lrJWD-MHIMWGrUfc-L?3l-Mr;r!lalSUiKLK-S壯百齊111卻3U1C.BI?iE!REAr-M.JE4MU84.4.!r!i-!e-M449HlIr*.1v!.E-9eM-!?MJi.!UttlL9GLB:L1ViMIMUMMlnjKCtiNinaKFSa9)查看R3的值,R3=0 x0000000000000000刀下一條指令地址為0 x00000

10、034,是一條邏輯或指令,第二個操作數尋址方式是立即數尋址(寄存器直接尋址,立即數尋址)。8)單步執行一條指令。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。(9)、執行控制轉移類指令。步驟如下:1雙擊“寄存器”窗口中R1,將其值修改為2。2)雙擊“寄存器”窗口中R2,將其值修改為2。3)單步執行一條指令。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。reftJEU9)查看PC的值,P

11、C=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。4)下一條指令地址為0 x000000405)單步執行1條指令。wftfrgwwjMirflw是一條BEQ指令,其測試條件是兩個操作數相等9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。mhrBlflu|arJCH.LWUilEkhii-rliXHiH-awsueu:_3rLrai:LH6iL-Ith1ZqiB.tUKrn*Hi-FII-rilMFMWTKUIIKTK.IC:-zJUUIjriOC.T”K-X1HHMMrhiMWH-ll

12、lC1-5UMiUUi(ri9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。pI8ptaaVrWVT杓卑-TtttK-MffliOCKKfflOiWEk.JwrinrMcdEIM!-i-iJ上他.-!-lL9v!Jllll:t:l;-l-.Jlfalr:-:7;啟stuSHK.:?.址;:!.;:hid雞右冷寓14ai;3iHUWWWVVWYHV*6)查看PC的值,PC=0 x0000004C,表明分支成功(成功,失敗)。7)條指令是一條BGEZ指令,其測試條件是=0,目標地址為0 x000000588)單步執行1條指令。9)查看PC的值,PC=0 x0000005

13、8,表明分支成功(成功,失敗)。10)下一條指令是一條BGEZAL指令,其測試條件是=0,目標地址為0 x00000064.-呻:冷M!-:-:!I:J-.-奧洛:4:-:s-kmkI3:i!w垂巨鑒淤7-:7=:荃11)單步執行1條指令。:3:K-MH.Z莖產HMJ-KS-:-:-.!:-:WMMzqKKM亠匚皆::豊正:-垂9lrla:Bla:v:alB!alr:1BEl:9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。12)查看PC的值,PC=0 x00000068,表明分支成功(成功

14、,失敗);查看R31的值,R31=9213)單步執行1條指令。虬:-E.lF-=3=:-:|.|3|九“叭_,-!4,陽J.-r.-.aJH11FilmaiiI=_!7=u-w-iL::in*JR-1f?-iTUgXKIridiWAWiwa4400404449W1N-4-5WWBIF二liPWKHUx-M-3jurnafc1-prH-HOSMM-L:”nvbwYmrn廣irt9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。14)查看R1的值,R1=11615)下一條指令地址為0 x00000

15、068,是一條JALR指令,保存目標地址的寄存器為!,保存返回地址的目標寄存器淋3。16)單步執行1條指令。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。17)查看PC和R3的值,PC=0 x00000074,R3=0。三、實驗結果分析實驗結果分析ADDIU:$r8,$r0,124ADDIU是GPR和立即數做無符號加法操作,但立即數字段是有符號的,所以需要做符號擴展。r8=r0+124LB$r1,0($r8)從存儲器中r8讀取一個字節的數據(帶符號)到寄存器中r1LW$r1,0($r8)從

16、存儲器中r8讀取一個字的數據(不帶符號)到寄存器中r1LBU$r1,0($r8)從存儲器中r8讀取一個字節的數據(不帶符號)到寄存器中r1ADDIU:$r8,$r0,128ADDIU是GPR和立即數做無符號加法操作,但立即數字段是有符號的,所以需要做符號擴展。r8=r0+128SW$r1,0($r8):把一個字的數據從寄存器存儲到存儲器中BEQ,$r0,$r0,PROG2:條件轉移指令,當兩個寄存器內容相等時轉移發生-跳轉到PROG2DADD$r3$r1$r2把兩個定點寄存器的內容相加,也就是定點加$3=$r1+$r2=128DMULT$r1$r2兩個定點寄存器的內容相乘,也就是定點乘r1=1

17、28r2=0BEQ,$r0,$r0,PROG3:條件轉移指令,當兩個寄存器內容相等時轉移發生9)查看PC的值,PC=0 x00000058,表明分支成功(成功,失敗)。-跳轉到PROG3AND$r3$r1$r2與運算,兩個寄存器中的內容相與($r3=$r1&$r2)門=128r2=0r3=0兩位同時為“1”,結果才為“1”,否則為0ANDI$r3$r10個寄存器中的內容與一個立即數相與BEQ,$rO,$r0,PROG4:條件轉移指令,當兩個寄存器內容相等時轉移發生-跳轉到PROG4BEQ$r1$r22條件轉移指令,當兩個寄存器內容相等時轉移發生,$r1不等于$r2不發生SLL$r0$r00邏輯左移SLL$r0$r00邏輯左移BGEZ$r12跳轉指令-跳轉到Iabel2BGEZAL$r12條件轉移指令-跳轉到Iabel3ADDIU$r1$r0116r1=r0+116=116JALR$r3$r1使用寄存器的跳轉指令,并且帶有鏈接功能,指令的跳轉地址在寄存器中,跳轉發生時指令的放回地址放在R31這個寄存器中Teq:異常相關指令四實驗心得MIPSsim模

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論