




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、西北師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院學(xué)生實(shí)驗(yàn)報(bào)告學(xué)號(hào)201371010201專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)13計(jì)師2班姓名白涵冰課程名稱計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)課程類型專業(yè)必選實(shí)驗(yàn)名稱實(shí)驗(yàn)五 WinDLX模擬器熟悉及其結(jié)構(gòu)沖突實(shí)驗(yàn)?zāi)康模?、熟練掌握WinDLX模擬器的操作和使用 2、熟悉DLX指令集結(jié)構(gòu)及其特點(diǎn)3、理解流水線中的結(jié)構(gòu)相關(guān) 4、了解結(jié)構(gòu)相關(guān)對(duì)CPU性能的影響實(shí)驗(yàn)內(nèi)容:1、用WinDLX模擬器執(zhí)行求階乘程序fact.s。這個(gè)程序說(shuō)明浮點(diǎn)指令的使用。該程序從標(biāo)準(zhǔn)輸入讀入一個(gè)整數(shù),求其階乘,然后將結(jié)果輸出。該程序中調(diào)用了input.s中的輸入子程序,這個(gè)子程序用于讀入正整數(shù)。2、用WinDLX模擬器執(zhí)行求
2、最大公約數(shù)程序gcm.s。該程序從標(biāo)準(zhǔn)輸入讀入兩個(gè)整數(shù),求他們的最大公約數(shù),然后將結(jié)果寫到標(biāo)準(zhǔn)輸出。該程序中調(diào)用了input.s中的輸入子程序。 3、通過(guò)上述使用WinDLX,總結(jié)WinDLX的特點(diǎn)4、用WinDLX模擬器運(yùn)行程序structure_d.s(禁止定向技術(shù),在Clock Cycle Dragram子窗口中按F7鍵單步執(zhí)行,看得比較清楚??梢圆豢紤]程序的功能,只關(guān)心相鄰指令間執(zhí)行的相關(guān))。5、通過(guò)模擬,找出存在結(jié)構(gòu)相關(guān)的指令對(duì)以及導(dǎo)致結(jié)構(gòu)相關(guān)的部件。6、記錄由結(jié)構(gòu)相關(guān)引起的暫停時(shí)鐘周期數(shù),計(jì)算暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的 百分比。7、論述結(jié)構(gòu)相關(guān)對(duì)CPU性能的影響,討論解決結(jié)構(gòu)相
3、關(guān)的方法。一、配置WinDLX1.初始化模擬器2.改變流水線結(jié)構(gòu)3.設(shè)置模擬器存儲(chǔ)器大小二、裝載測(cè)試程序1(求階乘)代碼:Fact.s1 ;* WINDLX Ex.3: Factorial*2 ;* (c) 1991 Günther Raidl*3 ;* Modified: 1992 Maziar Khosravipour *4 ;-5 ; Program begin at symbol main6 ; requires module INPUT7 ; read a number from stdin and calculate the factorial(type: double)
4、8 ; the result is written to stdout9 ;-1011 .data12 Prompt: .asciiz "An integer value >1 : "13 PrintfFormat:.asciiz "Factorial = %gnn"14 .align215 PrintfPar: .wordPrintfFormat16 PrintfValue: .space817 18 .text19 .globalmain20 main: ;* Read value from stdin into R121 addi r1,r0
5、,Prompt22 jal InputUnsigned23 ;* init values24 movi2fp f10,r1;R1 -> D0D0.Count register25 cvti2d f0,f1026 addi r2,r0,1 ;1 -> D2D2.result27 movi2fp f11,r228 cvti2d f2,f1139 movd f4,f2;1-> D4 D4.Constant 130Loop: ;* Break loop if D0 = 131 led f0,f4;D0<=1 ?32 bfpt Finish33 ;* Multiplication
6、 and next loop34 multd f2,f2,f035 subd f0,f0,f436 j Loop37 Finish: ;* write result to stdout38 sd PrintfValue,f239 addi r14,r0,PrintfPar40 trap 541 ;* end42 trap 0input.s1 ;* WINDLX Ex.1: Read a positive integer number *2 ;* (c) 1991 Günther Raidl *3 ;* Modified 1992 Maziar Khosravipour *4 ;-5
7、;Subprogram call by symbol "InputUnsigned"6 ;expect the address of a zero-terminated prompt string in R17 ;returns the read value in R18 ;changes the contents of registers R1,R13,R149 ;-1011 .data12 ;* Data for Read-Trap13 ReadBuffer: .space8014 ReadPar: .word0,ReadBuffer,8015 ;* Data for
8、Printf-Trap16 PrintfPar: .space417 SaveR2: .space418 SaveR3: .space419 SaveR4: .space420 SaveR5: .space42122 .text23 .globalInputUnsigned24 InputUnsigned:;* save register contents25 sw SaveR2,r226 sw SaveR3,r327 sw SaveR4,r428 sw SaveR5,r529 ;* Prompt30 sw PrintfPar,r131 addir14,r0,PrintfPar32 trap5
9、33 ;* call Trap-3 to read line34 addir14,r0,ReadPar35 trap336 ;* determine value37 addir2,r0,ReadBuffer38 addir1,r0,039 addir4,r0,10;Decimal system40 Loop: ;* reads digits to end of line41 lbu r3,0(r2)42 seqir5,r3,10;LF -> Exit43 bnezr5,Finish44 subir3,r3,48;´0´45 multur1,r1,r4;Shift de
10、cimal46 add r1,r1,r347 addir2,r2,1 ;increment pointer48 j Loop49 Finish: ;* restore old register contents50 lw r2,SaveR251 lw r3,SaveR352 lw r4,SaveR453 lw r5,SaveR554 jr r31; Return 三、模擬運(yùn)行程序Pipeline子窗口Code子窗口開(kāi)始執(zhí)行程序,首先雙擊Register子窗口,可以看到DLX的全部寄存器及其內(nèi)容,觀察左上角的PC寄存器,其值為0x00000100,也就是說(shuō)程序會(huì)從內(nèi)存0x00000100處開(kāi)始執(zhí)
11、行再雙擊Pipeline子窗口,最大化該子窗口,可以看到DLX流水線的基本結(jié)構(gòu),在代表每個(gè)流水段的方框中,交叉線表示該方框目前沒(méi)有執(zhí)行指令,此時(shí),所有方框均為交叉線,表明流水線沒(méi)有執(zhí)行程序在程序執(zhí)行過(guò)程中激活Code子窗口,按下F7鍵,這時(shí)窗口中帶有地址“$TEXT ”的第一條指令變成黃色切換到Register子窗口,可以看到PC值變?yōu)?x00000104切換到Register子窗口,可以看到PC值變?yōu)?x00000104。切換到Pipeline子窗口,可以看到,此時(shí)第一條指令在流水線的IF段,其他流水段空閑再按下 F7 鍵,可以看到,第一條指令進(jìn)入到流水線的ID段,第二條指令進(jìn)入流水線的IF
12、段 按F5輸入要求階乘的數(shù),按F7通過(guò)運(yùn)行顯示結(jié)果為1202加載求最大公約數(shù)所需程序 gcm.sgcm.smain:;* Read two positive integer numbers into R1 and R2addir1,r0,Prompt1jalInputUnsigned;read uns.-integer into R1addr2,r1,r0;R2 <- R1addir1,r0,Prompt2jalInputUnsigned;read uns.-integer into R1Loop:;* Compare R1 and R2seqr3,r1,r2;R1 = R2 ?bnez
13、r3,Resultsgtr3,r1,r2;R1 > R2 ?bnezr3,r1Greaterr2Greater:;* subtract r1 from r2subr2,r2,r1jLoopr1Greater:;* subtract r2 from r1subr1,r1,r2jLoopResult: ;* Write the result (R1)swPrintfValue,r1addir14,r0,PrintfPartrap5;* end trap0最大公約數(shù)程序 gcm.s的結(jié)果:通過(guò)按F7和enter鍵分別輸入第一個(gè)數(shù)2和第二個(gè)數(shù)6最后得出最大公約數(shù)231.裝載程序structure
14、_d.s文件程序structure_d.s.dataA:.double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 B:.double 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 .textLHIR2, (A>>16) & 0xFFFF ADDUIR2, R2, A & 0xFFFF LHIR3, (B>>16) & 0xFFFF ADDUIR3, R3, B & 0xFFFF ADDUR4, R0, R3 loop: LDF0, 0(R2) LDF4, 0(R3) ADDDF0, F0, F4 ADDDF2, F0, F2 ADDIR2, R2, #8 ADDIR3, R3, #8 SUBR5, R4, R2 BNEZR5, loop TRAP#02.雙擊打開(kāi)clock cycle diagram窗口,按F7鍵單步執(zhí)行首先,可以看到在指令執(zhí)行第四個(gè)周期時(shí),第二條指令和第一條指令之間產(chǎn)生了對(duì)于r2的數(shù)據(jù)相關(guān)實(shí)驗(yàn)總結(jié): 通過(guò)本實(shí)驗(yàn),基本掌握了WinDLX模擬器的操作和使用,熟悉DLX指令集結(jié)構(gòu)及其特點(diǎn),對(duì)于體系結(jié)構(gòu)這門課程的學(xué)習(xí)和后面的實(shí)驗(yàn)還是很有幫助的。通過(guò)本次系統(tǒng)結(jié)構(gòu)實(shí)驗(yàn),我對(duì)DLX的流水線運(yùn)行分析,包括流水線單步執(zhí)行、每個(gè)流水段功能、理解流水線停頓、流水線建
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工地禁煙活動(dòng)方案
- 小班茶活動(dòng)方案
- 工程項(xiàng)目質(zhì)量日活動(dòng)方案
- 崇明區(qū)員工聚會(huì)活動(dòng)方案
- 常發(fā)公司年會(huì)活動(dòng)方案
- 師傅鍛煉活動(dòng)方案
- 布吉啤酒推銷活動(dòng)方案
- 小學(xué)詩(shī)歌傳唱活動(dòng)方案
- 小學(xué)生職業(yè)扮演活動(dòng)方案
- 少年徒步活動(dòng)方案
- 云南省昆明市 2022-2023學(xué)年高一下學(xué)期期末英語(yǔ)試題(含答案)
- 診所合伙投資協(xié)議書
- 2025年吉林省彩虹人才開(kāi)發(fā)咨詢服務(wù)公司招聘筆試參考題庫(kù)附帶答案詳解
- 推動(dòng)變革實(shí)現(xiàn)企業(yè)扁平化管理
- 可克達(dá)拉職業(yè)技術(shù)學(xué)院招聘事業(yè)單位工作人員筆試真題2024
- 2025至2030中國(guó)寺廟經(jīng)濟(jì)市場(chǎng)深度調(diào)研與未來(lái)前景發(fā)展研究報(bào)告
- 中國(guó)雄激素性禿發(fā)診療指南(2023)解讀 課件
- 2025年全國(guó)低壓電工作業(yè)證(復(fù)審)考試練習(xí)題庫(kù)(600題)附答案
- 2025漳浦縣國(guó)企招聘考試題目及答案
- 知識(shí)產(chǎn)權(quán)相關(guān)的國(guó)際法的試題及答案
- 鋼結(jié)構(gòu)墻板拆除施工方案
評(píng)論
0/150
提交評(píng)論