您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>主機(jī)配件>cpu>

什么是CPU分枝預(yù)測(cè)和推測(cè)執(zhí)行技術(shù)?

2010年02月04日 10:47 wenjunhu.com 作者:佚名 用戶評(píng)論(0

什么是分枝預(yù)測(cè)和推測(cè)執(zhí)行技術(shù)?

?分枝預(yù)測(cè)(branch prediction)和推測(cè)執(zhí)行(speculation execution)是CPU動(dòng)態(tài)執(zhí)行技術(shù)中的主要內(nèi)容,動(dòng)態(tài)執(zhí)行是目前CPU主要采用的先進(jìn)技術(shù)之一。采用分枝預(yù)測(cè)和動(dòng)態(tài)執(zhí)行的主要目的是為了提高CPU的運(yùn)算速度。推測(cè)執(zhí)行是依托于分枝預(yù)測(cè)基礎(chǔ)上的,在分枝預(yù)測(cè)程序是否分枝后所進(jìn)行的處理也就是推測(cè)執(zhí)行。

  由于程序中的條件分枝是根據(jù)程序指令在流水線處理后結(jié)果再執(zhí)行的,所以當(dāng)CPU等待指令結(jié)果時(shí),流水線的前級(jí)電路也處于空閑狀態(tài)等待分枝指令,這樣必然出現(xiàn)時(shí)鐘周期的浪費(fèi)。如果CPU能在前條指令結(jié)果出來(lái)之前就能預(yù)測(cè)到分枝是否轉(zhuǎn)移,那么就可以提前執(zhí)行相應(yīng)的指令,這樣就避免了流水線的空閑等待,相應(yīng)也就提高了CPU的運(yùn)算速度。但另一方面一旦前指令結(jié)果出來(lái)后證明分枝預(yù)測(cè)錯(cuò)誤,那么就必須將已經(jīng)裝入流水線執(zhí)行的指令和結(jié)果全部清除,然后再裝入正確指令重新處理,這樣就比不進(jìn)行分枝預(yù)測(cè)等待結(jié)果后再執(zhí)行新指令還慢了(所以IDT公司的WIN C6就沒(méi)有采用分枝預(yù)測(cè)技術(shù))。這就好象在外科手術(shù)中,一個(gè)熟練的護(hù)士可以根據(jù)手術(shù)進(jìn)展情況來(lái)判斷醫(yī)生的需要(象分枝預(yù)測(cè))提前將手術(shù)器械拿在手上(象推測(cè)執(zhí)行)然后按醫(yī)生要求遞給他,這樣可以避免等醫(yī)生說(shuō)出要什么,再由護(hù)士拿起遞給他(醫(yī)生)的等待時(shí)間。當(dāng)然如果護(hù)士判斷錯(cuò)誤,也必須要放下預(yù)先拿的器械再重新拿醫(yī)生需要的遞過(guò)去。盡管如此,只要護(hù)士經(jīng)驗(yàn)豐富,判斷準(zhǔn)確率高,那么當(dāng)然就可以提高手術(shù)進(jìn)行速度。

  因此我們可以看出,在以上推測(cè)執(zhí)行時(shí)的分枝預(yù)測(cè)準(zhǔn)確性至關(guān)重要!所以通過(guò)Intel公司技術(shù)人員的努力,現(xiàn)在的Pentium和Pentium Ⅱ系列CPU的分枝預(yù)測(cè)正確率分別達(dá)到了80%和90%,這樣雖然可能會(huì)有20%和10%分枝預(yù)測(cè)錯(cuò)誤但平均以后的結(jié)果仍然可以提高CPU的運(yùn)算速度。

非常好我支持^.^

(1) 100%

不好我反對(duì)

(0) 0%

相關(guān)閱讀:

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?