超標量處理器可以在一個時鐘周期內同時獨立執行多條指令,它包括冗余的執行資源,如多個浮點單元,算術邏輯單元和整數移位器。這種類型的處理器是為并行計算和推測性執行而設計的,不需要特殊的軟件。它可以通過操作和重新排...
超標量處理器可以在一個時鐘周期內同時獨立執行多條指令,它包括冗余的執行資源,如多個浮點單元,算術邏輯單元和整數移位器。這種類型的處理器是為并行計算和推測性執行而設計的,不需要特殊的軟件。它可以通過操作和重新排列代碼來提高許多處理器密集型應用程序的執行速度。它常用于幾種類型的計算機中,包括服務器、臺式機甚至筆記本電腦。

臺式機中可以使用超標量處理器盡管這種體系結構的某些方面自20世紀60年代以來就已在處理器中使用,真正的超標量處理器直到很晚才發布,一些在80年代末90年代初銷售的精簡指令集計算(RISC)處理器是超標量的,它們的簡單內核和固定長度的指令使得并行指令的調度和調度變得相對容易,許多非RISC處理器制造出來自20世紀90年代末以來,超標量體系結構也出現了,嵌入式、低功耗和其他專用處理器通常是例外,它們會優化設計的其他方面,而不是并行執行有些處理器可以與來自多個執行線程的指令共享一個管道,稱為超級線程當一個功能單元因為等待當前正在執行的線程而處于空閑狀態時,它可以同時從另一個線程執行一條指令,這種技術有助于充分利用處理器,但效率不如同步多線程(SMT),一個超標量處理器可以同時執行多個線程的多條指令,同時執行的線程可以競爭但是,對于系統和處理器資源,這可能會降低系統速度。具有多級管道的處理器可以同時執行多條指令,只要它們處于不同的執行階段。相反,在超標量處理器中,多個指令可以同時在同一個階段執行。雖然這種處理器與多核處理器有許多相似之處,但它們并不相同。多核處理器包含幾個完整的處理器,稱為核心,在一種設備中,多核處理器的每個核心通常都是超標量的,并且可以包括幾個并行管道。超標量處理器的一個主要特點是它能夠出于效率的原因無序地執行程序代碼這一點,它必須知道任何一條指令對另一條指令的依賴性。如果一條指令影響另一條指令的結果或使用另一條指令的資源,則這兩條指令很可能不能并行執行。有技術可以消除某些類型的依賴關系,但其他指令必須延遲處理,直到資源可用如果發生系統中斷,無序執行還必須能夠保證寄存器、標志和其他資源的正確內容。在這種情況下,系統狀態必須看起來相同,就像代碼是按設計順序執行的一樣。另一個考慮因素是處理器應該檢查多少條指令以找到并行執行的機會。數量越大,執行效率就越高。這還包括在已檢查代碼。