複製鏈接
請複製以下鏈接發送給好友

超線程

鎖定
超線程(HT, Hyper-Threading)是英特爾研發的一種技術,於2002年發佈。超線程技術原先只應用於Xeon處理器中,當時稱為“Super-Threading”。之後陸續應用在Pentium 4 HT中。早期代號為Jackson。 [1] 
通過此技術,英特爾實現了在一個實體CPU中,提供兩個邏輯線程。之後的Pentium D縱使不支持超線程技術,但就集成了兩個實體核心,所以仍會見到兩個線程。超線程的未來發展,是提升處理器的邏輯線程。英特爾於2016年發佈的Core i7-6950X便是將10核心的處理器,加上超線程技術,使之成為20個邏輯線程的產品。 [1] 
中文名
超線程
外文名
Super-Threading/Hyper-Threading
發佈時間
2002年
公    司
英特爾
簡    稱
HT
學    科
計算機

超線程基本簡介

英特爾® 超線程技術是一項硬件創新,允許在每個內核上運行多個線程。更多的線程意味着可以並行完成更多的工作。 [6] 
超線程技術把多線程處理器內部的兩個邏輯內核模擬成兩個物理芯片,讓單個處理器就能使用線程級的並行計算,進而兼容多線程操作系統和軟件。超線程技術充分利用空閒CPU資源,在相同時間內完成更多工作。 [2] 
雖然採用超線程技術能夠同時執行兩個線程,當兩個線程同時需要某個資源時,其中一個線程必須讓出資源暫時掛起,直到這些資源空閒以後才能繼續。因此,超線程的性能並不等於兩個CPU的性能。而且,超線程技術的CPU需要芯片組操作系統應用軟件的支持,才能比較理想地發揮該項技術的優勢。 [2] 

超線程運作方式

超線程如何工作?當英特爾® 超線程技術處於激活狀態時,CPU 會在每個物理內核上公開兩個執行上下文。這意味着,一個物理內核現在就像兩個“邏輯內核”一樣,可以處理不同的軟件線程。 [6] 
較之傳統的單線程內核,兩個邏輯內核可以更有效地完成任務。英特爾® 超線程 (HT) 技術充分利用了內核以前在等待其他任務完成時的空閒時間,提高了 CPU 吞吐量。 [6] 
每個單位時間內,一個單運行管線的CPU只能處理一個線程(操作系統:thread),以這樣的單位進行,如果想要在一單位時間內處理超過一個線程是不可能的,除非是有兩個CPU的實體單元。雙核心技術是將兩個一樣的CPU放置於一個封裝內(或直接將兩個CPU做成一個芯片),而英特爾多線程技術是在CPU內部僅複製必要的資源、讓兩個線程可同時運行;在一單位時間內處理兩個線程的工作,模擬實體雙核心、雙線程運作。 [3] 
Intel自Pentium開始引入超標量、亂序運行、大量的寄存器寄存器重命名、多指令解碼器、預測運行等特性;這些特性的原理是讓CPU擁有大量資源,並可以預先運行及平行運行指令,以增加指令運行效率,可是在現實中這些資源經常閒置;為了有效利用這些資源,就乾脆再增加一些資源來運行第二個線程,讓這些閒置資源可執行另一個線程,而且CPU只要增加少數資源就可以模擬成兩個線程運作。 [3] 
P4處理器需多加一個Logical CPU Pointer(邏輯處理單元)。因此P4 HT的die的面積比以往的P4增大了5%。而其餘部分如ALU(整數運算單元)、FPU浮點運算單元)、L2 Cache(二級緩存)並未增加,且是共享的。 [3] 

超線程超線程的需求條件

並不是所有的處理器都支持超線程,支持超線程的台式機處理器有以下幾種: [4] 
1、Intel Pentium 4 B 3.06GHz [4] 
2、Intel Pentium 4 C 2.4/2.6/2.8/3.0/3.2/3.4 [4] 
3、Intel Pentium 4 E 2.8(800FSB)/3.0/3.2/3.4/3.6 [4] 
4、Intel Pentium 4 XE 3.4/3.46/3.73 [4] 
5、Intel Pentium 4 520/530/53l/540/541/550/551/560/561/570/57l/630/640/650/660 [4] 
6、Intel Pentium XE 840(雙核加NT) [4] 
超線程除了需要CPU的支持外還需要以下幾個方面的支持: [4] 
1、需要主板BIOS的支持。主板廠商必須在BIOS中支持超線程才可以。個別的主板需要升級BIOS才能穩定支持。 [4] 
2、需要操作系統支持。Windows XP即支持此功能。 [4] 
3、需要應用軟件的支持。通常,只要支持多處理器的軟件就能支持超線程技術,但是目前支持多處理器的軟件並不多,當前支持超線程技術的應用軟件主要有Office 2000Office XP及Linux kernel 2.4.x以後的版本。 [4] 

超線程優缺點

超線程優點

1.超線程技術的優勢在於同時進行多任務批處理工作,儘管支持超線程技術的軟件不多,也只有少數的軟件可以享受到由超線程技術帶來的性能提升,但是這符合今後軟件等技術的發展方向,今後更多的軟件將受益於超線程技術。 [5] 
2.從性能來看,部分客户可以發覺在運行某些特定軟件時,超線程技術讓系統有了30%的性能提升,為超線程技術優化的軟件都能夠享受到超線程技術的好處。 [5] 
3.客户同時運行兩個以上的軟件時候,將可以明顯的感受到這兩個軟件的性能都得到提升相比關閉超線程技術的情況下都有很大的提升,超線程技術的效率優勢只有在多任務操作時候才能得到發揮。 [5] 
4.支持超線程技術Windows XP操作系統,其中的很多系統軟件都已經針對超線程技術優化過,因此在使用Windows 操作系統的時候可以很好的享受到超線程技術帶來好處。 [5] 

超線程缺點

1.因為超線程技術是對多任務處理有優勢,因此當運行單線程運用軟件時,超線程技術將會降低系統性能,尤其在多線程操作系統運行單線程軟件時將容易出現此問題。 [5] 
2.在打開超線程支持後,如果處理器以雙處理器模式工作,那麼處理器內部緩存就會被劃分成幾區域,互相共享內部資源。對於不支持多處理器工作的軟件在雙處理器上運行時出錯的概率要比單處理器上高很多。 [5] 
3.因為很多工作站軟件為Windows 2000操作系統進行過優化,但是採用Windows 2000這樣的操作系統的工作站無法完全利用超線程技術的優勢,也帶來不了高的工作效率 [5] 
4.超線程技術只能提高40%左右的性能(測評時可以看成50%,即Core i3 的執行效率為3核速率,Core i5 4核 HT與Core i7 的執行效率為6核速率) [5] 

超線程與多核心區別

超線程技術與多核體系結構的區別如下:①超線程技術是通過延遲隱藏的方法,提高了處理器的性能,本質上,就是多個線程共享一個處理單元。因此,採用超線程技術所獲得的性能並不是真正意義上的並行。從而採用超線程技術獲得的性能提升,將會隨着應用程序以及硬件平台的不同而參差不齊。②多核處理器是將兩個甚至更多的獨立執行單元,嵌入到一個處理器內部。每個指令序列(線程),都具有一個完整的硬件執行環境,所以各線程之間就實現了真正意義上的並行。 [2] 
超線程技術與多核技術相結合可以給應用程序帶來更大的優化空間,進而極大地提高系統的吞吐率 [2] 
參考資料
  • 1.    楊文璐編著;謝宏主審.微機原理與接口技術:上海交通大學出版社,2015.03:第3頁
  • 2.    劉其成,胡佳男,孫雪姣,畢遠偉,童向榮編著.並行計算與程序設計:中國鐵道出版社,2014.06:第29頁
  • 3.    路新峯. 超線程技術初探[J]. 現代電子技術, 2004, 27(12): 61-62.
  • 4.    超好學研究室編著.電腦維護、優化、故障排除超好學:中國鐵道出版社,2007.5:第312頁
  • 5.    張雲. 解析超線程技術[J]. 甘肅聯合大學學報 (自然科學版), 2007, 21(4): 99-101.
  • 6.    什麼是超線程?  .Intel官網[引用日期2023-08-29]