別只看表面規(guī)格!深度剖析多線程平臺
泡泡網(wǎng)CPU頻道11月24日 先說說什么是多線程,從計算機的處理角度上看,線程就是在一個時間片上有一個單獨的處理任務(wù),而多線程也就意味著在一個時間片上同時有多個待處理的任務(wù)。一個多線程的平臺其實就是具備并行處理多任務(wù)處理能力的計算平臺。對于桌面臺式機而言,并行計算還是近些年才開始被熱烈討論的話題。而事實上,并行計算在這個行業(yè)已經(jīng)效力了多年,特別是對日常工作需要接觸高性能服務(wù)器和工作站的用戶而言,這個話題早已不再新鮮。那些經(jīng)常被他們掛在嘴邊的雙路、四路、八路等術(shù)語所采用的對稱式并行處理結(jié)構(gòu),從非術(shù)語的角度簡單說來,就是利用多顆處理器搭建起來的并行計算平臺處理多任務(wù)多線程。在這種結(jié)構(gòu)下,各處理器獨立存在,而處理器之間的數(shù)據(jù)交換由總線來完成。在這個時期,一顆處理器能夠處理一個線程,所以有多少顆處理器也就意味著能夠同時處理幾個線程。
曾幾何時,處理器的顆數(shù)在很大程度上可以被看作是該計算機平臺處理能力的基本單位,一顆處理器就代表一個線程,也代表一份處理能力。所以當時很多面向服務(wù)器、工作站平臺的軟件收費是基于計算品平臺上處理器的數(shù)量,即主板上可以插入處理器的插槽數(shù)。舉例而言,一臺4路的服務(wù)器因為具備4個處理器插槽,支持的軟件也就要按照同時支持四顆處理器的版本收費。但隨著處理器的發(fā)展,隨著處理器研發(fā)的思路從單純提高單個處理器的頻率轉(zhuǎn)變成更加偏重于單個處理器的并行計算能力的時候,計算機這個最核心的大腦——處理器,便走上了多線程多核心的發(fā)展道路。
首先談?wù)劤€程技術(shù)。超線程就是對處理器內(nèi)部處理資源的充分利用,它以一種邏輯多核處理器的方式工作,其結(jié)果就是讓操作系統(tǒng)把當前的計算平臺上的物理處理器當成雙倍的邏輯處理器來調(diào)用,于是操作系統(tǒng)就能將兩個指令或兩個線程交送到處理器來處理,這也就實現(xiàn)了對兩個線程的并行處理。
在一個支持超線程技術(shù)的平臺上,一顆處理器具備的計算能力是兩個線程,所以單顆處理器其實也已經(jīng)具備了一個雙線程的能力。當然,超線程的技術(shù)還是首先用在了服務(wù)器平臺上,但最眾所周知的具備超線程技術(shù)的處理器,就是曾經(jīng)劃時代的奔騰4產(chǎn)品線。在奔騰4大獲成功之后,處理器又開始了一次更大的多核化變革,這一次已經(jīng)超出了邏輯而發(fā)生在了物理實體上。自2005年Intel公司出品奔騰D開始,雙核心處理器便逐漸嶄露頭角。這時的雙核心處理器是物理上的兩個完整的處理核心,與雙路系統(tǒng)的兩顆完全分開的物理處理器不同,這兩個完整的處理內(nèi)核并存在一個處理器的內(nèi)部,內(nèi)核之間通訊不再需要通過處理器外部的總線來實現(xiàn)。當然,雙核心的處理器也能夠完成對兩個指令的同時處理,也具備雙線程的處理能力。
2005年之后,經(jīng)過兩三年的時間,雙核心已在市面上完全普及起來。在現(xiàn)在的市場上,不論是Intel還是AMD,在他們的產(chǎn)品列表上,單核心的處理器型號已經(jīng)基本不見蹤跡,而與此同時,四核心已面世兩年多。沿用剛才對雙核心的描述,四核心處理器具備四個完整計算內(nèi)核,具有四個線程處理能力。而如果你是用四核心的處理器組成一個四路計算平臺的話,4x4=16個線程的處理能力,在打開資源管理器的時候,看到16個線程同時工作的場景會是一件會令人激動的事情。
不過,也許你已經(jīng)注意到,當處理器平臺出現(xiàn)了物理上的多內(nèi)核的時候,前面提到的超線程的技術(shù)似乎被留在了塵封的記憶里。多核心成了眼底下最重要的詞語,核心數(shù)也已經(jīng)漸漸地變成衡量處理器處理能力的最小單位,因此市面上也隨之出現(xiàn)了AMD的三核心,接下來是精省的四核X4 600系列,而這些都是處于成本考量的不得已之舉。作為AMD Shanghai這一代產(chǎn)品的最新成員,一個四核心的處理器除了核心數(shù)比較令人滿意之外,在其他各個方面的表現(xiàn)似乎都稍顯薄弱。尤其在緩存方面,不但將Shanghai微架構(gòu)中重要的三級緩存棄之不用,連二級緩存也只給出了每核心512K的容量。AMD雙核的X2 240棄三級緩存不用,但出于對性能的補償,還是適當?shù)貙⑵涿總€核心的二級緩存從512K擴充到1M。但相比而言,四核心的X4 600連 X2 240都比不上,而僅僅是靠核心數(shù)來支撐。這樣的緩存架構(gòu),不由得令人回想起Intel第一代的雙核處理器奔騰D的產(chǎn)品。那時的奔騰D就是這樣完全獨立的二級緩存,不過那個時候奔騰D每個核心各自的二級緩存至少還有1M那么多,那可是四年前的事情了。
與此同時, Intel卻采用了截然不同的產(chǎn)品策略,也就是在發(fā)展核心數(shù)的同時,也在線程處理能力方面發(fā)力。不過,這原本就是Intel的強項。于是,在新的處理器微架構(gòu)Nehalem下,超線程技術(shù)又回來了,最新的酷睿i7 800、900這兩個產(chǎn)品系列,不僅僅物理上是四核心,而且同時支持更新一代的超線程技術(shù),也就是說,同時具備了8線程的處理能力,而16個線程同時躍動的場面,無需四路,在以該微架構(gòu)的處理器組成的雙路服務(wù)器平臺上,就可以輕松獲得了。除了這兩個產(chǎn)品系列之外,我們也從網(wǎng)上的消息獲知,Intel即將發(fā)布的一系列處理器也都是核心數(shù)、線程數(shù)并重,超線程技術(shù)的采用會為明年年初即將面世的雙核心處理器也帶來四個線程的并行計算能力,而明年Intel更會帶來6核12線程的震撼。
線程、核心與功耗:
功耗是處理器發(fā)展階段中一個無法避免的問題。在以前不講多核心和超線程的年代,要想要提升處理器性能就只有提升處理器的頻率,但這會導致處理器電壓的上升,對處理器功耗以及散熱帶來的壓力已不容忽視。多核心、多線程取代了一味的頻率論,成就了處理器發(fā)展的一個轉(zhuǎn)折點,因此每瓦特性能也就隨之成為一個時髦的詞,成為衡量處理器性能的一個重要指標。不這個詞也可看作是綜合衡量線程、核心、功耗這三者關(guān)系的一個指標,簡單聯(lián)系起來就是指在一定功耗下每線程的處理能力。
不過,物理核心的增長也會帶來功耗的提升。四核心處理器的功耗自然要比雙核心的產(chǎn)品在滿載的工作狀態(tài)時要高上幾十瓦。而超線程技術(shù)顯然在目前階段會更勝一籌,因為超線程技術(shù)是通過充分利用每個處理器內(nèi)核資源來提高并行處理能力,所以對處理器并不產(chǎn)生額外的供電及散熱,也就輕松減輕了功耗壓力。某些只講究物理核心數(shù)的產(chǎn)品,即使省掉了6M緩存,TDP依舊沒有得到明顯改善,依舊保持在95W,因此其性能和功耗表現(xiàn)并沒有得到有效提升。從這一點上看,英特爾目前支持超線程技術(shù)的處理器以及接下來將陸續(xù)登場的具有超線程技術(shù)的處理器,確實令人期待。
結(jié)論:
隨著計算環(huán)境越來越并行化,追求多核心、多線程正是適應(yīng)當前環(huán)境的重要基礎(chǔ)。不論從性能提升還是從功耗控制方面考量,超線程技術(shù)無疑都將極好地適應(yīng)目前高能效技術(shù)發(fā)展的趨勢。■
關(guān)注我們


