CPU超執行緒

CPU超執行緒

CPU超執行緒就是利用特殊字元的硬體指令,把兩個邏輯核心模擬成物理晶片,讓單個處理器能使用執行緒級並行計算,從而兼容多執行緒並行計算,從而兼容多執行緒作業系統和軟體,使運行性能提高。

基本介紹

  • 中文名:CPU超執行緒
  • 外文名:Hyper-threading
  • 利用:特殊字元的硬體指令
  • 說明:把兩個邏輯核心模擬成物理晶片
  • 通俗的講:使運行性能提高
  • 邏輯處理單元:Logical CPU Pointer
技術,對比,

技術

超執行緒技術就是在一顆CPU同時執行多個程式而共同分享一顆CPU內的資源,理論上要像兩顆CPU一樣在同一時間執行兩個執行緒,P4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的P4 HT的die的面積比以往的P4增大了5%。而其餘部分如ALU(整數運算單元)、FPU(浮點運算單元)、L2 Cache(二級快取)則保持不變,這些部分是被分享的。對支持多處理器功能的應用程式而言,超執行緒處理器被視為兩個分離的邏輯處理器。應用程式不須修正就可使用這兩個邏輯處理器。同時,每個邏輯處理器都可獨立回響中斷。第一個邏輯處理器可追蹤一個軟體執行緒,而第二個邏輯處理器則可同時追蹤另一個軟體執行緒。由於兩個執行緒共同使用同樣的執行資源,因此不會產生一個執行緒執行的同時,另一個執行緒閒置的狀況。 這種方式將會大為提升每個實體處理器中的執行資源使用率。儘管提高CPU的時鐘頻率和增加快取容量後的確可以改善性能,但這樣的CPU性能提高在技術上存在較大的難度。實際上在套用中基於很多原因,CPU的執行單元都沒有被充分使用。如果CPU不能正常讀取數據(匯流排/記憶體的瓶頸),其執行單元利用率會明顯下降。目前大多數執行執行緒缺乏ILP(Instruction-Level Parallelism,多種指令同時執行)支持。這些都造成了當前CPU的性能沒有得到全部的發揮。因此,Intel則採用另一個思路去提高CPU的性能,讓CPU可以同時執行多重執行緒,就能夠讓CPU發揮更大效率,即所謂“超執行緒(Hyper-Threading,簡稱“HT”)”技術。超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶片,讓單個處理器都能使用執行緒級並行計算,進而兼容多執行緒作業系統和軟體,減少了CPU的閒置時間,提高的CPU的運行效率。

對比

採用超執行緒及時可在同一時間裡,應用程式可以使用晶片的不同部分。雖然單執行緒晶片每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠對一條指令進行操作。而超執行緒技術可以使晶片同時進行多執行緒處理,使晶片性能得到提升。 雖然採用超執行緒技術能同時執行兩個執行緒,但它並不象兩個真正的CPU那樣,每個CPU都具有獨立的資源。當兩個執行緒都同時需要某一個資源時,其中一個要暫時停止,並讓出資源,直到這些資源閒置後才能繼續。因此超執行緒的性能並不等於兩顆CPU的性能。 英特爾P4 超執行緒有兩個運行模式,Single Task Mode(單任務模式)及Multi Task Mode(多任務模式),當程式不支持Multi-Processing(多處理器作業)時,系統會停止其中一個邏輯CPU的運行,把資源集中於單個邏輯CPU中,讓單執行緒程式不會因其中一個邏輯CPU閒置而減低性能,但由於被停止運行的邏輯CPU還是會等待工作,占用一定的資源,因此Hyper-Threading CPU運行Single Task Mode程式模式時,有可能達不到不帶超執行緒功能的CPU性能,但性能差距不會太大。也就是說,當運行單執行緒運用軟體時,超執行緒技術甚至會降低系統性能,尤其在多執行緒作業系統運行單執行緒軟體時容易出現此問題。 需要注意的是,含有超執行緒技術的CPU需要晶片組、軟體支持,才能比較理想的發揮該項技術的優勢。當前支持超執行緒技術的晶片組包括如:英特爾i845GE、PE及矽統iSR658 RDRAM、SiS645DX、SiS651可直接支持超執行緒;英特爾i845E、i850E通過升級BIOS後可支持;威盛P4X400、P4X400A可支持,但未獲得正式授權。作業系統如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x版本以及以後的版本也支持超執行緒技術。雖然單執行緒晶片每秒鐘能處理成千上萬條指令,但是在任一時刻只能對一條指令進行操作。而“超執行緒”技術可以使晶片同時進行多執行緒處理,使晶片性能得到提升。如果單單是CPU支持超執行緒技術而沒有晶片組、軟體進行協同作戰的話,超執行緒技術也就是一句空話而已。

相關詞條

熱門詞條

聯絡我們