絕密:超線程與雙通道,到底有沒有用!
最近筆者在各大市場中發現一個有意思的現象,凡是來電腦城攢機的用戶不管是初學者、遊戲玩家還是高手們,都不約而同的選擇了Intel P4C系列處理器(支持超線程)和I865芯片組(支持雙通道記憶體技術)主板,好像不選擇具備超線程技術的P4和支持雙通道的芯片組就是一種落伍、掉價的表現。可是他們當中又有多少人真正瞭解這兩種技術呢,而最終將它們的性能發揮出來的人又有多少呢?
對於超線程技術和雙通道記憶體控制技術可以說是兩種不同的技術。當然,這兩種技術在實際中的應用,均能從不同的應用層面找到自己的位置和價值。為了讓大家徹底瞭解兩種技術,筆者認為,唯有對這兩種技術進行相應的剖析和縱向對比測試,方能找到我們所需要的答案。當然,也只有這樣,才能使我們在「攢機」的時候,做到「有的放矢」,以避免自己錢袋中所剩無幾的「銀兩」被浪費掉。
一、 什麼是「超線程」處理器技術?
1、簡單定義「超線程」技術
所謂超線程技術就是利用特殊的硬體指令,把多線程處理器內部的兩個邏輯內核模擬成兩個物理芯片,從而使單個處理器就能「享用」線程級的並行計算的處理器技術。多線程技術可以在支持多線程的操作系統和軟件上,有效的增強處理器在多任務、多線程處理上的處理能力。
超線程技術可以使操作系統或者應用軟件的多個線程,同時執行於一個超線程處理器上,其內部的兩個邏輯處理器共享一組處理器執行單元,並行完成加、乘、負載等操作。這樣做可以使得處理器的處理能力提高30%,因為在同一時間裡,應用程式可以充分使用芯片的各個運算單元。
對於單線程芯片來說,雖然也可以每秒鐘處理成千上萬條指令,但是在某一時刻,其只能夠對一條指令(單個線程)進行處理,結果必然使處理器內部的其它處理單元閒置。而「超線程」技術則可以使處理器在某一時刻,同步並行處理更多指令和資料(多個線程)。可以這樣說,超線程是一種可以將CPU內部暫時閒置處理資源充分「調動」起來的技術。
2、超線程是如何工作的?
在處理多個線程的過程中,多線程處理器內部的每個邏輯處理器均可以單獨對中斷做出響應,當第一個邏輯處理器跟蹤一個軟件線程時,第二個邏輯處理器也開始對另外一個軟件線程進行跟蹤和處理了。
另外,為了避免CPU處理資源衝突,負責處理第二個線程的那個邏輯處理器,其使用的是僅是執行第一個線程時被暫時閒置的處理單元。例如:當一個邏輯處理器在執行浮點運算(使用處理器的浮點運算單元)時,另一個邏輯處理器可以執行加法運算(使用處理器的整數運算單元)。這樣做,無疑大大提高了處理器內部處理單元的利用率和相應的資料、指令處吞吐能力。