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