隨著英特爾全新酷睿微體系架構(gòu)(Nehalem)的發(fā)布,很多人對該架構(gòu)內(nèi)采用的一些新技術(shù)表示出了濃厚的興趣。英特爾超線程(HT)技術(shù)即在其中。超線程技術(shù)適用于全新的英特爾酷睿i7處理器和英特爾至強5500系列處理器。
下文將詳細介紹英特爾超線程技術(shù)的一些細節(jié):
問:什么是英特爾超線程技術(shù)
答:英特爾超線程技術(shù)是全新英特爾酷睿i7處理器和英特爾至強5500系列處理器所具有的一種性能特點。簡單來說,它可使處理器中的1顆內(nèi)核如2顆內(nèi)核那樣在操作系統(tǒng)中發(fā)揮作用。這樣一來,操作系統(tǒng)可使用的執(zhí)行資源擴大了一倍,大幅提高了系統(tǒng)的整體性能。
在談?wù)搩?nèi)核、線程、超線程這些術(shù)語時容易讓人產(chǎn)生混淆。為使后文便于理解,將把“超線程”稱為“硬件線程”,將“操作系統(tǒng)級線程”稱為“軟件線程”。為簡化概念,1個內(nèi)核就是1個CPU。每個英特爾酷睿i7或英特爾至強5500處理器在出廠時均有4個內(nèi)核(未來可能會提供其他版本)。
問:如何知道我的系統(tǒng)是否在使用超線程(HT)技術(shù)
答:首先,可以先確認下,是否使用的處理器、芯片組、操作系統(tǒng)及BIOS支持這項技術(shù)。當然,采用基于英特爾全新酷睿微體系架構(gòu)(Nehalem)的處理器的臺式機和服務(wù)器平臺一般都支持該技術(shù)。其中大多數(shù)系統(tǒng)都允許把超線程技術(shù)作為一種BIOS選擇來啟用或禁用(一般預(yù)設(shè)為啟用狀態(tài))。用戶可以通過Windows中的任務(wù)管理器或Linux的/proc/cpuinfo命令查看處理器信息。如果系統(tǒng)支持超線程(HT)技術(shù)且啟用了超線程,則可看到的處理器數(shù)將是平臺實際擁有的物理內(nèi)核數(shù)的一倍。例如,如使用的是雙路的英特爾至強5500系列服務(wù)器,則會看到這套系統(tǒng)擁有16個處理器。(8個物理內(nèi)核上運行16個軟件線程,每個內(nèi)核運行2個線程。) [img=upload/20090620154409-0.jpg] [img=upload/20090620154629-0.jpg] 在超線程技術(shù)禁用狀態(tài)(上圖)和啟用狀態(tài)(下圖)下,同一平臺上可用的CPU數(shù)量。
問:我可以在同一內(nèi)核的2個不同線程上同時執(zhí)行2個應(yīng)用程序么
答:可以。在1個內(nèi)核上運行的2個軟件線程不一定非得是同一進程的線程。這2個軟件線程既可以是同一進程的線程(在多線程軟件情況下),也可以是2個單獨的應(yīng)用程序的線程。至于哪2個軟件線程可以在1個超線程內(nèi)核的2個硬件線程上運行則由操作系統(tǒng)決定。因此,答案是肯定的,即可以在同一內(nèi)核上同時執(zhí)行2個不同的應(yīng)用程序。
問:超線程技術(shù)是如何實現(xiàn)的
答:所有基于英特爾全新酷睿微體系架構(gòu)(Nehalem)的處理器內(nèi)核都可以執(zhí)行兩個獨立的指令集。不同的任務(wù)切換會需要處理器從一個指令的解碼/任務(wù)調(diào)配工作迅速切換到另一個指令的解碼/任務(wù)調(diào)配。而所有運算資源在在兩個硬件線程內(nèi)是可以共享或是重復(fù)的。
問:我是否可以賦予一個硬件線程優(yōu)先權(quán)以保證它不會“餓著”
答:軟件開發(fā)人員有很多方法可以通過優(yōu)化代碼來配合超線程技術(shù)的使用。盡管不能特別指出讓某一個硬件線程具有優(yōu)先權(quán)(當然一些操作系統(tǒng)層面的工具是允許你將處理器設(shè)定運算優(yōu)先級的)。采用英特爾超線程技術(shù)可以確保某個硬件線程不會“餓著”。而需要做的只是采用英特爾VTunePerformanceAnalyzer和英特爾線程檔案器來診斷使用中的硬件線程是否運轉(zhuǎn)效率足夠,并正在進行最優(yōu)化的運作。
問:如果使用英特爾超線程技術(shù),會對系統(tǒng)的性能有什么樣的提高
答:英特爾超線程技術(shù)可以有多種方式幫助提升運算性能。對于臺式機系統(tǒng)來說,英特爾超線程技術(shù)可以幫助臺式機同時進行多項應(yīng)用。針對軟件編程者來說,通過英特爾超線程技術(shù),你可以采用更多的軟件線程以獲得更多的運算核心。對于運算負荷更大的服務(wù)器來說,英特爾超線程技術(shù)可以激發(fā)出每個核心的運算潛能,將從而提升系統(tǒng)的資源利用率。總而言之,由于英特爾超線程技術(shù)將通過提供更多的軟件線程,從而在運算時可以享受到更大內(nèi)存等的應(yīng)用體驗。