當前位置:編程學習大全網 - 編程語言 - 問壹個關於多核多線程cpu的問題

問壹個關於多核多線程cpu的問題

為了提高CPU的性能,CPU廠商通常會提高CPU的時鐘頻率和緩存容量。但是,目前CPU的頻率越來越快。如果通過提高CPU主頻和增加緩存來提升性能,往往會受到制造工藝和高成本的制約。

雖然可以通過提高CPU的時鐘頻率,增加緩存容量來提高性能,但是提高CPU的性能在技術上是有難度的。事實上,由於多種原因,CPU的執行單元在應用程序中並沒有得到充分的利用。如果CPU不能正常讀取數據(總線/內存的瓶頸),其執行單元的利用率會明顯下降。此外,大多數執行線程缺乏ILP(指令級並行)支持。這些都造成了目前CPU的性能沒有得到充分發揮。所以Intel采用另壹種思路來提升CPU的性能,讓CPU同時執行多個線程,可以讓CPU發揮更高效的作用,也就是所謂的“超線程”技術。超線程技術是利用特殊的硬件指令,將兩個邏輯核模擬成兩個物理芯片,使單個處理器可以使用線程級並行計算,然後兼容多線程操作系統和軟件,減少了CPU的空閑時間,提高了CPU的運行效率。

借助超線程技術,應用程序可以同時使用芯片的不同部分。雖然單線程芯片每秒可以處理數千條指令,但它在任何時候都只能對壹條指令進行操作。超線程技術可以使芯片同時多線程化,可以提高芯片的性能。

超線程技術是壹個CPU同時執行多個程序,共享同壹個CPU中的資源。理論上,要像兩個CPU壹樣同時執行兩個線程,P4處理器需要添加壹個邏輯CPU指針。因此,新壹代P4 HT的芯片面積比上壹代P4大5%。而其他部分如ALU(整數運算器)、FPU(浮點運算器)、L2緩存保持不變,這些部分是共享的。

雖然使用超線程技術可以同時執行兩個線程,但並不像兩個真正的CPU,每個CPU都有獨立的資源。當兩個線程同時需要某個資源時,其中壹個應該暫時停止,放棄該資源,直到這些資源空閑。所以超線程的性能不等於兩個CPU的性能。

P4超線程有兩種操作模式,單任務模式和多任務模式。當程序不支持多處理時,系統將停止其中壹個邏輯CPU的運行,並將資源集中在單個邏輯CPU上。單線程程序的性能不會因為其中壹個邏輯CPU空閑而降低,但是停止的邏輯CPU還是會等待工作,占用壹定的資源。所以超線程CPU在單任務模式程序模式下運行,可能達不到沒有超線程功能的CPU的性能,但是性能差距不會太大。也就是說,在運行單線程應用軟件時,超線程技術甚至會降低系統性能,尤其是多線程操作系統運行單線程軟件時。

需要註意的是,采用超線程技術的CPU需要芯片組和軟件的支持,才能充分發揮該技術的優勢。目前支持超線程技術的芯片組有:Intel i845GE、PE和silicon iSR658 RDRAM、SiS645DX和SiS651,可以直接支持超線程;通過升級BIOS可以支持Intel i845E和i850E可以支持VIA P4X400和P4X400A,但是沒有官方授權。Microsoft Windows XP、Microsoft Windows 2003以及Linux kernel 2.4.x之後的版本等操作系統也支持超線程技術。

  • 上一篇:低學歷男生適合學什麽技術?
  • 下一篇:皮克斯所有作品裏最好的壹部,是它吧?
  • copyright 2024編程學習大全網