摘要:為解決單核技術(shù)瓶頸,延續(xù)摩爾定律的影響,多核越來越受到計(jì)算機(jī)界的重視,各種多核產(chǎn)品已面世,研究多核(multicore)愈發(fā)重要。
關(guān)鍵詞:多核;體系結(jié)構(gòu)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)14-3823-02
An Simple Analyse of Multicore
WANG Xiao-hui,XIE Gui-xing
(Zhaoyuan Municipal Bureau of RadioTelevision,Zhaoyuan 265400,China)
Abstract: Multicore processors are the way to solve the bottleneck of von Neumann computer architectures. Since Dual-core processors have been used in most desktop and laptop computers, research of multicore has became more and more important.
Key words: multicore; architectures
1 多核介紹
多核處理器運(yùn)用功率和頻率之間的基本關(guān)系原理。通過將多個(gè)內(nèi)核整合在一起,每個(gè)內(nèi)核能夠在較低的頻率下運(yùn)行,從而各個(gè)單內(nèi)核的功耗下降而且分?jǐn)偟蕉鄠€(gè)內(nèi)核上。由此得到的結(jié)果就是性能大幅超過單核處理器。
以下圖表基于英特爾實(shí)驗(yàn)室中使用常見工作負(fù)載所得到的實(shí)驗(yàn)結(jié)果,這些數(shù)據(jù)充分表現(xiàn)了該技術(shù)的主要優(yōu)勢(shì):
1) 時(shí)鐘頻率增加20%(tc),單核性能提高13%,但需要增加73%的功耗,相反的,降低20%的時(shí)鐘頻率可以相應(yīng)減少49%的功耗,但也會(huì)造成13%的性能損失。如圖1。
2) 以上表的降頻為例,增加第二個(gè)內(nèi)核,就得到一個(gè)雙核處理器,降低20%的時(shí)鐘頻率,可以有效提升73%的性能,而功耗則相當(dāng)于最大頻率時(shí)的單核處理器。如圖2。
這種功耗和頻率的基本對(duì)應(yīng)關(guān)系能夠有效用于增加內(nèi)核的數(shù)目,從兩個(gè)到四個(gè),到八個(gè)甚至更多,這樣就能在不增加功耗的情況下不斷提高性能。
當(dāng)一個(gè)芯片集成的核心數(shù)達(dá)到幾十,幾百甚至幾千時(shí),多核(multicore)則變成眾核(manycore),而Many Core的區(qū)別不僅在于核心數(shù)量上多于multicore,另一個(gè)區(qū)別是Multi-Core的核心是每顆完全相同x86處理器核心,而Many Core則是x86核心配合特定用途的核心,例如當(dāng)遇上一些特定的運(yùn)算工作,主要核心將可指派至處理器內(nèi)專門為這類工作設(shè)計(jì)的核心以達(dá)至加速。例如用家需要為H.264影片解碼,一般x86核心并非專門為這種解碼運(yùn)算而生,因此效率偏低,而Many Core技術(shù)則可以把這種工作交由專門負(fù)責(zé)影片編輯的核心工作。
2 多核對(duì)于體系結(jié)構(gòu)的影響
隨著多核成為趨勢(shì),原有單核計(jì)算機(jī)的體系結(jié)構(gòu)不能有效的實(shí)現(xiàn)并行,故出現(xiàn)了多種多核體系結(jié)構(gòu)。這些體系結(jié)構(gòu)的核心思想無疑都是為了更好的實(shí)現(xiàn)并行化。這些體系結(jié)構(gòu)在某些關(guān)鍵點(diǎn)不同(或者每個(gè)核均有一個(gè)cache,或者幾個(gè)核共享一個(gè)cache,核間連接的拓?fù)浣Y(jié)構(gòu)不同等等)
廣泛來說,這些體系結(jié)構(gòu)間的不同可以分成幾個(gè)類別,他們的影響可以從下面三個(gè)方面來研究:1)片內(nèi)多核間通信(intra-CMP),2)單一系統(tǒng)的片間通信(inter-CMP),3)不同物理系統(tǒng)間通信(inter-node)。圖3顯示出這三個(gè)方面的區(qū)別。
Intra-CMP:如圖3所示的,多種Intra-CMP體系結(jié)構(gòu)的某些關(guān)鍵點(diǎn)不同,如intel的多核體系結(jié)構(gòu)提供了一個(gè)共享的cache。將來可能片內(nèi)核與核間可通過一跳或幾跳直接連接。而AMD的每個(gè)核均有一個(gè)單獨(dú)的cache,同樣,這種體系結(jié)構(gòu)核間可以通過一跳或幾跳直接連接。IBM體系結(jié)構(gòu)的最大特點(diǎn)是它的核的多樣性的使用,其中一個(gè)核要比其他的核更強(qiáng)大。最后一種sun公司的體系結(jié)構(gòu)最大的特點(diǎn)是可支持SMT(每個(gè)核最大可執(zhí)行4個(gè)線程),但它的缺點(diǎn)是所有的核共享一個(gè)FPU。
Inter-CMP:對(duì)于inter-CMP,同樣存在多種不同的體系結(jié)構(gòu)。這些體系結(jié)構(gòu)間的不同主要有以下幾個(gè)方面:是否存在一個(gè)三級(jí)cache,不同片間的連接拓?fù)浣Y(jié)構(gòu)(單跳或多跳,專用總線或共享總線),內(nèi)存結(jié)構(gòu)(每個(gè)片有自己?jiǎn)为?dú)的內(nèi)存還是通過UMA或NUMA存取模式共享內(nèi)存)。
Inter-node:對(duì)于inter-node,雖然實(shí)際通信依賴于使用的高速網(wǎng)絡(luò)的類型,但通信的協(xié)議處理主要還是依賴于獨(dú)特的inter-CMP和intra-CMP的結(jié)構(gòu)和協(xié)議處理是怎么完成的。
對(duì)于未來核心數(shù)的不斷增加,Satnam Singh認(rèn)為未來的多核體系結(jié)構(gòu)有必要多樣化,提供更多有意義的編程挑戰(zhàn)。一個(gè)多核系統(tǒng)的實(shí)例可能包含幾個(gè)x86核心和許多簡(jiǎn)化的核心(可能含有不同的微體系結(jié)構(gòu)和指令集),多核系統(tǒng)的開發(fā),有必要將各領(lǐng)域的專家(體系結(jié)構(gòu),語言,驗(yàn)證,模型)整合在一起,進(jìn)行學(xué)科間交叉。高校的研究員與工業(yè)界研究員合作是很有必要的。而花費(fèi)大量有效工作量去評(píng)測(cè)體系結(jié)構(gòu)是很重要的,可是這些工作量經(jīng)常是高校研究員所缺乏的。一個(gè)被稱為Metropolis的多核系統(tǒng)如圖4。
3 小結(jié)
目前多核體系結(jié)構(gòu)的設(shè)計(jì)仍面臨著眾多挑戰(zhàn):功率極限,設(shè)計(jì)與評(píng)測(cè)成本,低成品率,高錯(cuò)誤率等。處理器的多樣性以及特別處理單元也許是多核處理器的未來。
參考文獻(xiàn):
[1] Krste Asanovic, Ras Bodik.The Parallel Computing Landscape: A View from Berkeley 2.0.
[2] Making the Most of Multicore.
[3] intel多核處理器白皮書.
[4] Satnam Singh Many-core Architecture and Programming Challenges.