膜拜蘋果 A7 CPU架構(gòu)終極揭秘
研究蘋果的硬件總是一件很痛苦的事情,因?yàn)樘O果在這方面從來(lái)都是極為封閉,絕少公開底層資料,因此絕大多數(shù)時(shí)候只能靠猜。
A7是蘋果也是業(yè)內(nèi)第一款64位架構(gòu)的移動(dòng)處理器,但是在iPhone 5S首發(fā)的時(shí)候,我們對(duì)它幾乎一無(wú)所知。當(dāng)時(shí)猜測(cè)它只是上代A6 Swift架構(gòu)的簡(jiǎn)單改進(jìn)版,解決了內(nèi)存延遲等問(wèn)題而已,但結(jié)果大錯(cuò)特錯(cuò),嚴(yán)重低估了蘋果。
iPad Air發(fā)布的時(shí)候,資料多了一些,首次知道其架構(gòu)代號(hào)為Cyclone,還知道了架構(gòu)方面的一些信息:
就目前看來(lái),峰值發(fā)射寬度達(dá)到了六!也就是相當(dāng)于A6、Krait的兩倍,混合不同指令的時(shí)候更是能有三倍。
浮點(diǎn)、整數(shù)的共同發(fā)射局限也基本不存在了,可以并行發(fā)射最多四個(gè)整數(shù)加法、兩個(gè)浮點(diǎn)加法。每個(gè)時(shí)鐘周期還可以執(zhí)行最多兩個(gè)載入或者存儲(chǔ)。
近日,AnandTech終于找到了蘋果官方的LLVM文檔,揭示和確認(rèn)了不少細(xì)節(jié),雖然仍舊比較模糊但在蘋果的世界里已經(jīng)不可能再深入下去了。
CPU架構(gòu)終極揭秘0' title='膜拜蘋果 A7 CPU架構(gòu)終極揭秘0' />
根據(jù)這份文檔,A6、A7的架構(gòu)規(guī)格對(duì)比如下:
之前猜測(cè)和推測(cè)的不少規(guī)格都是正確的。A7 Cyclone的確是一個(gè)很寬的架構(gòu),每個(gè)時(shí)鐘周期最多可以同時(shí)解碼、發(fā)射、執(zhí)行、收回6個(gè)指令/微操作,A6 Swift則最多不超過(guò)3個(gè)。
A7的重排序緩沖達(dá)到了驚人的192,是上代的四倍多,同時(shí)巧合的是正好與Intel Haswell架構(gòu)一樣。分支預(yù)測(cè)錯(cuò)誤懲罰也增加了,但幅度不大,而且又正好與Intel Sandy Bridge及其后的架構(gòu)在同樣范圍內(nèi)。
換句話說(shuō),蘋果的架構(gòu)已經(jīng)在某些方面和Intel桌面產(chǎn)品架構(gòu)處于同一級(jí)別了。
一級(jí)緩存容量的翻番可以理解,而在執(zhí)行端,整數(shù)ALU單元、載入/存儲(chǔ)單元、分支單元也都翻了一番,并首次加入了一個(gè)間接分支單元和至少一條浮點(diǎn)流水線,能夠并行執(zhí)行三個(gè)浮點(diǎn)操作,但注意第三條浮點(diǎn)/NEON流水線是用來(lái)做除法、開方的,乘法只能最多并行兩個(gè)。
每個(gè)單元對(duì)應(yīng)的緩沖尺寸也基本明晰,應(yīng)該對(duì)應(yīng)每個(gè)單元的微操作數(shù),但在所有執(zhí)行單元之前應(yīng)該不會(huì)有統(tǒng)一調(diào)度器,而是每個(gè)端口前安置靜態(tài)分區(qū)緩沖。
根據(jù)這些信息,A7 CPU架構(gòu)簡(jiǎn)圖是這個(gè)樣子的(很可惜A6的還是沒(méi)有足夠數(shù)據(jù)無(wú)法直觀對(duì)比):
六個(gè)解碼器、九個(gè)執(zhí)行單元端口,A7 CPU的確很“大”,比其他任何移動(dòng)處理器都要大,已經(jīng)完全超越了高通Krait、Intel Silvermont,足以媲美Intel Core酷睿架構(gòu)。
事實(shí)上,iPhone 5S發(fā)布的時(shí)候蘋果就宣稱A7是“桌面級(jí)別架構(gòu)”(desktop-class architecture)——庫(kù)克并沒(méi)有夸張。
A7是蘋果勇敢賣出的一大步,但正因?yàn)椴阶犹螅瑧?yīng)用還跟不上,至今沒(méi)有一款能完全發(fā)揮其潛力,即便是蘋果自己家的應(yīng)用也做不到。A7 CPU就像一頭沉睡的猛獅,等待喚醒怒吼。
另外,A7 CPU架構(gòu)上很超前,但在內(nèi)存上卻很“吝嗇”,iPhone 5S、iPad Air都只有區(qū)區(qū)1GB。盡管蘋果可以做到只需少量?jī)?nèi)存就能把系統(tǒng)性能發(fā)揮到極致,但是1GB畢竟太少了,是不可能完全發(fā)揮A7 CPU潛力的?;蛟S蘋果意識(shí)到大家短期內(nèi)做不到所以干脆就不浪費(fèi)更多內(nèi)存?
最后說(shuō)一句,蘋果起代號(hào)也不是即興而為,看起來(lái)頗有深意:Swift的意思是快速敏捷,A6 CPU的確符合這個(gè)特點(diǎn);Cyclone是旋風(fēng)、颶風(fēng),A7 CPU確實(shí)很龐大。
接下來(lái)的問(wèn)題是:蘋果下一步會(huì)何去何從?A8又要沖擊怎樣的高度?
再做得更寬顯然意義不大,但是性能改進(jìn)仍有巨大的空間,尤其是提升頻率和效率。A7的頻率其實(shí)很低,iPhone 5S/iPad mini 1.3GHz,iPad 1.4GHz,相比于高通驍龍最高已達(dá)2.5GHz有點(diǎn)相形見絀。
A8會(huì)用上新的20nm工藝,完全可以在不增加功耗的情況下明顯提高頻率,就看蘋果愿意不愿意了。