工作原理
儘管提高CPU的時鐘頻率和增加快取容量後的確可以改善性能,但這樣的CPU性能提高在技術上存在較大的難度。實際上在套用中基於很多原因,CPU的執行單元都沒有被充分使用。如果CPU不能正常讀取數據(匯流排/記憶體的瓶頸),其執行單元利用率會明顯下降。另外就是目前大
多數執行執行緒缺乏ILP(Instruction-Level Parallelism,指令級別並行)支持。這些都造成了目前CPU的性能沒有得到全部的發揮。因此,Intel則採用另一個思路去提高CPU的性能,讓CPU可以同時執行多重執行緒,就能夠讓CPU發揮更大效率,即所謂“超執行緒(Hyper-Threading,簡稱“HT”)”技術。超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶片,讓單個處理器都能使用執行緒級並行計算,進而兼容多執行緒作業系統和軟體,減少了CPU的閒置時間,提高的CPU的運行速度。
採用超執行緒即是可在同一時間裡,應用程式可以使用晶片的不同部分。雖然單執行緒晶片每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠對一條指令進行操作。而超執行緒技術可以使晶片同時進行多執行緒處理,使晶片性能得到提升。
超執行緒技術是在一顆CPU同時執行多個程式而共同分享一顆CPU內的資源,理論上要像兩顆CPU一樣在同一時間執行兩個執行緒,P4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的P4 HT的die的面積比以往的P4增大了5%。而其餘部分如ALU(整數運算單元)、FPU(浮點運算單元)、L2 Cache(二級快取)則保持不變,這些部分是被分享的。
雖然採用超執行緒技術能同時執行兩個執行緒,但它並不象兩個真正的CPU那樣,每個CPU都具有獨立的資源。當兩個執行緒都同時需要某一個資源時,其中一個要暫時停止,並讓出資源,直到這些資源閒置後才能繼續。因此超執行緒的性能並不等於兩顆CPU的性能。
運作方式
每個單位時間內, CPU只能處理一個執行緒,以這樣的單位進行,如果想要在單位時間內處理超過一個的執行緒,是不可能的,除非是有兩個 核心處理單元,英特爾的 HT技術便是以單個核心處理單元,去整合兩個邏輯處理單元,也就是一個實體 核心,兩個邏輯 核心,在單位時間內處理兩個執行緒,模擬 雙核心運作。
技術支持
技術原理
“超執行緒”(Hyperthreading Technology)技術就是通過採用特殊的硬體指令,可以把兩個邏輯核心模擬成兩個物理超執行緒晶片,在單處理器中實現執行緒級的並行計算,同時在相應的軟硬
件的支持下大幅度的提高運行效能,從而實現在單處理器上模擬雙處理器的效能。其實,從實質上說,超執行緒是一種可以將CPU內部暫時閒置處理資源充分“調動”起來的技術。
實現條件
* CPU的支持,實現“超執行緒”的功能必須選購一塊支持“HT”技術的處理器。Intel 支持這一技術的CPU有Core i3、Core i5、Core i7全系。在老CPU中,Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott處理器,還有部分型號的Xeon支持超執行緒技術。
*主機板晶片組和主機板BIOS的支持
正式支持“HT”技術的晶片組有Intel的875P、E7205、850E、865PE/G/P、845PE/GE/GV、845G(B-stepping)、845E。其中875P、E7205、865PE/G/P、845PE/GE/GV以及最新推出的 915/925晶片組均可直接支持超執行緒技術的使用,而早前的845E以及850E晶片組,只要升級BIOS就可以解決支持的問題。SiS方面有SiS645DX(B版)、SiS648(B版)、SiS655、SiS658、SiS648FX。VIA方面有P4X400A、P4X600、P4X800。同時,主機板的BIOS也必須支持超執行緒功能。
*作業系統和套用軟體的支持
目前在微軟的作業系統中只有Windows XP及以上的版本才能正式支持“超執行緒”技術,Windows 98/Me/2000均不支持此項功能。
一般說來,最大發揮HT技術的運行效能還需要真正支持超執行緒技術的軟體。
使用前提
需要CPU支持
目前正式支持超執行緒技術的CPU有Core i3、Core i5、Core i7全系。
在老CPU中,Pentium4 3.06GHz 、2.40C、2.60C、2.80C 、3.0GHz、3.2GHz以及Prescott處理器,還有部分型號的Xeon支持超執行緒技術。
需要主機板晶片組支持
需要正式支持超執行緒技術的主機板晶片組支持超執行緒技術的使用,而早前的一些晶片組只能升級BIOS就可以解決支持的問題
需要主機板BIOS支持
主機板廠商必須在BIOS中支持超執行緒才行。
需要作業系統支持
目前微軟的作業系統中只有Windows XP專業版及後續版本支持此功能,而在Windows 2000上實現對超執行緒支持的計畫已經取消了。
需要套用軟體支持
一般來說,只要能夠支持多處理器的軟體均可支持超執行緒技術,但是實際上這樣的軟體並不多,而且偏向於圖形、視頻處理等專業軟體方面,遊戲軟體極少有支持的。
支持超執行緒的軟體:
Games, Game Engines, And Middleware
Activision Ghostbusters
Capcom Lost Planet Colonies
Capcom Resident Evil 5
CJ Internet Prius Online
Codemasters GRID (withpatch)
Codemasters Operation Flashpoint: Dragon Rising
Crytek Crysis Warhead (Windows XP only)
EA Need for Speed: SHIFT
Havok SDKv5.5 (Tool / Middleware)
Illuminate Labs Beast 5 (Tool/Middleware)
Geomerics Enlighten
Kingsoft Mission Against Terror
Kingsoft JX Online III
NC Soft Aion
NC Soft Lineage II
Neowiz Alliance of Valiant Arms
Sega Football Manager 2009
Sega Football Manager 2010
Sega Empire: Total War (with patch)
Simul Software Ltd Simul Weather (Middleware)
THQ Relic Company of Heroes
Trinigy Vision Engine v7 (Middleware)
Ubisoft Assassin’s Creed
Ubisoft Far Cry 2 (with patch)
Ubisoft HAWX
Ubisoft World in Conflict: Soviet Assault
Winking Sakura
Media And Productivity Software
ABBYY Fine Reader
Adobe After Effects
Adobe Photoshop*
Adobe Photoshop Lightroom
Adobe PremierePro
Arcsoft Total Media Showbiz DVD
AutoDesk3ds Max*
Autodesk Maya
Avid Pinnacle Studio
BibbleLabs Bibble
Blender
Cakewalk SonarProducer
Cineform Prospect HD
Corel DVD Factory in Digital Studio
Corel Video Studio
Cyberlink MediaShow & MediaShow Espresso
Cyberlink Power Director
Cyberlink Power Producer
HandBrake*
Ichikawa Soft Laboratory SILKYPIX
KolorAutopanoPro & Giga
Magix Video Deluxe / MovieEditPro
MainConcept Reference Encoder and Decoder*
Maxon Cinema 4D & Cinebench*
Microsoft Excel
Microsoft Expressions Encoder
MicrosoftWindows LiveMovie Maker
Movavi Video Converter
NeroMultimedia Suite
Newtek Lightwave
Nik Software Silver Efex Pro
On2 Technology True Motion VP8
Pegasys TMPGEnc Xpress
Persistence of Vision Raytracer
Photodex Proshow Gold
RARLABWinRAR*
SonicRoxio Creator
Sonic Solutions Cineplayer
Sony ACID Music Studio
Sony Sound Forge Audio Studio
Sony Sound Forge Pro
Sony Vegas Pro
Sony Acid Pro
Sorenson Media Squeeze
Steinberg Cubase
Steinberg Nuendo
VirtualDubw/Divx
XtraSens Retina
3ivx MPEG-4
技術優點
1. 超執行緒技術的優勢在於同時進行多任務 批處理工作,儘管現在 支持超執行緒技術的 軟體不多,也只有少數的 軟體可以享受到由超執行緒技術帶來的性能提升,但是這符合今後軟體等技術的發展方向,今後更多的軟體將受益於超執行緒技術。
2.從目前來看,部分客戶發可以發覺在運行某些特定軟體時, 超執行緒技術讓系統有了30%的性能提升,為超執行緒技術最佳化的軟體都能夠享受到超執行緒技術的好處。
3.客戶同時運行兩個以上的 軟體時候,將可以明顯的感受到這兩個軟體的性能都得到提升相比關閉 超執行緒技術的情況下都有很大的提升,超執行緒技術的效率優勢只有在多任務操作時候才能得到發揮。
4.目前 支持超執行緒技術的Windows XP 作業系統,其中的很多系統 軟體都已經針對超執行緒技術最佳化過,因此在使用Windows 作業系統的時候可以很好的享受到超執行緒技術帶來好處。
技術缺點
1.因為 超執行緒技術是對 多任務處理有優勢,因此當運行 單執行緒運用軟體時,超執行緒技術將會降低系統性能,尤其在多執行緒作業系統運行單執行緒軟體時將容易出現此問題。
2.在打開超執行緒支持後,如果 處理器以雙 處理器模式工作,那么處理器內部 快取就會被劃分成幾區域,互相共享內部資源。對於不支持多處理器工作的 軟體在雙處理器上運行時出錯的機率要比單處理器 上高很多。
3.目前因為很多 工作站 軟體為Windows 2000 作業系統進行過最佳化,但是採用Windows 2000這樣的作業系統的工作站無法完全利用 超執行緒技術的優勢,也帶來不了高的工作效率
4. 超執行緒技術只能提高40%左右的性能(測評時可以看成50%,即Core i3 的執行效率為3核速率,Core i5 4核 HT與Core i7 的執行效率為6核速率)
與 雙核心區別
超執行緒(Hyper Threading)技術,是近幾年在程式處理上比較經典的解決方案,具有 超執行緒技術的CPU,搭配 支持超執行緒技術的Windows 系統(Windows XP/2003),可以減少 系統資源的浪費,從而提高了 處理器的工作效率。
實際上, 超執行緒技術是把一個 處理器模擬為兩個 處理器使用,這樣能有效地利用和分配資源,達到提高整體性能的目的,這就是為什麼超執行緒CPU在系統中也會被識別成兩個CPU的原因。
雙核心CPU則不同, 雙核心處理器的概念就是將兩顆處理器的晶片,通過全新的封裝技術,整合成為一顆處理器,在這一顆處理器中擁有兩顆核心,真正地實現了多處理器 協同工作。雙核心 處理器核心內的資源都是獨立的,而且也可以交換使用資源,核心與核心之間溝通的延遲遠比多個單核心處理器同時運行好。
支持的晶片組
目前支持超執行緒技術的晶片組包括如下:
Intel晶片組: 845、845D和845GL是不支持支持超執行緒技術的;845E晶片組自身是支持超執行緒技術的,許多主機板都需要升級BIOS才能支持;在845E之後推出的所有晶片組都支持支持超執行緒技術,例如845PE/GE/GV以及所有的865/875系列以及915/925系列晶片組都支持超
執行緒技術。
VIA晶片組: P4X266、P4X266A、P4M266、P4X266E和P4X333是不支持支持超執行緒技術的,在P4X400之後推出的所有晶片組都支持支持超執行緒技術,例如P4X400、P4X533、PT800、PT880、PM800和PM880都支持超執行緒技術。
SIS晶片組: SIS645、SIS645DX、SIS650、SIS651和SIS648是不支持支持超執行緒技術的;SIS655、SIS648FX、SIS661FX、SIS655FX、SIS655TX、SIS649和SIS656則都支持超執行緒技術。
ULI晶片組:M1683和M1685都支持超執行緒技術。
ATI晶片組:ATI在Intel平台所推出的所有晶片組都支持超執行緒技術,包括Radeon 9100 IGP、Radeon 9100 Pro IGP和RX330。
nVidia晶片組:即將推出的nForce5系列晶片組都支持超執行緒
Pentium 4CPU中,Northwood及其之後推出的版本內建超執行緒技術;但在早期的Northwood核心中,一些型號的HT技術被關閉,縱使有軟體偵測到超執行緒技術的存在,使用者並不可以啟用。;而雙核心的Pentium D中也只有EE版提供HT技術。(詳見:Pentium D 處理器列表、Intel Pentium 4處理器列表)
英特爾的Core 2 Duo處理器則沒有HT技術。但處理器已集成了兩個實體核心,所以仍然支持兩個執行緒。
而英特爾在2008年推出的Intel Core i7及Intel Atom處理器又支持類似HT的技術,在Nehalem中,Hyper-Threading大舉捲土重來。在 IntelNetBurst架構的 Northwood 版本中開始導入的 Hyper-Threading-在 Intel 世界之外稱為 Simultaneous Multi-Threading (SMT)-是善用執行緒平行性的方法,讓單一核心在套用軟體層能提供兩個邏輯核心、而且確實可以提升一些效能。