計算機系統(tǒng)結(jié)構(gòu)實驗報告講解_第1頁
計算機系統(tǒng)結(jié)構(gòu)實驗報告講解_第2頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機系統(tǒng)結(jié)構(gòu)實驗報告3.1流水線中的相關(guān)一、實驗?zāi)康?. 掌握WinDLX模擬器的操作和使用,熟悉DLX指令集結(jié)構(gòu)及其特點;2. 加深對計算機流水線基本概念的理解;3. 進一步了解DLX基本流水線各段的功能以及基本操作;4. 加深對數(shù)據(jù)相關(guān)、結(jié)構(gòu)相關(guān)的理解,了解這兩類相關(guān)對CPU性能的影響;5. 了解解決數(shù)據(jù)相關(guān)的方法,掌握如何使用定向技術(shù)來減少數(shù)據(jù)相關(guān)帶來的暫停。二、實驗平臺WinDLX模擬器。三、實驗內(nèi)容、步驟及實驗結(jié)果1.用WinDLX模擬器執(zhí)行下列三個程序:求階乘程序fact.s求最大公倍數(shù)程序gcm.s求素數(shù)程序prim.s分別以步進、連續(xù)、設(shè)置斷點的方式運行程序,觀察程序在流水線

2、中的執(zhí)行情況,觀察CPU中寄存器和存儲器的內(nèi)容。熟練掌握WinDLX的操作和使用。結(jié)果總結(jié):三種方式:步進的方式是按快捷鍵F7或者選擇菜單欄Execute中的SingleCycle;連續(xù)的方式是按快捷鍵F5或者選擇Execute中的Run;設(shè)置斷點是通過選擇window菜單欄中的code,然后在菜單欄中多出一項code項,選中你想要插入的指令,在多出來的code項中找到setbreakpoint,即可插入斷點,然后按F5執(zhí)行即可。以fact.s為例指出了每個功能段所進行的具體指令,點擊指令還可以看到指令的具體相關(guān)的其他方面的內(nèi)容。Instructionw/Cyclesaddir1j0,0Kl0

3、00jalInputUnsignedswSaveR2(rOj2IFIDintEX|MEMWBIFIDintEXMEMV/BIFabortedIFIDintEXIFIDswSaveR3(rOj3swSaveR4(rOj4時空圖IF更加直觀的形式顯示出了在某個時間周期某個功能段所執(zhí)行的具體的指令。湮WINDLX-RegisterMemoryConfigurationRegisterPC=0k0000014cF4=IMAR=0k0000014SF5=IR=0Kac03109SF6=A=OkOOOOOOOOF7=AHI=OkOOOOOOOOFS=B=OkOOOOOOOOF9=BHI=OkOOOOOOO

4、OF10BTA=OkOOOOOOOOFllALU=0k00000108F12ALUHI=0k00000000F13FPSR=OkOOOOOOOOF14DMAR=OkOOOOOOOOFIESDR=OkOOOOOOOOF16SDRHI=0k00000000F17LDR=0x00000000F18LDRHI=0k00000000F19R0=OkOOOOOOOOF20Rl=OkOOOOIOOOF21F22F23R2=OkOOOOOOOOR3=OkOOOOOOOO_|FileWindowExecuteoooooooooooooooooo指出了各個寄存器和存儲器的值,R1=OX00001000。Regis

5、ter圖,如執(zhí)行完了第一條加法指令之后,Total:6Cycle(s)executed.IDexecutedby4Instruction(s).4InstructiocurrentlyinPipelin已.Hardwareconfiguration:Memorysize:32760BytesfaddEX-Stages:1,requiredCycles:2fmulEX-Stages:1,requiredCycles:5fdivEX-Stages:1,requiredCycles:19Forwardingenabled.Stalls:RAWstalls:0(0.00ofallCycles),the

6、reof:LDstalls:0(0.00:ofRAWstalls)Branch/Jumpstalls:0(0.00ofRAWstalls)Floatingpointstalls:0(0.00ofRAWstallsWAWstalls:0(0.00ofallCycles)Structuralstalls:0(0.00ofallCycles)Controlstalls:1(16.67ofallCycles)ofallCycles)Sta十is十ics圖Statistics圖指出了指令的相關(guān)分析數(shù)據(jù),例如,執(zhí)行了6個cycles,4條指令在流水線中等,丄牙也召Branches):信心。allInsti

7、OKAnintegervalue1:6Fact口:risil=720T口七3丄:102Cyclels)executed.IDexecutedby67Instruction(s).2lnstruction(sjcurrentlyinPipeline.Hardware匚:口nfigurati口n:Merriurysize:32763BytesfaddEX-Stages:1.requiredDrcles:2fmulEX-Stages:1,requiredCycles:5fdivEX-Stdges:1,requiredDrdes:19Forwardingenabled.Stalls:RAWstalls

8、:10(9.80%ofallCycles),thereof:LDstalls:2(20.00ofRAWstalls)Branch/Jumpstalls:2(2000ofRAWstalls)Floatingpoinlstalls:6(60.00ofRAWstalls)WWstalls:0(0.OUS:ofaliCycles)Structuralstalls:0(0.00ofallCycles)Curitrrilstalls:109.80?:ofallDrclesTrapstalls:12(11.76%ofallCycles)Totdl:32Stall(s)(31.37ofallCycles)執(zhí)行

9、結(jié)果圖匚口iti口nalBranch已:m;i:Tutdl:8(11,94/iofallln:5truction:5;L.thereof:taken:2(25.00ofallcondBranches)nottaken:6175,00:ofallcond.Branches)gcm.s、prim.s類似,所以只給出運行的結(jié)果圖PrintfValue(rO)j1Prim.s結(jié)果圖2. 用WinDLX運行程序structure_d.s,通過模擬找出存在資源相關(guān)的指令對以及導(dǎo)致資源相關(guān)的部件;記錄由資源相關(guān)引起的暫停時鐘周期數(shù),計算暫停時鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比;論述資源相關(guān)對CPU性能的影響,討

10、論解決資源相關(guān)的方法。trapOhO|IF|aborted忖f0.0:-:0(r2:|IF|ID|iMEX|MEM|WE;|Idf4.0:-:0(r3:|IF|ID|intEX|NitZhd|V/B|IF|ID|冃鳥怙II|洽ddEX:|hiEhi|WB|adddf2J0J2|IF|Stall|ID|懇Stall|f3ddEX1|MEM|addir2.r2.0:-:8|IF|引日II|ID|iMEX|Stall|MEM|WE;|addir3j3,0x8|IF|ID|St日II|iMEXLMEM|WE;|bnez弓oopIIFIStallIIDIImtEXIMEM1WBIIIF|R-Stall|

11、ID|intEX|MEM|WB|IF|abortedtrap0:-:LlbClockCycleDiagramInstructions/Cycles:-30_-29_-2E:_-27_-26_-25_-24_-23_-22_-21_-20_-19_-18_-17_-16_-15_-14_-13結(jié)果圖資源相關(guān)的指令:adddf0,f0,f4adddf2,f0,f2(發(fā)生先寫后讀的數(shù)據(jù)相關(guān)導(dǎo)致消除了資源相關(guān))由圖可知是因為只有一個faddEX的運算部件,而它需要兩個時鐘周期,當?shù)谝粭laddd指令執(zhí)行EX段時,第二條指令勢必要等一個周期等faddEX部件空閑了才能夠使用。但是,同時由于這兩條指令存在先

12、寫后讀數(shù)據(jù)相關(guān),暫停一個周期之后沒有了資源相關(guān)adddf0J0J4adddf2J0J2IF|ID|Fl-Stall|faddEX|MEM|WBIFStallID|R-Stall|faddEX(1)MEMWB單條指令的詳細資源沖突圖因為Statistics圖中的分析數(shù)據(jù)沒有看見strueturalstall,但是根據(jù)圖知道這個存在adddf2,f0,f2時的資源沖突,大概循環(huán)了6次,總共時鐘周期是139個,所以資源相關(guān)引起的暫停的時鐘周期的個數(shù)是6個,暫停時鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比為6/139=4.3%|FibWindowExecuteMemoryConfigurationStatisti

13、csTotal:139Cyclefsexecuted.IDexecutedby06Instruction(s).2Instruction(s)currentlvinPipeline.Hardwareconfiguration:Memorysize:32760BytesfaddEX-Stages:1,requiredCycles:2fmulEX-Stages:1,requiredCycles:5fdivEX-Stages:LrequiredCycles:19Forwarding亡nabled.Stalls:RAWstalls:30(21.50ofallCycles,thereof:LDstall

14、s:10(33.33ofRAWstallsEiranch/Jumpstalls:10(33.33ofRAWstalls)Floatingpointstalls:10(33.33ofRAWstalls)V/AWstalls:0(0.00:ofallCycles)Structuralstalls:0(0.00ofallCycles)Controlstalls:9(6.47ofallCycles)Trapstalls:32.16龍ofallCyclesTotal:42Stall(s)(30.22ofallCvclesConditionalBranches);勸卜e八疋聞厳醜s數(shù)據(jù)分析圖taken:9

15、(90.00ofallcond.Branches)資源相關(guān)降低CPU性能,并行運算的速度降低,解決資源相關(guān)的方法有停頓幾個時鐘周期法、(針對訪存沖突和設(shè)備資源沖突(輪流單個使用)或者是增加硬件設(shè)備(解決設(shè)備資源沖突()。Stores:0(0.00ofLoad7Store-lnstructions)Floatingpointstageinstructions:Total:20(23.26ofallInstructions),thereof:Additions:20(100.00ofFloatingpointstageinst.)Multiplications:0(0.00ofFloatingpo

16、intstageinst.)-Divisions:0(0.00ofFloatingpointstageinst.)3. 在不采用定向技術(shù)的情況下(去掉Configuration菜單中EnableForwarding選項前的勾選符),用WinDLX運行程序data_d.s。記錄數(shù)據(jù)相關(guān)引起的暫停時鐘周期數(shù)以及程序執(zhí)行的總時鐘周期數(shù),計算暫停時鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比。在采用定向技術(shù)的情況下(勾選EnableForwarding),用WinDLX再次運行程序data_d.s。重復(fù)上述3中的工作,并計算采用定向技術(shù)后性能提高的倍數(shù)。1、不定向技術(shù):總時鐘周期=202數(shù)據(jù)相關(guān)引起的暫停時鐘周期=

17、104暫停時鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比=51.48%總時鐘周期=128數(shù)據(jù)相關(guān)引起的暫停時鐘周期=30暫停時鐘周期數(shù)占總執(zhí)行周期數(shù)的百分比=23.44%StatisticsrmTo28Cuclefslexecuted.IDexecutedbyBbInstruction(s).2Instruction(scurrentlyinPipeline.-!Fl(23,44ofallCucles.thereof:Ils:2066.67ofHAWstallsHardwareconfiguratidn:Memorvsize:32768BtesfaddEX-Stages:1,requiredCycles:2

18、fmulEX-Stages:1,requiredCycles:5fdivEX-Stages:1,requiredCycles:19Forwardingenabled.Branch/Jumpstalls:10(33.33ofRAWstalls)Floatingpointstalls:0(0.00ofRAWstalls)WAV/stalls:0(0.00:ofallCyclesStructuralstalls:0(0.00ofallCyclesControlstalls:9(7.03ofallCycles)Trapstalls:3(2.34ofallCyclesTotal:42Stall(s)(3

19、2.01:ofallCycles)定向技術(shù)的加速比二202/128=1.578Total:10(11.76ofallInstructions),thereof:心得侏J“狀態(tài)n:1(10.00:ofallcond.Branches通過使用WinDIX對指令模擬與分析,我們對流水線的執(zhí)行過程更加熟悉,也對執(zhí)行時出現(xiàn)的問題,如資源相關(guān),數(shù)據(jù)相關(guān)等產(chǎn)生原因有了清晰的認識,進一步加深了使我們對流水線的理解。3.2循環(huán)展開及指令調(diào)度一、實驗?zāi)康?. 加深對循環(huán)級并行性、指令調(diào)度技術(shù)、循環(huán)展開技術(shù)以及寄存器換名技術(shù)的理解;2. 熟悉用指令調(diào)度技術(shù)來解決流水線中的數(shù)據(jù)相關(guān)的方法;3. 了解循環(huán)展開、指令調(diào)度

20、等技術(shù)對CPU性能的改進。二、實驗平臺WinDLX模擬器。三、實驗內(nèi)容、步驟及實驗結(jié)果1用指令調(diào)度技術(shù)解決流水線中的結(jié)構(gòu)相關(guān)與數(shù)據(jù)相關(guān)(1) 用DLX匯編語言編寫代碼文件*.s,程序中應(yīng)包括數(shù)據(jù)相關(guān)與結(jié)構(gòu)相關(guān)(假設(shè):加法、乘法、除法部件各有2個,延遲時間都是3個時鐘周期)(2) 通過Co砸牌尸皿0菜單中的“FZbo/f“gpointstages”選項,把加法、乘法、除法部件的個數(shù)設(shè)置為2個,把延遲都設(shè)置為3個時鐘周期;(3) 用WinDLX運行程序。記錄程序執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)、發(fā)生相關(guān)的指令組合,以及程序執(zhí)行的總時鐘周期數(shù);(4) 采用指令調(diào)度技術(shù)對程序進行指令調(diào)度,消除相關(guān);(5)

21、 用WinDLX運行調(diào)度后的程序,觀察程序在流水線中的執(zhí)行情況,記錄程序執(zhí)行的總時鐘周期數(shù);(6) 根據(jù)記錄結(jié)果,比較調(diào)度前和調(diào)度后的性能。論述指令調(diào)度對于提高CPU性能的意義。1)代碼:divff2,f5,f6divff1,f2,f6divff3,f1,f5divff0,f4,f7addff14,f0,f6addff15,f5,f7multff20,f4,f6multff21,f5,f72)設(shè)置運算部件個數(shù)以及運算時鐘周期數(shù)FloatingPointStageConfigura.Pipeline圖匚ount:Delav:AdditionUnits:E3MultiplicationUnits:

22、23DivisionUnits:23以下為出現(xiàn)的數(shù)據(jù)相關(guān)IDCycles:-18|fdivEX(1)|IIDR-Stall|MEMIWBTerminatedsuccessfullyA-F2(=132)B-F6(=128)2Stall(s)becauseofRAW-Hazardwithdivff2J5J6先寫后讀相關(guān)IDCycles:-11(3)TerminatedsuccessfullyA-F0(=0)|MEM|WBB-F6(=120)iCi-.111.-.ik.-.z-.-.i.-.fDAiii*U-.r.-lF|fdiYEX(l)|MEM匚-jIdll|UlriwW-rl3ZarOwith

23、divffOJ4J7|ID|fdivEX(2rIF|ID|R-Stall由于只有兩個除法部件,所以出現(xiàn)了功能部件的沖突??偟膱?zhí)行周期是38指令調(diào)度后代碼:將無關(guān)指令放在一起執(zhí)行,相關(guān)指令分開盡量避免數(shù)據(jù)相關(guān)divff2,f5,f6multff20,f4,f6multff21,f5,f7divff1,f2,f6addff15,f5,f7divff3,f1,f5divff0,f4,f7addff14,f0,f6Pipeline圖35Cvcle(s)executed.IDexecutedby26Instruction(s).2InstructionfscurrentlyinPipeline.Hard

24、wareconfiguration:Memorysize:32760BytesfaddEX-Stages:2,requiredCycles:3fmulEX-Stages:2,requiredCycles:3fdivEX-Stages:2,requiredCycles:3Forwarding已nabled.Stalls:RAWstalls:3(8.57ofallCycles),thereof:LDstalls:0(0.00:ofRAWstalls)Branch/Jumpstalls:0(0.00ofRAWstalls)Floatingpointstalls:3(100.00ofRAWstalls

25、)WAV/stalls:0(0.00:ofallCycles)Structuralstalls:0(0.00ofallCycles)Controlstalls:0(0.00ofallCyclesTrapstalls:7(2O.ooStatistiCs圖Total:10Stall(s(20.57ofallCycles)總執(zhí)行寸鐘周期為35個。(taken:0(0.00ofallcond.Branches(6)指令調(diào)度后,數(shù)據(jù)相關(guān)減少了,總寸鐘周期數(shù)減少了,效能提高了。調(diào)度前的寸鐘周期數(shù)為38,調(diào)度后的寸鐘周期數(shù)減少為35,加速比=38/35=1.082. 用循環(huán)展開、寄存器換名以及指令調(diào)度提高性

26、能(1) 用DLX匯編語言編寫代碼文件*.s,程序中包含一個循環(huán)次數(shù)為4的整數(shù)倍的簡單循環(huán);(2) 用WinDLX運行該程序。記錄執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)以及程序執(zhí)行的總時鐘周期數(shù);(3) 將循環(huán)展開3次,將4個循環(huán)體組成的代碼代替原來的循環(huán)體,并對程序做相應(yīng)的修改。然后對新的循環(huán)體進行寄存器換名和指令調(diào)度;(4) 用WinDLX運行修改后的程序,記錄執(zhí)行過程中各種相關(guān)發(fā)生的次數(shù)以及程序執(zhí)行的總時鐘周期數(shù);(5) 根據(jù)記錄結(jié)果,比較循環(huán)展開、指令調(diào)度前后的性能。帶循環(huán)指令代碼:求四個1相加的和,結(jié)果存在r2中.text.globalmainmain:addir1,r0,#4addir2,r

27、0,#0Loop:sgtr3,r1,r0bnezr3,Sub1trap0Sub1:addir2,r2,#1subir1,r1,#1jLoop結(jié)果:總時鐘周期是42個,5rawstalls,循環(huán)了4次,結(jié)果r2=4循環(huán)展開:代碼:.text.globalmainmain:addir1,r0,#4addir2,r0,#0addir2,r2,#1subir1,r1,#1addir2,r2,#1subir1,r1,#1addir2,r2,#1subir1,r1,#1addir2,r2,#1subir1,r1,#1trap0結(jié)果:總時鐘周期是15個,0rawstalls,執(zhí)行了4次,結(jié)果r2=4原因?qū)Ρ?/p>

28、:是因為LOOP指令執(zhí)行完后會有一個nop指令的延遲。四、實驗總結(jié)a)指令調(diào)度技術(shù)可以明顯的優(yōu)化指令執(zhí)行的效率,通過指令調(diào)度使得功能部件被盡可能的充分使用,從而進一步加強指令執(zhí)行的效率;b)循環(huán)在執(zhí)行時會出現(xiàn)不同循環(huán)次數(shù)的執(zhí)行過程中出現(xiàn)相關(guān),導(dǎo)致數(shù)量增加,通過寄存器換名等方法,使得這種相關(guān)性數(shù)量下降。3.3Cache性能分析一、實驗?zāi)康?. 加深對Cache的基本概念、基本組織結(jié)構(gòu)以及基本工作原理的理解;2. 了解Cache的容量、相聯(lián)度、塊大小對Cache性能的影響;3. 掌握降低Cache失效率的各種方法,以及這些方法對Cache性能提高的好處;4. 理解Cache失效的產(chǎn)生原因以及Cac

29、he的三種失效;5. 理解LRU與隨機法的基本思想,及它們對Cache性能的影響;二、實驗平臺SimpleScalar模擬器。三、實驗內(nèi)容及步驟1.在基本配置情況下運行程序(請指明所選的測試程序),統(tǒng)計Cache總失效次數(shù)、三種不同種類的失效次數(shù);配置好了環(huán)境之后,用hello.c生成的a.out文件來進行模擬演示。root&localhostroot#cdsimplescalarrooWlocalhostsimplescalar#./siniplesiiti-3.0/siiti-cachea.out工Ll.accessesdll.hits11.missesdll.replacementsdl

30、l.writebacks11.invalidations11.miss_ratedll.repl_radll.wb_ratE工Ll.inv_rate4207totalnumber3749totalnumber458totalnumber202tot辺1number193totalnumber0totalnumberofaccessesofhitsofmissesofreplacementsofwritebacksofinvalidations0.1089#missrate(i.e.,itiisses/ref)0.0430#replacementi?日tE(i.e.,repls/ref)0.04

31、59#writeback匕辺(i.e.?wrbks/ref)0.0000#invalidationi?辺te(i.e.,invs/ref)由圖可知:Cache的總失效次數(shù)為458,容量失效和沖突失效都發(fā)生了替換總共為202,那么強制性沖突就為256。2. 改變Cache容量(*2,*4,*8,*64),運行程序(指明所選的測試程序),統(tǒng)計各種失效的次數(shù),并分析Cache容量對Cache性能的影響;測試程序為test-math。Cache參數(shù)設(shè)定舉例:-cache:dl1dll:2:32:4:r第一個參數(shù)為集合數(shù),第二個參數(shù)為塊的大小,第三個參數(shù)為相聯(lián)度,最后一個參數(shù)為策略。改變集合數(shù),設(shè)定塊大

32、小為32B,相聯(lián)度為4路,采取LRU策略,來考慮容量對cache性能的影響。*2:設(shè)定容量為2*32*4B時,結(jié)果如下:dll.accesses57466#tot日1numberofaccessesdll.hits50201#tot日1numberofhitsdll.misses7265#tot日1numberofmissesdll.replacements7257#tot日1numberofreplacementsdll.writebacks459S#tot日1numberofwritebacksdll.invalidstions0#tot日1numberofinvalidstionsdll

33、.miss_rate01.1264#missr日te(i.e.,misses/ref)dll.repl_rate01.1263#replacementr日te(i.e.,repls/ref)dll.wb_rate01.0300#writebackr日te(i.e.,wrbks/ref)dll.inv_rate01.0000#invalidstionr日te(i.e.,invs/ref)dll.accessesdll.hitsdll.missesdll.replacementsdll.writebacksdll.invalidationsdll.miss_ratedll.repl_ratedll

34、.wb_ratedll.inv_rate57466#tot日1numberofaccesses53189totalnumberofhits4277totalnumberofmisses4261totalnumberofreplaceinents2692totalnumberofwritb日cks0totalnumberofinvalidstions0.0744missrate(i.es,misses/ref)*4:設(shè)定容量為4*32*4B時,結(jié)果如下:O.0741#replacementr日te(i.e.,repls/ref)O.0468#writebackr日te(i.e.,wrbks/re

35、f)O.0000#invalidstionr日te(i.e.,invs/ref)JX.一T_dll.accessesdll.hitsdll.missesdll.replacesentsdll.writebacksdll.invalidstionsdll.miss_ratedll.repl_rat已dll.wb_ratedll.inv_rat已57466numberofaccesses55280numberofhits2136numberofmisses2154numberofreplacements1493numberofwritebacks0numberofinvalidations*8:設(shè)

36、定容量為8*32*4B時,結(jié)果如下:O.0330#missr日te(i.e.,misses/ref)O.0375#replacesentrate(i.e.,repls/ref)O.0260#writebackr日te(i.e.,wrbks/ref)O.0000#invalidstionr日te(i.e.,invs/ref)*64:設(shè)定容量為64*32*4B時,結(jié)果如下:dll.accesses57466#totalnumberofaccessesdll.hits56S91#totalnumberofhitsdll.misses575#totalnumberofmissesdll.replace

37、inents319#totalnumberofreplaceinentsdll.writebacks307#totalnumberofwritebacksdll.invalidations#totalnumberofinvalidationsdll.itiiss_rate0.0100#missrate(i.e.,misses/ref)dll.repl_rat皀0.0056#replacementr日te(i.e.,repls/ref)dll.wb_rate0.0053#writebackr日te(i.e.,wrbks/ref)dll.inv_rat皀0.0000#invalidationrHt

38、e(i.e.,invs/ref)從上面的數(shù)據(jù)中提取出有用的數(shù)據(jù)信息,制作下面的表。容量大小總失效率總失效數(shù)容量失效和沖突失效數(shù)強制性失效數(shù)*20.1264726572578*40.07444277426116*80.03802180215426*640.0100575319256結(jié)論:隨著cache容量的增大,總失效率減小,總失效數(shù)也減少,容量失效和沖突失效數(shù)也減小,但是強制性失效數(shù)反而升高。3. 改變Cache的相聯(lián)度(1路,2路,4路,8路,64路),運行程序(指明所選的測試程序),統(tǒng)計各種失效的次數(shù),并分析相聯(lián)度對Cache性能的影響;測試程序為test-printf.參數(shù)dll:2:3

39、2:l(2,4,&64):l,固定其他的參數(shù),只改變相聯(lián)度的參數(shù),觀察相聯(lián)度對cache性能的影響。1路:dll.accessesdll.hitsdll.missesdll.replacementsdll.writebacksdll.invalidationsdll.miss_ratedll.repl_ratedll.wb_ratedll.inv_rate53142430S1402232842232823374300.4202O.4202O.15760.0000totaltotaltotaltotaltotaltotalnumbernumbernumbernumbernumbernumbero

40、faccessesofhitsofmissesofreplacesentsofwritebacksofinvalidsticmsmissr日te(i.e.,misses/ref)replaceitienti?日te(i.e.,repls/ref)writebackrate(i.e.,wrbks/ref)invalidstioni?日te(i.e.,invs/ref)2路:dll.accesses531424#totalnumberfaccessesdll.hits39520S#totalnumberfhitsdll.misses136216#totalnumberfmissesdll.repl

41、aceinents136212#totalnumberfreplaceinentsdll.writebacks62SS0#totalnumberfwritebacksdll.invalidstions0#totalnumberfinvalidstionsdll.miss_rateO1.2563#missrate(i.e.,misses/ref)dll.repl_rateO.2563#replaceinentr日te(i.e.,repls/ref)dll.wb_rateO.1133#writeb日ckr日te(i.e.,wrbks/ref)dll.inv_rateO.0000#invalidst

42、ionr日te(i.e.,invs/ref)mlQofinocc-acJ.i-nii-a1FiTTinhio-H4路dll.accesses531424dll.hits477680dll.misses53744dll.replaceinents53736dll.writebacks26034dll.invalidstioiis:0dll.miss_rate0.1011dll.repl_rate0.1011dll.wb_rate0.0491dll.inv_rate0.0000numberfaccessestOtRlnumberofhitstOtHlnumberfmissestOtHlnumber

43、freplacementsnumberfwritebacksnumberofinvalidations# missf日te(i.e.,misses/ref)# replacesentr日te(i.e.,repls/ref)# writebackr日te(i.e.,wrbks/ref)# invalidationrRte(i.e.,invs/ref)dll.accesses531424dll.hits506897dll.misses24527dll.replaceinents24511dll.writeb日cks12367dll.invalidstions0dll.miss_rate0.0462

44、dll.repl_rate0.0461dll.wb_rate0.0233dll.inv_rate0.00008路:totHlnumberofaccessesofhitstot日1numbertot日1numberfmissestOtHlnumberofreplaceinentstOtHlnumberofwritb日cksnumberofinvalidations# missrate(i.e.,misses/ref)# replacementr日te(1.e.,repls/ref)# writebackirRte(i.e.,wrbks/ref)# invalidationr日te(i.e.,in

45、vs/ref)64路:dll.accesses531424#tot日1numberofaccessesdll.hits53OS21#tot日1numberofhitsdll.misses603#tot日1numberofmissesdll.replacements475#tot日1numberofreplaceinentsdll.writebacks420#totalnumberofwritebacksdll.invalidations0#tot日1numberofinvalidationsdll.miss_rate0.0011#missr日te(i.e.,misses/ref)dll.rep

46、l_rate0.0009#replacement(i.e.,repls/ref)dll.wb_rate0.OOOS#writebackrate(i.e.,wrbks/ref)dll.inv_rate0.0000#invalidationr日te(i.e.,invs/ref)相聯(lián)度總失效率總失效數(shù)容量失效和沖突失效數(shù)強制性失效數(shù)1路0.420222328422328222路0.256313621613621244路0.1011537445373688路0.046224527245111664路0.0011603475128結(jié)論:隨著相聯(lián)度的增大,總失效率減小,但減小的幅度減小,總失效數(shù)也減少,容

47、量失效和沖突失效數(shù)也減小,但是強制性失效數(shù)反而升高。4. 改變Cache塊大小(*2,*4,*8,*64),運行程序(指明所選的測試程序),統(tǒng)計各種失效的次數(shù),并分析Cache塊大小對Cache性能的影響;測試程序:test-fmath參數(shù):dll:64:8(16,32,64):l:l(塊大小8B)dll.accesses16639棄totalnumberofaccessesdll.hits14S27棄totalnumberofhitsdll.misses1812#tot孔1numberofmissesdll.replacements1556#totalnumberofreplacements

48、dll.writebacks1528#totalnumberofwritebacksdll.invalidations0#totalnumberofinvalidationsdll.miss_rate0.1089#missi?日te(i.e.,misses/ref)dll.repl_rateD.O935#replacementrate(i.e.,repls/ref)dll.wb_rateD.O918#writebackrate(i.e.,wrbks/ref)dll.inv_rate0.0000#invalidatianrate(i.e.,invs/ref)(塊大小16B)dll.accesse

49、sdll.hitsdll.missesdll.replacesentsdll.writebacksdll.invalidationsdll.niiss_ratedll.repl_ratedll.wb_ratedll.inv_rate1663915695944688673tot日1totaltotaltotaltotaltotalnumbernumbernumbernumbernumbernumberfaccessesfhitsfmissesfreplacementsfwritebacksfinvalidationsO.0567#missrate(i.e.,misses/ref)O.0413#r

50、eplacementrate(i.e.,replO1.0404#writebackrate(i.e.,wrbks/ref)O1.0000#invalidationrate(i.e.,invs/ref)(塊大小32B)dll.accessesdll.hitsdll.missesdll.replacementsdll.writebacksdll.invalidstionsdll.miss_ratEdll.repl_radll.wb_ratedll.inv_rate1663916140499243231totaltataltotaltotaltotalnumbernumbernumbernumber

51、numbernumberofofofofofofaccesseshitsmissesreplacementswritebacksinvalidstions0.0300并missr日(i.e.,misses/ref)0.0146#replaceraentrate(i.e.,repls/ref)0.0139#writebackrate(i.e.,wrbks/ref)0.0000#invalidationrate(i.e.,invs/ref)TbTbJX.一T_-3*_-_(塊大小64B)dll.accessesdll.hitsdll.missesdll.replacementsdll.writeb

52、acksdll.invalidationsdll.miss_ratedll.repl_ratedll.wb_ratedll.inv_rate166391637926029totaltotaltotaitotHltotaltotalnumbernumbernumbernumbernumbernumberofaccessesofhitsofmissesofreplacementsofwritebacksofinvalidations0.0156#missrate(i.e.,misses/ref)0.0017#replacementf日te(i.e.,repls/ref)0.0014#writebackr日te(i.e.,wrbk

溫馨提示

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

評論

0/150

提交評論