微處理器設計/亂序執行
外觀
< 微處理器設計
在超標量或類似的處理器設計中,有多個執行單元可用於同時處理資料片段。但是,這些執行單元並不總是同時使用,並且會損失一些處理能力。有時,如果我們將指令從其原始順序中取出,則可以將指令提供給所有執行單元。亂序執行 (OOOE) 指的是處理器能夠以不同於其原始順序的順序執行指令,以嘗試並行完成更多工作,並更快地執行程式。
Tomasulo 排程演算法是一種 OOOE 演算法,支援具有可變延遲(包括資料相關延遲)的功能單元。[1]
OOOE 帶有一些重大風險,這些處理器中的風險檢測單元並不簡單。需要確定所有指令的依賴關係,並且指令不能在其依賴的指令之前或同時執行。
超執行緒 是英特爾為奔騰 4 晶片開發的一種技術的名稱。超執行緒透過複製處理器的某些架構元件(例如狀態標誌、控制暫存器和通用暫存器)來工作。但是,超執行緒不會複製任何執行單元。
在超執行緒系統中,作業系統似乎有兩個獨立的處理器,而實際上只有一個處理器。OOOE 引擎從兩個獨立的執行執行緒中向執行核心提供指令,以嘗試讓所有核心始終處於繁忙狀態。總的來說,超執行緒提高了效能,儘管在某些情況下,這種額外的複雜性實際上會降低效能。
- ↑ Daniel Kröning. "設計和評估具有 Tomasulo 排程器的 RISC 處理器". 第 "2.2 Tomasulo 排程演算法" 節。1999 年。