国产成人福利在线视频播放下载,成人无码www免费视频在线看,放荡的美妇在线播放,大地资源网最新更新,国产成人精品日本亚洲网站

泡泡網(wǎng)CPU頻道 PCPOP首頁(yè)      /      CPU     /      評(píng)測(cè)    /    正文

性能之王還是不進(jìn)反退,Prescott全

    要理解前頁(yè)所述的改進(jìn),我們就必須首先了解分支預(yù)測(cè)的一些基本原理。   

    同大多數(shù)處理器一樣,Prescott處理器的分支預(yù)測(cè)機(jī)構(gòu)可以分為動(dòng)態(tài)分支預(yù)測(cè)機(jī)構(gòu)以及靜態(tài)分支預(yù)測(cè)機(jī)構(gòu)兩大類,而其中動(dòng)態(tài)分支預(yù)測(cè)機(jī)構(gòu)由分支目標(biāo)緩沖(Branch Target Buffer ,以下簡(jiǎn)稱BTB)以及預(yù)測(cè)跳轉(zhuǎn)條件是否滿足的動(dòng)態(tài)預(yù)測(cè)機(jī)構(gòu)組成:


 分支預(yù)測(cè)原理圖(點(diǎn)擊放大)

    圖中可見(jiàn),BTB與我們熟悉的一級(jí)、二級(jí)緩存十分類似,只不過(guò)緩存的對(duì)象不同而已,前者緩存了分支指令及其挑轉(zhuǎn)目標(biāo)的地址,而后兩者則緩存具體的數(shù)據(jù)或指令。在每一個(gè)BTB的條目中,集中存儲(chǔ)了分支指令地址、跳轉(zhuǎn)地址以及分支指令的跳轉(zhuǎn)歷史紀(jì)錄。需要注意的是,由于P4對(duì)于其分支預(yù)測(cè)機(jī)構(gòu)的細(xì)節(jié)一直不愿意做過(guò)多的透露,因此其中實(shí)際的分支預(yù)測(cè)機(jī)構(gòu)組成狀況,與上圖所表示的結(jié)構(gòu)必然在細(xì)節(jié)上存在許多不同之處,但從原理上說(shuō),二者是基本相同的。

    大致了解了分支預(yù)測(cè)的原理之后,再回過(guò)頭來(lái)看Prescott中的分支預(yù)測(cè)改進(jìn)狀況,就較好理解了。

    ◎ 動(dòng)態(tài)分支預(yù)測(cè)方面,與其它處理器不太相同,P4處理器在指令預(yù)取單元和Tace Cache單元上,各放置了一套BTB機(jī)構(gòu),但兩套BTB機(jī)構(gòu)的作用和工作原理是類似的。增加BTB條目數(shù),能夠紀(jì)錄的分支指令數(shù)就越多,當(dāng)遇上分支指令較密集,分支指令跳轉(zhuǎn)情況變化較復(fù)雜的程序時(shí),將體現(xiàn)出一定的優(yōu)勢(shì)。

    ◎ 此外,由于分支預(yù)測(cè)指令中的跳轉(zhuǎn)地址有可能使用變量表示,而不是如我們上面舉例的那樣總是5、150這樣的常數(shù);這種情況我們稱為非直接跳轉(zhuǎn)分支(Indirect Branch)。如果此時(shí)仍然使用圖中的機(jī)構(gòu),顯然將造成BTB的頻繁預(yù)測(cè)失敗(儲(chǔ)存在BTB中的分支跳轉(zhuǎn)地址可能是不斷變化的)。Intel宣稱在Prescott的動(dòng)態(tài)分支預(yù)測(cè)機(jī)構(gòu)中加入由Pentiumn M(Banis)中引用的非直接跳轉(zhuǎn)分支預(yù)測(cè)功能。這樣,就提高了執(zhí)行非直接跳轉(zhuǎn)分支時(shí)的預(yù)測(cè)成功率。

    ◎ 作為動(dòng)態(tài)分支預(yù)測(cè)的一種侯補(bǔ)方案,靜態(tài)分支預(yù)測(cè)的性能對(duì)于處理器來(lái)說(shuō)也具備一定的重要性。靜態(tài)分支預(yù)測(cè)方面,在過(guò)去的P4里,一直奉行以下的原則:

 如果分支所跳轉(zhuǎn)的地址為逆向跳轉(zhuǎn),則靜態(tài)預(yù)測(cè)為分支跳轉(zhuǎn)成立,執(zhí)行跳轉(zhuǎn);而如果分支所跳轉(zhuǎn)的地址為正向跳轉(zhuǎn),則靜態(tài)預(yù)測(cè)為分支跳轉(zhuǎn)不成立,按照編譯順序讀取下一條指令,下圖表示了這種靜態(tài)策略:

  

 Northwood的靜態(tài)分支預(yù)測(cè)(點(diǎn)擊放大)

    的確,在分支循環(huán)次數(shù)較多的程序中,這樣的靜態(tài)預(yù)測(cè)方案所得到的預(yù)測(cè)命中率較高。但是如果遇到的不是循環(huán)用分支語(yǔ)句,如果還這樣預(yù)測(cè)就不行了。所幸大多數(shù)情況下,分支循環(huán)程序所包含的指令數(shù)目都比較小(意味著循環(huán)跳轉(zhuǎn)的地址偏移量不會(huì)很大),因此在Prescott中,Intel在原有的靜態(tài)分支策略中加入了距離判斷算法,僅在所跳轉(zhuǎn)的地址為逆向跳轉(zhuǎn),且跳轉(zhuǎn)的地址距離分支指令本身的地址偏移量較小時(shí),才執(zhí)行跳轉(zhuǎn)。下圖表示Prescott與舊P4在這方面的區(qū)別:

 更智能化的Prescott靜態(tài)分支預(yù)測(cè)

    顯然,這樣的靜態(tài)分支預(yù)測(cè)辦法顯得比以前所使用的方法更加“智能化“一些。<

0人已贊

關(guān)注我們

泡泡網(wǎng)

手機(jī)掃碼關(guān)注