求素?cái)?shù)程序prim.s計(jì)算機(jī)體系結(jié)構(gòu)_第1頁(yè)
求素?cái)?shù)程序prim.s計(jì)算機(jī)體系結(jié)構(gòu)_第2頁(yè)
求素?cái)?shù)程序prim.s計(jì)算機(jī)體系結(jié)構(gòu)_第3頁(yè)
求素?cái)?shù)程序prim.s計(jì)算機(jī)體系結(jié)構(gòu)_第4頁(yè)
求素?cái)?shù)程序prim.s計(jì)算機(jī)體系結(jié)構(gòu)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)報(bào)告課程名稱計(jì)算機(jī)體系結(jié)構(gòu)實(shí)驗(yàn)工程__WinDLX模擬器實(shí)驗(yàn)_實(shí)驗(yàn)儀器個(gè)人計(jì)算機(jī)系別_計(jì)算機(jī)學(xué)院__專業(yè)___網(wǎng)絡(luò)工程班級(jí)/學(xué)號(hào)網(wǎng)工0903/2009011422學(xué)生姓名_______張昭_______實(shí)驗(yàn)日期______________________成績(jī)______________________指導(dǎo)教師______侯凌燕_________WinDLX模擬器實(shí)驗(yàn)實(shí)習(xí)目的:通過(guò)使用WINDLX模擬器,對(duì)程序中的三種相關(guān)原理進(jìn)行觀察,并對(duì)使用專用通路,增加運(yùn)算部件等技術(shù)對(duì)性能的影響進(jìn)行考察,加深對(duì)流水線和RISC處理器的特點(diǎn)的理解。實(shí)習(xí)環(huán)境:WinDLX模擬器可以裝入DLX匯編語(yǔ)言程序,然后單步、設(shè)置斷點(diǎn)或者連續(xù)執(zhí)行該程序。CPU的存放器、流水線、I/O和存儲(chǔ)器都可以使用圖形的方式表示出來(lái)。模擬器還提供了對(duì)流水線操作的統(tǒng)計(jì)功能。該模擬器對(duì)理解流水線和RISC處理器的特點(diǎn)很有幫助。WinDLX要求的硬件平臺(tái)是IBMPC兼容機(jī),WinDLX是一個(gè)Windows應(yīng)用程序,運(yùn)行于Windows3.0以上的操作系統(tǒng)。WinDLX軟件包中帶有說(shuō)明文件,供安裝程序時(shí)候使用。軟件包中還有WinDLX教程和聯(lián)機(jī)幫助,可以通過(guò)它們進(jìn)一步了解模擬器的使用方法和DLX處理器的原理。大家在進(jìn)行模擬實(shí)驗(yàn)以前應(yīng)該仔細(xì)閱讀這些文檔。實(shí)習(xí)步驟:1.一.用WinDLX模擬器執(zhí)行以下三個(gè)程序〔按照最后一位學(xué)號(hào)除3的余數(shù)選擇〕:l求素?cái)?shù)程序prim.s〔余數(shù)為2〕分別以步進(jìn)、連續(xù)、設(shè)置斷點(diǎn)的方式運(yùn)行程序,觀察程序在流水線中的執(zhí)行情況,觀察CPU中存放器和存儲(chǔ)器的內(nèi)容。熟練掌握WinDLX的操作和使用。Prim.s程序的源代碼:;***********WINDLXExp.2:Generateprimenumbertable*************;***********(c)1991G黱therRaidl *************;***********Modified1992MaziarKhosravipour *************;-------------------------------------------------------------------;Programbeginsatsymbolmain;generatesatablewiththefirst'Count'primenumbersfrom'Table';------------------------------------------------------------------- .data ;***sizeoftable .global CountCount: .word 10 .global TableTable: .space Count*4 .text .global mainmain: ;***Initialization addi r1,r0,0 ;IndexinTable addi r2,r0,2 ;Currentvalue ;***Determine,ifR2canbedividedbyavalueintableNextValue: addi r3,r0,0 ;HelpindexinTableLoop: seq r4,r1,r3 ;EndofTable? bnez r4,IsPrim ;R2isaprimenumber lw r5,Table(R3) divu r6,r2,r5 multu r7,r6,r5 subu r8,r2,r7 beqz r8,IsNoPrim addi r3,r3,4 j LoopIsPrim: ;***WritevalueintoTableandincrementindex sw Table(r1),r2 addi r1,r1,4 ;***'Count'reached? lw r9,Count srli r10,r1,2 sge r11,r10,r9 bnez r11,FinishIsNoPrim: ;***Checknextvalue addi r2,r2,1 ;incrementR2 j NextValueFinish: ;***end trap 0步進(jìn):連續(xù):設(shè)置斷點(diǎn):

〔1〕觀察程序中出現(xiàn)的數(shù)據(jù)/控制/結(jié)構(gòu)相關(guān)。指出程序中出現(xiàn)上述現(xiàn)象的指令組合。

〔2〕考察增加浮點(diǎn)運(yùn)算部件對(duì)性能的影響。

〔3〕考察增加forward部件對(duì)性能的影響。

〔4〕觀察轉(zhuǎn)移指令在轉(zhuǎn)移成功和轉(zhuǎn)移不成功時(shí)候的流水線開(kāi)銷。2.在不采用定向技術(shù)的情況下〔去掉Configuration菜單中EnableForwarding選項(xiàng)前的勾選符〕,用WinDLX運(yùn)行程序data_d.s。記錄數(shù)據(jù)相關(guān)引起的暫停時(shí)鐘周期數(shù)以及程序執(zhí)行的總時(shí)鐘周期數(shù),計(jì)算暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比。改變前:改變后:不采用重新定向技術(shù),我們得到的結(jié)果采用定向技術(shù),我們得到的結(jié)果:數(shù)據(jù)相關(guān)引起的暫停時(shí)鐘周期總數(shù)、程序執(zhí)行的總時(shí)鐘周期數(shù)、計(jì)算暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比:總的周期數(shù)〔2605〕,暫停數(shù)〔2021〕百分比:2021/2605=77.58%〔采用定向技術(shù)〕總的周期數(shù)〔3194〕,暫停數(shù)〔2334〕百分比:2334/3194=73.07%〔不采用定向技術(shù)〕數(shù)據(jù)相關(guān):Addir1,r0,0x0Addir2,r0,0x2Addir3,r0,0x0Seqr4,r1,r3Bnezr4,lsprimLwr5,table(r3)Divur6,r2,r5Multur7,r6,r5Subur8,r2,r7Beqzr8,lsnoprimAddir3,r3,0x4IloopSwtable(r1),r2Addir1,r1,0x4Lwr9,$data(r0)Srlir10,r1,2Sger11,r10,r9Bnezr11,finishAddir2,r2,0x1InextvalueTrap0x0nop結(jié)構(gòu)相關(guān):Instructions/cyclesSwtable(r1),r2Addir1,r1,0x4Lwr9,$data(r0)Srlir10,r1,2Sger11,r10,r9Bnezr11,finishAddir2,r2,0x1Trap0x0nop1.分析并寫(xiě)出此時(shí)全部數(shù)據(jù)相關(guān)的指令、原因、流水線停頓截圖、暫停時(shí)鐘周期數(shù)〔循環(huán)的只寫(xiě)一輪〕所有截圖如上〔截圖為整個(gè)循環(huán)〕2.數(shù)據(jù)相關(guān)引起的暫停時(shí)鐘周期數(shù)、程序執(zhí)行的總時(shí)鐘周期數(shù)、計(jì)算采用定向技術(shù)后性能提高的倍數(shù)??偟闹芷跀?shù)〔2605〕,暫停數(shù)〔2021〕百分比:2021/2605=77.58%〔采用定向技術(shù)〕總的周期數(shù)〔3194〕,暫停數(shù)〔2334〕百分比:2334/3194=73.07%〔不采用定向技術(shù)〕性能提高倍數(shù):3194/2605-1=22.61%3.在程序逐步執(zhí)行過(guò)程中,對(duì)于ClockCycleDiagarm窗口中出現(xiàn)的一些箭頭,可否給出一些解釋?在Clockcyclediagram窗口中,有時(shí)候還可以看到在指令之間出現(xiàn)了紅和綠的箭頭。紅色箭頭表示需要一個(gè)暫停,箭頭指向處顯示了暫停的原因。R-Stall〔R-暫?!潮硎疽饡和5脑蚴荝AW。綠色箭頭表示定向技術(shù)的使用。4.對(duì)于產(chǎn)生相關(guān)的一些程序,可否有什么方法來(lái)防止這些相關(guān)?可以考慮采用資源重復(fù)的方法,比

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論