Pentium 3 的動態(tài)執(zhí)行技術(shù)
P3的動態(tài)執(zhí)行技術(shù)是為了提高處理器的并行處理能力所采用的一系列技術(shù)的總稱。它包括亂序執(zhí)行、分支預(yù)測和推測執(zhí)行。
◆亂序執(zhí)行技術(shù)
允許處理器將多條指令不按程序規(guī)定的順序,而是按系統(tǒng)的實(shí)際情況,分開發(fā)送給各個(gè)相應(yīng)的單元進(jìn)行處理的方法。也就是說處理指令的順序可以打亂,在處理完成以后,再由相應(yīng)的順序退出單元進(jìn)行處理,執(zhí)行的結(jié)果還是要按原程序的指令順序進(jìn)行排列后返回程序。
簡單的說就是亂序執(zhí)行,順序結(jié)果。
這種方式使處理器的各個(gè)單元的閑置時(shí)間降低,提高了的執(zhí)行的效率。
◆分支預(yù)測和推測執(zhí)行技術(shù)
分鐘預(yù)測和推測執(zhí)行是cpu動態(tài)執(zhí)行技術(shù)的核心。分支預(yù)測是在指令出來之前預(yù)測指令是否產(chǎn)生分支轉(zhuǎn)移;推測執(zhí)行是建立在分支預(yù)測的基礎(chǔ)上的,在分支預(yù)測后進(jìn)行推測執(zhí)行。
如果cpu能夠在指令結(jié)果出來之前,能夠預(yù)測到指令是否產(chǎn)生分支轉(zhuǎn)移,那么就可以提前執(zhí)行相應(yīng)的指令,也就避免了流水線的空閑時(shí)間。但是如果預(yù)測是錯(cuò)誤的,那么就必須將裝入流水線的指令和結(jié)果全部清零,再裝入正確的指令執(zhí)行,這反而降低了執(zhí)行效率。
轉(zhuǎn)移目標(biāo)緩沖存儲器BTB(Branch Target Buffer):作用是保存最近使用過的轉(zhuǎn)移指令相關(guān)的歷史記錄。當(dāng)發(fā)生條件轉(zhuǎn)移時(shí),根據(jù)保存在BTB中的歷史休息,來預(yù)測指令的分支情況并執(zhí)行下一步操作。
通過技術(shù)的進(jìn)步,現(xiàn)在分支預(yù)測的正確率高達(dá)90%以上,極大滴提高了cpu的運(yùn)行效率。
無論怎么樣,還是會出現(xiàn)預(yù)測錯(cuò)誤,那么就會在最短的時(shí)間內(nèi)刷新流水線,取正確的指令執(zhí)行。會產(chǎn)生3-4個(gè)時(shí)鐘周期的時(shí)間延遲。
時(shí)鐘周期既一個(gè)流水線過程。
posted on 2007-05-05 16:56
藍(lán)迪 閱讀(488)
評論(2) 編輯 收藏 引用