版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,高性能計算機系統(tǒng)結(jié)構(gòu),2,轉(zhuǎn)移預(yù)測,轉(zhuǎn)移指令 程序的轉(zhuǎn)移行為 軟件方法解決控制相關(guān) 硬件動態(tài)轉(zhuǎn)移預(yù)測 常見處理器的轉(zhuǎn)移猜測,3,轉(zhuǎn)移指令,4,轉(zhuǎn)移指令計算的下一條指令地址在EX階段計算,下一條指令等2拍 使用專門的地址運算部件把地址計算提前到譯碼階段可以少等一拍 使用一個delay slot可以不用等待 多發(fā)射情況下延遲槽成為需要專門照顧的負(fù)擔(dān),控制相關(guān),5,轉(zhuǎn)移指令對性能的影響,分支指令的影響是開發(fā)指令級并行性的重要障礙 一條指令流中,平均每5-7條指令中就有一條是分支指令,也即基本塊大小為5-7條指令。 增大發(fā)射寬度 在發(fā)射寬度為n的處理器中,遇到分支指令的速度也快了n倍 增加流水線深
2、度 流水線越深,處理分支指令所需要的時鐘周期數(shù)就越多,6,一個例子,假設(shè)平均每8條指令中有一條轉(zhuǎn)移指令,某處理器采用4發(fā)射結(jié)構(gòu),第10級流水解決轉(zhuǎn)移地址相關(guān)(即第10級流水算出轉(zhuǎn)移方向和目標(biāo)) 在A系統(tǒng)中不進(jìn)行轉(zhuǎn)移預(yù)測,遇到轉(zhuǎn)移指令就等待,指令帶寬浪費36/(36+8)=82%; 在B系統(tǒng)中進(jìn)行簡單的轉(zhuǎn)移預(yù)測,轉(zhuǎn)移猜錯率為50%,那么平均每16條指令預(yù)測錯誤一次,指令帶寬浪費36/(36+16)=75% 在C系統(tǒng)中,轉(zhuǎn)移指令猜錯率為10%,那么平均每80條指令預(yù)測錯誤一次,指令帶寬浪費36/(36+80)=31%; 在D系統(tǒng)中,轉(zhuǎn)移指令猜錯率為4%,平均每200條指令預(yù)測錯誤一次,取指令帶寬浪
3、費36/(36+200)=15%。,7,轉(zhuǎn)移指令的屬性,條件轉(zhuǎn)移與無條件轉(zhuǎn)移 條件轉(zhuǎn)移:需等待條件的確定后才能取指,程序中多數(shù)轉(zhuǎn)移指令是條件轉(zhuǎn)移指令 無條件轉(zhuǎn)移:不用判斷條件就轉(zhuǎn)移,如call/return 直接轉(zhuǎn)移與間接轉(zhuǎn)移 直接轉(zhuǎn)移:轉(zhuǎn)移目標(biāo)根據(jù)指令內(nèi)容直接得出 間接轉(zhuǎn)移:轉(zhuǎn)移目標(biāo)在寄存器中 相對轉(zhuǎn)移與絕對轉(zhuǎn)移 相對轉(zhuǎn)移:轉(zhuǎn)移目標(biāo)為當(dāng)前PC值加上偏移量 絕對轉(zhuǎn)移:轉(zhuǎn)移目標(biāo)由指令或寄存器內(nèi)容直接給出 理論上有8種組合 實際上不實現(xiàn)所有組合,8,MIPS指令系統(tǒng)的轉(zhuǎn)移指令,條件轉(zhuǎn)移 都是直接、相對轉(zhuǎn)移,如BEQ,BGEZ 無條件直接轉(zhuǎn)移 轉(zhuǎn)移目標(biāo)為PC31:28,IR25:0,2b0 J與JA
4、L 無條件間接轉(zhuǎn)移 轉(zhuǎn)移目標(biāo)為寄存器內(nèi)容 JR與JALR MIPS轉(zhuǎn)移指令特點 likely與非likely,如BEQL,BGEZL 沒有Call/Return,通過link類轉(zhuǎn)移指令實現(xiàn)call功能,如JAL,9,程序的轉(zhuǎn)移行為,10,SPEC CPU2000轉(zhuǎn)移指令統(tǒng)計(1),龍芯2號統(tǒng)計結(jié)果,11,SPEC CPU2000轉(zhuǎn)移指令統(tǒng)計(2),龍芯2號統(tǒng)計結(jié)果,12,發(fā)射寬度增加,分支間的動態(tài)距離就會越小,分支預(yù)測的延遲對性能的影響就越大,當(dāng)要求更高的發(fā)射寬度時,需要每個周期做不止一個預(yù)測,轉(zhuǎn)移指令間距離統(tǒng)計(1),13,Inter-branch distance(cycles) 模擬環(huán)境
5、:4發(fā)射亂序機器 SPECint2000,轉(zhuǎn)移指令間距離統(tǒng)計(2),14,龍芯2號上部分SPEC CPU2000程序中不同類型轉(zhuǎn)移指令分布 1是間接分支指令,采用BTB預(yù)測 5是返回指令,返回地址棧RAS預(yù)測 29是無條件立即跳轉(zhuǎn)指令,跳轉(zhuǎn)地址在指令中 65%是條件分支,大量的工作是進(jìn)行條件分支預(yù)測,不同類型轉(zhuǎn)移指令分布,15,轉(zhuǎn)移指令的執(zhí)行頻率分布,龍芯2號上部分SPEC CPU2000程序中轉(zhuǎn)移指令執(zhí)行頻率分布 左圖表示執(zhí)行一定次數(shù)的轉(zhuǎn)移指令在所有轉(zhuǎn)移指令中的靜態(tài)分布,右圖表示執(zhí)行一定次數(shù)的轉(zhuǎn)移指令在所有轉(zhuǎn)移指令中的動態(tài)分布 所有轉(zhuǎn)移指令的44%僅僅執(zhí)行99次或者更少,這53%的轉(zhuǎn)移指令占
6、所有轉(zhuǎn)移指令總執(zhí)行次數(shù)的0.03% 只有4.2%的轉(zhuǎn)移指令執(zhí)行了超過100000次或者更多,占所有轉(zhuǎn)移指令總執(zhí)行次數(shù)的87%(或者說,只有14.7%的轉(zhuǎn)移指令超過了10000次,占所有轉(zhuǎn)移指令總執(zhí)行次數(shù)的97%)。,16,轉(zhuǎn)移成功率分布,龍芯2號上部分SPEC CPU2000程序轉(zhuǎn)移指令的跳轉(zhuǎn)成功率 45%的指令總是跳轉(zhuǎn),15%的指令總是不跳轉(zhuǎn) 20%的指令跳轉(zhuǎn)的幾率小于5%或者大于95%,也就是說,80%的轉(zhuǎn)移指令具有強烈的一個跳轉(zhuǎn)方向,具有挑戰(zhàn)性的工作是預(yù)測其余20%轉(zhuǎn)移指令的跳轉(zhuǎn)方向。,17,分支的可預(yù)測性,利用單個轉(zhuǎn)移指令的重復(fù)性 基于模式的預(yù)測方法 利用不同轉(zhuǎn)移指令之間的關(guān)系 基于相
7、關(guān)的預(yù)測方法 方向相關(guān)、路徑相關(guān),18,利用單個轉(zhuǎn)移指令重復(fù)性,循環(huán)型分支 for型循環(huán):TTTN(成功n次后跟一次不成功 ) while型循環(huán):NNNT(不成功n次后跟一次成功) 周期重復(fù)模式型分支 定長重復(fù)模式類分支:patq , |pat|=k (每隔k個分支模式就重復(fù)一次) 塊模式類分支:Tn Nmq 成功n次,不成功m次,如此循環(huán),19,利用轉(zhuǎn)移指令之間的方向相關(guān),兩個分支的條件(完全或部分)基于相同或相關(guān)的信息 第二個分支的結(jié)果基于第一個分支的結(jié)果產(chǎn)生,20,利用轉(zhuǎn)移指令之間的路徑相關(guān),如果一個分支是通向當(dāng)前分支的前n條分支之一,則稱該分支處在當(dāng)前分支的路徑之上。 處在當(dāng)前分支路徑
8、上的分支與當(dāng)前分支結(jié)果之間的相關(guān)稱為路徑相關(guān),21,分支指令行為小結(jié),分支指令是很頻繁的 分支指令有較好的局部性 分支指令具有可預(yù)測性,22,軟件方法解決控制相關(guān),23,阻塞 等待直到轉(zhuǎn)移條件確定 用延遲槽容忍延遲 延遲槽指令來源 編譯器優(yōu)化 循環(huán):循環(huán)展開減少轉(zhuǎn)移指令、軟流水減少阻塞 分支:全局代碼調(diào)度(越過分支調(diào)度指令) 函數(shù)調(diào)用:inline 轉(zhuǎn)換為數(shù)據(jù)相關(guān) 條件指令、謂詞 硬件轉(zhuǎn)移預(yù)測 轉(zhuǎn)移條件未確定時預(yù)測轉(zhuǎn)移是否成功 靜態(tài)與動態(tài)預(yù)測,解決轉(zhuǎn)移條件相關(guān)的方法,24,延遲槽指令的來源 來自轉(zhuǎn)移指令前:肯定執(zhí)行 來自轉(zhuǎn)移目標(biāo)地址:轉(zhuǎn)移成功才執(zhí)行 來自轉(zhuǎn)移不成功地址:轉(zhuǎn)移不成功才執(zhí)行 單延遲
9、槽的編譯效果 能為 60% 左右的轉(zhuǎn)移延遲槽找到有效操作 大約80%的延遲槽指令用于有效計算 因此大約50% (60% x 80%) 的延遲槽操作用于有效計算 延遲槽的限制 超流水情況下一條延遲槽不夠 多發(fā)射情況下延遲槽反而成為需要特殊照顧的兼容負(fù)擔(dān),利用延遲槽,25,軟件循環(huán)展開消除控制相關(guān),軟件展開兩個循環(huán) 循環(huán)展開 寄存器重命名 變換次序 軟件循環(huán)展開的不足 有些循環(huán)不好展開(如循環(huán)次數(shù)不定的循環(huán)) 增加指令CACHE的負(fù)擔(dān),LDF00R1 MULTDF4F0F2 SDF40R1 LDF00R1 MULTDF4F0F2 SDF40R1,LDF00R1 MULTDF4F0F2 SDF40R
10、1 LDF60R1 MULTDF8F6F2 SDF80R1,LDF00R1 LDF60R1 MULTDF4F0F2 MULTDF8F6F2 SDF40R1 SDF80R1,26,循環(huán)的數(shù)據(jù)相關(guān),循環(huán)內(nèi)相關(guān):S2使用同一次循環(huán)中S1計算的Ai+1. 循環(huán)間(loop-carried)相關(guān):本次循環(huán)計算的Ai+1/Bi+1將被下一次循環(huán)使用。 循環(huán)內(nèi)相關(guān)導(dǎo)致一個循環(huán)體內(nèi)的多條指令不能并行執(zhí)行,循環(huán)間相關(guān)導(dǎo)致多個循環(huán)體不能并行執(zhí)行,27,循環(huán)展開的條件,數(shù)組元素相關(guān)的判斷 仿射(Affine)和非仿射(nonaffine) Xa*i+b XYi 最大公約數(shù)法 Xa*j+b = Xc*k+d GCD(
11、a,c)整除(d-b)則有相關(guān) 名字相關(guān)的消除 重命名技術(shù) 指針相關(guān)的判斷 只有一些經(jīng)驗的方法,28,軟流水,新循環(huán)體的每個操作來自不同的循環(huán)體,以分開數(shù)據(jù)相關(guān)的指令,相當(dāng)于軟件的Tomasulo算法 符號級循環(huán)展開,比真正循環(huán)展開代碼開銷小,29,把控制相關(guān)轉(zhuǎn)換成數(shù)據(jù)相關(guān),把條件轉(zhuǎn)移指令轉(zhuǎn)換為條件執(zhí)行 if (x) then A = B op C else NOP 只有條件為真時才寫結(jié)果,為假時不寫結(jié)果也不發(fā)生例外 RISC系統(tǒng)如Alpha, MIPS, PowerPC, SPARC都增加了條件MOVE指令; PA-RISC的nullification EPIC: 使用64個1位的謂詞寄存器
12、來選擇是否寫執(zhí)行結(jié)果 條件指令的缺點 條件為假時仍需要1拍,占用發(fā)射槽和功能部件 條件未確定仍需要在執(zhí)行前等待,轉(zhuǎn)移猜測反而在執(zhí)行后 條件復(fù)雜時會降低效率,因為條件在執(zhí)行時才確定,30,條件指令舉例,假設(shè)轉(zhuǎn)移指令沒有延遲槽 條件指令可消除簡單的條件轉(zhuǎn)移,對取絕對值等操作有用 條件指令仍要在執(zhí)行前等待條件,注意例外的處理,/if (A=0) S=T; BNEZ R1,L ADDU R2,R3,R0 L:,CMOVZ R2,R3,R1,LW R1,40(R2) ADD R3,R4,R5 ADD R6,R3,R7 BEQZ R10,L LW R8,0(R10) LW R9,0(R8),LW R1,4
13、0(R2) ADD R3,R4,R5 LWC R8,0(R10),R10 ADD R6,R3,R7 BEQZ R10,L LW R9,0(R8),31,硬件轉(zhuǎn)移預(yù)測,32,在取指或譯碼階段預(yù)測轉(zhuǎn)移是否成功以及轉(zhuǎn)移目標(biāo)進(jìn)行后續(xù)指令的取指 以減少指令流水線由于控制相關(guān)而堵塞 在執(zhí)行階段判斷轉(zhuǎn)移預(yù)測是否正確 如果猜測正確,則正常提交 如果猜測錯誤,則取消該轉(zhuǎn)移指令及其后續(xù)指令,硬件轉(zhuǎn)移預(yù)測基本思路,33,猜測依據(jù) 當(dāng)前指令的地址(PC)和性質(zhì)(是否轉(zhuǎn)移指令) 過去轉(zhuǎn)移指令歷史記錄 猜測內(nèi)容 轉(zhuǎn)移方向、轉(zhuǎn)移目標(biāo)地址,硬件轉(zhuǎn)移預(yù)測基本原理,34,分支處理機制的性能取決于,預(yù)測精度(BPA)= 設(shè)計好的預(yù)
14、測器 預(yù)測精度越高,能抽取的并行性就越多 預(yù)測正確所付的代價:轉(zhuǎn)到目標(biāo)地址處執(zhí)行所需的延遲 譯碼時根據(jù)IR內(nèi)容預(yù)測:有一拍的延遲槽,在4發(fā)射情況下有4條指令的延遲槽 取指時根據(jù)PC預(yù)測:沒有延遲槽,需要BTB/Trace Cache等機制 MIPS R10000無BTAC,MIPS R12000有32項BTAC 預(yù)測錯所付的代價 盡量提前執(zhí)行轉(zhuǎn)移操作 Pentium II/III和Alpha 21264重新刷新流水線需要11周期以上,35,轉(zhuǎn)移預(yù)測關(guān)鍵技術(shù),如何保證準(zhǔn)確的預(yù)測:根據(jù)記錄的歷史進(jìn)行預(yù)測 如何記錄轉(zhuǎn)移歷史,記錄哪些轉(zhuǎn)移歷史 記錄多少轉(zhuǎn)移歷史 何時更新:更新太早,轉(zhuǎn)移指令也可能被取消
15、;更新太晚,導(dǎo)致轉(zhuǎn)移歷史不準(zhǔn)確 如何在取消猜測執(zhí)行的操作時保證現(xiàn)場精確性 增加提交流水級,在提交時修改寄存器和內(nèi)存 I/O指令的猜測執(zhí)行難以取消 如何識別流水線中的指令哪些需要取消,哪些不要取消 例外取消一般在提交時,取消所有后續(xù)指令 轉(zhuǎn)移取消一般在執(zhí)行后,只取消部分指令 延遲槽指令的處理 每個周期多個分支預(yù)測 每周期1個預(yù)測,基本可滿足4-6 發(fā)射需要的取指帶寬,36,靜態(tài)/動態(tài)轉(zhuǎn)移預(yù)測,靜態(tài)預(yù)測:總是預(yù)測轉(zhuǎn)移成功或總是預(yù)測轉(zhuǎn)移不成功 預(yù)測轉(zhuǎn)移成功:較精確,計算轉(zhuǎn)移地址需要delay slot 預(yù)測轉(zhuǎn)移不成功:直接用PC+4 動態(tài)預(yù)測:根據(jù)轉(zhuǎn)移指令執(zhí)行歷史進(jìn)行預(yù)測 復(fù)雜預(yù)測技術(shù):精確、控制復(fù)
16、雜 混合預(yù)測:利用編譯器的提示,結(jié)合動態(tài)和靜態(tài)預(yù)測,37,局部轉(zhuǎn)移預(yù)測,獨立考慮單個循環(huán)的歷史記錄,尋找其中的重復(fù)性規(guī)律,并根據(jù)該規(guī)律預(yù)測未來的轉(zhuǎn)移行為 對于重復(fù)性特征明顯的轉(zhuǎn)移指令(如循環(huán))效果好 例子 for (I=0, I10; I+) 轉(zhuǎn)移模式為(1111111110)n,38,轉(zhuǎn)移歷史表BHT(Branch History Table) 用PC的低位索引,每項1位 記錄同一項上次轉(zhuǎn)移是否成功,表示是否轉(zhuǎn)移成功 不進(jìn)行地址比較檢查(cache tag用于地址比較檢查) 問題 對循環(huán)進(jìn)行猜測時,1位 BHT引起兩次猜錯 循環(huán)退出時,轉(zhuǎn)移方向不一致 進(jìn)入循環(huán)時,和上次退出時的轉(zhuǎn)移方向不一致
17、 for (i=0;i10;i+) for (j=0; j10; j+) ,利用單個分支的重復(fù)性-BHT,39,兩位BHT表,只有連續(xù)兩次猜錯,才會改變猜測方向 在前述兩重循環(huán)的例子中,內(nèi)循環(huán)預(yù)測準(zhǔn)確率從80%提高到98% 4096項已經(jīng)足夠,和無窮項效果差不多 2位已經(jīng)足夠, n位 (n2)與2位效果差不多,40,在取指階段根據(jù)當(dāng)前PC值預(yù)測轉(zhuǎn)移方向和轉(zhuǎn)移地址 需要進(jìn)行地址全相等比較 直接預(yù)測PC值而不是根據(jù)指令內(nèi)容計算 失效時進(jìn)行替換,減少猜測延遲-BTB,41,返回地址棧,返回地址棧(Return Addresses Stack)預(yù)測返回地址 函數(shù)調(diào)用時壓棧,返回時從棧頂彈出作為返回地址
18、 針對函數(shù)調(diào)用有很高的預(yù)測準(zhǔn)確率,42,轉(zhuǎn)移指令的相關(guān)性,2位分支預(yù)測之后,預(yù)測正確率難以提高 主要原因是分支指令的相關(guān)性,43,Yeh和Patt分類,當(dāng)前的轉(zhuǎn)移依賴于兩種情況: 該指令的過去m次轉(zhuǎn)移記錄:PHT(Pattern History Table) 程序中所有轉(zhuǎn)移指令過去m次的轉(zhuǎn)移記錄:BHR(Branch History Register) BHR的組織 “PA”表示per address BHR “GA”表示global address BHR “SA”表示set address BHR PHT的組織 只用歷史記錄索引PHT表,用“g”表示 用全地址和歷史記錄一起索引PHT表,用
19、“p”表示 使用部分地址和歷史記錄一起索引PHT表,用“s”表示,44,兩層自適應(yīng)預(yù)測器組合情況,BHR: Branch History Register PHT: Pattern History Table,45,GAg結(jié)構(gòu),BHR和PHT都是全局的,全局的BHR又稱為GHR(Global History Rigster)。其中GHR存儲過去k次轉(zhuǎn)移歷史,并用GHR的k位值去索引2k個入口的PHT,PHT每項利用2位飽和計數(shù)器進(jìn)行預(yù)測。,46,GAs結(jié)構(gòu),其中BHR表還是全局的,只有k位;PHT表用k位的GHR和PC的低n位進(jìn)行索引,因此一共有2k+n項。,47,SAg(k)的結(jié)構(gòu),PHT是
20、全局的,BHR寄存器一共有2n個,每個BHR為k位。先用PC的低n位索引GHR,然后再用GHR的值索引PHT表。,48,PAp(4)結(jié)構(gòu),每個PC值一個BHR寄存器,每個BHR為k位。先用PC索引BHR,然后再用BHR的值和PC一起索引PHT表。,49,分支別名干擾問題,無論BHR和PHT表如何增大,效果也不是很明顯 主要原因是不同分支地址訪問同一個PHT,造成分支干擾,50,Gselect: 全局歷史m位和地址n位組合尋址 Gshare: 部分地址和全局歷史異或?qū)ぶ?性能分析結(jié)果表明:gshare稍微好于gselect,分支別名干擾的消除,51,Agree分支預(yù)測,在指令Cache或轉(zhuǎn)移目的
21、地址緩存(BTB)中為每一個轉(zhuǎn)移都加上一個偏向位,偏向位中保存的是這條指令最常見的轉(zhuǎn)移方向。 2位計數(shù)器不是用來預(yù)測轉(zhuǎn)移方向的,而是用來決定是否按照偏向位來轉(zhuǎn)移的。 當(dāng)轉(zhuǎn)移的實際結(jié)果與偏向位一致時,計數(shù)器加一,否則減一,52,Agree分支預(yù)測,2條分支預(yù)測正確率分別為 85%和15%,使用同一項PHT 傳統(tǒng)方法 - 兩條分支結(jié)果相反(分支沖突)的概率: (br1taken, br2nottaken) + (br1nottaken, br2taken) = (85% * 85%) + (15% * 15%) = 74.5% Agree 方法兩條分支結(jié)果相反(分支沖突)的概率: (br1agre
22、e, br2disagree) + (br1disagree, br2disagree) = (85% * 15%) + (15% * 85%) = 25.5% 優(yōu)點 2條不同方向的分支可以映射倒同一表項 偏向位不變,只改變 PHT gcc誤預(yù)測在64k的PHT下減少8.6%, 1K的PHT誤預(yù)測減少33.3% HP的PA-8700處理器中得到應(yīng)用,53,Bi-Mode預(yù)測器,Bi-mode 和Agree 分支預(yù)測的思想一致,不過它是把容易發(fā)生跳轉(zhuǎn)和不跳轉(zhuǎn)的分支放入不同的PHT。它由3 部分組成,一部分用來選擇PHT,另外兩部分表示PHT 的方向,分別為跳轉(zhuǎn)和不跳轉(zhuǎn),PHT 的方向被全局歷史索
23、引。 由于對預(yù)測器的選擇,達(dá)到了針對每條轉(zhuǎn)移的程度,因此命中率又有所提高。,54,組合分支預(yù)測器,不同的分支預(yù)測只能對某類的分支行為有效 不同分支預(yù)測組合起來,根據(jù)分支行為選不同分支預(yù)測器,55,動態(tài)轉(zhuǎn)移猜測小結(jié),轉(zhuǎn)移的重復(fù)性和偏向性 BHT 轉(zhuǎn)移指令的相關(guān)性問題 兩層轉(zhuǎn)移預(yù)測 分支別名干擾問題 Gshare等 混合預(yù)測器 不同的分支預(yù)測只能對某類的分支行為有效 不要執(zhí)著于具體辦法,關(guān)鍵是抓住應(yīng)用程序的特點,56,常見處理器的轉(zhuǎn)移預(yù)測,57,一些典型商品處理器的分支預(yù)測機制,58,Alpha 21264的分支預(yù)測器,Global PHT,(112),Global BHR,per-set BHT
24、,global PHT,n=10,k =10,k = 12,Local history prediction,Global history prediction,SAg(10),GAg(12),Selector,59,程序(a)中,假設(shè)第一個條件語句的轉(zhuǎn)移模式為“TNTNTN”,第二個條件語句的轉(zhuǎn)移模式為“NNNNNN”。 簡單的PHT表就可以準(zhǔn)確猜測第二個條件語句的跳轉(zhuǎn)方向,但對第一個條件語句的猜測就無能為力。Alpha 21264的兩級局部預(yù)測器中“局部歷史表”相應(yīng)的表項有兩個可能的值“1010101010”和“0101010101”,這兩個值分別指向“局部預(yù)測表”中的兩個表項,前者預(yù)測跳轉(zhuǎn),后者預(yù)測不跳轉(zhuǎn)。 程序段(b)中,第一個和第二個條件都成立時第三個條件也成立。 當(dāng)全局轉(zhuǎn)移歷史為“xxxxxxxxxx11”時,全局預(yù)測表將預(yù)測“if (a=b)”指令跳轉(zhuǎn)。經(jīng)過訓(xùn)練后的選擇預(yù)測表也會根據(jù)在全局轉(zhuǎn)移歷史最后兩位為“11”時選擇全局預(yù)測表而不是局部預(yù)測表的預(yù)測結(jié)果。,Alpha 21264分支預(yù)測器舉例,60,Pentium IV的轉(zhuǎn)移預(yù)測器,兩個動態(tài)預(yù)測器(BTB)和靜態(tài)預(yù)測混合預(yù)測 靜態(tài)預(yù)測:跳轉(zhuǎn)方向是backward時則預(yù)測taken,反之nottaken B
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人教育分期借款合同范本3篇
- 二零二五年度內(nèi)燃機核心零部件代理銷售合同3篇
- 二零二五年度門臉房屋租賃與文創(chuàng)產(chǎn)業(yè)合作合同4篇
- 二零二五年度生態(tài)農(nóng)莊木工建造服務(wù)合同4篇
- 二零二五版門頭智能化控制系統(tǒng)研發(fā)與安裝合同4篇
- 二零二五年度文化旅游產(chǎn)業(yè)發(fā)展基金合同及違約賠償細(xì)則4篇
- 二零二五版高新技術(shù)企業(yè)研發(fā)項目財務(wù)監(jiān)管合同范本2篇
- 2025年度個人抵押借款合同風(fēng)險評估范本
- 2025年度個人漁業(yè)貸款合同模板3篇
- 2025年度個人對個人光伏發(fā)電項目借款合同
- 三位數(shù)除以兩位數(shù)-豎式運算300題
- 2023年12月廣東珠海市軌道交通局公開招聘工作人員1人筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
- 寺院消防安全培訓(xùn)課件
- 比摩阻-管徑-流量計算公式
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、異丙醇和正丁醇檢驗
- 五年級數(shù)學(xué)應(yīng)用題100道
- 西方經(jīng)濟學(xué)(第二版)完整整套課件(馬工程)
- 高三開學(xué)收心班會課件
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評定方法
- 科技計劃項目申報培訓(xùn)
- 591食堂不合格食品處置制度
評論
0/150
提交評論