雖然可以通過提高CPU的時鐘頻率,增加緩存容量來提高性能,但是提高CPU的性能在技術上是有難度的。事實上,由於多種原因,CPU的執行單元在應用程序中並沒有得到充分的利用。如果CPU不能正常讀取數據(總線/內存的瓶頸),其執行單元的利用率會明顯下降。此外,大多數執行線程缺乏ILP(指令級並行)支持。這些都造成了目前CPU的性能沒有得到充分發揮。所以Intel采用另壹種思路來提升CPU的性能,讓CPU同時執行多個線程,可以讓CPU發揮更高效的作用,也就是所謂的“超線程”技術。超線程技術是利用特殊的硬件指令,將兩個邏輯核模擬成兩個物理芯片,使單個處理器可以使用線程級並行計算,然後兼容多線程操作系統和軟件,減少了CPU的空閑時間,提高了CPU的運行效率。
借助超線程技術,應用程序可以同時使用芯片的不同部分。雖然單線程芯片每秒可以處理數千條指令,但它在任何時候都只能對壹條指令進行操作。超線程技術可以使芯片同時多線程化,可以提高芯片的性能。
超線程技術是通過同時執行多個程序來共享壹個CPU中的資源。理論上,要像兩個CPU壹樣同時執行兩個線程,P4處理器需要添加壹個邏輯CPU指針。因此,新壹代P4 HT的芯片面積比上壹代P4大5%。而其他部分如ALU(整數運算器)、FPU(浮點運算器)、L2緩存保持不變,這些部分是共享的。
雖然使用超線程技術可以同時執行兩個線程,但並不像兩個真正的CPU,每個CPU都有獨立的資源。當兩個線程同時需要某個資源時,其中壹個應該暫時停止,放棄該資源,直到這些資源空閑。所以超線程的性能不等於兩個CPU的性能。