在超線(xiàn)程技術(shù)禁用狀態(tài)(上圖)和啟用狀態(tài)(下圖)下,同一平臺(tái)上可用的 CPU 數(shù)量。
問(wèn):我可以在同一內(nèi)核的 2 個(gè)不同線(xiàn)程上同時(shí)執(zhí)行 2 個(gè)應(yīng)用程序么?
答:可以。在 1 個(gè)內(nèi)核上運(yùn)行的 2 個(gè)軟件線(xiàn)程不一定非得是同一進(jìn)程的線(xiàn)程。這 2 個(gè)軟件線(xiàn)程既可以是同一進(jìn)程的線(xiàn)程(在多線(xiàn)程軟件情況下),也可以是 2 個(gè)單獨(dú)的應(yīng)用程序的線(xiàn)程。至于哪 2 個(gè)軟件線(xiàn)程可以在 1 個(gè)超線(xiàn)程內(nèi)核的 2 個(gè)硬件線(xiàn)程上運(yùn)行則由操作系統(tǒng)決定。因此,答案是肯定的,即可以在同一內(nèi)核上同時(shí)執(zhí)行 2 個(gè)不同的應(yīng)用程序。
問(wèn):超線(xiàn)程技術(shù)是如何實(shí)現(xiàn)的?
答:所有基于英特爾全新酷睿TM 微體系架構(gòu)(Nehalem)的處理器內(nèi)核都可以執(zhí)行兩個(gè)獨(dú)立的指令集。不同的任務(wù)切換會(huì)需要處理器從一個(gè)指令的解碼/任務(wù)調(diào)配工作迅速切換到另一個(gè)指令的解碼/任務(wù)調(diào)配。而所有運(yùn)算資源在在兩個(gè)硬件線(xiàn)程內(nèi)是可以共享或是重復(fù)的。
問(wèn):我是否可以賦予一個(gè)硬件線(xiàn)程優(yōu)先權(quán)以保證它不會(huì)"餓著"?
答:軟件開(kāi)發(fā)人員有很多方法可以通過(guò)優(yōu)化代碼來(lái)配合超線(xiàn)程技術(shù)的使用。盡管不能特別指出讓某一個(gè)硬件線(xiàn)程具有優(yōu)先權(quán)(當(dāng)然一些操作系統(tǒng)層面的工具是允許你將處理器設(shè)定運(yùn)算優(yōu)先級(jí)的)。采用英特爾® 超線(xiàn)程技術(shù)可以確保某個(gè)硬件線(xiàn)程不會(huì)"餓著"。而需要做的只是采用英特爾® VTuneTM Performance Analyzer和英特爾® 線(xiàn)程檔案器來(lái)診斷使用中的硬件線(xiàn)程是否運(yùn)轉(zhuǎn)效率足夠,并正在進(jìn)行最優(yōu)化的運(yùn)作。
問(wèn):如果使用英特爾® 超線(xiàn)程技術(shù),會(huì)對(duì)系統(tǒng)的性能有什么樣的提高?
答:英特爾® 超線(xiàn)程技術(shù)可以有多種方式幫助提升運(yùn)算性能。對(duì)于臺(tái)式機(jī)系統(tǒng)來(lái)說(shuō),英特爾超線(xiàn)程技術(shù)可以幫助臺(tái)式機(jī)同時(shí)進(jìn)行多項(xiàng)應(yīng)用。針對(duì)軟件編程者來(lái)說(shuō),通過(guò)英特爾® 超線(xiàn)程技術(shù),你可以采用更多的軟件線(xiàn)程以獲得更多的運(yùn)算核心。對(duì)于運(yùn)算負(fù)荷更大的服務(wù)器來(lái)說(shuō),英特爾® 超線(xiàn)程技術(shù)可以激發(fā)出每個(gè)核心的運(yùn)算潛能,將從而提升系統(tǒng)的資源利用率??偠灾?,由于英特爾® 超線(xiàn)程技術(shù)將通過(guò)提供更多的軟件線(xiàn)程,從而在運(yùn)算時(shí)可以享受到更大內(nèi)存等的應(yīng)用體驗(yàn)。