深入瞭解超線程、雙核CPU、雙CPU與單CPU的區別
2007-11-04 11:21:37
目前服務器市場可以說是新產品新技術層出不窮,光是服務器的核心CPU除了主頻等參數外,最讓人不明白的就是所謂的雙核,電視報紙廣告上也是頻繁刊登雙核服務器的廣告。雙核CPU與雙CPU還有以前的超線程都有什麼區別呢?我們選擇服務器應該採取雙核心CPU還是雙CPU呢?
在一兩年前CPU領域就出現了一個叫做超線程的技術,具備了超線程技術的CPU可以更高效的運行程序,特別是支持對程序的併發執行。而如今在個人計算機和服務器市場又出現了一個叫做雙核心CPU的概念,他和超線程有哪些區別?性能提升情況如何呢?他又能否和傳統的雙CPU畫等號呢?我們先要對這三者的概念進行了解。
一、三者的工作原理和概念:
(1)超線程(HT):
超線程(Hyperthreading Technology)技術就是通過採用特殊的硬件指令,可以把兩個邏輯內核模擬成兩個物理芯片,在單處理器中實現線程級的並行計算,同時在相應的軟硬件的支持下大幅度的提高運行效能,從而實現在單處理器上模擬雙處理器的效能。其實,從實質上說,超線程是一種可以將CPU內部暫時閒置處理資源充分“調動”起來的技術。
“超線程”的實現條件需要CPU的支持,主板芯片組和主板BIOS的支持,另外操作系統和應用軟件方面也需得到應有的支持。說白了超線程就是通過軟件的手段模擬出雙個邏輯內核進行工作,運行效果儘量接近兩個物理核心的性能。
不過超線程也存在着致命的不足,首先他在windows 2000下無法使用,因爲WIN2000不支持超線程,只有WIN XP以上的系統纔可以使用HT。另外由於HT是軟件模擬出兩個核心,所以模擬出來後的兩個核心是分享物理緩存的,從而使物理緩存大小減半,另外因爲超線程技術是對多任務處理有優勢,因此當運行單線程運用軟件時,超線程技術將會降低系統性能,尤其在多線程操作系統運行單線程軟件時將容易出現此問題。
(2)雙核心:
所謂雙核心處理器,簡單地說就是在一塊CPU基板上集成兩個處理器核心,並通過並行總線將各處理器核心連接起來。雙核心並不是一個新概念,而只是CMP(Chip Multi Processors ,單芯片多處理器) 中最基本、最簡單、最容易實現的一種類型。
換言之雙核心處理器就是基於單個半導體的一個處理器上擁有兩個一樣功能的處理器核心。這樣就將兩個物理處理器核心整合入一個核中,在任務繁重時,兩個核心能相互配合,讓CPU發揮最大效力。兩個能互補的核心運行起來性能是非常不錯的,例如使用Intel奔騰D雙核處理器就相當於你有了兩臺採用奔騰4的主機。
如果說超線程是用軟件來模擬出雙核的效果,那麼現在所說的雙核心就是真正意義上的兩個核心。他彌補了超線程適用系統比較少的缺點,可以廣泛用於windows操作系統的多個版本;他還有效的解決了雙核運算中出現的緩存分離與數據衝突錯誤問題。
(3)雙CPU:
前面所說的雙核心是在一個處理器裏擁有兩個處理器核心,核心是兩個,但是其他硬件還都是兩個核心在共同擁有,而雙CPU則是真正意義上的雙核心,不光是處理器核心是兩個,其他例如緩存等硬件配置也都是雙份的。
二、三者的佈局結構:
如果我們把CPU比做一套住房的話,那麼超線程技術實際上就相當於把一間房子人爲的通過添加屏風或者推拉門來劃分成兩小間,雖然表面上每間居住者可以自己幹自己的事,不互相影響,但是在出門時都要走同一個大門。
而雙核心的實際上就相當於一套兩居室,房子裏有兩個屋子,每個屋子都是獨立存在的,不互相干擾。出門時也可以各走各的臥室門到大門口。不過如果因爲某些原因,例如放音響聲音過大等情況,在同一套兩居室裏的兩個屋子之間也會相互影響。
接下來我們再看看雙CPU,他就是名副其實的兩套房子,每個房子有每個房子的大門,我們出入大門不會像超線程那樣共用一個門,也不會出現雙核心那樣一個房間因爲某些原因影響另一間,即使某個房子播放音響也不會影響到另外一套房子。
不過從價格上講自己劃分出一個房間的超線程無疑是最最便宜的,而需要花費高額銀子購買兩套房子住的雙CPU是最貴的。
三、三者運行性能比較:
CPU運行性能最關鍵的就是運行速度,那麼究竟這三者在運行速度方面表現如何呢?我們依然通過比喻的方法來區分。
假設CPU是一個運輸卡車,貨物就是我們要計算的信息,CPU運算就類似於卡車運輸貨物。同一時間運送的貨物越多,說明CPU運算能力越強。
單CPU系統——相當於一輛卡車在一條車道上跑。由於車少,所以運輸能力有限。以往CPU生產廠商都是在不斷的提高卡車的載重即主頻來提高他的運輸能力。
雙CPU系統——相當於兩輛卡車在兩條相交的車道上跑。每輛車大部分都在自己的路上跑,但偶爾會相遇、停車避讓。由於車多路寬,所以雙CPU運輸能力最強。
HT(超線程)系統——相當於一輛雙層卡車在一條車道上跑。由於是雙層的,所以猛地一看以爲是兩輛車在跑,其實只有一輛。不過因爲雙層涉及到車高以及捆綁等問題,有的時候遇到限高的橋樑,需要人爲的將貨物卸下,手工搬運。所以說HT超線程適用的條件比較苛刻。
雙核心CPU系統,相當於兩輛卡車在一條車道上跑。雖然他運輸的貨物能力提高了,而且也不會頻繁產生類似於HT超線程那樣的衝突,但是因爲他們都在一條車道上跑,所以互相避讓減速的頻率要比雙CPU高得多。所以他的運輸能力要比真正的雙CPU系統差。
總結:
所以通過上面的結構比較,運行性能比較,我們可以得出以下結論,那就是在運行性能方面雙CPU>雙核CPU>超線程CPU>單CPU;而在價格上也是雙CPU>雙核CPU>超線程CPU>單CPU。