四核Cortex-A15智能手機(jī)時(shí)代全面降臨
今年的新手機(jī)趨勢(shì)無(wú)異是全面向四核靠攏,不過(guò)同樣是四核,在實(shí)際的性能上其實(shí)是千差萬(wàn)別。例如針對(duì)入門(mén)級(jí)主流市場(chǎng)的四核手機(jī)普遍采用的都是 Cortex-A7 以及 Cortex-A9 級(jí)別 的 CPU 內(nèi)核,這類(lèi)內(nèi)核性能、成本以及發(fā)熱都會(huì)較低,因此在入門(mén)市場(chǎng)上大行其道。
而在高端智能手機(jī)中則出現(xiàn)了一些新的變化,除了去年就已經(jīng)嶄露頭角的高通 Krait 系列架構(gòu)四核外,ARM 正統(tǒng)的 Cortex-A15 也開(kāi)始走上了四核手機(jī)的舞臺(tái),例如三星的 Exynos 5 Octa、NVIDIA 的 Tegra 4。
Cortex-A15 是 ARM Cortex-A 家族中目前最強(qiáng)勁的 CPU 內(nèi)核架構(gòu),發(fā)布時(shí)間為 2010 年,德州儀器是最早(2011 年)投產(chǎn)基于該架構(gòu)處理器(型號(hào)為 OMAP 5)的授權(quán)廠商。
和 ARM 的 Cortex-A7、Cortex-A9 等微架構(gòu)相比,Cortex-A15 有很大的不同。
A15 和 A9 同樣具備亂序執(zhí)行,但是 Cortex-A15 具備(兩倍)的指令發(fā)射端口和執(zhí)行資源,指令解碼能力也要高出 50%,動(dòng)態(tài)分支預(yù)測(cè)能力更強(qiáng)(采用了多層級(jí)分支表緩存),指令拾取帶寬更強(qiáng)(128 bit vs 64 bit),這些都能讓 A15 的流水線執(zhí)行具備更高的效率。除此以外,A15 采用了 VFPv4 浮點(diǎn)單元設(shè)計(jì),能執(zhí)行 FMA 指令以及硬件除法指令,相較而言 A9 的峰值向量浮點(diǎn)性能基本上只有 A15 的一半。
不過(guò)在現(xiàn)實(shí)中,A15 的對(duì)手應(yīng)該是高通自行設(shè)計(jì)的 ARMv7A 兼容處理器架構(gòu) Krait。高通對(duì) Krait 的架構(gòu)細(xì)節(jié)透露并不是很多,大致上就是 3 個(gè)指令解碼端口(和 A15 一樣)、7 個(gè)指令發(fā)射端口(A15 是 8 個(gè))、4 個(gè)發(fā)射端口(A15 是 8 個(gè)),具備 4KiB + 4KiB 的單周期時(shí)延 L0 Cache 設(shè)計(jì)。
如果采用老掉牙的 Dhrystone DMIPS/MHz 作為性能衡量指標(biāo),Krait 是 3.3,A9 是 2.5,而 A15 這是 3.5,從紙面上看 Krait 的確非常適合作為 A15 的對(duì)手。
不過(guò) Dhrystone 的缺點(diǎn)是顯而易見(jiàn),它是完全可以塞進(jìn) CPU 的 L1 cache 里執(zhí)行,這就意味著無(wú)法以此對(duì) L2 cache(A15 是一體化設(shè)計(jì),Krait 是分離式設(shè)計(jì),一體化設(shè)計(jì)可以減少內(nèi)存交換導(dǎo)致的大量時(shí)延)、亂序執(zhí)行的硬件效率/復(fù)雜性、內(nèi)存子系統(tǒng)單元(A15 的內(nèi)存單元可以實(shí)現(xiàn)在一定條件下預(yù)執(zhí)行一條加載指令,而 Krait 能否具備這樣的能力尚不清楚)等諸多體系架構(gòu)區(qū)別對(duì)實(shí)際性能的影響作出有價(jià)值評(píng)估。
當(dāng)然,ARM 采用的 DMIPS 指標(biāo)實(shí)際上并非 28 年前的那個(gè) Dhrystone,而是來(lái)自 EEBMC Coremark(其實(shí) Coremark 就是前者的改善版本,主要是為了減少預(yù)優(yōu)化、對(duì)測(cè)試有比較嚴(yán)格的規(guī)則),但是 CoreMark 同樣可以塞進(jìn)現(xiàn)今大多數(shù)處理器的 L1 cache 里,Dhrystone 不能反映現(xiàn)今移動(dòng)設(shè)備真實(shí)應(yīng)用的問(wèn)題在這里依然存在。
由于應(yīng)用環(huán)境日趨復(fù)雜,要正確評(píng)估一個(gè)移動(dòng)設(shè)備處理器的性能變得越來(lái)越復(fù)雜,因?yàn)楝F(xiàn)在的移動(dòng)設(shè)備跑的網(wǎng)頁(yè)瀏覽、三維游戲、音視頻、人工智能等都不可能可以完全塞進(jìn) L1 Cache 里,因?yàn)檫@些應(yīng)用牽涉到大量的數(shù)據(jù)處理。
這時(shí)候,人們?cè)谂_(tái)式機(jī)性能評(píng)估上學(xué)到的經(jīng)驗(yàn)和測(cè)試辦法就可以在移動(dòng)設(shè)備上采用了。對(duì) CPU 測(cè)試來(lái)說(shuō),最合理的測(cè)試方式是采用多種計(jì)算規(guī)模的真實(shí)應(yīng)用源代碼以本機(jī)代碼進(jìn)行編譯再進(jìn)行測(cè)試,在這樣的情況下移動(dòng)設(shè)備的計(jì)算單元、內(nèi)存單元都得以充分考驗(yàn),測(cè)試結(jié)果最具參考價(jià)值。
能夠獲得業(yè)界(計(jì)算機(jī)工業(yè)、學(xué)術(shù)科研)官方認(rèn)可的 CPU 測(cè)試當(dāng)屬 SPEC.org 的 SPEC CPU,它就是采用源代碼方式,讓測(cè)試人員可以編譯為本機(jī)代碼來(lái)測(cè)試,許多處理器在研發(fā)伊始就采用 SPEC CPU 作為最重要的性能評(píng)估指標(biāo)。
SPEC CPU 的最新版本為 CPU2006,但是 CPU2006 針對(duì)的是當(dāng)前的臺(tái)式機(jī)、工作站、服務(wù)器處理器應(yīng)用環(huán)境,內(nèi)存容量(CPU2006 支持多線程測(cè)試,因此要求的內(nèi)存容量相當(dāng)高,8 線程處理器用 16 GiB 內(nèi)存也是有點(diǎn)勉強(qiáng))和自身存儲(chǔ)空間(未編譯時(shí)就要數(shù) GiB 空間,編譯后就要占用 1x GiB 了)要求都較高,因此采用 CPU2006 對(duì)目前的移動(dòng)設(shè)備來(lái)說(shuō)是不太現(xiàn)實(shí)的。
SPEC CPU 是每隔幾年就更新一次,在 CPU2006 之前的舊版本為 CPU2000,它的 speed 整數(shù)性能測(cè)試完全可以在 1GB 級(jí)別的移動(dòng)設(shè)備上運(yùn)行,在以前甚至有一些 CPU2000 的測(cè)試被移植到 GPU 上做加速性能測(cè)試。
ARM 陣營(yíng)極少公布 SPEC CPU 測(cè)試結(jié)果,這當(dāng)然也是有原因的,因?yàn)樵谶^(guò)去的不少時(shí)間里,ARM 針對(duì)的設(shè)備大都只有幾百兆內(nèi)存空間,塞進(jìn)操作系統(tǒng)后,留給程序運(yùn)行的空間就更少,此外由于省電先決的考量 ARM 處理器的性能其實(shí)真的不怎么樣。
不過(guò)有意思的是,今年 ARM 陣營(yíng)里的 NVIDIA 在發(fā)布 Tegra 4 的時(shí)候公布了 CPU2000INT 的測(cè)試結(jié)果:在 1.9GHz 頻率設(shè)定的 NVIDIA 參考平臺(tái)里,Tegra 4 的 SPEC CPU2000int_base 為 1168。這個(gè)測(cè)試結(jié)果相當(dāng)于 2003 年第四季度 SPEC.org 上公布的 AMD K8 Sledgehammer 2GHz 測(cè)試結(jié)果。
NVIDIA 還進(jìn)行了在小米二手機(jī)(采用高通 Snapdragon S4 Pro 即 APQ8064 1.7GHz)上的 CPU2000 測(cè)試,并且根據(jù)高通公布的 S800 相對(duì) S600 在 IPC(每周期指令)和頻率上的變化幅度而估算出來(lái)的 S800 的 CPU2000 測(cè)試結(jié)果:
從圖表來(lái)看,S600 的 CPUINT2000_base 測(cè)試結(jié)果相當(dāng)于 Tegra 4 的一半不到,這在很大程度上反映了 Cortex-A15 相對(duì) Krait 系處理器的真實(shí)應(yīng)用差別。
需要指出的是,雙方的測(cè)試平臺(tái)本身也是有一些影響的,例如小米二手機(jī)在執(zhí)行這個(gè)測(cè)試的時(shí)候,CPU 頻率是否存在降頻現(xiàn)象,NVIDIA 對(duì)此沒(méi)有說(shuō)明。
一般來(lái)說(shuō),像 APQ8064 在四核全速運(yùn)行的時(shí)候,會(huì)在一段時(shí)間內(nèi)由于過(guò)熱而導(dǎo)致頻率從最高的 1.7GHz 開(kāi)始下降。當(dāng)然,NVIDIA 在這里公布的是 speed 模式下的 CPU2000INT 測(cè)試結(jié)果,這個(gè)模式下是單線程的測(cè)試,只有一個(gè) CPU 內(nèi)核會(huì)被使用。
比較遺憾的是高通對(duì)這個(gè)測(cè)試結(jié)果尚未提出異議(據(jù)說(shuō)高通對(duì)于處理器性能的孰高孰低并不十分看重,他們戲稱(chēng)是賣(mài)基帶送 CPU),而 CPU2000 的配置對(duì)一般人來(lái)說(shuō)是相當(dāng)復(fù)雜的事情,所以這個(gè)測(cè)試暫時(shí)沒(méi)有第三方使用同樣的平臺(tái)測(cè)試佐證。
威盛電子在發(fā)布 Nano X2 處理器的時(shí)候曾經(jīng)公布過(guò)一份文件,里面也有采用 CPU2000 對(duì) Nano X2 1.2+GHz 和 Atom D525 進(jìn)行測(cè)試,其中 gcc 編譯器出來(lái)的 CPU2000 INT 成績(jī)分別為 799 和 582,采用 Intel 編譯器出來(lái)的成績(jī)分別是 955 和 725。
NVIDIA 的 Tegra 4 的 CPU 屬于 ARMv7A 指令集,因此編譯器很可能是 armcc 或者 gcc,NVIDIA 新近收購(gòu)的 PGI 是一家老牌編譯器廠商,也許它能提供內(nèi)部測(cè)試版給 NVIDIA,只是 PGI 過(guò)往從未發(fā)布過(guò) ARM 系編譯器。
到這里,大家應(yīng)該對(duì) Cortex-A15 的架構(gòu)特點(diǎn)以及和它的一些競(jìng)爭(zhēng)對(duì)手在性能上的區(qū)別有大致的了解,不過(guò)這樣的旗艦級(jí)處理器在智能設(shè)備的實(shí)際應(yīng)用情況又如何呢?
這個(gè)問(wèn)題其實(shí)來(lái)自于一些人的猜測(cè),我們看見(jiàn)一些文章認(rèn)為 Cortex-A15 的性能高但是功耗大,并不一定適用于手機(jī)。
這個(gè)問(wèn)題放在一年前的話(huà)可能會(huì)有各種不同的答案,但是現(xiàn)在是 2013 年 8 月下旬,答案已經(jīng)非常清晰:已經(jīng)有采用四核 Cortex-A15 的手機(jī)上市,而且會(huì)有更多的采用 Cortex-A15 的手機(jī)上市,這也為 Cortex-A15 是否適用于手機(jī)的爭(zhēng)論畫(huà)上了一個(gè)句號(hào)。目前,明確可用于手機(jī)的 Cortex-A15 架構(gòu)的四核移動(dòng)處理器主要有兩種,一種是三星的 Exynos Oct,另外一種是 NVIDIA Tegra 4。
三星公司在四月二十七日上市的 Galaxy S4 有多個(gè)型號(hào),但是從處理器來(lái)分,就分為兩種機(jī)型:高通 Snapdragon 600 和三星 Exynos 5410。
S600 其實(shí)類(lèi)似于去年大紅大紫的 APQ8064,CPU 微架構(gòu)為 Krait 300,相對(duì) APQ8064 的 Krait 微架構(gòu)來(lái)說(shuō),它增加了硬件數(shù)據(jù)預(yù)取器,能預(yù)先將數(shù)據(jù)從內(nèi)存中抓到 L2 cache 里。除此以外 Krait 300 還改善了分支預(yù)測(cè)的準(zhǔn)確度,這些變化能改善 Krait 300 的 IPC(每周期指令)大約 15%,加上最高頻率提升至 1.9GHz(取決于手機(jī)廠商,像 HTC One 就選擇了較低的或者說(shuō)和 APQ8064 上限一樣的 1.7GHz),因此可以認(rèn)為 S600 的 CPU 性能比之前的 S4 Pro 最多提升了大約 28.5% 左右,更接近于 Cortex-A15 的性能,不過(guò)它使用的制程和 S4 Pro 一樣依然是 28nm LP,這個(gè)制程沒(méi)有在漏電流上作優(yōu)化,因此在耗電方面 S600 比 S4 Pro 更大。
為什么三星不選擇單一型號(hào)處理器的方式呢?首先三星肯定要支持自家研發(fā)的處理器,這是毫無(wú)疑問(wèn)的,因此基于 Cortex-A15 的 E5410 自然成了配置之一;其次是三星作為一家韓國(guó)公司,同時(shí)也是一家跨國(guó)公司,產(chǎn)品需要賣(mài)向全球,有些的確已經(jīng)邁向了 4G LTE,有些則還是 3G 世代,面對(duì)世界各地的通信制式、合作運(yùn)營(yíng)商的要求以及全球行銷(xiāo)的潛規(guī)則,高通方面的產(chǎn)品是不得不考量的,因此在這里也把定位比較接近的 S600 作為另一種配置以支持LTE。
三星 Galaxy S4 GT-I9500 主電路板正面
三星 Exynos 5410 管芯圖
深色部分是四核 A15 區(qū)域
粉紅色部分是四核 A7 區(qū)域
在國(guó)際版的 GT-I9500(以及中國(guó)大陸區(qū)的聯(lián)通版、電信版)采用的三星 Exynos 5 Octa 內(nèi)部型號(hào)為 Exynos 5410,CPU 部分是一組四核 Cortex-A15 1.6GHz 加另一組四核 Cortex-A17 1.2GHz 的搭配方式。不過(guò) E5410 只支持 big.LITTLE 模式里的 IKS(核內(nèi)切換器),不支持 GTS(全局任務(wù)調(diào)度)模式,因此看上去雖然有物理上的八個(gè)內(nèi)核,但是本質(zhì)上同一時(shí)間內(nèi)最多只能實(shí)現(xiàn)同時(shí)使用四核 A15 或同時(shí)使用四核 A7,如何切換則是由根據(jù)當(dāng)前任務(wù)的負(fù)荷性質(zhì)決定。
NVIDIA Tegra 4 推出多個(gè)月后,除了自家的 SHIELD 手持游戲機(jī)和 HP、華碩以及東芝等廠商的筆記本電腦外,還會(huì)被用于一些手機(jī)里面,目前已經(jīng)公布的有中興的 U988S,據(jù)聞還會(huì)有更重量級(jí)的手機(jī)隨后出來(lái)。
NVIDIA Tegra 4 管芯圖橙色區(qū)為 4+1 Cortex-A15核心,綠色小方塊區(qū)域?yàn)?GPU Tegra 4 和三星 E5410 的主 CPU 都采用了四核 Cortex-A15,不過(guò) NVIDIA 沒(méi)有采用 ARM 的 big.LITTLE 結(jié)構(gòu),而是采用自己 4+1 核的結(jié)構(gòu),4+1 中的“1”被稱(chēng)作伴侶核。
“伴侶核”是一個(gè)采用省電設(shè)計(jì)、運(yùn)行在較低頻率下的 Cortex-A15 內(nèi)核,用于處理負(fù)載較輕的任務(wù)以達(dá)到省電的目的,一旦負(fù)載較重就會(huì)切換到主 CPU 核上。
和 Cortex-A15 + Cortex-A7 的 big.LITTLE 相比,這樣的設(shè)計(jì)據(jù)稱(chēng)有兩個(gè)好處:
首先,是由于“伴侶核”與主 CPU 核心架構(gòu)完全一樣,CPU 切換時(shí)上下文切換(或者說(shuō)程序執(zhí)行的現(xiàn)場(chǎng)切換)的時(shí)間比 Cortex-A15 切換到 Cortex-A7 的方式快很多,這是因?yàn)椴挥眠M(jìn)行復(fù)雜的映射;
其次,Cortex-A15 的單核性能比 Cortex-A7 高很多,因此大多數(shù)一般的應(yīng)用中并不需要頻繁切換到主 CPU 核,從而達(dá)到更省電的目的。當(dāng)然,具體的耗電情況需要等到設(shè)備出來(lái)后進(jìn)行詳細(xì)測(cè)試。
在商業(yè)社會(huì)里衡量一款產(chǎn)品是否成功,關(guān)鍵的指標(biāo)之一自然是出貨量。按照 Digitimes 援引 TrendForce(集邦科技)在今年七月末的一份研究報(bào)告,三星 Galaxy S4 的出貨量將會(huì)達(dá)到 2300 萬(wàn)部的總出貨量,而在更早之前已經(jīng)有媒體報(bào)道指出三星 Galaxy S4 的出貨量“已經(jīng)”達(dá)到兩千萬(wàn)臺(tái)。
如果只是靠品牌知名度和好不好看的話(huà),任何產(chǎn)品也不可能做到快速的大量出貨,Galaxy S4 作為旗艦級(jí)產(chǎn)品,它的規(guī)格配置在吸引力方面起到了很大的作用,四核 Cortex-A15 或者四核 S600 的采用是它成功的關(guān)鍵因素之一,這些成功反過(guò)來(lái)也會(huì)對(duì)人們的品牌認(rèn)受度產(chǎn)生正面印象。
上圖就是我們前面提及的預(yù)期購(gòu)買(mǎi)手機(jī)品牌調(diào)查百分比,可以看到在三星發(fā)布了 Galaxy 后的第一季度到第二季度變化值是呈上升態(tài)勢(shì),而蘋(píng)果方面則是依然不斷地下滑。
所以從這一小節(jié)中我們可以得出結(jié)論,市場(chǎng)上已經(jīng)有四核 Cortex-A15 手機(jī)上市,而且從市場(chǎng)趨勢(shì)來(lái)看這樣的產(chǎn)品已經(jīng)獲得了實(shí)質(zhì)性的認(rèn)可。
ARM 的實(shí)驗(yàn)室里雖然也有自己開(kāi)發(fā)的處理器實(shí)體,但是這些處理器是作為研發(fā)之用,不會(huì)拿出來(lái)賣(mài)給最終消費(fèi)者的,市場(chǎng)上的“ARM”處理器都是 ARM 透過(guò)架構(gòu)授權(quán)或者內(nèi)核授權(quán)的方式由第三方廠商開(kāi)發(fā)或者拼湊而成。
因此在市場(chǎng)上你會(huì)看到五花八門(mén)、各式各樣的 ARM 處理器,它們來(lái)自不同的芯片設(shè)計(jì)公司、不同的制造廠商,由于設(shè)計(jì)技術(shù)水平、經(jīng)驗(yàn)以及制造廠的制程不同,實(shí)際上出來(lái)的芯片在一些指標(biāo)、功能上會(huì)有不可忽視的區(qū)別。
就譬如我們這里提到過(guò)三星 Exynos 5410 和 NVIDIA Tegra 4,CPU 都采用了四核 Cortex-A15,但是兩者的區(qū)別其實(shí)多,例如:
1、Exynos 5410 采用三星的 28nm LP HKMG 制程,最高頻率設(shè)定是 1.6GHz,Tgera 4 采用臺(tái)積電的 28nm HPL 制程,最高設(shè)定頻率為 1.9GHz;
2、Exynos 5410 采用了 A15*4 + A7*4 的設(shè)計(jì),Tegra 4 采用了高頻 A15*4 + 低頻(700~800MHz)低耗電 A15*1 的設(shè)計(jì);
3、兩者的 GPU 截然不同,Exynos 5410 采用了 ImgTec 授權(quán)的 PowerVR SGX544MP3 (tri-core) @ 480 MHz,Tegra 4 采用的是 NVIDIA 自己開(kāi)發(fā)的 GPU 架構(gòu),幾何單元為單精度浮點(diǎn),像素單元為 20 位浮點(diǎn),這應(yīng)該是吸取了當(dāng)年 GeForce FX 世代受挫的經(jīng)驗(yàn)而特別炮制的平衡設(shè)計(jì)。
4、兩者的 die size(管芯尺寸)不一樣,Exynos 5410 按照 EDN 的說(shuō)法應(yīng)該是 122mm^2,而 Tegra 4 大約是 80mm^2,后者比前者小了大約 33%,Tegra 4 的設(shè)計(jì)目標(biāo)更偏向于性能、耗電、成本三者的平衡,而三星由于采用的 PowerVR 是屬于分塊式延后渲染器(TBDR),因此片上需要有 TBDR 獨(dú)有的電路,這些電路會(huì)增加不少面積。
從這一小節(jié)我們可以看出,同樣是采用四核 A15 的處理器,在很多方面都是完全不一樣的,這將對(duì)處理器的功能、性能、耗電構(gòu)成不少的影響,最終反映到終端設(shè)備——手機(jī)、平板電腦上的表現(xiàn)也會(huì)有一定的差別。
NVIDIA 在較早之前發(fā)布的 SHIELD 掌機(jī)采用的是前面提到的 Tegra 4 處理器,這是 NVIDIA 的第四代 Tegra 處理器,和其他手機(jī) SoC 芯片廠商有多款不同芯片供選擇不同的是,NVIDIA 這幾年走的都是單芯片多型號(hào)路線,也就是把芯片單純按照頻率、GPU 使能規(guī)模來(lái)劃分多個(gè)型號(hào)供客戶(hù)選擇。
SHIELD 采用的 Tegra 4 具體型號(hào)是 T40,是 Tegra 4 的優(yōu)異性能版本,最高頻率設(shè)定為 1.9GHz,GPU 規(guī)模使能規(guī)模為 72 core 但是頻率多少并不清楚,Tegra 4 GPU 的文檔有提到在 672MHz 時(shí)候性能規(guī)格,但是這不代表 T40 的 GPU 就是這樣的規(guī)格。
不過(guò)手機(jī)顯然不會(huì)上這樣規(guī)格的 Tegra 4,因?yàn)?SHIELD 的形制較大,可以塞進(jìn)風(fēng)扇輔助散熱,電池容量也可以支持這樣規(guī)格跑接近 10 小時(shí)的游戲,即使是旗艦級(jí)別手機(jī)的個(gè)頭只有它的三分之一不到。
NVIDIA 提供的手機(jī)版 Tegra 4 型號(hào)為 AP40,這個(gè)版本在多個(gè)方面做了精簡(jiǎn),例如 T40 有很多的 I/O 口,AP40 只保留了必要的,溫控的策略也會(huì)有不同。
從一些廠商提供的消息,經(jīng)過(guò)這些精簡(jiǎn)后,AP40 的 TDP(熱設(shè)計(jì)功率,代表能讓設(shè)備低于結(jié)溫所需的散熱能力)從 T40 的 8-10 瓦降低到了 3 瓦級(jí)別,這相當(dāng)降低到了 1/3 不到,變化非常大。
那么功率降低到這么多,性能是否會(huì)有大的下降呢?這是一個(gè)有趣的問(wèn)題。不同的廠商會(huì)采用不同的功耗控制策略。 一般在多核心同時(shí)高負(fù)荷工作下,手機(jī)的處理器工作速度會(huì)隨著溫度的上升而降低,從而把總的功耗降到較低的水平。
不過(guò),單核心工作的時(shí)候,頻率的下降速度就會(huì)慢很多。而且大部分的情況下,CPU 高負(fù)荷的往往是間歇性的,對(duì)于大部分的應(yīng)用,實(shí)際的性能應(yīng)該不會(huì)有什么影響。
Cortex-A15 相對(duì)于 S600、S800、Cortex-A9、Cortex-A7 等“對(duì)手”來(lái)說(shuō)優(yōu)勢(shì)就是具備更強(qiáng)的單核心性能。在多線程程序并不十分普及的情況下,單核心性能的重要性是毋庸置疑的。
其實(shí)無(wú)論是手機(jī)還是我們的臺(tái)式機(jī)、筆記本電腦,日常的不少程序都采用單線程代碼。多線程程序的開(kāi)發(fā)需要比較復(fù)雜的代碼編寫(xiě)、經(jīng)驗(yàn)以及調(diào)試,而且很多任務(wù)并不容易做到并行化,因此經(jīng)過(guò)很多年以后,實(shí)際上真正的多線程重負(fù)荷的程序即使在 PC 上也并不普遍,在移動(dòng)平臺(tái)上就更少了。
除了一些專(zhuān)門(mén)用來(lái)燒機(jī)的軟件外,能讓多核尤其是四核手機(jī)老是處于跑滿(mǎn)狀態(tài)的應(yīng)用可說(shuō)是少之又少,更常見(jiàn)的情況是某些高計(jì)算負(fù)荷的任務(wù)讓四核沖起來(lái)一下就跑完了。
舉個(gè)簡(jiǎn)單的例子,例如刷微博或者刷網(wǎng)頁(yè)的情況,里面包含很多圖文的信息,刷的時(shí)候速度快的處理器能夠很快地顯示出內(nèi)容,而速度較慢的處理器則需要等待一段時(shí)間。
刷完以后 CPU 總的占有率會(huì)驟然降低,之后都是一些單線程的程序讓個(gè)別內(nèi)核處于較飽滿(mǎn)的負(fù)載狀態(tài)。
真正需要CPU高負(fù)荷的時(shí)間占總時(shí)間的比例很低,甚至連 1% 都遠(yuǎn)遠(yuǎn)不到,但是這個(gè)時(shí)間雖說(shuō)很短,卻往往是影響用戶(hù)體驗(yàn)的一個(gè)非常重要的因素。
因此,CPU 的峰值性能的重要性毋庸置疑。此外,現(xiàn)在有一種趨勢(shì),移動(dòng)處理器面對(duì)的屏幕分辨率甚至普遍比筆記本電腦甚至臺(tái)式機(jī)更高,這意味著界面的處理壓力越來(lái)越高。
界面的刷新和網(wǎng)頁(yè)刷新的情況類(lèi)似,對(duì) CPU 的性能要求高,但是時(shí)間短,用戶(hù)的體驗(yàn)感受很直接。
因此更高的處理器速度也將是一種硬性的需求,而不是可有可無(wú)的擺設(shè)。但是對(duì)于性能和功耗的評(píng)估需要有理性的分析,有一些人一味強(qiáng)調(diào)拷機(jī)軟件下的 CPU 頻率過(guò)熱降頻情況對(duì)手機(jī)用家來(lái)說(shuō)其實(shí)是某種程度的誤導(dǎo),這和實(shí)際的應(yīng)用情況完全不一樣。
多核處理器的意義更多在于多任務(wù)的情況。Android 和 Windows 都是典型的多任務(wù)操作系統(tǒng),多核處理器在處理多任務(wù)的時(shí)候大大提升了多個(gè)程序同時(shí)運(yùn)行時(shí)的處理和響應(yīng)速度。
不過(guò),多任務(wù)對(duì)于核心數(shù)量的需求是有限的,PC CPU 和移動(dòng)處理器主流的核心都是兩到四核,這不是偶然的。
雖然系統(tǒng)中有多個(gè)線程和多個(gè)任務(wù)同時(shí)存在,但是出于活躍狀態(tài)的往往也就少數(shù)幾個(gè),因此更多的 CPU 核心意義是不大的?,F(xiàn)在有些廠商推出的所謂八核 Cortex-A7 的處理器,在絕大部份的情況下性能一定還不如雙核 Cortex-A15。
ARM 是一家非常純粹的設(shè)計(jì)公司,它并不向終端消費(fèi)者、廠商出售任何處理器,而是提供授權(quán)給第三方公司,讓其自行設(shè)計(jì)或者堆砌出自己的處理器。
這樣的好處是它可以節(jié)省掉一大筆行銷(xiāo)上的資源,ARM 設(shè)計(jì)一款處理器內(nèi)核并不會(huì)產(chǎn)生任何庫(kù)存壓力,它只消告訴廠商這個(gè)處理器如何做對(duì)接以及可以用來(lái)干嘛就可以了,接下來(lái)就是等著收錢(qián)了。
在這樣的情況下,ARM 可以做到非常靈活多變,當(dāng)看到市場(chǎng)上(也許是將會(huì))存在空擋時(shí)候,就能很快推出相應(yīng)的“產(chǎn)品”。按照時(shí)間來(lái)看,Cortex-A12 的推出其實(shí)就是瞄準(zhǔn)了 Cortex-A7/A53 和 Cortex-A57 之間的空隙,屬于未來(lái)一年后的中端偏低市場(chǎng)的主力。
在 Cortex-A12 推出后,有些人就馬上下結(jié)論,這代表了 ARM 對(duì) Cortex-A15 在手機(jī)應(yīng)用上的否定。
如果以 big.LITTLE 布局來(lái)看 Cortex-A12 屬于 ARM 產(chǎn)品規(guī)劃中的 big,也就是偏向性能先決的內(nèi)核,目前確定的制程包括了 GlobalFoundries 的 SLP-28 和臺(tái)積電的 28 HPM。Cortex-A12 和 Cortex-A9 一樣是雙發(fā)射亂序執(zhí)行,但是和 A9 相比,A12 的亂序執(zhí)行不僅限于整數(shù)流水線,而是浮點(diǎn)流水線和內(nèi)存操作都具備了亂序執(zhí)行。
此外 A12 實(shí)現(xiàn)了 VFPv4 浮點(diǎn)單元并且將 Neon 向量單元列為標(biāo)準(zhǔn)配備,Coremark 測(cè)試可以做到單核 3.0 DMIPS/MHz,相比之下 A9 和 A15 分別是 2.5 和 3.5。
所以很明顯,A12 性能處于 A9 和 A15性能之間,這對(duì) ARM 來(lái)說(shuō)是很正常不過(guò)的事情。事實(shí)上 ARM 在發(fā)布 A12 的同時(shí)還更新了 A9,提到 A9 r4 版的性能更新,按照幻燈片,對(duì)分支預(yù)測(cè)和內(nèi)存子系統(tǒng)作改進(jìn)后的 r4 在 IPC 上能做到初版 A9 的 1.4 倍左右。
Cortex-A9 至今已經(jīng)有多個(gè)版本,見(jiàn)上圖的 r1-r4 描述圖片來(lái)源: anandtech
如果單看 IPC 的話(huà),A9 r4 是不是和 A12 很類(lèi)似?那如果按照某些人的思維,A9 r4 豈不是可以用來(lái)否定 A15?
目前 A9 r4 已經(jīng)在NVIDIA Tegra 4i 里面采用,按照 NVIDIA 的數(shù)據(jù),在 BBench 中相比 A9 r1 有 25% 的性能提升,而在 SPECint 2000中 也有 15% 的性能提升,基于 Tegra 4i 的終端很可能會(huì)在明年第一季度就能看到,而 A12 還沒(méi)有任何廠商宣布采用,A15 即使退下火線也未必是因?yàn)?A12 的出現(xiàn),因?yàn)?A15 的定位接替者其實(shí)是基于 ARMv8 的 A57。
看到這里,相信大家已經(jīng)基本了解了 Cortex-A15 大致架構(gòu)和性能、定位,而配備四核 Cortex-A15 的三星 Galaxy S4 手機(jī)已經(jīng)取得了非常矚目的成功。
采用了四核 Cortex A15 的 Galaxy S4 聯(lián)通版
不同廠商、不同型號(hào)的四核 Cortex-A15 處理器在很多方面都存在不少的差別,這些差別或因?yàn)樵O(shè)計(jì)意念、經(jīng)驗(yàn),或因?yàn)楦髯栽谀愁I(lǐng)域的優(yōu)勢(shì),或因?yàn)楫a(chǎn)品定位,或因?yàn)橹瞥?,這些差別讓我們不能簡(jiǎn)單地類(lèi)比,例如直接把某型號(hào)的 Cortex-A15 四核處理器在性能、功耗的指標(biāo)類(lèi)推到另一型號(hào)上。
手機(jī)性能測(cè)試是比較特殊的,它是一個(gè)封閉的東西,從硬件角度看,絕大多數(shù)情況下你不能把里面的東西卸下來(lái)拿到另一部不同型號(hào)的手機(jī)里測(cè)試來(lái)驗(yàn)證不同硬件組合下的影響,從軟件角度看,目前缺乏足夠的工具和經(jīng)驗(yàn)了解在測(cè)試的時(shí)候到底發(fā)生了什么,到底是廣譜的優(yōu)化還是定制優(yōu)化非知情者是很難了解的。
對(duì)于手機(jī)來(lái)說(shuō),單線程的性能同樣不容忽視,這和多線程代碼編寫(xiě)的難度有直接關(guān)系,現(xiàn)實(shí)中許多應(yīng)用還是基于單線程的,在此時(shí) Cortex-A15 的單線程性能優(yōu)勢(shì)就能體現(xiàn)出來(lái)。
在日常應(yīng)用中沒(méi)有多少應(yīng)用會(huì)像拷機(jī)程序那樣長(zhǎng)時(shí)間持續(xù)的四核全部跑滿(mǎn),尤其是在手機(jī)應(yīng)用中,在手機(jī)測(cè)試中采用這類(lèi)程序到底有多少意義是令人懷疑的,手機(jī)用家真的會(huì)整天沒(méi)事呆看手機(jī)跑 StabilityTest 之類(lèi)的東西嗎?
Cortex-A12 上市的時(shí)間點(diǎn)可能是明年下半年以后的事情,它的性能定位就是接替 Cortex-A9,而 Cortex-A15 的接替者將會(huì)是 Cortex-A57,Cortex-A12 在此時(shí)(A57 時(shí)代)扮演的就是中階偏低的角色。
總之,我相信在未來(lái)的一年里,Cortex-A15 四核版的手機(jī)將會(huì)越來(lái)越多,相應(yīng)的芯片型號(hào)也會(huì)層出不窮,其中應(yīng)該不乏成功的產(chǎn)品?!?
關(guān)注我們
