采用超線程及時可在同一時間里,應(yīng)用程序可以使用芯片的不同部分。雖然單線程芯片每秒鐘能夠處理成千上萬條指令,但是在任一時刻只能夠?qū)σ粭l指令進(jìn)行操作。而超線程技術(shù)可以使芯片同時進(jìn)行多線程處理,使芯片性能得到提升。
超線程技術(shù)是在一顆CPU同時執(zhí)行多個程序而共同分享一顆CPU內(nèi)的資源,理論上要像兩顆CPU一樣在同一時間執(zhí)行兩個線程,P4處理器需要多加入一個Logical CPU Pointer(邏輯處理單元)。因此新一代的P4 HT的die的面積比以往的P4增大了5%。而其余部分如ALU(整數(shù)運(yùn)算單元)、FPU(浮點(diǎn)運(yùn)算單元)、L2 Cache(二級緩存)則保持不變,這些部分是被分享的。
雖然采用超線程技術(shù)能同時執(zhí)行兩個線程,但它并不象兩個真正的CPU那樣,每個CPU都具有獨(dú)立的資源。當(dāng)兩個線程都同時需要某一個資源時,其中一個要暫時停止,并讓出資源,直到這些資源閑置后才能繼續(xù)。因此超線程的性能并不等于兩顆CPU的性能。
英特爾P4 超線程有兩個運(yùn)行模式,Single Task Mode(單任務(wù)模式)及Multi Task Mode(多任務(wù)模式),當(dāng)程序不支持Multi-Processing(多處理器作業(yè))時,系統(tǒng)會停止其中一個邏輯CPU的運(yùn)行,把資源集中于單個邏輯CPU中,讓單線程程序不會因其中一個邏輯CPU閑置而減低性能,但由于被停止運(yùn)行的邏輯CPU還是會等待工作,占用一定的資源,因此Hyper-Threading CPU運(yùn)行Single Task Mode程序模式時,有可能達(dá)不到不帶超線程功能的CPU性能,但性能差距不會太大。也就是說,當(dāng)運(yùn)行單線程運(yùn)用軟件時,超線程技術(shù)甚至?xí)档拖到y(tǒng)性能,尤其在多線程操作系統(tǒng)運(yùn)行單線程軟件時容易出現(xiàn)此問題。