超標量

超標量

超標量(superscalar)CPU架構是指在一顆處理器核心中實行了指令級並行的一類並行運算。這種技術能夠在相同的CPU主頻下實現更高的CPU吞吐率(throughput)。

基本介紹

  • 中文名:超標量
  • 意思:在一顆處理器實行指令級並行運算
  • 原理超流水線
  • 副作用主頻較高的CPU實際運算速度較低
簡介,原理,超標量體系結構基礎,

簡介

超標量(superscalar)CPU架構是指在一顆處理器核心中實行了指令級並行的一類並行運算。這種技術能夠在相同的CPU主頻下實現更高的CPU吞吐率(throughput)。

原理

超流水線是通過細化流水、提高主頻,使得在一個機器周期內完成一個甚至多個操作,其實質是以空間換取時間。例如Pentium 4的流水線就長達20級。將流水線設計的步(級)越長,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。但是流水線過長也帶來了一定副作用,很可能會出現主頻較高的CPU實際運算速度較低的現象,Intel奔騰4就出現了這種情況,雖然它的主頻可以高達1.4G以上,但其運算性能卻遠遠比不上AMD 1.2G的速龍甚至奔騰III
流水線技術、超標量。流水線(pipeline)是 Intel首次在486晶片中開始使用的。流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5~6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5~6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鐘周期完成一條指令,因此提高了CPU的運算速度。超流水線是指某型 CPU內部的流水線超過通常的5~6步以上,例如Pentium pro的流水線就長達14步。將流水線設計的步(級)數越多,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。超標量是指在一個時鐘周期內CPU可以執行一條以上的指令。這在486或者以前的CPU上是很難想像的,只有Pentium級以上CPU才具有這種超標量結構;這是因為現代的CPU越來越多的採用了RISC技術,所以才會超標量的CPU。

超標量體系結構基礎

早期的單發射結構微處理器的流水線設計目標是做到每個周期能平均執行一條指令 ,但這一目標不能滿足處理器性能增長的要求,為了提高處理器的性能, 要求處理器具有每個周期能發射執行多條指令的能力 . 與超長指令字( VLIW , Very Long Instruction Word) 結構的數位訊號處理器相似 ,超標量結構的處理器每個時鐘周期也並行發射和執行多條指令 . 區別在於 ,VLIW的處理器採用靜態調度, 而超標量結構的處理器採用動態指令調度 ,在指令執行時根據資源 、數據相關等情況 ,決定是否並行執行指令. 超標量結構是當代多發射微處理器所廣泛採用的微體系結構
在超標量微處理器中 ,每個周期可同時發射執行多條指令, 但指令的高發射頻率也意味著相關所發生的頻率也很高 ; 而且其結構決定了相關的複雜性 . 因此 ,相關的檢測和解決策略的優劣將直接影響超標量處理器的性能 . 為了有效地處理相關, 需採用靜態和動態調度技術相結合的方法 . 靜態調度可在編譯過程中減少相關的產生; 而動態調度可根據處理器的動態信息,發掘出更多的 ILP . 動態調度簡化了編譯器的設計 ,減小了編譯代碼對硬體的依賴, 但卻是以大量的硬體開銷為代價的.
在超標量處理器中, 指令的發射策略是指在指令的發射過程中, 所採取的相關檢測方法和相關處理措施, 決定指令佇列中指令的發射順序, 其算法效率的優劣將直接影響超標量處理器的性能 . 設計高效的指令發射策略是實現高性能超標量處理器的前提. 在超標量處理器中 ,由於指令亂序執行 ,判斷指令執行結束的條件更為複雜 , 因此設計超標量處理器時 ,應考慮採取一定的措施以實現精確中斷.

相關詞條

熱門詞條

聯絡我們