試驗(yàn)四:控制冒險與分支預(yù)測_第1頁
試驗(yàn)四:控制冒險與分支預(yù)測_第2頁
試驗(yàn)四:控制冒險與分支預(yù)測_第3頁
試驗(yàn)四:控制冒險與分支預(yù)測_第4頁
試驗(yàn)四:控制冒險與分支預(yù)測_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、深圳大學(xué)實(shí)驗(yàn)報告課程名稱:計算機(jī)系統(tǒng)(3)實(shí)驗(yàn)項(xiàng)目名稱:處理器結(jié)構(gòu)實(shí)驗(yàn) 二學(xué)院:*專業(yè):*指導(dǎo)教師:*報告人:* 學(xué)號:*班級:*實(shí)驗(yàn)時間:2017年12月6日星期三實(shí)驗(yàn)報告提交時間:2017年12月21日星期四教務(wù)處制注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。10日內(nèi)。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后一、試驗(yàn)?zāi)康目刂泼半U與分支預(yù)測了解控制冒險分支預(yù)測的概念了解多種分支預(yù)測的方法,動態(tài)分支預(yù)測更要深入了解理解什么是 BTB ( Branch Target Buffer),并且學(xué)會用 BTB來優(yōu)化所給程序利用BTB的特點(diǎn),設(shè)計并了解在哪種狀態(tài)下BTB無效

2、了解循環(huán)展開,并于 BTB功能進(jìn)行對比對WinMIPS64的各個窗口和操作更加熟悉二、實(shí)驗(yàn)內(nèi)容按照下面的實(shí)驗(yàn)步驟及說明,完成相關(guān)操作記錄實(shí)驗(yàn)過程的截圖:首先,給出一段矩陣乘法的代碼,通過開啟BTB功能對其進(jìn)行優(yōu)化,并且觀察流水線的細(xì)節(jié),解釋 BTB在其中所起的作用;其次,自行設(shè)計一段使得即使開啟了BTB也無效的代碼。第三,使用循環(huán)展開的方法,觀察流水因分支停頓的次數(shù)減少的現(xiàn)象,并對比采用BTB結(jié)構(gòu)時流水因分支而停頓的次數(shù)。(選做:在x86系統(tǒng)上編寫C語言的矩陣乘法代碼,用perf觀察分支預(yù)測失敗次數(shù),分析其次數(shù)是否與你所學(xué)知識吻合。再編寫前面第二部使用的令分支預(yù)測失敗的代碼,驗(yàn)證x86是否能正

3、確預(yù)測,并嘗試做解釋)三、實(shí)驗(yàn)環(huán)境硬件:桌面PC軟件:Windows四、實(shí)驗(yàn)步驟及說明背景知識在遇到跳轉(zhuǎn)語句的時候, 我們往往需要等到 MEM階段才能確定這條指令是否跳轉(zhuǎn)(通過硬件的優(yōu)化,可以極大的縮短分支的延遲,將分支執(zhí)行提前到ID階段,這樣就能夠?qū)⒎种ьA(yù)測錯誤代價減小到只有一條指令),這種為了確保預(yù)取正確指令而導(dǎo)致的延遲叫控制冒險(分支冒險)。為了降低控制冒險所帶來的性能損失, 一般采用分支預(yù)測技術(shù)。 分支預(yù)測技術(shù)包含編譯 時進(jìn)行的靜態(tài)分支預(yù)測, 和執(zhí)行時進(jìn)行的動態(tài)分支預(yù)測。 這里,我們著重介紹動態(tài)分支預(yù)測 中的 BTB (Branch Target Buffer)技術(shù)。BTB即為分支目標(biāo)

4、緩沖器,它將分支指令(對應(yīng)的指令地址)放到一個緩沖區(qū)中保存 起來,當(dāng)下次再遇到相同的指令(跳轉(zhuǎn)判定)時,它將執(zhí)行和上次一樣的跳轉(zhuǎn)(分支或不分 支)預(yù)測。一種可行的BTB結(jié)構(gòu)示意圖如下:注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。BTB中存在匹配的項(xiàng)當(dāng)前分支成功延遲2個時鐘展期在采用了 BTB之后,在流水線各個階段所進(jìn)行的相關(guān)操作如下:注意,為了填寫B(tài)TB ,需要額外一個周期。、矩陣乘法及優(yōu)化注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)

5、。-之前不成功的分支.未執(zhí)行過的分支.普通指令BTB是用專門的硬 件實(shí)現(xiàn)的一張表格。表格中的每一項(xiàng) 至少有兩個字段: 執(zhí)行過的成功分 支指令的地址;(作為該表的匹配 標(biāo)識)預(yù)測的分支目標(biāo) 地址.認(rèn)為該指令是成功的分支指令,用預(yù)測的 分支目標(biāo)地址作為下一條指令的PC值,認(rèn)為本指令不是分支指令, 按普通指令正常執(zhí)行.IF段17找地址標(biāo)識.強(qiáng)利的分支目標(biāo)地址將其出值和分支 目新岫址寫入園B分支預(yù)測錯誤,清除 己取的指令,并從另 一個分支(即失敗處) 取指令.從HIB中刪 除相應(yīng)的項(xiàng).分支僦嗨, 逑續(xù)執(zhí)行后繼指令, 不會出現(xiàn)?;A(yù)測分支成功當(dāng)前PC值 送存儲器和瞄以BTB的第一字段作為 分支目林典IH

6、梭PC當(dāng)前取指令的地址實(shí)際分支 不成功在這一階段,我們首先給出矩陣乘法的例子,接著將流水線設(shè)置為不帶BTB功能(configure-enable branch target buffer )直接運(yùn)行,觀察結(jié)果進(jìn)行記錄;然后,再開啟 BTB 功能再次運(yùn)行,觀察實(shí)驗(yàn)結(jié)果。將兩次的實(shí)驗(yàn)結(jié)果進(jìn)行對比,觀察 BTB是否起作用,如果 有效果則進(jìn)一步觀察流水線執(zhí)行細(xì)節(jié)并且解釋BTB起作用原因。矩陣乘法的代碼如下:.datastr: .asciiz the data of matrix 3:nmx1: .space 512mx2: .space 512mx3: .space 512.textinitial:

7、daddi r22,r0,mx1#這個initial模塊是給三個矩陣賦初值daddi r23,r0,mx2daddi r21,r0,mx3input:daddi r9,r0,64daddi r8,r0,0loop1:dsll r11,r8,3dadd r10,r11,r22dadd r11,r11,r23daddi r12,r0,2daddi r13,r0,3 sd r12,0(r10) sd r13,0(r11)daddi r8,r8,1 slt r10,r8,r9 bne r10,r0,loop1mul:daddi r16,r0,8daddi r17,r0,0loop2:daddi r18

8、,r0,0#這個循環(huán)是執(zhí)行 for(int i = 0, i 8; i+)的內(nèi)容loop3:daddi r19,r0,0#這個循環(huán)是執(zhí)行 for(int j = 0, j 8; j+)的內(nèi)容daddi r20,r0,0#r20存儲在計算resultij過程中每個乘法結(jié)果的疊加值loop4:dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#取 mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際

9、情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。dadd r8,r8,r23Id r11,0(r8) dmul r13,r10,r11 dadd r20,r20,r13取 mx2kj的值mx1ik 與 mx2kj 相乘中間結(jié)果累加daddi r19,r19,1slt r8,r19,r16bne r8,r0,loop4dsll r8,r17,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r21# 計算 resultij 的位置sd r20,0(r8)#將結(jié)果存入 resultij 中daddi r18,r18,1slt r8,r1

10、8,r16bne r8,r0,loop3daddi r17,r17,1slt r8,r17,r16bne r8,r0,loop2 halt不設(shè)置BTB功能,運(yùn)行該程序,觀察Statistics窗口的結(jié)果截屏并記錄下來。接著,設(shè)置BTB功能(在菜單欄處選擇 Configure項(xiàng),然后在下拉菜單中為Enable BranchTarget Buffer選項(xiàng)劃上鉤)。并在此運(yùn)行程序,觀察Statistics窗口的結(jié)果并截屏記錄下來。在這里,我們僅僅觀察比較Stalls中的最后兩項(xiàng) Branch Taken Stalls和BranchMisprediction Stalls 。接下來,對比其結(jié)果。我們就

11、結(jié)合流水線執(zhí)行細(xì)節(jié)分析造成這種情況發(fā)生的原因。(30分,結(jié)果的獲取10分,細(xì)節(jié)分析20分)二、設(shè)計使BTB無效的代碼在這個部分,我們要設(shè)計一段代碼,這段代碼包含了一個循環(huán)。根據(jù)BTB的特性,我們設(shè)計的這個代碼將使得BTB的開啟起不到相應(yīng)的優(yōu)化作用,反而會是的性能大大降低。提示:一定要利用 BTB的特性,即它的跳轉(zhuǎn)判定是根據(jù)之前跳轉(zhuǎn)成功與否來決定的。給出所用代碼以及設(shè)計思路,給出運(yùn)行結(jié)果的截屏證明代碼實(shí)現(xiàn)了目標(biāo)。注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。(30分,代碼及思路 20,獲取結(jié)果并證明目標(biāo)實(shí)現(xiàn)10分)三

12、、循環(huán)展開與BTB的效果比對首先,我們需要對循環(huán)展開這個概念有一定的了解。什么是循環(huán)展開呢?所謂循環(huán)展開就是通過在每次迭代中執(zhí)行更多的數(shù)據(jù)操作來減小 循環(huán)開銷的影響。其基本思想是設(shè)法把操作對象線性化,并且在一次迭代中訪問線性數(shù)據(jù)中的一個小組而非單獨(dú)的某個。這樣得到的程序?qū)?zhí)行更少的迭代次數(shù),于是循環(huán)開銷就被有效地降低了。接下來,我們就按照這種思想對上述的矩陣乘法程序進(jìn)行循環(huán)展開。要求將 上述的代碼 通過循環(huán)展開將最里面的一個執(zhí)行迭代8次的循環(huán)整個展開了,也就是說,我們將矩陣相乘的三個循環(huán)通過代碼的增加,減少到了兩個循環(huán)。比較,通過對比循環(huán)展開(未啟用BTB)、使用BTB (未進(jìn)行循環(huán)展開) 以

13、及未使用BTB 且未作循環(huán)展開的運(yùn)行結(jié)果。 比較他們的Branch Tanken Stalls和Branch Misprediction Stalls的 數(shù)量,并嘗試給出評判。(30分,循環(huán)展開彳t碼及思路20分,評判10分)四、結(jié)束語寫下對于這次試驗(yàn)的所得與感想。(報告撰寫質(zhì)量10分)注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。一、矩陣乘法及優(yōu)化1,不設(shè)置BTB功能,運(yùn)行該程序,觀察 Statistics窗口的結(jié)果截屏并記錄下來。r口回宓Esec.ution13S10 Cycles9000 Inatruetio

14、ns11 534 Cyclts Per Inatruction (CPI)Stalls4232 RAW Sualls0 WAW Stalls0 WAR Stalls512 Srruetoral SzaIIs574 Branch Taten Stalls0 Brandi Eisprediction StallsCode sizeISO Bytes2,接著,設(shè)置BTB功能(在菜單欄處選擇 Configure項(xiàng),然后在下拉菜單中為 Enable Branch Target Buffer選項(xiàng)劃上鉤)。并在此運(yùn)行程序,觀察 Statistics窗口 的結(jié)果并截屏記錄下來。注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,

15、可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。3.我們發(fā)現(xiàn) Branch Taken Stalls減少了,Branch Misprediction Stalls 增加了。3.1在Cycles窗口中進(jìn)行對比,我們可以發(fā)現(xiàn)在沒有BTB的時候:3.1.1第一次分支跳轉(zhuǎn)錯誤,但是沒有進(jìn)行任何記錄。產(chǎn)生了一次控制冒險(還 有一次數(shù)據(jù)冒險這里不再討論)。注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。1:_E 1. m 二二口n | 回一Esec.uticn13532 Cycles

16、3000 Instructions1k504 Cyclts Per Inatruction (CPI)S1134232 RAW Scalis0 WAW Stalls0 HAR StallsS12 Structural Srdlls145 Branch Taten Stalls148 Bracush MisprediGticn StallsCode sizeIES BytesFIFIF I由IFIDIF3.1.2第二次分支跳轉(zhuǎn)仍然錯誤, 有一次數(shù)據(jù)冒險這里不再討論)但是沒有進(jìn)行記錄。(還3.2我們可以發(fā)現(xiàn)在有BTB的時候:TidIFIFIF第一次分支跳轉(zhuǎn)錯誤,但是進(jìn)行了記錄。產(chǎn)生了一次控制冒險,

17、和一次記錄BTB的阻塞。(還有一次數(shù)據(jù)冒險這里不再討論)注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。10日內(nèi)。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后第二次由于有過記錄,分支跳轉(zhuǎn)正確。沒有產(chǎn)生控制冒險,由于預(yù)測正確, 也沒有產(chǎn)生由于記錄BTB的阻塞。(還有一次數(shù)據(jù)冒險這里不再討論)。IFE在最后一次預(yù)測中,分支跳轉(zhuǎn)錯誤,產(chǎn)生了一次控制冒險和一次由于記錄 BTB引起的阻塞。(還有一次數(shù)據(jù)冒險這里不再討論)。因此,在開啟BTB后,預(yù)測錯誤會增加兩個阻塞,預(yù)測正確會減少一個阻塞。 即 Branch Taken Stalls少,Branch Misprediction

18、Stalls 增加。二、設(shè)計使BTB無效的代碼.在這個部分,我們要設(shè)計一段代碼,這段代碼包含了一個循環(huán)。根據(jù) BTB的 特性,我們設(shè)計的這個代碼將使得 BTB的開啟起不到相應(yīng)的優(yōu)化作用,反而會 是的性能大大降低。編寫代碼,計算0-18所有偶數(shù)的和 .data.text注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。daddi r8,r0,0 # 計數(shù)器 daddi r9,r0,0 # 總和 daddi r11,r0,18 # 最大值 loop: beq r8,r11,enddaddi r8,r8,1 bne r10,

19、r0,zero dadd r9,r9,r8 daddi r10,r0,1 j loopzero: daddi r10,r0,0 j loopend: halt關(guān)閉BTB,StatisticsEsecutiDn137 Cycles104 Inatruci:Iona1.317 Cycles Per Inatruction (CPI!StallsRAW SuaIIWAW StallsWAR StallsStructural Stalls5 Branch Taken StallsBranch Misprediction StallsCode sizeE BytEa1.3開啟BTB注:1、報告內(nèi)的項(xiàng)目或

20、內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。.Statistics1 a |Esec.uticn145 Cycles104 Inscructiona1.433 Cycles Per Inatruction (CPI)Stalls1 RAW StAll0 WAh Stalls0 HAR Stalls0 Structural Scalis24 Branch Taten Stalls1 Branch MiapLtdiction StallsCode size42 Bytes1.4通過反復(fù)切換跳轉(zhuǎn)和不跳轉(zhuǎn),讓BTB的預(yù)測錯誤,增大預(yù)測成本。因

21、此BTB 會比BTB效率還低。三、循環(huán)展開與BTB的效果比對.比較,通過對比循環(huán)展開(未啟用BTB)、使用BTB (未進(jìn)行循環(huán)展開)以及未使用BTB且未作循環(huán)展開的運(yùn)行結(jié)果。比較他們的 Branch Tanken Stalls和 Branch Misprediction Stalls的數(shù)量,并嘗試給出評判。修改代碼,去掉100P4的跳轉(zhuǎn),改為手動展開。 .datastr: .asciiz the data of matrix 3:nmx1: .space 512mx2: .space 512mx3: .space 512.textinitial:daddi r22,r0,mx1 #這個init

22、ial模塊是給三個矩陣賦初值daddi r23,r0,mx2daddi r21,r0,mx3 input:daddi r9,r0,64注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。daddi r8,r0,0loopl:dsll r11,r8,3dadd r10,r11,r22 dadd r11,r11,r23 daddi r12,r0,2 daddi r13,r0,3 sd r12,0(r10) sd r13,0(r11)daddi r8,r8,1 slt r10,r8,r9 bne r10,r0,loop1mul

23、:daddi r16,r0,8daddi r17,r0,0loop2:daddi r18,r0,0#這個循環(huán)是執(zhí)行 for(int i = 0, i 8; i+)的內(nèi)容loop3:daddi r19,r0,0#這個循環(huán)是執(zhí)行 for(int j = 0, j 8; j+)的內(nèi)容daddi r20,r0,0#r20存儲在計算resultij過程中每個乘法結(jié)果的疊加值第0個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll

24、 r9,r18,3dadd r8,r8,r9dadd r8,r8,r23ld r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1ik與 mx2kj相乘dadd r20,r20,r13酊問結(jié)果累加daddi r19,r19,1 #第0 個結(jié)束第1個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。dadd r8,r8,r22Id r10,0(r8)#M mx1ik的值ds

25、ll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r23ld r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1ik與 mx2kj相乘dadd r20,r20,r13酊 問結(jié)果累加daddi r19,r19,1 #第 1 個結(jié)束第2個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r

26、8,r23ld r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1ik與 mx2kj相乘dadd r20,r20,r13酊問結(jié)果累加daddi r19,r19,1 #第2 個結(jié)束第3個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r23ld r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1

27、ik與 mx2kj相乘dadd r20,r20,r13酊問結(jié)果累加daddi r19,r19,1 #第3 個結(jié)束注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。第4個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r23ld r11,0(r8)#取 mx2kj的值dmul r

28、13,r10,r11 #mx1ik與 mx2kj相乘dadd r20,r20,r13酊 問結(jié)果累加daddi r19,r19,1 #第 4 個結(jié)束第5個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r23ld r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1ik與 mx2kj相乘dadd r20,r20,r13酊問結(jié)果

29、累加daddi r19,r19,1 #第5 個結(jié)束第6個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r23注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。Id r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1ik與 mx2kj相乘 dadd

30、 r20,r20,r13酊 問結(jié)果累加daddi r19,r19,1 #第6 個結(jié)束第7個開始dsll r8,r17,6#這個循環(huán)的執(zhí)行計算每個resultijdsll r9,r19,3dadd r8,r8,r9dadd r8,r8,r22ld r10,0(r8)#M mx1ik的值dsll r8,r19,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r23ld r11,0(r8)#取 mx2kj的值dmul r13,r10,r11 #mx1ik與 mx2kj相乘dadd r20,r20,r13酊問結(jié)果累加daddi r19,r19,1 #第 7 個結(jié)束dsll

31、r8,r17,6dsll r9,r18,3dadd r8,r8,r9dadd r8,r8,r21#計算 resultij的位置sd r20,0(r8)#將結(jié)果存入 resultij中daddi r18,r18,1slt r8,r18,r16 bne r8,r0,loop3daddi r17,r17,1 slt r8,r17,r16 bne r8,r0,loop2halt修改前的效果注:1、報告內(nèi)的項(xiàng)目或內(nèi)容設(shè)置,可根據(jù)實(shí)際情況加以調(diào)整和補(bǔ)充。2、教師批改學(xué)生實(shí)驗(yàn)報告時間應(yīng)在學(xué)生提交實(shí)驗(yàn)報告時間后10日內(nèi)。.Statistics = | 回Esec.uticn13B10 Cycles3000 I

32、nstructions1.334 Cyclts Per Inatruction (CPI)Slls4232 RAW Scalis0 WAW Stalls0 HAR StallsS12 Structural Srdlls574 Branch Taten Stalls0 Branch Eisprediction StallsCode sizeIES Bytes修改后的效果.Statistics = | 回Esecuticn112 Cycles7幻 Instructions1.453 Cycles Per Inatruction (CPI)Slls3720 RAW Scalis0 WAW Stalls0 HAR StallsS12 Struc

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論