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