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