HT超執行緒技術

HT超執行緒技術

Intel正式發布了“Hyper-Threading Technology(超執行緒技術)”這項技術將率先在XEON處理器上得到套用。通過使用該技術,Intel將提供世界上首枚集成了雙邏輯處理器單元的物理處理器(其實就是在一個處理器上整合了兩個邏輯處理器單元),據說能夠提高40%的處理器性能,類似的技術似乎也將出現在AMDK8-Hammer處理器上。

基本介紹

  • 中文名:HT超執行緒技術
  • 外文名:Hyper-Threading Technology
  • 處理器:AMDK8-Hammer
  • 優點:物美價廉
介紹,執行緒(Threads),產生原因,工作原理,優點,優點一,優點二,優點三,優點四,優點五,優點六,缺點,

介紹

當今的處理器發展普遍向著提高處理器指令平鋪速率的方向邁進,但由於所使用的處理器資源會有衝突,因此性能提升的效果並不理想。而通過Hyper-Threading技術,通過在一枚處理器上整合兩個邏輯處理器(註:是處理器而不是運算單元)單元,使得具有這種技術的新型CPU具有能同時執行多個執行緒的能力,而這是現有其它微處理器都不能做到的。
簡單的說,Hyper Threading是一種同步多執行緒(SMT,simultaneous Multi-threading)技術,它的原理很簡單,就是把一顆CPU當成兩顆來用,將一顆具Hyper-Threading功能的“實體”處理器變成兩個“邏輯”處理器而邏輯處理器對於作業系統來說跟實體處理器並沒什麼兩樣,因此作業系統會把工作執行緒分派給這“兩顆”處理器去執行,讓多種應用程式或單一應用程式的多個執行緒(thread),能夠同時在同一顆處理器上執行;不過兩個邏輯處理器是共享這顆CPU的所有執行資源。

執行緒(Threads)

在8O年代中期,執行緒的概念被引入到作業系統的設計中,它是比進程更小的能獨立運行的基本單位.作業系統中引入進程的目的,是為了使多個程式並發執行,以改善資源利用率及提高系統的吞吐量.進程有兩個基本屬性:(1)進程是一個可擁有資源的獨立單位;(2)進程是可以獨立調度和分派的基本單位.因為進程是一個資源擁有者,所以在進程的創建、撤消和切換中,系統必須為之付出較大的時空開銷.因而,在系統中所設定的進程數目不宜過多,進程切換的頻率也不宜過高,也就限制了並發程度的進一步提高.產生執行緒的概念,也是由於上述原因,有不少作業系統的學者們想到,將進程的兩個屬性分開進行處理.即對作為調度和分派的基本單位,不同時作為獨立分配資源的單位,以使之輕裝運行,而對擁有資源的基本單位,又不頻繁地對之進行切換.在引入執行緒的作業系統中,執行緒是進程中的一個實體,是被系統獨立調度和分派的基本單位。執行緒自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程式計數器、一組暫存器和棧),但它可與同屬一個進程的其它執行緒共享進程所擁有的全部資源.一個執行緒可以創建和撤消另一個執行緒;同一進程中的多個執行緒之間可以並發執行.由於執行緒之間的相互制約,致使執行緒在運行中也呈現出間斷性.相應地,執行緒也同樣有就緒、阻塞和執行三種基本狀態,有的系統中執行緒還有終止狀態等.1.2 超執行緒技術(Hyper—Threading Technology縮寫為HTT)超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶片,讓單個處理器都能使用執行緒級並行計算.具體講,就是通過CPU的暫存器構成了兩個邏輯處理器,來共享處理器的物理執行單元,並同步進行加、乘、負載等操作.作業系統或者套用軟體的多執行緒可以同時運行於一個HTT處理器上,兩個邏輯處理器共享一組處理器執行單元,並行完成加、乘、負載等操作,這樣就可以使得運行性能提高,這是因為在同一時間裡,應用程式可以使用晶片的不同部分.雖然單執行緒晶片每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠對一條指令進行操作.而超執行緒技術可以使晶片同時進行多執行緒處理,使處理器性能得到提升。

產生原因

CPU發展到今天,其整體速度雖然越來越快,內部的執行單元卻越來越得不到充分的利用.為什麼呢?原來NetBurst架構的奔騰4在設計結構上就每次只能處理一個執行緒,而與此同時我們的電腦需要同步執行的任務卻在不斷增加,而且花在各執行緒之間切換等待的時間太多,處理器的套用效率自然也就降低了.長期以來,CPU生產商為了提高CPU的性能,通常做法是提高CPU的時鐘頻率、增加快取容量、電晶體數量以及指令集來提升其性能.這些方法的副作用就是會增加處理器的功耗,而且往往會受到製造工藝上的限制以及成本過高的制約.CPU要想取得更好的表現,擁有更快的處理速度,就得需要更大的供電量,更強勁的散熱條件.2005年,英特爾取消了生產4.0GHz的“Tejas”單核處理器.因為他們發現,要想達到這個頻率,它的驅動功率必須要達到100W.不僅如此,要保證它正常的運行還要有溫度的控制,需要更大的散熱器.要是在不過多增加硬體投入的情況下,處理器就能夠充分利用現有的強勁物理單元同步執行多執行緒來增強性能,那該多好?因此,Intel採用另一個思路去提高CPU 的性能,讓CPU可以同時執行多重執行緒,就能夠讓CPU 發揮更大效率,即超執行緒技術.也正是由於通過不高的代價,就能帶來極大的性能提升,超執行緒技術倍受Intel的青睞,並被予以大力宣傳.

工作原理

超執行緒技術的工作原理是在每個時鐘周期內完成更多工作,一個支持超執行緒(HT)技術的處理器使當前的作業系統和套用可以看到兩個虛擬處理器,該處理器可以同時處理兩組任務,充分利用閒置資源,並可在相同時間內完成更多工作.在處理多個執行緒的過程中,多執行緒處理器內部的每個邏輯處理器均可以單獨對中斷做出回響,當第一個邏輯處理器跟蹤一個軟體執行緒時,第二個邏輯處理器也開始對另外一個軟體執行緒進行跟蹤和處理了.另外,為了避免CPU處理資源衝突,負責處理第二個執行緒的那個邏輯處理器,其使用的是僅是運行第一個執行緒時被暫時閒置的處理單元.例如:當一個邏輯處理器在執行浮點運算(使用處理器的浮點運算單元)時,另一個邏輯處理器可以執行加法運算(使用處理器的整數運算單元).這樣做,無疑大大提高了處理器內部處理單元的利用率和相應的數據、指令的吞吐能力.4 實現超執行緒技術的前提條件實現超執行緒的五大前提條件:(1)需要CPU支持:目前正式支持超執行緒技術的CPU有Pentium4 3.O6GHz、2.40C、2.60C、2.80C、3.0GHz、3.2GHz以及Prescott處理器,還有部分型號的Xeon.(2)需要主機板晶片組支持:正式支持超執行緒技術的主機板晶片組的主要型號包括Intel的875P,E72O5,850E,865PE/G/P,845PE/GE/GV,845G(B-stepping),845E.875P,E7205,865PE/G/P,845PE/GE/GV晶片組均可正常支持超執行緒技術的使用,而早前的845E以及850E晶片組只要升級BIOS就可以解決支持的問題.SIS方面有SIS645DX(B版)、SIS648(B版)、SIS655、SIS658、SIS648FX.VIA 方面有4X4O0A、P4X6OO、P4X8OO.(3)需要主機板BIOS支持:主機板廠商必須在BIOS中支持超執行緒才行.(4)需要作業系統支持:MicrosoftWin—dowsXP、MicrosoftW indows2003,Linuxkernel2。
4.XP以後的版本也支持超執行緒技術.(5)需要套用軟體支持:一般來說,只要能夠支持多處理器的軟體均可支持超執行緒技術,但是實際上這樣的軟體並不多,而且偏向於圖形、視頻
處理等專業軟體方面,遊戲軟體極少有支持的.套用軟體有Office2000、Photoshop等.5 超執行緒技術的優缺點

優點

優點一

物美價廉。由於這項技術是將一個處理器模擬成兩個使用,從而在增加極少投入的情況下就能夠提高性能.對於作業系統來說,它又像真的擁有兩個物理處理器一樣工作,從而讓兩個程式或一個程式的兩個執行緒,能夠在單處理器上同時執行.由於減少了線上程之間的切換,提高了執行單元的利用率,從而使處理器實際使用效果得到極大的改善.

優點二

超執行緒在Web服務、SQL資料庫等很多伺服器領域的套用中表現優異.在2001年的時候,IBM就推出了它的第一款雙核Power 4處理器.IBM 當時是用在了它的RISC伺服器中,伺服器的性能得到了很大的提高.

優點三

在某些支持多執行緒的軟體套用上能夠得到3O 左右的性能提升,如3Dsmax、Maya、Of—rice、Photoshop等.在今後的軟體開發中,支持多執行緒套用的軟體定會蓬勃發展,大多數主流軟體都會利用到超執行緒.因為無論是硬體廠商或軟體廠商都會利用新技術來鞏固自己的市場地位.

優點四

WindowsXP已經針對其作出最佳化,在運行多個不支持多執行緒的程式時,性能也可能會獲得提高.即便帶來損失,也會顯得比較輕微.

優點五

主流的桌面晶片組基本都已可以支持超執行緒,無需額外的花費.

優點六

目前在高端的Pentium EE和一部分Xeon上也支持超執行緒技術.在支持超執行緒的處理器的機器上,支持多CPU 的Windows會認出兩個CPU.而在支持雙核心處理的機器上,Windows
也會認出兩個CPU,在支持超執行緒雙核心的處理器上,Windows會認出四個CPU.

缺點

英特爾P4超執行緒有兩個運行模式,Single Task Mode(單任務模式)及Multi Task Mode(多任務模式),當程式不支持Multi-Processing(多處理器作業)時,系統會停止其中一個邏輯CPU的運行,把資源集中於單個邏輯CPU 中,讓單執行緒程式不會因其中一個邏輯CPU 閒置而減低性能,但由於被停止運行的邏輯CPU 還是會等待工作,占用一定的資源,因此Hyper-Threading CPU運行Single Task Mode程式模式時,有可能達不到不帶超執行緒功能的CPU性能.

相關詞條

熱門詞條

聯絡我們