什么是CPU分枝/亂序執(zhí)行?
什么是分枝/亂序執(zhí)行?
分枝(branch)是指程序運(yùn)行時(shí)需要改變的節(jié)點(diǎn)。分枝有無條件分枝和有條件分枝,其中無條件分枝只需要CPU按指令順序執(zhí)行,而條件分枝則必須根據(jù)處理結(jié)果再?zèng)Q定程序運(yùn)行方向是否改變。因此需要"分枝預(yù)測(cè)"技術(shù)處理的是條件分枝。
?亂序執(zhí)行(out-of-order execution)是指CPU采用了允許將多條指令不按程序規(guī)定的順序分開發(fā)送給各相應(yīng)電路單元處理的技術(shù)。比方說程序某一段有7條指令,此時(shí)CPU將根據(jù)各單元電路的空閑狀態(tài)和各指令能否提前執(zhí)行的具體情況分析后,將能提前執(zhí)行的指令立即發(fā)送給相應(yīng)電路執(zhí)行。當(dāng)然在各單元不按規(guī)定順序執(zhí)行完指令后還必須由相應(yīng)電路再將運(yùn)算結(jié)果重新按原來程序指定的指令順序排列后才能返回程序。這種將各條指令不按順序拆散后執(zhí)行的運(yùn)行方式就叫亂序執(zhí)行(也有叫錯(cuò)序執(zhí)行)技術(shù)。
采用亂序執(zhí)行技術(shù)的目的是為了使CPU內(nèi)部電路滿負(fù)荷運(yùn)轉(zhuǎn)并相應(yīng)提高了CPU的運(yùn)行程序的速度。這好比請(qǐng)A、B、C三個(gè)名人為晚會(huì)題寫橫幅"春節(jié)聯(lián)歡晚會(huì)"六個(gè)大字,每人各寫兩個(gè)字。如果這時(shí)在一張大紙上按順序由A寫好"春節(jié)"后再交給B寫"聯(lián)歡",然后再由C寫"晚會(huì)",那么這樣在A寫的時(shí)候,B和C必須等待,而在B寫的時(shí)候C仍然要等待而A已經(jīng)沒事了。但如果采用三個(gè)人分別用三張紙同時(shí)寫的做法, 那么B和C都不必須等待就可以同時(shí)各寫各的了,甚至C和B還可以比A先寫好也沒關(guān)系(就象亂序執(zhí)行),但當(dāng)他們都寫完后就必須重新在橫幅上(自然可以由別人做,就象CPU中亂序執(zhí)行后的重新排列單元)按"春節(jié)聯(lián)歡晚會(huì)"的順序排好才能掛出去。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
( 發(fā)表人:admin )