教父和旗手
1993年,在討論奔騰4的設計方法時,Hinton提出了超線程概念的基本雛形。那時,人們剛剛接觸到多任務應用。
46歲的Glenn Hinton是Intel研究院的院士,正是他首先提出了超線程技術的概念。
正是因為Hinton持續十多年的研究和堅持,超線程技術才從一個概念變成了今天的現實,Hinton也成了超線程技術當之無愧的“教父”。
1992年,Hinton在參加一個制造更小芯片的項目時受到啟發:“如果處理器同時執行兩個線程,每個線程只使用一半芯片資源,那么,我們就可把芯片性能提升1.5倍!
20世紀80年代末,Hinton就開始構想各種方法,以圖實現這樣一個目標:通過分散資源來使芯片能同時處理多項任務。換句話講,就是要在處理器內部也實現多線程處理能力。
早在Unix出現之初,操作系統就已經實現了多線程處理能力,但處理器一直不具備這樣的能力。
傳統的單一處理器,在某一時刻只能執行一個任務。采用傳統處理器的計算機,在運行多任務時,必須在不同任務之間不斷地快速切換。由于在任何時候芯片都只能執行一個程序,這就使芯片上總有一部分晶體管處于閑置狀態。Intel的實驗數字顯示,這些閑置晶體管的數量平均約占總數的2/3。這種情形造成了一些系統資源浪費,隨著處理器晶體管數量的增加,這種情形更加明顯。今天的英特爾奔騰4處理器擁有超過5500萬個晶體管,如果沒有相應對策,閑置晶體管浪費的資源將是可怕的。
超線程技術就是為此而來。它實際上解決了處理器的多線程處理問題,但Intel為了以示區別(還有部分商業原因),沒有再用多線程這個詞,而稱之為超線程。
1993年,在討論奔騰4的設計方法時,Hinton提出了超線程概念的基本雛形。那時,人們剛剛接觸到多任務應用。
1996年,Hinton的好運來了,Intel開始大力支持其研究。這時候,馬材珍(Marr)女士也被調到了這個部門與他一起工作。
馬材珍是美籍華裔,有多年的超線程技術經驗,她當時被認為是把Hinton的概念變為現實的最佳人選。與健談而開朗的Hinton相比,馬材珍更具實踐精神。
馬材珍很快就成了超線程技術的“旗手”,從與操作系統、BIOS、應用軟件等研發部門的協同工作,到驗證超線程技術的設計,馬材珍幾乎成了工作狂。這對于一個即將擁有兩個孩子的母親而言,簡直不可思議。
超線程的研發終于有了結果。
實驗者們看到:操作系統中明白無誤地顯示系統擁有“兩顆處理器”,但實際上他們只裝了一顆處理器。他們終于把一顆物理處理器變成了“兩顆邏輯處理器”。當馬材珍看到人們臉上驚奇的神情時,“感覺特別開心”。
一個廚師兩口鍋
“超線程技術就像是給一位廚師提供了兩口炒菜的鍋,而不是一口。雖然速度不如兩位各持一口鍋的廚師,但它的費用也更低,因為您只需支付一位廚師的工資!
從實驗室到工廠,超線程幾乎一路順風,直到決定其發布的日子。
1996年,當Pentium Pro準備發布前,Intel就想把超線程應用于這款處理器。這個想法基于Intel當時的“一體化策略”,即在服務器、臺式機、筆記本電腦等不同處理器產品線上采用同類新技術,超線程技術就是其一。
但這一策略最后沒有被實施,一個重要原因是Intel聲稱“時機不成熟”,另一個則來自微軟,似乎后者更主要。
微軟當時沒有同意Intel的建議——在將要發布的Windows 2000中免費提供支持超線程處理器的版本。微軟認為,用戶應該按照支持兩個處理器的操作系統來付費,從理論上講,操作系統對兩個物理處理器或兩個邏輯處理器的支持都是一樣的,微軟的要求似乎有點道理。
但Intel認為,用戶不會為此多付一份費用,因為用戶“只看到一顆處理器”,盡管它可以“像”兩顆處理器一樣工作。為此,Intel延緩了超線程技術的發布,直到2002年Windows XP即將發布之前。
在Windows XP中,微軟改變了以往在Windows 2000中的策略,免費支持使用超線程處理器。盡管如此,Intel還是提前在其服務器產品上發布了超線程技術,而其臺式機產品依然落后一步。Intel說,從2003年開始,這一延遲時間將越來越短。臺式機的應用發展,也鼓勵了Intel把這一技術大眾化。
以前,臺式機的消費者很少同時處理幾件事情,F在,這種情況則變得越來越普遍。大部分消費者已經習慣了這樣的工作方式:一邊玩游戲或打字,一邊同時下載文件或對整理系統,甚至幾項工作齊頭并進。Windows XP操作系統已經很好地解決了因此而來的問題,如果同時使用了超線程處理器,“用戶在不用對應用程序做任何修改時,也能提升部分效率”。
“超線程技術就像是給一位廚師提供了兩口炒菜的鍋,而不是一口。雖然速度不如兩位各持一口鍋的廚師,但它的費用也更低,因為您只需支付一位廚師的工資!边@是英特爾臺式機芯片部市場經理Brian Fravel對超線程技術最經典的比喻。
馬材珍描述了超線程技術的一個應用:在運行一個解密軟件的同時,使用軟Modem下載軟件。如果在沒有使用超線程技術的情況下實施這些工作,系統效率會明顯下降,因為軟Modem的串行工作方式,會在某一時刻獨占處理器資源,而同時,解密軟件則需要大量計算資源。如果使用超線程技術,情況會得到明顯改善,系統效率可被提升約25%左右。
超線程技術可使芯片一次運行兩個應用,從而更能充分利用芯片上的晶體管。這種處理方式的速度不如雙處理器的處理能力,但其價格同時也比兩個處理器低。
盡管,采用超線程技術的處理器核體積比不采用該技術的要大5%左右,但對Intel 而言,因體積坤大而增加的生產成本似乎不是主要問題。據Intel提供的測試數字,超線程技術可把應用效率平均提升約10%~20%,最高可達30%以上。這些結果足以平衡增加的生產成本。
可能會成為“標配”
像幾乎所有成功的新技術一樣,超線程也很有可能被Intel作為未來所有處理器的“標配”:標準指標。甚至有發燒友認為,以后要買沒有超線程技術的處理器可能都很難。
據Intel一位工程師分析:如果使用超線程技術,整機成本會大約貴100美元,其中,處理器會貴15到25美元,主板貴50美元左右,配置相應的AGP8×會貴15美元左右,串行ATA硬盤會貴20美元左右,雙通道DDR-400內存會貴5美元左右。盡管如此,仍然比使用多處理器系統便宜不少。對于那些使用不起多處理器系統的用戶而言,超線程不失為一種替代品。
有專家認為,目前普通消費者使用超線程技術的可能性還不大,這一技術最可能的市場是低端服務器和工作站。
當然,用戶的接受度也還是個問題,人們總是對變化有畏難心理,而超線程確實是一個巨大的變化。
正如許多新技術剛剛出現時一樣,超線程技術目前還存在不少問題。其中一個就是:如果用戶應用程序中的Idle Loop(停滯循環)或Idle Time(停滯時間)特別多的話,會影響超線程處理器的效率。因為,有時候某一線程可能會獨占兩個邏輯處理器的所有共享資源,這時,另一個線程無法使用共享資源,就會停頓下來等待,從而導致采用超線程技術的計算機反而比未采用的速度更慢。
據說,Intel正在與微軟、Adobe等公司合作,來解決上述問題。目前,Intel在其面向開發者的網站上,能給用戶提供的幫助就是:建議開發者盡量減少Idle Time或Idle Loop,以優化資源使用。
對于普通消費者而言,超線程同時也意味著超出平常的耗電量和發熱量。在Intel為PC設計者提供的技術指南中,使用超線程處理器的散熱設計值要比沒有使用的高出10個百分點。
像幾乎所有成功的新技術一樣,超線程也很有可能被Intel作為未來所有處理器的“標配”:標準指標。甚至有發燒友認為,以后要買沒有超線程技術的處理器可能都很難。
不過,超線程技術能否得到大規模推廣,并不是Intel一家說了算。操作系統提供商在其中扮演了非常重要的角色,特別是微軟。如上所述,微軟的收費策略曾經延緩了超線程技術的應用。在未來,雖然微軟不太可能再重復上述策略,但對那些應用軟件開發商來說,如何在程序中有效使用超線程技術,也有個再培訓的過程。作為操作系統的“附庸”,應用軟件的“進化”速度可能更緩慢。
小知識:超線程技術
超線程技術使一個物理處理器能夠同時執行兩 個獨立的代碼流(稱為線程)。從體系結構上講,一個含有超線程技術的IA-32處理器相當于兩個邏輯處理器(圖1),而其中每個邏輯處理器都有自己的IA-32架構中心。在初始化后,每個邏輯處理器都可單獨被停止,中斷或安排執行某一特定線程,而不會影響芯片上另一邏輯處理器的性能。
與傳統雙路(DP)系統的配置不同(使用兩個獨立的物理IA-32處理,如兩個Inter至強處理器),在含有超線程技術的處理器中,邏輯處理器共享處理器內核的執行引擎、高速緩存、系統總線接口、固體等。(Inter公司提供)
文章來源于領測軟件測試網 http://www.kjueaiud.com/