多核處理器及系統(tǒng)設(shè)計(jì)面臨著一些新的挑戰(zhàn)
為什么要采用多核呢?如果設(shè)計(jì)一款兩倍于原來(lái)大小的處理器,性能并會(huì)不增加到原來(lái)的兩倍,性能大概只會(huì)作平方根的增長(zhǎng),所以尺寸加倍并不會(huì)帶來(lái)同等數(shù)量級(jí)的性能增長(zhǎng),只會(huì)帶來(lái)大概1.4倍于原來(lái)的性能,即增長(zhǎng)40%。這個(gè)被稱(chēng)為Pollack定律(由英特爾工程師Fred Pollack定義),在單核系統(tǒng)中已經(jīng)得到了證明。而芯片制造商力圖采用多個(gè)核心來(lái)提高性能和速度提升的系數(shù)。
本文引用地址:http://www.biyoush.com/article/201609/304681.htm但設(shè)計(jì)一個(gè)多核系統(tǒng)面臨一些新的挑戰(zhàn)。
通信的鴻溝
核心之間的通信也許是最關(guān)鍵的問(wèn)題,因?yàn)樵谝恍┫到y(tǒng)中會(huì)起到至關(guān)重要的作用。無(wú)需特別的測(cè)量,一般通信量的增加與核心的數(shù)量n是一個(gè)二次方程 (n+1)*n/2的關(guān)系,因此一個(gè)四核系統(tǒng)在通信數(shù)據(jù)量上相比單核系統(tǒng)會(huì)有成十倍的增加,一個(gè)16核系統(tǒng)會(huì)增加到原來(lái)的136倍,一個(gè)256核系統(tǒng)會(huì)增加超過(guò)32,000倍!因此一個(gè)核心之間的靈活的通信系統(tǒng)對(duì)于多核系統(tǒng)的工作是最基本的。
有幾個(gè)解決方案是采用中心存儲(chǔ)器來(lái)緩沖,不過(guò)當(dāng)所有的處理器核都與存儲(chǔ)器進(jìn)行內(nèi)部通信時(shí)就會(huì)出現(xiàn)問(wèn)題。一般會(huì)采用信息包開(kāi)關(guān)網(wǎng)絡(luò)或其他架構(gòu)。
我們可以做一個(gè)有趣的類(lèi)比,假設(shè)這是一個(gè)人類(lèi)組織,如果人數(shù)增多,交流就會(huì)變得困難,甚至?xí)?lái)瓶頸。如果是一個(gè)2個(gè)人或4個(gè)人的小團(tuán)體,交流起來(lái)就簡(jiǎn)單得多,如果人數(shù)超過(guò)20個(gè)或更多,就需要一個(gè)更有效的交流架構(gòu),比如每周例會(huì)、技術(shù)小組等等。
實(shí)踐表明一個(gè)6到8個(gè)人的小組是最為有效的。更大的小組需要合理的架構(gòu)和其他形式的咨詢(xún)和協(xié)作。在多核系統(tǒng)中也是一樣的道理。
人為設(shè)計(jì)因素
人為設(shè)計(jì)因素同樣會(huì)影響多核系統(tǒng)的架構(gòu)。在1990年我曾經(jīng)在荷蘭埃因霍溫作個(gè)一個(gè)技術(shù)講演,我將設(shè)計(jì)分解為一個(gè)一個(gè)的模塊和模塊之間的互聯(lián)。同樣,連接的數(shù)目也同模塊數(shù)是一個(gè)二次方程的關(guān)系。
解決復(fù)雜問(wèn)題的方法是應(yīng)用和歸納概念的能力。這里,一些元件被看成是宏元件。
自下而上的設(shè)計(jì),簡(jiǎn)單的分解和構(gòu)造各個(gè)元件直到達(dá)到最基本的構(gòu)成 -- 邏輯門(mén)或是運(yùn)算單元,例如,采用分級(jí)的方法,復(fù)雜的二次方程問(wèn)題可以簡(jiǎn)化為線(xiàn)性問(wèn)題。
在設(shè)計(jì)一個(gè)多核系統(tǒng)中完成通信和設(shè)計(jì)復(fù)雜性的管理,選擇合適的架構(gòu)、設(shè)計(jì)思想、工具的應(yīng)用等等都非常重要。
功耗的平衡
降低多核系統(tǒng)的功耗和散熱處理是工程師面臨的另一個(gè)主要的問(wèn)題。降低功耗可以通過(guò)限制每個(gè)核心的運(yùn)算來(lái)實(shí)現(xiàn),稱(chēng)為voltage scaling -- 每個(gè)核心的頻率和供電電壓可以根據(jù)每個(gè)處理核的任務(wù)運(yùn)算兩來(lái)進(jìn)行功耗優(yōu)化。
另一個(gè)要考慮的因素是可以由進(jìn)程推斷的并行處理的數(shù)量,如果并行運(yùn)算很少,采用多核來(lái)處理也就沒(méi)有什么優(yōu)勢(shì)。
多線(xiàn)程是處理并行運(yùn)算的一個(gè)方法。在通信處理器里面寫(xiě)軟件是另一個(gè)方法。這些技術(shù)由特殊的運(yùn)算支持,以維持系統(tǒng)的精確度和一致性。
評(píng)論