多核設(shè)計(jì)競爭激烈異構(gòu)架構(gòu)漸行
——
架構(gòu)變遷
簡單地說,多核處理器就是將多個(gè)計(jì)算內(nèi)核集成在一個(gè)處理器中,從而提高計(jì)算能力。當(dāng)系統(tǒng)中有很多處理器時(shí),多個(gè)任務(wù)可以同時(shí)運(yùn)行,這種方法可用來提高絕對性能或性價(jià)比。
而隨著技術(shù)的成熟,多核處理器近兩年發(fā)生的一個(gè)最顯著的變化就是架構(gòu)的變遷——那就是多核架構(gòu)從通用的對等設(shè)計(jì)遷移到“主核心+協(xié)處理器”的異構(gòu)架構(gòu),即處理器中只有一個(gè)或數(shù)個(gè)通用核心承擔(dān)任務(wù)指派功能,而諸如協(xié)處理器、加速器和外設(shè)等功能都可以由專門的DSP硬件核心來完成,由此實(shí)現(xiàn)處理器執(zhí)行效率和最終性能的最大化。
我們知道,Intel最初的四核處理器采用的就是對等設(shè)計(jì),即每個(gè)內(nèi)核地位相同。而在2005年的IDF技術(shù)峰會(huì)上,Intel對外公布了Many Core超多核發(fā)展藍(lán)圖。Many Core采用的就是“主核心+協(xié)處理器”的異構(gòu)架構(gòu),其中的某一個(gè)或幾個(gè)內(nèi)核可以被置換為若干數(shù)量的DSP邏輯,保留下來的X86核心執(zhí)行所有的通用任務(wù)以及對特殊任務(wù)的分派。
而IBM、索尼和東芝等聯(lián)手為游戲打造的強(qiáng)大“細(xì)胞”芯片Cell正是這種新型異構(gòu)架構(gòu)的典范,它是一枚擁有9個(gè)硬件核心的多核處理器。在Cell芯片中,只有一個(gè)是IBM標(biāo)準(zhǔn)的Power處理器,其余8個(gè)內(nèi)核都是為處理圖像而專門設(shè)計(jì)的、用于浮點(diǎn)運(yùn)算的協(xié)處理器。其中,主處理器的主要職能就是負(fù)責(zé)任務(wù)的分配,實(shí)際的浮點(diǎn)運(yùn)算工作都是由協(xié)處理器來完成。由于Cell中的協(xié)處理器只負(fù)責(zé)浮點(diǎn)運(yùn)算任務(wù),所需的運(yùn)算規(guī)則非常簡單,對應(yīng)的電路邏輯同樣如此,只要CPU運(yùn)行頻率足夠高,Cell就能夠獲得驚人的浮點(diǎn)效能。而由于電路邏輯簡單,主處理器和協(xié)處理器都可以輕松工作在很高的頻率上——Cell起步頻率即達(dá)到4GHz就是最好的證明。在高效率的專用核心和高頻率的幫助下,Cell可以獲得高達(dá)256Gigaflops(2560億次浮點(diǎn)運(yùn)算每秒)的浮點(diǎn)運(yùn)算能力,接近超級計(jì)算機(jī)的水準(zhǔn),遠(yuǎn)遠(yuǎn)超越目前所有的X86和RISC處理器。這正是異構(gòu)架構(gòu)所帶來的好處、
在本期“嵌入式多核設(shè)計(jì)”專題中,TI和ARM的文章將分別就這種異構(gòu)架構(gòu)的多核設(shè)計(jì)和調(diào)試等問題進(jìn)行探討。
需要多核嗎?
盡管眾廠商都在追捧多核處理器,但也有人對它提出質(zhì)疑。理論上,多核處理器架構(gòu)具有無窮的可擴(kuò)展性。如果有多余的內(nèi)核,設(shè)計(jì)者總是想再增加一個(gè)。增加一個(gè)內(nèi)核雖然會(huì)帶來性能提升,但SoC中增加的每個(gè)處理器內(nèi)核都會(huì)增加芯片面積,因而MIPS科技更加看好多線程技術(shù),公司科技工程副總裁Pat Hays博士說:“多核技術(shù)并不能從根本上解決存儲(chǔ)器的瓶頸問題,相反對于多核處理器,處理器多了以后,反而增加了面積和功耗。就共享存儲(chǔ)而言,我們更傾向于多線程技術(shù)。在多線程處理器中,當(dāng)一個(gè)線程停止時(shí),其它線程立刻進(jìn)入流水線開始執(zhí)行,使應(yīng)用吞吐能力顯著增加?!?
Pat Hays博士認(rèn)為,從面積和能量效率的角度來說,最理想的 SoC 處理器解決方案應(yīng)當(dāng)使用多線程內(nèi)核作為最基本的處理單元,如果應(yīng)用需要比單內(nèi)核所提供的更高的性能,可在多核配置中復(fù)制這些單元。
TI公司軟件與開發(fā)工具工程師Bruce Lee也認(rèn)為,多核處理器并不適合所有場合。他說,隨著處理器功能日益增多,某些多內(nèi)核設(shè)計(jì)可以回退到較傳統(tǒng)的單內(nèi)核設(shè)計(jì),如單個(gè) DSP、GPP或 FPGA。而且,多內(nèi)核 SoC 可能并不適合單功能設(shè)備,如:無線電監(jiān)控設(shè)備 (radio control watch) 或助聽器。此外,對于那些不需要過多考慮功耗問題的產(chǎn)品,設(shè)計(jì)人員一般會(huì)提高時(shí)鐘頻率,以便獲得執(zhí)行單內(nèi)核處理的各種任務(wù)所需要的處理功率,而不一定要用多核產(chǎn)品。
評論