背景
CPU生產商為了提高CPU的性能,通常做法是提高CPU的時鐘頻率和增加快取容量。不過目前CPU的頻率越來越快,如果再通過提升CPU頻率和增加快取的方法來提高性能,往往會受到製造工藝上的限制以及成本過高的制約。
儘管提高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的性能。
英特爾P4 超執行緒有兩個運行模式,Single Task Mode(單任務模式)及Multi Task Mode(多任務模式),當程式不支持Multi-Processing(多處理器作業)時,系統會停止其中一個邏輯CPU的運行,把資源集中於單個邏輯CPU中,讓單執行緒程式不會因其中一個邏輯CPU閒置而減低性能,但由於被停止運行的邏輯CPU還是會等待工作,占用一定的資源,因此Hyper-Threading CPU運行Single Task Mode程式模式時,有可能達不到不帶超執行緒功能的CPU性能,但性能差距不會太大。也就是說,當運行單執行緒運用軟體時,超執行緒技術甚至會降低系統性能,尤其在多執行緒作業系統運行單執行緒軟體時容易出現此問題。
需要注意
綜述
含有超執行緒技術的CPU需要晶片組、軟體支持,才能比較理想的發揮該項技術的優勢。作業系統如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以後的版本也支持超執行緒技術。目前支持超執行緒技術的晶片組包括如:
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系列晶片組都支持超執行緒技術。
處理器
雙核處理器背後的概念蘊涵著什麼意義呢?簡而言之,雙核處理器即是基於單個半導體的一個處理器上擁有兩個一樣功能的處理器核心。換句話說,將兩個物理處理器核心整合入一個核中。企業IT管理者們也一直堅持尋求增進性能而不用提高實際硬體覆蓋區的方法。多核處理器解決方案針對這些需求,提供更強的性能而不需要增大能量或實際空間。
雙核心處理器技術的引入是提高處理器性能的有效方法。因為處理器實際性能是處理器在每個時鐘周期內所能處理器指令數的總量,因此增加一個核心,處理器每個時鐘周期內可執行的單元數將增加一倍。在這裡我們必須強調一點的是,如果你想讓系統達到最大性能,你必須充分利用兩個核心中的所有可執行單元:即讓所有執行單元都有活可乾!
為什麼IBM、HP等廠商的雙核產品無法實現普及呢,因為它們相當昂貴的,從來沒得到廣泛套用。比如擁有128MB L3快取的雙核心IBM Power4處理器的尺寸為115x115mm,生產成本相當高。因此,我們不能將IBM Power4和HP PA8800之類雙核心處理器稱為AMD即將發布的雙核心處理器的前輩。
目前,x86雙核處理器的套用環境已經頗為成熟,大多數作業系統已經支持並行處理,目前大多數新或即將發布的套用軟體都對並行技術提供了支持,因此雙核處理器一旦上市,系統性能的提升將能得到迅速的提升。因此,目前整個軟體市場其實已經為多核心處理器架構提供了充分的準備。
創新意義
x86多核處理器標誌著計算技術的一次重大飛躍。這一重要進步發生之際,正是企業和消費者面對飛速增長的數字資料和網際網路的全球化趨勢,開始要求處理器提供更多便利和優勢之時。多核處理器,較之當前的單核處理器,能帶來更多的性能和生產力優勢,因而最終將成為一種廣泛普及的計算模式。多核處理器還將在推動PC安全性和虛擬技術方面起到關鍵作用,虛擬技術的發展能夠提供更好的保護、更高的資源使用率和更可觀的商業計算市場價值。普通消費者也將比以往擁有更多的途徑獲得更高性能,從而提高他們家用PC和數字媒體計算系統的使用。
在單一處理器上安置兩個或更多強大的計算核心的創舉開拓了一個全新的充滿可能性的世界。多核心處理器可以為戰勝今天的處理器設計挑戰提供一種立竿見影、經濟有效的技術――降低隨著單核心處理器的頻率(即“時鐘速度”)的不斷上升而增高的熱量和功耗。多核心處理器有助於為將來更加先進的軟體提供卓越的性能。現有的作業系統(例如MS Windows、Linux和Solaris)都能夠受益於多核心處理器。在將來市場需求進一步提升時,多核心處理器可以為合理地提高性能提供一個理想的平台。因此,下一代軟體應用程式將會利用多核處理器進行開發。無論這些套用是否能幫助專業動畫製作公司更快更節省地生產出更逼真的電影,或開創出突破性的方式生產出更自然更富靈感的PC機,使用多核處理器的硬體所具有的普遍實用性都將永遠地改變這個計算世界。
雖然雙核甚至多核晶片有機會成為處理器發展史上最重要的改進之一。需要指出的是,雙核處理器面臨的最大挑戰之一就是處理器能耗的極限!性能增強了,能量消耗卻不能增加。根據著名的湯氏硬體網站得到的檔案顯示,代號Smithfield的CPU熱設計功耗高達130瓦,比現在的Prescott處理器再提升13%。由於今天的能耗已經處於一個相當高的水平,我們需要避免將CPU作成一個“小型核電廠”,所以雙核甚至多核處理器的能耗問題將是考驗 AMD與Intel的重要問題之一。
關於多核處理器,從全球範圍內看,AMD在對客戶的理解和對輸出最符合客戶需求的產品方面的理念走在Intel的前面,從上世紀九十年代起就一直計畫著這一重大進展,它第一個宣布了在單處理器上安置多個核心的想法。