人們傾向于認(rèn)為“X-核”指的是相同的核
在SoC中,“核”的數(shù)量通常代表集成多少個(gè)通用處理器(CPU)。在這種情況下,為了讓名稱有意義,構(gòu)成X-核的所有核心必須是同類的。例如,英偉達(dá)Tegra 4芯片打著“四核”標(biāo)簽,盡管它實(shí)際上有5個(gè)處理器(其中1個(gè)只在低功率模式下運(yùn)行)。目前高通驍龍芯片則有四個(gè)“Krait”核心,Krait是一項(xiàng)與ARM兼容的定制設(shè)計(jì)。
核越多越好?未必 “常識(shí)”告訴我們,核越多越好。畢竟,如果我們需要更多計(jì)算資源,增加核心數(shù)量不是很符合邏輯嗎?可惜事實(shí)并非如此。
一個(gè)“無限快”的單核處理器會(huì)很棒
在一個(gè)不受已知物理定律約束的理想世界里,一個(gè)無限快的單核處理器與無限快的存儲(chǔ)和內(nèi)存相連接,會(huì)是一個(gè)完美的組合。它更符合“人類”軟件工程師的天然思維方式(線性而非并行),能夠加快任何軟件的運(yùn)行。長(zhǎng)期以來PC一直以這種方式演進(jìn)。
當(dāng)奔騰4達(dá)到功率和熱量極限時(shí)
事實(shí)上,在一個(gè)具體問題發(fā)生之后,多核才真正得到消費(fèi)者認(rèn)可:當(dāng)奔騰4處理器(P4)達(dá)到極限。最初的奔騰4設(shè)計(jì)采用一種很長(zhǎng)的執(zhí)行管線,希望讓未來同樣架構(gòu)的版本達(dá)到4GHz (當(dāng)時(shí)只有1.4GHz)。但由于熱量和功率消耗問題,奔騰4永遠(yuǎn)無法接近該預(yù)想主頻。因此,為了維持性能的不斷提高,采用多核,每個(gè)核心消耗較少功率并產(chǎn)生較少熱量,是短期內(nèi)唯一可行的解決方案。
不是每個(gè)軟件都能隨著核心的增加而擴(kuò)展
多核只有都用得上才算厲害。多核不錯(cuò),但并非萬(wàn)能藥。如今,工程師們不得不將程序執(zhí)行分割組合,以便通過多線程在多個(gè)核心上同時(shí)執(zhí)行和同步。這聽起來不算壞,再加上一些巧妙的設(shè)計(jì),能取得比較可觀的效果,但是——
對(duì)于并行計(jì)算來說,最重要的是“任務(wù)性質(zhì)”。當(dāng)數(shù)據(jù)能夠獨(dú)立處理時(shí),多線程運(yùn)行良好,性能也能隨著核心數(shù)量的增加而增強(qiáng)。但是當(dāng)數(shù)據(jù)處理依賴之前的結(jié)果時(shí),程序?qū)o法進(jìn)一步分割,核心只能保持空閑狀態(tài)。簡(jiǎn)而言之,一些應(yīng)用并不適合多核環(huán)境,而且并行計(jì)算仍然是研究熱點(diǎn)。更多核心是很不錯(cuò),但前提是讓它們都保持充分運(yùn)轉(zhuǎn)。
“更多”并不總是“更好”
為了找到一個(gè)更實(shí)用的答案,讓我們看看PC領(lǐng)域:畢竟,它與移動(dòng)領(lǐng)域較為接近。在PC上,幾乎沒什么動(dòng)機(jī)去增加更多的核心(4個(gè)以上),因?yàn)楹芏鄳?yīng)用并不需要那么多核。增加核心只會(huì)增加硅片面積(成本),也可能會(huì)消耗更多功率——而并沒有帶來性能的額外提升。
合理的方式是根據(jù)實(shí)際用途,只在必要時(shí)增加核心數(shù)量。目前的業(yè)界共識(shí)似乎是4個(gè)工作核心就是最佳數(shù)量。將來可能發(fā)生變化,但是沒有顯著證據(jù)表明8個(gè)工作核心會(huì)引起性能的大幅提升,除了Antutu等基準(zhǔn)測(cè)試的跑分?jǐn)?shù)更高。從這種意義上說,8個(gè)工作核心可能的確是一件蠢事。
增加更多核心恐怕只會(huì)造成虛擬的基準(zhǔn)測(cè)試結(jié)果與用戶實(shí)際使用感受之間更大的差異。
功率效率考慮與GPU計(jì)算
最后,請(qǐng)注意移動(dòng)終端上正出現(xiàn)OpenCL等“計(jì)算”應(yīng)用程序接口(API)。它們使編程人員能夠使用專門的處理器(如GPU)陣列,以比CPU更高的功率效率執(zhí)行一般的數(shù)學(xué)運(yùn)算。由于大多數(shù)“本質(zhì)上并行”的任務(wù)能夠卸載到更高功效的處理器上,沒有明顯的理由去增加CPU處理器的數(shù)量。
最后,異構(gòu)計(jì)算(使用許多不同類型的核心)很可能是多核策略的真正答案。
結(jié)論:不要讓“核心”成為新的“百萬(wàn)像素”
有一件事很明確:手機(jī)還不“夠快”,人們對(duì)其下一個(gè)手機(jī)速度能快一倍的概念感到興奮。這是一個(gè)了不起的目標(biāo),值得去投資,但是簡(jiǎn)單地說“核越多越好”是十分“愚蠢”的。
計(jì)算性能是很多因素的綜合結(jié)果:核心、處理器、頻率和內(nèi)存子系統(tǒng)。關(guān)注現(xiàn)實(shí)世界的性能和功率效率,要比關(guān)注這其中任何單一元件更為明智。
如果“核心”成為了新的“百萬(wàn)像素”,那真是件憾事。如果這樣,我們肯定會(huì)陷入跟攝影界相同的營(yíng)銷泥潭:業(yè)內(nèi)人人都知道增加像素并不意味著提高圖像質(zhì)量,但是大家都投入時(shí)間和資金去推銷這個(gè)指數(shù),只因?yàn)樗鼈鬟f的信息更簡(jiǎn)明。雖然這對(duì)拍照功能的營(yíng)銷很有效,但這的確很不幸。