




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)一、動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)概述1、
動(dòng)態(tài)移預(yù)測(cè)概念
1)
動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)就是運(yùn)用硬件來動(dòng)態(tài)地預(yù)測(cè)轉(zhuǎn)移指令轉(zhuǎn)移行為,以減少轉(zhuǎn)移指令對(duì)流水線性能影響,也就是減少轉(zhuǎn)移指令轉(zhuǎn)移開銷。
2)
動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)相對(duì)是靜態(tài)轉(zhuǎn)移預(yù)測(cè),所謂靜態(tài)轉(zhuǎn)移預(yù)測(cè),是指在編譯階段由軟件技術(shù)來實(shí)現(xiàn)對(duì)轉(zhuǎn)移指令預(yù)測(cè)
3)
動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)發(fā)生在程序編譯之后、執(zhí)行之前
2、
態(tài)轉(zhuǎn)移預(yù)測(cè)思想
運(yùn)用前面一條轉(zhuǎn)移指令行為去預(yù)測(cè)背面一條轉(zhuǎn)移指令行為3、
態(tài)轉(zhuǎn)移預(yù)測(cè)實(shí)現(xiàn)
1)
預(yù)測(cè)是由硬件來實(shí)現(xiàn)
2)動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)實(shí)現(xiàn)方案
一位轉(zhuǎn)移預(yù)測(cè)緩沖器
二位轉(zhuǎn)移預(yù)測(cè)緩沖器
有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器
目的轉(zhuǎn)移預(yù)測(cè)緩沖器
3)詳細(xì)實(shí)現(xiàn)辦法
設(shè)立一種用來預(yù)測(cè)轉(zhuǎn)移指令轉(zhuǎn)移行為硬件,這個(gè)硬件叫做轉(zhuǎn)移預(yù)測(cè)緩沖器
轉(zhuǎn)移預(yù)測(cè)緩沖器事實(shí)上是一種存儲(chǔ)器,存儲(chǔ)了轉(zhuǎn)移指令轉(zhuǎn)移行為
IF段取出一條轉(zhuǎn)移指令時(shí),運(yùn)用轉(zhuǎn)移指令低位地址去訪問轉(zhuǎn)移預(yù)測(cè)緩沖器,在讀出轉(zhuǎn)移指令同步也讀出了對(duì)轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)值
4、動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)要解決問題動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)要解決對(duì)問題是由轉(zhuǎn)移指令所引起控制有關(guān)和控制冒險(xiǎn)
5、動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)原理在沒有采用動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)流水線中,如果采用第一種實(shí)現(xiàn)方式,轉(zhuǎn)移指令在ID流水段判斷轉(zhuǎn)移行為,在EX流水段計(jì)算目的地址,在MEM流水段完畢轉(zhuǎn)移;如果采用是第二種方案,在ID流水段判斷轉(zhuǎn)移指令轉(zhuǎn)移行為、計(jì)算轉(zhuǎn)移目的地址、轉(zhuǎn)移完畢。從上述可知,不論是采用哪種實(shí)現(xiàn)方案,在沒有使用動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)流水線中,轉(zhuǎn)移指令轉(zhuǎn)移與否成功要到ID流水段結(jié)束后才干懂得。但采用動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)后,在IF流水段取出指令后,運(yùn)用指令低位地址去訪問轉(zhuǎn)移預(yù)測(cè)緩沖器,也就是在讀出轉(zhuǎn)移指令時(shí)候,對(duì)轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)值也被讀出,因此在采用動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)流水線中,轉(zhuǎn)移指令在IF流水段就可以懂得其轉(zhuǎn)移行為,也就是提前一種時(shí)鐘周期懂得其轉(zhuǎn)移行為,因此可以減少流水線停頓。
6、動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)性能1)預(yù)測(cè)對(duì)的率
假設(shè)一段程序有n條轉(zhuǎn)移指令,在執(zhí)行時(shí)候其中有m條轉(zhuǎn)移指令預(yù)測(cè)是對(duì)的,那么預(yù)測(cè)對(duì)的率為m/n2)預(yù)測(cè)錯(cuò)誤恢復(fù)方略
二、一位轉(zhuǎn)移預(yù)測(cè)緩沖器1、示意圖
2、工作原理
設(shè)立一種只有一位緩沖器,有兩個(gè)狀態(tài)值0和1,其中0值預(yù)測(cè)轉(zhuǎn)移不成功,1值預(yù)測(cè)轉(zhuǎn)移是成功。假設(shè)預(yù)測(cè)器初始值是0,也就是對(duì)當(dāng)前轉(zhuǎn)移指令預(yù)測(cè)是轉(zhuǎn)移不成功,當(dāng)這條轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是轉(zhuǎn)移不成功,那么預(yù)測(cè)是對(duì)的,預(yù)測(cè)器狀態(tài)位不變,對(duì)下條轉(zhuǎn)移指令預(yù)測(cè)是轉(zhuǎn)移不成功;當(dāng)這條轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是轉(zhuǎn)移成功,那么預(yù)測(cè)錯(cuò)誤,預(yù)測(cè)器狀態(tài)位變?yōu)?,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移預(yù)測(cè)是轉(zhuǎn)移成功。假設(shè)預(yù)測(cè)器初始值是1,也就是對(duì)當(dāng)前轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功,當(dāng)這條指令實(shí)際轉(zhuǎn)移行為是轉(zhuǎn)移不成功,那么預(yù)測(cè)錯(cuò)誤,預(yù)測(cè)器狀態(tài)值邊變?yōu)?,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移不成功;當(dāng)這條轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是成功,那么預(yù)測(cè)對(duì)的,預(yù)測(cè)器狀態(tài)位不變,對(duì)下一條轉(zhuǎn)移指令預(yù)測(cè)也是轉(zhuǎn)移成功
3、實(shí)現(xiàn)辦法
設(shè)立一種只有一位預(yù)測(cè)器,在IF段讀出一條轉(zhuǎn)移指令時(shí)用指令低位地址去訪問這個(gè)預(yù)測(cè)器,讀出這條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)值
4、性能
一位轉(zhuǎn)移預(yù)測(cè)緩沖器性能比較差,當(dāng)程序轉(zhuǎn)移行為是間隔變換,那么對(duì)轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)對(duì)的率為0
5、改進(jìn)
對(duì)一位轉(zhuǎn)移預(yù)測(cè)緩沖器改進(jìn)就是使用二位轉(zhuǎn)移預(yù)測(cè)緩沖器
三、二位轉(zhuǎn)移預(yù)測(cè)緩沖器
1、示意圖
2、工作原理
設(shè)立一種兩位預(yù)測(cè)緩沖器,有00、01、10、11四個(gè)狀態(tài)值,其中00、01是預(yù)測(cè)轉(zhuǎn)移不成功,10、11是預(yù)測(cè)轉(zhuǎn)移成功。
假設(shè)預(yù)測(cè)器初始值是00,那么對(duì)當(dāng)前轉(zhuǎn)移指令轉(zhuǎn)移行為是預(yù)測(cè)轉(zhuǎn)移不成功,當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是成功,那么預(yù)測(cè)錯(cuò)誤,預(yù)測(cè)器狀態(tài)值變?yōu)?1,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是不成功;當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是不成功,那么預(yù)測(cè)對(duì)的,預(yù)測(cè)器狀態(tài)位保持00不變,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是不成功。
假設(shè)預(yù)測(cè)器初始值是01,那么對(duì)當(dāng)前轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移不成功,當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是成功,那么預(yù)測(cè)錯(cuò)誤,預(yù)測(cè)器狀態(tài)值變?yōu)?0,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功;當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是不成功,那么預(yù)測(cè)對(duì)的,預(yù)測(cè)器狀態(tài)值變?yōu)?0,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是不成功
假設(shè)預(yù)測(cè)器初始值是10,那么對(duì)當(dāng)前轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功,
當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是不成功,那么預(yù)測(cè)錯(cuò)誤,預(yù)測(cè)器狀態(tài)值變?yōu)?1,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是不成功;當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是轉(zhuǎn)移成功,那么預(yù)測(cè)對(duì)的,預(yù)測(cè)器狀態(tài)值變?yōu)?1,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功
假設(shè)預(yù)測(cè)器初始值是11,那么對(duì)當(dāng)前轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功,當(dāng)當(dāng)前轉(zhuǎn)移指令實(shí)際轉(zhuǎn)移行為是不成功,那么預(yù)測(cè)錯(cuò)誤,預(yù)測(cè)器狀態(tài)值變?yōu)?0,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功;當(dāng)當(dāng)前轉(zhuǎn)移指令是轉(zhuǎn)移成功,那么預(yù)測(cè)對(duì)的,預(yù)測(cè)器狀態(tài)值不變,對(duì)下一條轉(zhuǎn)移指令轉(zhuǎn)移行為預(yù)測(cè)是轉(zhuǎn)移成功。
3、實(shí)現(xiàn)辦法
1)
設(shè)立一種專門CACHE,在IF流水段讀出一條轉(zhuǎn)移指令時(shí)候,用轉(zhuǎn)移指令低位地址去訪問轉(zhuǎn)移預(yù)測(cè)器,讀出對(duì)轉(zhuǎn)移指令預(yù)測(cè)值。
2)
在CACHE每一行設(shè)立兩個(gè)附加標(biāo)志位,用來標(biāo)志對(duì)轉(zhuǎn)移指令轉(zhuǎn)移行為,當(dāng)讀出一條轉(zhuǎn)移指令時(shí)候,連同預(yù)測(cè)值一起讀出
4、二位轉(zhuǎn)移預(yù)測(cè)器性能
二位轉(zhuǎn)移預(yù)測(cè)器性能比一位轉(zhuǎn)移預(yù)測(cè)器性能好
5、改進(jìn)辦法
1)
增長(zhǎng)位數(shù)
2)
增長(zhǎng)容量
四、有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器
1、有關(guān)轉(zhuǎn)移指令概念有兩條轉(zhuǎn)移指令,后一條轉(zhuǎn)移指令轉(zhuǎn)移行為與前面那條轉(zhuǎn)移指令轉(zhuǎn)移行為有關(guān),那么這兩條轉(zhuǎn)移指令叫有關(guān)轉(zhuǎn)移指令。
2、有關(guān)轉(zhuǎn)移指令例子11)
程序IF(aa==2)aa=0;IF(bb==2)bb=0;IF(aa!==bb){……}2)
指令序列DSUBIR3,R1,#2BNEZR3,L1;br.b1(aa!=2)DADDR1,R0,R0;aa==0L1:DSUBIF3,R2,#2BNEZR3,L2;br.b2(bb!=2)DADDR2,R0,R0;bb==0L2:DSUBR3,R1,R2;R3=aa-bbBEQZR3,L3;br.b3(aa==bb)3)
有關(guān)性分析轉(zhuǎn)移指令b3轉(zhuǎn)移行為與轉(zhuǎn)移指令b1和轉(zhuǎn)移指令b2轉(zhuǎn)移行為是有關(guān),當(dāng)轉(zhuǎn)移指令b1和轉(zhuǎn)移指令b2轉(zhuǎn)移行為是不成功,那么b3轉(zhuǎn)移是成功。
3、有關(guān)轉(zhuǎn)移指令例子21)
程序If(d==0)d=1;if(d==1){…...}2)指令序列BNEZR1,L1;brb1,(d!=0)DADDIUR1,R0,#1;d==0,sod=1L1:DADDIUR3,R1,#-1;BNEZR3,L2;brb2,(d!=1)……L2:3)有關(guān)性分析
4、有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器
有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器是對(duì)普通轉(zhuǎn)移預(yù)測(cè)緩沖器進(jìn)行改造,使改造后預(yù)測(cè)緩沖器既可以解決不有關(guān)轉(zhuǎn)移指令預(yù)測(cè),也可以解決有關(guān)轉(zhuǎn)移指令預(yù)測(cè)
5、對(duì)有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器改進(jìn)
把(1,1)維有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器改成(m,n)維,其中值m表達(dá)具備有關(guān)性轉(zhuǎn)移指令數(shù)量,n表達(dá)有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器位數(shù)
6、有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器性能
有關(guān)轉(zhuǎn)移預(yù)測(cè)緩沖器性能比普通轉(zhuǎn)移預(yù)測(cè)緩沖器性能好
五、目的轉(zhuǎn)移預(yù)測(cè)緩沖器
1、目的轉(zhuǎn)移預(yù)測(cè)緩沖器定義轉(zhuǎn)移預(yù)測(cè)緩沖器存儲(chǔ)了被調(diào)用指令下一條要執(zhí)行預(yù)測(cè)指令地址,這個(gè)轉(zhuǎn)移預(yù)測(cè)緩沖器叫目的轉(zhuǎn)移預(yù)測(cè)緩沖器。
2、目的轉(zhuǎn)移預(yù)測(cè)緩沖器示意圖
3、目的轉(zhuǎn)移預(yù)測(cè)緩沖器工作原理
轉(zhuǎn)移指令地址存儲(chǔ)在BranchPC,轉(zhuǎn)移指令所相應(yīng)轉(zhuǎn)移目的指令地址存儲(chǔ)在PredictedPC中,當(dāng)從內(nèi)存中取出一條轉(zhuǎn)移指令后,用這條指令PC值,也就是地址值去查找目的轉(zhuǎn)移預(yù)測(cè)緩沖器BranchPC,如果在BranchPC中找到相等項(xiàng),那么接下來到BranchPC中該項(xiàng)所相應(yīng)PredictedPC值所批示內(nèi)存中去取下一條指令,如果在BranchPC中沒有找到,那闡明這條指令不是轉(zhuǎn)移指令,或是轉(zhuǎn)移指令而預(yù)測(cè)轉(zhuǎn)移是不成功,接下來要到PC+4內(nèi)存中去取指令
4、目的轉(zhuǎn)移預(yù)測(cè)緩沖器特點(diǎn)1)
目的轉(zhuǎn)移預(yù)測(cè)緩沖器在指令I(lǐng)F段就去讀轉(zhuǎn)移預(yù)測(cè)緩沖器,在IF段結(jié)束時(shí)候就懂得該指令與否轉(zhuǎn)移指令和轉(zhuǎn)移指令與否轉(zhuǎn)移成功2)
在訪問目的轉(zhuǎn)移預(yù)測(cè)緩沖器時(shí)候,還無法判斷與否是轉(zhuǎn)移指令,以及無法判斷轉(zhuǎn)移與否成功,還要進(jìn)行匹配3)
目的轉(zhuǎn)移預(yù)測(cè)緩沖器工作原理象CACHE工作原理同樣4)
目的轉(zhuǎn)移預(yù)測(cè)緩沖器只存儲(chǔ)預(yù)測(cè)轉(zhuǎn)移是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 863-2014行政服務(wù)中心服務(wù)規(guī)范
- DB31/T 774-2018機(jī)動(dòng)車輛保險(xiǎn)理賠(物損)服務(wù)規(guī)范
- DB31/T 588-2012保護(hù)地黃瓜病害測(cè)報(bào)技術(shù)規(guī)范第2部分:黃瓜白粉病
- DB31/T 329.8-2019重點(diǎn)單位重要部位安全技術(shù)防范系統(tǒng)要求第8部分:旅館、商務(wù)辦公樓
- DB31/T 1401-2023檢驗(yàn)檢測(cè)機(jī)構(gòu)資質(zhì)認(rèn)定能力表述規(guī)范
- DB31/T 1375-2022辦公樓物業(yè)企業(yè)安全生產(chǎn)管理實(shí)施指南
- DB31/T 1074-2017酒吧經(jīng)營(yíng)管理服務(wù)規(guī)范
- DB31/T 1015-2016危險(xiǎn)化學(xué)品建設(shè)項(xiàng)目職業(yè)病防護(hù)與安全設(shè)施設(shè)計(jì)專篇編制導(dǎo)則
- 信息安全的法律法規(guī)試題及答案詳解
- 武漢市武昌區(qū)2025年八年級(jí)《語文》上學(xué)期期末試題與參考答案
- GB/T 28583-2025供電服務(wù)規(guī)范
- 設(shè)備故障應(yīng)急維修預(yù)案
- 四川西華師范大學(xué)招聘輔導(dǎo)員考試真題2024
- 貴州游船傾覆防災(zāi)減災(zāi)安全教育時(shí)事熱點(diǎn)
- 公務(wù)員法律考試題及答案
- 黑龍江省大慶市石油高級(jí)中學(xué)2024-2025學(xué)年高二上學(xué)期期末語文試題 含解析
- 呼吸性酸中毒試題及答案
- 基于深度學(xué)習(xí)的手術(shù)機(jī)器人在后交叉韌帶斷裂中的導(dǎo)航優(yōu)化-洞察闡釋
- 檢察院相關(guān)試題及答案
- 安全生產(chǎn)管理機(jī)制
- 遴選公務(wù)員筆試真題及答案
評(píng)論
0/150
提交評(píng)論