branch prediction~~out-of-order execution~~Retirement Unit

branch prediction&speculation execution:分枝預測和推測執行技術,是CPU動態執行技術中的主要內容,動態執行是目前CPU主要採用的先進技術之一。採用分枝預測和動態執行的主要目的是爲了提高CPU的運算速度。推測執行是依託於分枝預測基礎上的,在分枝預測程序是否分枝後所進行的處理也就是推測執行。

  由於程序中的條件分枝是根據程序指令在流水線處理後結果再執行的,所以當CPU等待指令結果時,流水線的前級電路也處於空閒狀態等待分枝指令,這樣必然出現時鐘週期的浪費。如果CPU能在前條指令結果出來之前就能預測到分枝是否轉移,那麼就可以提前執行相應的指令,這樣就避免了流水線的空閒等待,相應也就提高了CPU的運算速度。但另一方面一旦前指令結果出來後證明分枝預測錯誤,那麼就必須將已經裝入流水線執行的指令和結果全部清除,然後再裝入正確指令重新處理,這樣就比不進行分枝預測等待結果後再執行新指令還慢了。 

out-of-order execution:亂序執行,亂序執行是指CPU採用了允許將多條指令不按程序規定的順序分開發送給各相電路單元處理的技術,在各單元不按規定順序執行完指令後還必須由相應電路再將運算結果重新按原來程序指定的指令順序排列後才能返回程序。這種將各條指令不按順序拆散後執行的運行方式就叫亂序執行(也有叫錯序執行)技術。採用亂序執行技術的目的是爲了使CPU內部電路滿負荷運轉並相應提高了CPU的運行程序的速度。

Retirement Unit,把指令編排好,用一個順序的方式,再把它寫出去,對他們來講,他們完全看不到核心裏用亂序方法執行,但我們是用這種方式執行來提供它的性能。所以它最重要的是把它做好,再去執行。

發佈了93 篇原創文章 · 獲贊 1 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章