




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)一 流水線中的相關(guān)一實(shí)驗(yàn)?zāi)康?. 熟練掌握WinDLX模擬器的操作和使用,熟悉DLX指令集結(jié)構(gòu)及其特點(diǎn);2. 加深對(duì)計(jì)算機(jī)流水線基本概念的理解;3. 進(jìn)一步了解DLX基本流水線各段的功能以及基本操作;4. 加深對(duì)數(shù)據(jù)相關(guān)、結(jié)構(gòu)相關(guān)的理解,了解這兩類相關(guān)對(duì)CPU性能的影響;5. 了解解決數(shù)據(jù)相關(guān)的方法,掌握如何使用定向技術(shù)來(lái)減少數(shù)據(jù)相關(guān)帶來(lái)的暫停。二實(shí)驗(yàn)平臺(tái)WinDLX模擬器3 預(yù)備知識(shí)1. WinDLX WinDLX模擬器是一個(gè)圖形化、交互式的DLX流水線模擬器,能夠演示DLX流水線是如何工作的。該模擬器可以裝載DLX匯編語(yǔ)言程序(后綴為“.s”的文件),然后單步、設(shè)斷點(diǎn)或是連續(xù)執(zhí)行該程序
2、。CPU的寄存器、流水線、I/O和存儲(chǔ)器都可以用圖形表示出來(lái),以形象生動(dòng)的方式描述DLX流水線的工作過(guò)程。模擬器還提供了對(duì)流水線操作的統(tǒng)計(jì)功能,便于對(duì)流水線進(jìn)行性能分析。有關(guān)WinDLX的詳細(xì)介紹,見(jiàn)WinDLX教程。2. 熟悉WinDLX指令集和WinDLX源代碼的編寫3. 復(fù)習(xí)和掌握教材中相應(yīng)的內(nèi)容(1)DLX基本流水線(2)流水線的結(jié)構(gòu)相關(guān)與數(shù)據(jù)相關(guān)l 結(jié)構(gòu)相關(guān):當(dāng)指令在重疊執(zhí)行過(guò)程中,硬件資源滿足不了指令重疊執(zhí)行的要求,發(fā)生資源沖突時(shí),將產(chǎn)生“結(jié)構(gòu)相關(guān)”。l 數(shù)據(jù)相關(guān):當(dāng)一條指令需要用到前面指令的執(zhí)行結(jié)果,而這些指令均在流水線中重疊執(zhí)行時(shí),就可能引起“數(shù)據(jù)相關(guān)”。(3)定向技術(shù)的主要思
3、想:在發(fā)生數(shù)據(jù)相關(guān)時(shí),等待前面計(jì)算結(jié)果的指令并不一定真的馬上就用到該計(jì)算結(jié)果,如果能夠?qū)⒃撚?jì)算結(jié)果從其產(chǎn)生的地方直接送到其他指令需要它的地方,就可以避免暫停。4 實(shí)驗(yàn)內(nèi)容及結(jié)果1. 用 WinDLX 模擬器執(zhí)行下列三個(gè)程序(任選一個(gè)):l 求階乘程序 fact.sl 求最大公倍數(shù)程序 gcm.sl 求素?cái)?shù)程序 prim.s分別以步進(jìn)、連續(xù)、設(shè)置斷點(diǎn)的方式運(yùn)行程序,觀察程序在流水線中的執(zhí)行情況,觀察CPU 中寄存器和存儲(chǔ)器的內(nèi)容。熟練掌握WinDLX 的操作和使用。注意:fact.s 中調(diào)用了input.s 中的輸入子程序。load 程序時(shí),要兩個(gè)程序一起裝入(都select 后再點(diǎn)擊load)
4、。gcm.s 也是如此。 說(shuō)明:此實(shí)驗(yàn)我們選擇:求階乘程序fact.s 1)用WinDLX模擬器執(zhí)行求階乘程序fact.s 。 2)程序的作用:這個(gè)程序說(shuō)明浮點(diǎn)指令的使用。該程序從標(biāo)準(zhǔn)輸入讀入一個(gè)整數(shù),求其階乘,然后將結(jié)果輸出。該程序中調(diào)用了input.s中的輸入子程序,這個(gè)子程序用于讀入正 整數(shù)。 3)實(shí)驗(yàn)結(jié)果: i . 分別以步進(jìn)、連續(xù)、設(shè)置斷點(diǎn)的方式運(yùn)行程序 圖1. 求階乘程序fact.s運(yùn)行統(tǒng)計(jì)數(shù)據(jù)步進(jìn)方式運(yùn)行 圖2 求階乘程序fact.s運(yùn)行統(tǒng)計(jì)數(shù)據(jù)連續(xù)方式運(yùn)行 圖3 求階乘程序fact.s運(yùn)行統(tǒng)計(jì)數(shù)據(jù)連續(xù)方式運(yùn)行 ii. 數(shù)據(jù)統(tǒng)計(jì)圖1.1.4 求階乘程序fact.s運(yùn)行統(tǒng)計(jì)數(shù)據(jù)圖5
5、 求階乘程序fact.s流水線執(zhí)行情況圖6 求階乘程序fact.s寄存器使用情況 iii. 定向非定向分析在載入fact.s和input.s之后,不設(shè)置任何斷點(diǎn)運(yùn)行。A. 不采用重新定向技術(shù),我們得到的結(jié)果:B. 采用定向技術(shù),我們得到的結(jié)果: 結(jié)果分析從上面的數(shù)據(jù)我們可以看出定向的作用:在定向技術(shù)存在的情況下Statistics 窗口中的各種統(tǒng)計(jì)數(shù)字:總的周期數(shù)(215) 和暫停數(shù) (17 RAW, 25 Control, 12 Trap; 54 Total)在定向技術(shù)不存在時(shí)候,控制暫停和 Trap 暫停仍然是同樣的值,而RAW暫停從17變成了53,總的模擬周期數(shù)增加到236。所以定向技術(shù)
6、帶來(lái)的加速比:S=236 / 215 = 1.098因此:DLXforwarded比 DLXnot forwarded 快9.8%。 2. 用 WinDLX 運(yùn)行程序structure_d.s,通過(guò)模擬:l 找出存在結(jié)構(gòu)相關(guān)的指令對(duì)以及導(dǎo)致結(jié)構(gòu)相關(guān)的部件;l 記錄由結(jié)構(gòu)相關(guān)引起的暫停時(shí)鐘周期數(shù),計(jì)算暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比;l 論述結(jié)構(gòu)相關(guān)對(duì) CPU 性能的影響,討論解決結(jié)構(gòu)相關(guān)的方法。 1)模擬結(jié)果:圖2.1 程序structure_d.s流水線執(zhí)行過(guò)程圖2.2程序structure_d.s運(yùn)行統(tǒng)計(jì)信息 2)結(jié)構(gòu)相關(guān) i. 如圖,導(dǎo)致結(jié)構(gòu)的部件:浮點(diǎn)數(shù)寄存器f4 addd f0,
7、f0,f4 指令在譯碼階段ID停滯1周期 ii. 如圖導(dǎo)致結(jié)構(gòu)相關(guān)的部件: ALU addi r2,r2,0x8 指令在執(zhí)行階段intEX停滯1周期 3)結(jié)果分析由資源相關(guān)引起的暫停周期數(shù)為:30總執(zhí)行周期數(shù)為:139暫停周期數(shù)占總執(zhí)行周期數(shù)的百分比:21.58%分析:資源相關(guān)使相關(guān)指令在流水線上停滯,降低了執(zhí)行效率。 4)解決辦法在合理的指令調(diào)度范圍內(nèi),盡量避免執(zhí)行重復(fù)的指令。盡量避免同一寄存器的頻繁使用,若無(wú)法避免,則使用寄存器換名的方法。也可以考慮采用資源重復(fù)的方法,比如,在流水線機(jī)器中設(shè)置相互獨(dú)立的指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,也可以將CACHE分割成指令CACHE 和數(shù)據(jù)CACHE。3.
8、在不采用定向技術(shù)的情況下(去掉 Configuration 菜單中Enable Forwarding 選項(xiàng)前的勾選符),用WinDLX 運(yùn)行程序data_d.s。記錄數(shù)據(jù)相關(guān)引起的暫停時(shí)鐘周期數(shù)以及程序執(zhí)行的總時(shí)鐘周期數(shù),計(jì)算暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比。 1)實(shí)驗(yàn)結(jié)果: 沒(méi)有采用定向技術(shù)時(shí)運(yùn)行該程序,我們得到: 2)結(jié)果分析:程序執(zhí)行了202個(gè)周期,10個(gè)數(shù)據(jù)相關(guān)引起的時(shí)鐘周期RAW stall為104個(gè)。暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比=51.48%4. 在采用定向技術(shù)的情況下(勾選Enable Forwarding),用WinDLX 再次運(yùn)行程序data_d.s。重復(fù)上述3
9、中的工作,并計(jì)算采用定向技術(shù)后性能提高的倍數(shù)。 1)實(shí)驗(yàn)結(jié)果: 采用定向技術(shù)時(shí)運(yùn)行該程序,我們得到: 2)結(jié)果分析:程序執(zhí)行了128個(gè)周期,共有6個(gè)數(shù)據(jù)相關(guān)引起的時(shí)鐘周期RAW stall為30個(gè)。暫停時(shí)鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比=23.44% 五總結(jié)實(shí)驗(yàn)二 循環(huán)展開(kāi)及指令調(diào)度一實(shí)驗(yàn)?zāi)康?. 加深對(duì)循環(huán)級(jí)并行性、指令調(diào)度技術(shù)、循環(huán)展開(kāi)技術(shù)以及寄存器換名技術(shù)的理解; 2. 熟悉用指令調(diào)度技術(shù)來(lái)解決流水線中的數(shù)據(jù)相關(guān)的方法; 3. 了解循環(huán)展開(kāi)、指令調(diào)度等技術(shù)對(duì) CPU 性能的改進(jìn)。二實(shí)驗(yàn)平臺(tái)WinDLX simulator 4 預(yù)備知識(shí)1. WinDLX模擬器的相關(guān)知識(shí),詳見(jiàn)相關(guān)的文檔。2.
10、 復(fù)習(xí)和掌握教材中相應(yīng)的內(nèi)容:(1) 循環(huán)級(jí)并行性(2) 指令調(diào)度 (3) 循環(huán)展開(kāi) (4) 寄存器換名5 實(shí)驗(yàn)內(nèi)容及結(jié)果1用指令調(diào)度技術(shù)解決流水線中的結(jié)構(gòu)相關(guān)與數(shù)據(jù)相關(guān)(1)用DLX匯編語(yǔ)言編寫代碼文件*.s,程序中應(yīng)包括數(shù)據(jù)相關(guān)與結(jié)構(gòu)相關(guān)(假設(shè):加法乘法除法部件各有2個(gè),延遲時(shí)間都是3個(gè)時(shí)鐘周期) 給出調(diào)度前的程序sch_bef:.data.global ONEONE: .word 1.text.global mainmain:lf f1,ONE ;turn divf into a movecvti2f f7,f1 ;by storing in f7 1 innop ;floating-p
11、oint formatdivf f1,f8,f7 ;move Y=(f8) into f1divf f2,f9,f7 ;move Z=(f9) into f2addf f3,f1,f2divf f10,f3,f7 ;move f3 into X=(f10)divf f4,f11,f7 ;move B=(f11) into f4divf f5,f12,f7 ;move C=(f12) into f5multf f6,f4,f5divf f13,f6,f7 ;move f6 into A=(f13)Finish: trap 0(2) 通過(guò)Configuration菜單中的“Floating poi
12、nt stages” 選項(xiàng),把加法乘法除法部件的個(gè)數(shù)設(shè)置為2個(gè),把延遲都設(shè)置為3個(gè)時(shí)鐘周期; (3) 用WinDLX運(yùn)行程序。記錄程序執(zhí)行過(guò)程中各種相關(guān)發(fā)生的次數(shù)、發(fā)生相關(guān)的指令組合,以及程序執(zhí)行的總時(shí)鐘周期數(shù); (4) 采用指令調(diào)度技術(shù)對(duì)程序進(jìn)行指令調(diào)度,消除相關(guān); 調(diào)度之后的程序sch_aft:.data.global ONEONE: .word 1.text.global mainmain:lf f1,ONE ;turn divf into a movecvti2f f7,f1 ;by storing in f7 1 innop ;floating-point formatdivf f1
13、,f8,f7 ;move Y=(f8) into f1divf f2,f9,f7 ;move Z=(f9) into f2divf f4,f11,f7 ;move B=(f11) into f4divf f5,f12,f7 ;move C=(f12) into f5addf f3,f1,f2multf f6,f4,f5divf f10,f3,f7 ;move f3 into X=(f10)divf f13,f6,f7 ;move f6 into A=(f13)divf f10,f3,f7 ;move f3 into X=(f10)divf f13,f6,f7 ;move f6 into A=(
14、f13)Finish: trap 0(5) 用WinDLX運(yùn)行調(diào)度后的程序,觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總時(shí)鐘周期數(shù); (6) 根據(jù)記錄結(jié)果,比較調(diào)度前和調(diào)度后的性能。論述指令調(diào)度對(duì)于提高CPU性能的意義。意義:可以看出經(jīng)過(guò)調(diào)度之后運(yùn)行周期從27減少到21,而且減少了相關(guān)。2. 用循環(huán)展開(kāi)、寄存器換名以及指令調(diào)度提高性能(1)用DLX匯編語(yǔ)言編寫代碼文件*.s,程序中包含一個(gè)循環(huán)次數(shù)為4的整數(shù)倍的簡(jiǎn)單循環(huán); 循環(huán)展開(kāi)前的程序:LHI R2, (A>>16)&0xFFFF ADDUI R2, R2, A&0xFFFF LHI R3, (B>>
15、;16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 NOP loop: SUBI R4, R4, #8 SUB R5, R4, R2 BNEZ R5, loop TRAP #0 A: .double 1, 2, 3, 4 B: .double 1, 2, 3, 4(2) 用WinDLX運(yùn)行該程序。記錄執(zhí)行過(guò)程中各種相關(guān)發(fā)生的次數(shù)以及程序執(zhí)行的總時(shí)鐘周期數(shù); (3) 將循環(huán)展開(kāi)3次,將4個(gè)循環(huán)體組成的代碼代替原來(lái)的循環(huán)體,并對(duì)程序做相應(yīng)的修改。然后對(duì)新的循環(huán)體進(jìn)行寄存器換名和指令調(diào)度; LHI R2, (A>>16)&
16、amp;0xFFFF ADDUI R2, R2, A&0xFFFF LHI R3, (B>>16)&0xFFFF ADDUI R3, R3, B&0xFFFF ADDU R4, R0, R3 SUBI R4, R4, #8 SUBI R4, R4, #8 SUBI R4, R4, #8 SUBI R4, R4, #8 TRAP #0 A: .double 1, 2, 3, 4 B: .double 1, 2, 3, 4循環(huán)展開(kāi)后的程序:(4) 用WinDLX運(yùn)行修改后的程序,記錄執(zhí)行過(guò)程中各種相關(guān)發(fā)生的次數(shù)以及程序執(zhí)行的總時(shí)鐘周期數(shù); (5) 根據(jù)記錄結(jié)果,
17、比較循環(huán)展開(kāi)、指令調(diào)度前后的性能。 結(jié)論:可以看出經(jīng)過(guò)循環(huán)展開(kāi)之后運(yùn)行周期從30減少到14,而且減少了相關(guān)。五總結(jié)實(shí)驗(yàn)三 記分牌算法和Tomasulo 算法一實(shí)驗(yàn)?zāi)康?. 掌握DLXview 模擬器的使用方法;2. 進(jìn)一步理解指令動(dòng)態(tài)調(diào)度的基本思想,了解指令動(dòng)態(tài)調(diào)度的基本過(guò)程與方法;3. 理解記分牌算法和Tomasulo 算法的基本思想,了解它們的基本結(jié)構(gòu)、運(yùn)行過(guò)程;4. 比較分析基本流水線與記分牌算法和Tomasulo 算法的性能及優(yōu)缺點(diǎn)。二實(shí)驗(yàn)平臺(tái)DLXview 模擬器三預(yù)備知識(shí)1. DLXview 模擬器2. 復(fù)習(xí)和掌握教材中相應(yīng)的內(nèi)容 1)指令的動(dòng)態(tài)調(diào)度 2)亂序流水線 3)為了允許亂
18、序執(zhí)行,我們將基本流水線的譯碼階段再分為兩個(gè)階段: 4)記分牌技術(shù)的目標(biāo):在資源充足時(shí),盡可能早地執(zhí)行沒(méi)有數(shù)據(jù)阻塞的指令,達(dá)到每個(gè)時(shí)鐘周期執(zhí)行一條指令。 5)Tomasulo 算法將記分牌的關(guān)鍵部分和寄存器換名技術(shù)結(jié)合在一起,其基本核心是通過(guò)寄存器換名來(lái)消除寫后寫和先讀后寫相關(guān)可能引發(fā)的流水線阻塞。 6)Tomasulo 算法的基本思想四實(shí)驗(yàn)內(nèi)容及結(jié)果 1. 用DLX匯編語(yǔ)言編寫代碼文件*.s(程序中應(yīng)包括指令的數(shù)據(jù)相關(guān)、控制相關(guān)以及結(jié)構(gòu)相關(guān)),以及相關(guān)的初始化寄存器文件*.i和數(shù)據(jù)文件*.d; 305.s 305.i#put 30 into r2 ->#34(r2) is 64 (0x
19、40)put r2 30#put 2.5 into address 0x40fput 0x40 2.5#put 23 into r3 ->#45(r3) is 68 (0x41)put r3 23#put 4.0 into address 68fput 0x414.0#put 1.25 into FP register f4fput f4 1.25lf f6, 34(r2)lf f2, 45(r3)multf f0, f2, f4subf f8, f6, f2divf f10,f0, f6addf f6, f8, f2trap#02. 觀察程序中出現(xiàn)的數(shù)據(jù)相關(guān)、控制相關(guān)、結(jié)構(gòu)相關(guān),并指出
20、三種相關(guān)的指令組合;(1) 第二個(gè)lf指令到multf、subf和addf,multf到divf之間,subf到addf之間存在著先寫后讀相關(guān)。(2) divf和addf之間存在著先讀后寫相關(guān)。(3) addf和subf指令關(guān)于浮點(diǎn)加法部件還存在著結(jié)構(gòu)相關(guān)。3. 將自己編寫的程序*.s、*.i、*.d裝載到DLXview模擬器上, (1)分別用基本流水線、記分牌算法和Tomasulo算法模擬,針對(duì)每一種模擬做如下分析:基本流水線:統(tǒng)計(jì)程序的執(zhí)行周期數(shù)和流水線中的暫停時(shí)鐘周期數(shù) 1個(gè)加法部件,延遲周期為22個(gè)乘法部件,延遲周期為101個(gè)除法部件,延遲周期為40 程序執(zhí)行時(shí)鐘周期數(shù) 67,流水線中
21、的暫停時(shí)鐘周期10 改變功能部件數(shù)目重新模擬,觀察并記錄性能的改變 2個(gè)加法部件,延遲周期為23個(gè)乘法部件,延遲周期為102個(gè)除法部件,延遲周期為40程序執(zhí)行時(shí)鐘周期數(shù) 67,流水線中的暫停時(shí)鐘周期10 改變功能部件延遲重新模擬,觀察并記錄性能的改變 1個(gè)加法部件,延遲周期為12個(gè)乘法部件,延遲周期為81個(gè)除法部件,延遲周期為32 程序執(zhí)行時(shí)鐘周期數(shù) 47,流水線中的暫停時(shí)鐘周期8由此可見(jiàn)增加功能部件數(shù)目之后,性能并沒(méi)有提高減少功能部件延遲之后,性能得到了顯著的提高。 記分牌算法:統(tǒng)計(jì)程序的執(zhí)行周期數(shù)和流水線中的暫停時(shí)鐘周期數(shù) 1個(gè)加法部件,延遲周期為22個(gè)乘法部件,延遲周期為101個(gè)除法部件
22、,延遲周期為40 程序執(zhí)行時(shí)鐘周期數(shù) 59,流水線中的暫停時(shí)鐘周期12 改變功能部件數(shù)目重新模擬,觀察并記錄性能的改變 2個(gè)加法部件,延遲周期為23個(gè)乘法部件,延遲周期為102個(gè)除法部件,延遲周期為40程序執(zhí)行時(shí)鐘周期數(shù) 59,流水線中的暫停時(shí)鐘周期12 改變功能部件延遲重新模擬,觀察并記錄性能的改變 1個(gè)加法部件,延遲周期為12個(gè)乘法部件,延遲周期為81個(gè)除法部件,延遲周期為32 程序執(zhí)行時(shí)鐘周期數(shù) 49,流水線中的暫停時(shí)鐘周期10由此可見(jiàn)增加功能部件數(shù)目之后,性能并沒(méi)有提高減少功能部件延遲之后,性能得到了顯著的提高。 Tomasulo算法:統(tǒng)計(jì)程序的執(zhí)行周期數(shù)和流水線中的暫停時(shí)鐘周期數(shù) 1
23、個(gè)加法部件,延遲周期為22個(gè)乘法部件,延遲周期為101個(gè)除法部件,延遲周期為40 程序執(zhí)行時(shí)鐘周期數(shù) 56,流水線中的暫停時(shí)鐘周期10 改變功能部件數(shù)目重新模擬,觀察并記錄性能的改變 2個(gè)加法部件,延遲周期為23個(gè)乘法部件,延遲周期為102個(gè)除法部件,延遲周期為40程序執(zhí)行時(shí)鐘周期數(shù) 56,流水線中的暫停時(shí)鐘周期10 改變功能部件延遲重新模擬,觀察并記錄性能的改變 1個(gè)加法部件,延遲周期為12個(gè)乘法部件,延遲周期為81個(gè)除法部件,延遲周期為32 程序執(zhí)行時(shí)鐘周期數(shù) 46,流水線中的暫停時(shí)鐘周期8由此可見(jiàn)增加功能部件數(shù)目之后,性能并沒(méi)有提高減少功能部件延遲之后,性能得到了顯著的提高。(2)記錄運(yùn)
24、行記分牌算法時(shí)的功能部件狀態(tài)表和指令狀態(tài)表;(3)記錄運(yùn)行Tomasulo算法時(shí)的指令狀態(tài)表和保留站信息;實(shí)驗(yàn)四 Cache 性能分析一實(shí)驗(yàn)?zāi)康?. 加深對(duì) Cache 的基本概念、基本組織結(jié)構(gòu)以及基本工作原理的理解;2. 掌握 Cache 容量、相聯(lián)度、塊大小對(duì)Cache 性能的影響;3. 掌握降低 Cache 不命中率的各種方法以及這些方法對(duì)提高Cache 性能的好處;4. 理解 LRU 與隨機(jī)法的基本思想以及它們對(duì)Cache 性能的影響。二實(shí)驗(yàn)平臺(tái)Cache 模擬器MyCache三預(yù)備知識(shí)MyCache 模擬器使用方法1. 啟動(dòng)模擬器:用鼠標(biāo)雙擊MyCache.exe。2. 系統(tǒng)會(huì)打開(kāi)一
25、個(gè)操作界面。該界面的左邊為設(shè)置模擬參數(shù)區(qū)域,右邊為模擬結(jié)果顯示區(qū)域。如圖 1 所示。3. 可以設(shè)置的參數(shù)包括:是統(tǒng)一Cache 還是分離Cache,Cache 的容量,塊大小,相聯(lián)度,替換算法,預(yù)取策略,寫策略,寫不命中時(shí)的調(diào)塊策略??梢灾苯訌牧斜砝镞x擇。4. 訪問(wèn)地址可以選擇來(lái)自地址流文件,也可以選擇手動(dòng)輸入。如果是前者,則可以通過(guò)點(diǎn)擊“瀏覽”按鈕,從模擬器所在文件夾下面的“地址流”文件夾中選取地址流文件(.din 文件),然后進(jìn)行執(zhí)行。執(zhí)行的方式可以是步進(jìn),也可以是一次執(zhí)行到底。如果選擇手動(dòng)輸入,就可以在“執(zhí)行控制”區(qū)域中輸入塊地址,然后點(diǎn)擊“訪問(wèn)”按鈕。系統(tǒng)會(huì)在界面的右邊顯示訪問(wèn)類型、地
26、址、塊號(hào)以及塊內(nèi)地址。5. 模擬結(jié)果包括:(1)訪問(wèn)總次數(shù),總的不命中次數(shù),總的不命中率;(2)讀指令操作的次數(shù),其不命中次數(shù)及其不命中率;(3)讀數(shù)據(jù)操作的次數(shù),其不命中次數(shù)及其不命中率;(4)寫數(shù)據(jù)操作的次數(shù),其不命中次數(shù)及其不命中率;(5)手動(dòng)輸入單次訪問(wèn)的相關(guān)信息。圖 1 MyCache 模擬器的操作界面示意圖4 實(shí)驗(yàn)內(nèi)容及結(jié)果1. Cache 容量對(duì)不命中率的影響 1)啟動(dòng) MyCache。 2)用鼠標(biāo)點(diǎn)擊“復(fù)位”按鈕,把各參數(shù)設(shè)置為默認(rèn)值。 3)選擇一個(gè)地址流文件。方法:選擇“訪問(wèn)地址”下的“地址流文件”選項(xiàng),然后點(diǎn)擊“瀏覽”按鈕,從本模擬器所在的文件夾下的“地址流”文件夾中選取。
27、 4)選擇不同的Cache 容量,包括:2KB,4KB,8KB,16KB,32KB,64KB,128KB,256KB,分別執(zhí)行模擬器(點(diǎn)擊“執(zhí)行到底”按鈕),然后在表1 中記錄各種情況下的不命中率。表 1 不同容量下Cache 的不命中率Cache容量(kb)248163264128256不命中率14.22%10.46%7.59%4.78%2.84%1.97%1.26%0.98%地址流文件名:cc1.din 5)以容量為橫坐標(biāo),畫出不命中率隨Cache 容量變化而變化的曲線。并指明地址流文件名。 6) 根據(jù)該模擬結(jié)果,你能得出什么結(jié)論?結(jié)論:在其他變量一定的情況下,隨著Cache容量的變大不命
28、中率逐漸減小最后趨于穩(wěn)定。2. 相聯(lián)度對(duì)不命中率的影響 1) 用鼠標(biāo)點(diǎn)擊“復(fù)位”按鈕,把各參數(shù)設(shè)置為默認(rèn)值。這時(shí)的 Cache 容量為64KB。 2) 選擇一個(gè)地址流文件。方法:選擇“訪問(wèn)地址”下的“地址流文件”選項(xiàng),然后點(diǎn)擊“瀏覽”按鈕,從本模擬器所在的文件夾下的“地址流”文件夾中選取。 3) 選擇不同的Cache 相聯(lián)度,包括:直接映象,2 路,4 路,8 路,16 路,32 路,分別執(zhí)行模擬器(點(diǎn)擊“執(zhí)行到底”按鈕),然后在表 2 中記錄各種情況下的不命中率。 a.部分截圖:表 2 當(dāng)容量為64KB 時(shí),不同相聯(lián)度下Cache 的不命中率相聯(lián)度12481632不命中率1.97%1.15%
29、0.99%0.93%0.92%0.91%地址流文件名:cc1.din4) 把 Cache 的容量設(shè)置為256KB,重復(fù)上一步的工作。表 3 當(dāng)容量為256KB 時(shí),不同相聯(lián)度下Cache 的不命中率相聯(lián)度12481632不命中率0.98%0.78%0.74%0.73%0.71%0.71%地址流文件名:cc1.din 5) 以相聯(lián)度為橫坐標(biāo),畫出在64KB 和256KB 的情況下不命中率隨Cache 相聯(lián)度變化而變化的曲線。并指明地址流文件名。6. 根據(jù)該模擬結(jié)果,你能得出什么結(jié)論?結(jié)論:當(dāng)cache容量一定時(shí),不命中率先是隨著相聯(lián)度地增加而減小的的,但增加到一定程度后,不命中率不會(huì)再降低。當(dāng)相
30、聯(lián)度相同,相聯(lián)度較小時(shí),cache容量越大不命中率就越低,但當(dāng)相聯(lián)度到達(dá)一定程度時(shí),再增大cache容量就沒(méi)有任何意義。3. Cache 塊大小對(duì)不命中率的影響 1) 用鼠標(biāo)點(diǎn)擊“復(fù)位”按鈕,把各參數(shù)設(shè)置為默認(rèn)值。 2) 選擇一個(gè)地址流文件。方法:選擇“訪問(wèn)地址”下的“地址流文件”選項(xiàng),然后點(diǎn)擊“瀏覽”按鈕,從本模擬器所在的文件夾下的“地址流”文件夾中選取。 3) 選擇不同的Cache 塊大小,包括:16B,32B,64B,128B,256B,對(duì)于Cache 的各種容量,包括:2KB,8KB,32KB,128KB,512KB,分別執(zhí)行模擬器(點(diǎn)擊“執(zhí)行到底”按鈕),然后在表 4 中記錄各種情況
31、下的不命中率。 a.部分截圖:表 4 各種塊大小情況下Cache 的不命中率eg.din塊大?。˙)Cache容量(KB)2832128512167.80%7.40%7.20%7.20%7.20%325.4%5%4.7%4.7%4.7%644.0%3.4%3.1%3.1%3.1%1284.4%3.3%2.4%2.4%2.4%2566.5%5.1%2.3%1.9%1.9%地址流文件名:eg.din 4) 分析 Cache 塊大小對(duì)不命中率的影響。結(jié)論:在Cache容量不變的情況下,Cache塊越大不命中率越小,最后趨于平緩。4. 替換算法對(duì)不命中率的影響 1) 用鼠標(biāo)點(diǎn)擊“復(fù)位”按鈕,把各參數(shù)設(shè)置為默認(rèn)值。 2)選擇一個(gè)地址流文件。方法:選擇“訪問(wèn)地址”下的“地址流文件”選項(xiàng),然后點(diǎn)擊“瀏覽”按鈕,從本模擬器所在的文件夾下的“地址流”文件夾中選取。 3) 對(duì)于不同的替換算法、Cache 容量和相聯(lián)度,分別執(zhí)行模擬器(點(diǎn)擊“執(zhí)行到底”按鈕),然后在表 5 中記錄各種情況下的不命中率。 a.部分
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 太原市重點(diǎn)中學(xué)2025年高一化學(xué)第二學(xué)期期末綜合測(cè)試模擬試題含解析
- 河北省衡水滁州分校2025屆化學(xué)高一下期末考試試題含解析
- 河南文物鉆探管理辦法
- 機(jī)構(gòu)合作管理暫行辦法
- 北京藥品直供管理辦法
- 關(guān)鍵績(jī)效指標(biāo)體系構(gòu)建與應(yīng)用研究
- 民族院校師生管理辦法
- 標(biāo)準(zhǔn)債券遠(yuǎn)期管理辦法
- 河道保潔服務(wù)與環(huán)境保護(hù)方案詳解
- 沐浴用品庫(kù)存管理辦法
- 清廉講堂活動(dòng)方案
- 2025年醫(yī)保知識(shí)考試題庫(kù)及答案:醫(yī)保信息化建設(shè)應(yīng)用法律法規(guī)試題
- 環(huán)境現(xiàn)場(chǎng)采樣培訓(xùn)
- XX公司年產(chǎn)10萬(wàn)噸陽(yáng)極銅及5萬(wàn)噸銅桿項(xiàng)目環(huán)境影響報(bào)告書
- 陜西省專業(yè)技術(shù)人員繼續(xù)教育2025公需課《黨的二十屆三中全會(huì)精神解讀與高質(zhì)量發(fā)展》20學(xué)時(shí)題庫(kù)及答案
- 財(cái)務(wù)考試試題及答案大全
- 2024-2025學(xué)年人教版數(shù)學(xué)五年級(jí)下學(xué)期期末試卷(含答案)
- 二中分班考試試卷及答案
- 校長(zhǎng)在退休教師座談會(huì)上發(fā)言:“教”澤綿長(zhǎng)退休不褪色
- 2025年河北張家口市事業(yè)單位公開(kāi)招聘工作人員541名筆試備考試題及答案解析
- 核心素養(yǎng)導(dǎo)向的課堂教學(xué)-余文森
評(píng)論
0/150
提交評(píng)論