HT超執行緒技術

HT超執行緒技術

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

簡介

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

發展

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

Hyper-Threading技術簡介

Hyper-Threading做法是複製一顆處理器的架構指揮中心(architectural state)變成兩個,使得Windows作業系統認為是在與兩顆處理器溝通,但這兩個架構指揮中心共享該處理器的工作資源(execution resources)。架構指揮中心追蹤每個程式或執行緒的執行狀況;工作資源指的則是“處理器用來進行加、乘、載入等工作的單元(execution unit)”。如此一來,作業系統把工作執行緒安排好以後,就分派給這兩個邏輯上的處理器執行,而這顆CPU的每個執行單元等於在同樣的時間內要服務兩個“指令處理中心”,當然它的效率就高多了,作業系統就把一顆實體的處理器認定為兩個邏輯處理器作工作指派,當然整體工作效能就比沒有具備Hyper-Threading 的處理器高出許多,性價比自然高出許多。
超執行緒技術實現的必要條件
除了硬體支持之外,我們必須注意到,超執行緒技術的實現還需要軟體的支持才能夠發揮出應有的威力。首先是作業系統的支持,我們必須使用支持雙處理器的作業系統,如Win2000等才能完全發揮出超執行緒技術的性能。至於軟體方面,目前很多專業的應用程式對於雙處理器都提供了支持,如著名的圖形處理軟體3Dmax、Maya等。
此外,很多用戶可能會有疑問,既然超執行緒技術以前專門針對伺服器處理器,那么現有的眾多軟體,能否完全兼容支持超執行緒技術的處理器,是否還需要什麼修改才能運行呢?其實這個我們大可不必擔心,現有的IA32軟體不需進行任何的修改,就可以在支持超執行緒的P4處理器上很好的運行了。
超執行緒=效能提升?
一般很多人都會認為,採用超執行緒技術,就能使得系統效能大幅提升,但是事實真是如此么?不要忘了我們前面說到的超執行緒技術實現的必要條件,這可是超執行緒技術發揮應有效能的前提條件。除了作業系統支持之外,還必須要軟體的支持。從這點我們就可以看出,就目前的軟體現狀來說,支持雙處理器技術的軟體畢竟還在少數。對於大多數軟體來說,目前由於設計的原理不同,還並不能從超執行緒技術上得到直接的好處。因為超執行緒技術是線上程級別上並行處理命令,按執行緒動態分配處理器等資源。該技術的核心理念是“並行度(Parallelism)”,也就是提高命令執行的並行度、提高每個時鐘的效率。這就需要軟體在設計上執行緒化,提高並行處理的能力。而目前PC上的應用程式幾乎沒有為此作出相應的最佳化,採用超執行緒技術並沒不能獲得效能的大幅提升。
上面說的只是目前軟體支持的現狀,作業系統在這個方面則沒有太大的問題,畢竟Windows的某些版本、Linux都是支持多處理器的作業系統。並且隨著Intel支持超執行緒技術的處理器面世之後,憑藉Intel處理器的號召力,必然會引起目前應用程式設計上的改變,必然會有更多的支持並行執行緒處理的軟體面世,屆時,當然是支持超執行緒處理器大顯身手的時候了。那時候,普通用戶才能夠從超執行緒技術中得到最直接的好處。
但是我們還是需要看到,隨著目前作業系統對於雙處理器技術的廣泛支持,例如Windows2000、Windows XP等作業系統都支持雙處理器,在這些作業系統上使用支持超執行緒技術的處理器,對於系統的整體性能還是有一定的提高的。。

相關搜尋

熱門詞條

聯絡我們