基本信息
超執行緒技術就是利用特殊的硬體指令,把單個物理處理器核心虛擬(硬體虛擬化)成兩個邏輯(執行緒)核心,讓單個處理器能使用多執行緒並行計算,進而兼容多執行緒作業系統和軟體,減少了CPU的閒置時間,提高的CPU的運行效率。
雖然單執行緒晶片每秒鐘能夠處理上億條指令(運行於3GHz主頻時),但是在若干時鐘周期內只能夠對單個任務進行操作。而超執行緒技術可以使晶片在若干時鐘周期內能夠對若干個任務同時進行多執行緒處理,使晶片性能得到提升。
超執行緒技術是在一顆CPU同時執行多個程式而共同分享一顆CPU內的資源,理論上要像兩顆CPU一樣在同一時間執行兩個執行緒,奔騰4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的奔騰4 HT的die(晶片核心面積)比以往的奔騰4增大了5%。而其餘部分如ALU(整數運算單元)、FPU(浮點運算單元)、L2 Cache(二級快取)則保持不變,這些部分是共享的。
雖然採用超執行緒技術能同時執行兩個執行緒,但它並不象兩個真正的CPU那樣,每個CPU都具有獨立的資源。當兩個執行緒需要同時處理某一個資源時,其中一個要暫時停止,並讓出資源,直到這些資源閒置後才能繼續。因此超執行緒的性能並不等於兩顆CPU的性能。
英特爾奔騰4處理器的 超執行緒技術有兩個運行模式,Single Task Mode(單任務模式)及Multi Task Mode(多任務模式),當程式不支持Multi-Processing(多處理器作業)時,系統會停止其中一個邏輯CPU的運行,把資源集中於單個邏輯CPU中,讓單執行緒程式不會因其中一個邏輯CPU閒置而減低性能,但由於被停止運行的邏輯CPU還是會等待工作,占用一定的資源,因此Hyper-Threading CPU運行Single Task Mode程式模式時,有可能達不到不帶超執行緒功能的CPU性能,但性能差距不會太大。也就是說,當運行單執行緒運用軟體時,超執行緒技術甚至會降低系統性能,尤其在多執行緒作業系統運行單執行緒軟體時容易出現此問題(HT技術剛推出時)。
要點注意
需要注意的是,含有超執行緒技術的CPU需要晶片組、軟體支持,才能比較理想的發揮該項技術的優勢。目前支持超執行緒技術的晶片組包括如:英特爾i845GE、PE及矽統SiSR658 RDRAM、SiS645DX、SiS651可直接支持超執行緒;英特爾i845E、i850E通過升級BIOS後可支持;威盛P4X400、P4X400A可支持,但未獲得正式授權。作業系統如:Microsoft Windows XP、Microsoft Windows 2003(事實上NT4.0[win2K]以後的系統都能很好的支持),Linux kernel 2.4.x以後的版本也支持超執行緒技術。