亂序執行的簡單概念

亂序執行技術
爲了進一步提高處理速度, Pentium Pro等最新推出的高檔微處理器採用了一種亂序執行
技術來支持其超標量、超流水線設計。所謂亂序執行技術就是允許指令按照不同於程序中指
定的順序發送給執行部件的一套方法,通過把不能立刻執行的指令擱置在一邊而把能立刻執
行的後續指令提前處理,可以避免拖延處理器的運行,縮短程序的執行時間。每執行完一條
指令時,剩下的指令又重新組合爲適當的序列。
亂序執行技術必須以數據流分析和微指令操作數、執行狀態和執行結果的緩衝寄存爲前
提。通過數據流分析,決定哪些微指令已準備好了所有的操作數並可被髮送到執行部件執行。
支持這項工作的關鍵部件是重排序緩衝器ROB(Reorder Buff e r )和稱之爲保留站的特殊指令緩
衝區。保留站位於指令譯碼器和指令執行部件之間,裏面存有一些已譯碼的指令,以便執行
部件即使在譯碼器延遲期間也不會閒置;反過來,如果執行部件繁忙,保留站又可以提供一
種緩衝,使得譯碼器能繼續操作。R O B是一個循環的F I F O隊列,它可保存帶相關操作數的各
條微指令及其執行狀態和結果。只有當一條微指令之前的所有微指令都被執行完時,該指令
才能退出,並且把結果寫到體系結構寄存器和內存中。R O B和保留站在同一時刻均從譯碼器
中接收同一微指令。在R O B記錄微指令程序順序的同時,保留站中緩衝寄存着多條微指令,
並根據每條微指令的所有操作數是否齊備和執行部件是否空閒等條件,決定何時將它發送給
相關的執行部件。前一條微指令的執行結果可能是隨後的微指令的源操作數,這樣每個執行
部件的所有結果都被送回保留站中。這種交叉開關式的互聯結構允許將一個執行部件的輸出
傳送給需要該輸出作爲輸入操作數的另一個執行部件。執行部件的結果還被傳回給R O B,由
此決定一條微指令是否可以退出,以保證所有微指令按程序次序退出。每條微指令只有退出
後才能向體系結構寄存器或內存提交它的執行結。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章