




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)2:MIPS指令系統(tǒng)和MIPS體系結(jié)構(gòu)一.實(shí)驗(yàn)?zāi)康模?)了解和熟悉指令級(jí)模擬器(2)熟悉掌握MIPSsim模擬器的操作和使用方法 (3)熟悉MIPS指令系統(tǒng)及其特點(diǎn),加深對(duì)MIPS指令操作語義的理解(4)熟悉MIPS體系結(jié)構(gòu)二. 實(shí)驗(yàn)內(nèi)容和步驟首先要閱讀MIPSsim模擬器的使用方法,然后了解MIPSsim的指令系統(tǒng)和匯編語言。(1)、啟動(dòng)MIPSsim(用鼠標(biāo)雙擊MIPSsim.exe)。(2)、選擇“配置”-“流水方式”選項(xiàng),使模擬器工作在非流水方式。(3)、參照使用說明,熟悉MIPSsim模擬器的操作和使用方法。 可以先載入一個(gè)樣例程序(在本模擬器所在的文件夾下的“樣例程序”文件夾中
2、),然后分別以單步執(zhí)行一條指令、執(zhí)行多條指令、連續(xù)執(zhí)行、設(shè)置斷點(diǎn)等的方式運(yùn)行程序,觀察程序的執(zhí)行情況,觀察CPU中寄存器和存儲(chǔ)器的內(nèi)容的變化。(4)、選擇“文件”-“載入程序”選項(xiàng),加載樣例程序 alltest.asm,然后查看“代碼”窗口,查看程序所在的位置(起始地址為0x00000000)。(5)、查看“寄存器”窗口PC寄存器的值:PC=0x00000000。(6)、執(zhí)行l(wèi)oad和store指令,步驟如下: 1)單步執(zhí)行一條指令(F7)。 2)下一條指令地址為0x00000004,是一條 有 (有,無)符號(hào)載入 字節(jié) (字節(jié),半字,字)指令。3)單步執(zhí)行一條指令(F7)。4)查看R1的值,
3、R1= 0xFFFFFFFFFFFFFF80 。5)下一條指令地址為0x00000008,是一條 有 (有,無)符號(hào)載入 字 (字節(jié),半字,字)指令。6)單步執(zhí)行1條指令。7)查看R1的值,R1=0x0000000000000080 。 8)下一條指令地址為0x0000000C ,是一條 無 (有,無)符號(hào)載入 字節(jié) (字節(jié),半字,字)指令。 9)單步執(zhí)行1條指令。 10)查看R1的值,R1= 0x0000000000000080 。 11)單步執(zhí)行1條指令。 12)下一條指令地址為0x00000014 ,是一條保存 字 (字節(jié),半字,字)指令。 13)單步執(zhí)行一條指令。 14)查看內(nèi)存BUF
4、FER處字的值,值為 0x000080 (7)、執(zhí)行算術(shù)運(yùn)算類指令。步驟如下: 1)雙擊“寄存器”窗口中的R1,將其值修改為2。 2)雙擊“寄存器”窗口中的R2,將其值修改為3。 3)單步執(zhí)行一條指令。 4)下一條指令地址為0x00000020 ,是一條加法指令。 5)單步執(zhí)行一條指令。 6)查看R3的值,R3= 0x0000000000000005 。 7)下一條指令地址為0x00000024 ,是一條乘法指令。 8)單步執(zhí)行一條指令。9)查看LO、HI的值,LO= 0x0000000000000006 ,HI= 0x0000000000000000。(8)、執(zhí)行邏輯運(yùn)算類指令。步驟如下:1
5、)雙擊“寄存器”窗口中的R1,將其值修改為0XFFFF0000。2)雙擊“寄存器”窗口中的R2,將其值修改為0XFF00FF00。3)單步執(zhí)行一條指令。4)下一條指令地址為0x000030,是一條邏輯與運(yùn)算指令,第二個(gè)操作數(shù)尋址方式是 寄存器直接尋址 (寄存器直接尋址,立即數(shù)尋址)。5)單步執(zhí)行一條指令。6)查看R3的值,R3= 0x00000000FF000000。7)下一條指令地址為0x00000034,是一條邏輯或指令,第二個(gè)操作數(shù)尋址方式是 立即數(shù)尋址 (寄存器直接尋址,立即數(shù)尋址)。8)單步執(zhí)行一條指令。9)查看R3的值,R3= 0x0000000000000000。(9)、執(zhí)行控制
6、轉(zhuǎn)移類指令。步驟如下: 1)雙擊“寄存器”窗口中R1,將其值修改為2。 2)雙擊“寄存器”窗口中R2,將其值修改為2。 3)單步執(zhí)行一條指令。 4)下一條指令地址為0x00000040,是一條BEQ指令,其測試條件是 兩操作數(shù)相等 ,目標(biāo)地址為0x 。 5) 單步執(zhí)行1條指令。 6) 查看PC的值,PC=0x0000004C,表明分支 成功 (成功,失敗)。 7) 一條指令是一條BGEZ指令,其測試條件是 大于等于0 ,目標(biāo)地址為0x00000058 。 8) 單步執(zhí)行1條指令。 9) 查看PC的值,PC= 0x00000058,表明分支 成功 (成功,失?。?。 10) 下一條指令是一條BGE
7、ZAL指令,其測試條件是 大于等于0 ,目標(biāo)地址為0x00000064。 11) 單步執(zhí)行1條指令。 12) 查看PC的值,PC= 0x00000064,表明分支 成功 (成功,失?。?;查看R31的值,R31=0x000000000000005C 。 13) 單步執(zhí)行1條指令。 14)查看R1的值,R1=0x0000000000000074。 15)下一條指令地址為0x00000068,是一條JALR指令,保存目標(biāo)地址的寄存器為R1 ,保存返回地址的目標(biāo)寄存器為R3 。 16)單步執(zhí)行1條指令。 17)查看PC和R3的值,PC=0x00000074,R3=0x000000000000006C。
8、實(shí)驗(yàn)3 流水線及流水線中的沖突一.實(shí)驗(yàn)?zāi)康?(1)理解計(jì)算機(jī)流水線基本概念。(2)理解MIPS結(jié)構(gòu)如何用5段流水線來實(shí)現(xiàn),理(3)解各段的功能和基本操作。(4)加深對(duì)數(shù)據(jù)沖突、結(jié)構(gòu)沖突的理解,理解這兩類沖突對(duì)CPU性能的影響。(5)進(jìn)一步理解解決數(shù)據(jù)沖突的方法,掌握如何應(yīng)用定向技術(shù)來減少數(shù)據(jù)沖突引起的停頓。二.實(shí)驗(yàn)內(nèi)容和步驟(1)、啟動(dòng)MIPSsim。(2)、根據(jù)預(yù)備知識(shí)中關(guān)于流水線各段操作的描述,進(jìn)一步理解流水線窗口中各段的功能,掌握各流水寄存器的含義。(用鼠標(biāo)雙擊各段,就可以看到各流水寄存器的內(nèi)容)(3)、參照MIPSsim模擬器使用說明,熟悉MIPSsim模擬器的操作和使用方法。 可以先
9、載入一個(gè)樣例程序(在本模擬器所在的文件夾下的“樣例程序”文件夾中)。然后分別以單步執(zhí)行一條周期、執(zhí)行多個(gè)周期、連續(xù)執(zhí)行、設(shè)置斷點(diǎn)等的方式運(yùn)行程序,觀察程序的執(zhí)行情況,觀察CPU中寄存器和存儲(chǔ)器的內(nèi)容的變化,特別是流水寄存器內(nèi)容的變化。 (4)、選擇配置菜單中的“流水方式”選項(xiàng),使模擬器工作于流水方式下。(5)、觀察程序在流水線中的執(zhí)行情況,步驟如下: 1)選擇MIPSsim的“文件”“載入程序”選項(xiàng)來加載pipeline.s。 2)關(guān)閉定向功能。這是通過“配置”“定向”。 3)用單步執(zhí)行一個(gè)周期的方式執(zhí)行該程序,觀察每一個(gè)周期中,各段流水寄存器內(nèi)容的變化、指令的執(zhí)行情況(“代碼”窗口)以及時(shí)鐘
10、周期圖。 4)當(dāng)執(zhí)行到第13個(gè)時(shí)鐘周期時(shí),各段分別正在處理的指令是: IF: LW $r4, 60($r6) ID: ADDI $r3,$r0,25 EX: ADDI $r1,$r1,-1 MEM: ADDI $r6,$r0,8 WB: ADD $r2,$r1,$r0 畫出這時(shí)的時(shí)鐘周期圖。(6)、這時(shí)各流水寄存器中的內(nèi)容為: IF/ID.IR: 2361655356 IF/ID.NPC: 48 ID/EX.A: 0 ID/EX.B: 0 ID/EX.IR: 25 ID/EX.Imm: 537067545 EX/MEM.ALUo: 4 EX/MEM.IR: 539099135 MEM/WB.L
11、MD: 0 MEM/WB.ALUo: 8 MEM/WB.IR: 37264136 (7)、觀察和分析結(jié)構(gòu)沖突對(duì)CPU性能的影響,步驟如下: 1)加載structure_hz.s(在模擬器所在文件夾下的“樣例程序”文件夾中)。2)執(zhí)行該程序,找出存在結(jié)構(gòu)沖突的指令對(duì)以及導(dǎo)致結(jié)構(gòu)沖突的部件。根據(jù)始終周期圖可知存在結(jié)構(gòu)沖突的指令是浮點(diǎn)加法指令fadd,導(dǎo)致結(jié)構(gòu)沖突的部件是浮點(diǎn)加法器 3)記錄由結(jié)構(gòu)沖突引起的停頓時(shí)鐘周期數(shù),計(jì)算停頓時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比??傊芷跀?shù)為52個(gè),結(jié)構(gòu)停頓周期數(shù)35個(gè),占總執(zhí)行周期數(shù)的67.30769%4)把浮點(diǎn)加法器的個(gè)數(shù)改為4個(gè)。5)再次重復(fù)步驟(1)(3)的工
12、作。如上圖,可知修改后結(jié)構(gòu)沖突引起的停頓時(shí)鐘周期數(shù)為2個(gè),占總執(zhí)行周期數(shù)的10.52632%6)分析結(jié)構(gòu)沖突對(duì)CPU性能的影響,討論解決結(jié)構(gòu)沖突的方法。結(jié)構(gòu)沖突出現(xiàn)的頻率較高,導(dǎo)致的停頓使得CPU流水的效率下降,可以通過分別設(shè)置獨(dú)立的指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的方法,或者仍只是一個(gè)存儲(chǔ)器,但采用兩個(gè)分離的Cache,即指令Cache和數(shù)據(jù)Cache(8)、 觀察數(shù)據(jù)沖突并用定向技術(shù)來減少停頓,步驟如下: 1)全部復(fù)位 2)加載data_hz.s 3)關(guān)閉定向功能。4)單步執(zhí)行一個(gè)周期,同時(shí)查看時(shí)鐘周期圖,列出在什么時(shí)刻發(fā)生了RAW(先寫后讀)沖突。發(fā)生沖突的周期是4、6、7、9、10、13、14、
13、17、18、20、21、25、26、28、29、32、33、36、37、39、40、44、45、47、48、51、52、55、56、58、595)記錄數(shù)據(jù)沖突引起的停頓時(shí)鐘周期數(shù)及程序執(zhí)行的總時(shí)鐘周期數(shù),計(jì)算停頓時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比??倳r(shí)鐘周期數(shù)65,其中數(shù)據(jù)沖突引起的停頓時(shí)鐘周期數(shù)為31,占總周期數(shù)的47.69231%。 6)復(fù)位CPU。 7)打開定向功能。8)單步執(zhí)行一個(gè)周期,同時(shí)查看時(shí)鐘周期圖,列出在什么時(shí)刻發(fā)生了RAW(先寫后讀)沖突,并與步驟(3)的結(jié)果進(jìn)行比較。發(fā)生沖突的周期為5、10、13、18、22、25、30、34、37,共9個(gè) 9)記錄由數(shù)據(jù)沖突引起的停頓時(shí)鐘周
14、期數(shù)以及程序執(zhí)行的總時(shí)鐘周期數(shù),計(jì)算采用定向技術(shù)后的性能是原來的幾倍。程序執(zhí)行的總周期數(shù)為43,其中數(shù)據(jù)沖突引起的停頓數(shù)為9個(gè),采用定向技術(shù)后性能是原來的65/43=1.51倍實(shí)驗(yàn)4 指令調(diào)度和延遲分支一.實(shí)驗(yàn)?zāi)康模?)加深對(duì)指令調(diào)度技術(shù)的理解。(2)加深對(duì)延遲分支技術(shù)的理解。(3)熟練掌握用指令調(diào)度技術(shù)解決流水線中的數(shù)據(jù)沖突的方法。(4)進(jìn)一步理解指令調(diào)度技術(shù)對(duì)CPU性能的改進(jìn)。(5)進(jìn)一步理解延遲分支技術(shù)對(duì)CPU性能的改進(jìn)。二.實(shí)驗(yàn)內(nèi)容和步驟:(1)、啟動(dòng)MIPSsim。(2)、根據(jù)前面的相關(guān)知識(shí)中關(guān)于流水線各段操作的描述,進(jìn)一步理解流水線窗口中各段的功能,掌握各流水寄存器的含義。(3)、
15、選擇“配置”-“流水方式”選項(xiàng),使模擬器工作于流水方式下。(4)、用指令調(diào)度技術(shù)解決流水線中的數(shù)據(jù)沖突。 1)啟動(dòng)MIPSsim。 2)加載schedule.s。 3)關(guān)閉定向功能。(4)執(zhí)行所載入的程序。通過查看統(tǒng)計(jì)數(shù)據(jù)和時(shí)鐘周期圖,找出并記錄程序執(zhí)行過程中各種沖突發(fā)生的次數(shù)、發(fā)生沖突的指令組合以及程序執(zhí)行的總時(shí)鐘周期數(shù)。 由執(zhí)行結(jié)果可知,程序執(zhí)行總時(shí)鐘周期數(shù)為33。觀察程序執(zhí)行的時(shí)鐘周期圖可知,發(fā)生停頓的指令組合如下: 第1對(duì)指令組合 LW $r2,0($r1) ADD $r4,$r0,$r2 第2對(duì)指令沖突 ADD $r4,$r0,$r2 SW $r4,0($r1)第3對(duì)指令沖突SW $
16、r4,0($r1)LW $r6,4($r1)第4對(duì)指令沖突ADD $r8,$r6,$r1MUL $r12,$r10,$r1第5對(duì)指令沖突ADD $r16,$r12,$r1ADD $r18,$r16,$r1第6對(duì)指令沖突ADD $r18,$r16,$r1SW $r18,16($r1)第7對(duì)指令沖突SW $r18,16($r1)LW $r20,8($r1)第8對(duì)指令沖突MUL $r22,$r20,$r14MUL $r24,$r26,$r14 (5)采用指令調(diào)度技術(shù)對(duì)程序進(jìn)行指令調(diào)度,消除沖突。將調(diào)度后的程序存到after-schedule.s中。 (6)載入after-schedule.s。 (7
17、)執(zhí)行該程序。觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總時(shí)鐘周期數(shù)。 由執(zhí)行結(jié)果可知,改進(jìn)后的程序執(zhí)行時(shí)鐘周期總數(shù)為17。 (8)根據(jù)記錄結(jié)果,比較調(diào)度前和調(diào)度后的性能。論述指令調(diào)度對(duì)于提高CPU性能 的作用。 很明顯,指令調(diào)度后時(shí)鐘總周期數(shù)從33降低到17,通過使用指令調(diào)度技術(shù)顯著地提高了CPU的使用率,大大減少了指令沖突的次數(shù),對(duì)提高CPU性能有很大的作用。5、用延遲分支減少分支指令對(duì)性能的影響。(1)啟動(dòng)MIPSsim。(2)載入branch.s。(3)關(guān)閉延遲分支功能。(4)執(zhí)行該程序。觀察并記錄發(fā)生分支延遲的時(shí)刻。 發(fā)生延遲分支的時(shí)刻依次為第6、9、13、21、24、28時(shí)鐘周期。(5)記錄執(zhí)行該程序所用的總時(shí)鐘周期數(shù)。 由執(zhí)行結(jié)果可知,該程序所執(zhí)行總時(shí)鐘周期數(shù)為38,ID段執(zhí)行了18條指令。 (6)假設(shè)延遲槽有1個(gè),對(duì)branch.s進(jìn)行指令調(diào)度,然后保存到“delayed-branch.s”中。(7)載入delaye
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 閘板閥維修施工方案
- 圍墻護(hù)欄基礎(chǔ)施工方案
- 2025年中考語文一輪復(fù)習(xí):古詩詞閱讀核心考點(diǎn)解讀
- 施工方案自己寫嗎
- 碼頭岸電施工方案
- 鷹潭護(hù)坡施工方案
- 2025年境外分子測試試題及答案
- 6年級(jí)下冊(cè)語文第10課
- 荊州古建施工方案公司
- codebert在編程領(lǐng)域的使用
- 2024年高考全國甲卷歷史試題(含答案)
- NB-T 33015-2014 電化學(xué)儲(chǔ)能系統(tǒng)接入配電網(wǎng)技術(shù)規(guī)定
- 統(tǒng)編版語文四年級(jí)上冊(cè)第七單元 講述人物事跡 弘揚(yáng)家國情懷單元任務(wù)群整體公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 宮角妊娠課件
- 2024年山東教育廳事業(yè)單位筆試真題
- CJT264-2007 水處理用橡膠膜微孔曝氣器
- 母嬰保健技術(shù)服務(wù)工作總結(jié)報(bào)告
- 2020年小升初數(shù)學(xué)難點(diǎn)復(fù)習(xí):圓柱的側(cè)面積、表面積和體積計(jì)算題含答案詳解
- (高清版)WST 227-2024 臨床檢驗(yàn)項(xiàng)目標(biāo)準(zhǔn)操作程序編寫要求
- 配位化學(xué) 本科生版 知到智慧樹網(wǎng)課答案
- 《配電線路旁路作業(yè)工具裝備 第1部分 柔性電纜及連接器》
評(píng)論
0/150
提交評(píng)論