超執行緒是英特爾所研發的一種技術,於2002年發佈。超執行緒的英文是HT技術,全名為Hyper-Threading,中文又名超執行緒。超執行緒技術原先只應用於Xeon處理器中,當時稱為Super-Threading。之後陸續應用在Pentium 4中,將技術主流化。早期代號為Jackson。

通過此技術,英特爾成為第一間公司實現在一個實體處理器中,提供兩個邏輯線程。之後的Pentium D縱使不支援超執行緒技術,但就集成了兩個實體核心,所以仍會見到兩個邏輯線程。超執行緒的未來發展,是提升處理器的邏輯線程,英特爾有計劃將8核心的處理器,加以配合超執行緒技術,使之成為16個邏輯線程的產品。

英特爾表示,超執行緒技術讓(P4)處理器增加5%的裸晶面積,就可以換來15%~30%的效能提升。但實際上,在某些程式或未對多執行緒編譯的程式而言,超執行緒反而會降低效能。除此之外,超執行緒技術亦要作業系統的配合,普通支援多處理器技術的系統亦未必能充分發揮該技術。例如
Windows 2000,英特爾並不鼓勵使用者在此系統中利用超執行緒。原先不支援多核心的Windows XP Home Edition卻支援超執行緒技術。

運作方式
每個單位時間內,
CPU只能處理一個執行緒,以這樣的單位進行,如果想要在單位時間內處理超過一個的執行緒,是不可能的,除非是有兩個核心處理單元,英特爾的HT技術便是以單個核心處理單元,去整合兩個邏輯處理單元,也就是一個實體核心,兩個邏輯核心,在單位時間內處理兩個執行緒,模擬雙核心運作。

由於處理器實際上只有一個核心,能夠提升的效能約為5~15%左右,且萬一發生資源互搶的情形時,整體效能反而會下拉。這亦是
AMD不提供虛擬雙核心處理器的理由。另外,由於架構的不同,AMD的處理器對多工處理的表現會較好,所以沒有迫切性令產品支援相關的技術。

要令到電腦支持超執行緒技術,必須要軟體和硬體的配合。處理器本身要支援超執行緒,晶片組亦要支援相關處理器。為此,當時的
Intel推出了新的晶片組,i865PE和i875P。要充分發揮超執行緒的效能,使用者要使用Windows 2000之後的作業系統,而Windows XP家用版亦同樣支援超執行緒技術。除了微軟的Windows外,Linux kernel 2.4.x亦開始支援該技術。軟體方面,不是所有程式都可以發揮超執行緒,通常優化了多處理器的程式都可以支援到。此類軟體通常是圖形或視頻處理軟體。早期,遊戲軟體的支援是比較少。但隨著多核心技術的普及,愈來愈多遊戲軟體支援多線程的處理器。


資料來源:
http://zh.wikipedia.org/wiki/%E8%B6%85%E5%9F%B7%E8%A1%8C%E7%B7%92

    全站熱搜

    jianmin2 發表在 痞客邦 留言(0) 人氣()