也差不多是該好好談談這「年經」議題的時候了。自從iPhone 5的心臟,終於開始引進自家開發的獨特微架構核心,隨著世代交替,在越來越多效能評測,對上其他授權現成ARM核心的對手時,展現越來越摧枯拉朽的優勢後,每逢搭載新款Apple自家應用處理器的產品問世,各大媒體,總是出現以下的例行標題:
「Apple的晶片實在太快了,眾人們都難以置信驚呆了。」
接著一如往昔,四處冒出單細胞動物反應般的「Apple何時會將Mac換裝自家的SoC」深度評論(即使從頭到尾看不出什麼內涵),下面的讀者留言,也跟著雞同鴨講的吵成一團。
然後呢?就沒有然後了。先直接講結論:Apple Ax系列應用處理器核心,可以同時執行,或著講的更精確一點「可平行處理」的指令數,遠勝競爭對手,完全是頂級伺服器處理器的等級。
為何少人分析Apple自家處理器的技術細節?
Apple的晶片再厲害,也是和我們生活在同一顆地球上的人類開發出來的產物,奠基於相同時代的半導體製程技術,與觀念相近的高速處理器設計原理,萬變不離其宗,絕非外星科技,而產品開發背後的技術源流,更是斧鑿斑斑,如果你願意花時間考古的話,想藏也藏不住。
但Apple畢竟就是Apple,不像習慣在學術研討會發表論文,變相進行技術行銷,或著在自家活動公開產品技術細節的IBM Intel AMD nVidia Qualcomm等廠商,對自家打造微架構、總算可以不假外人之手的晶片,幾乎守口如瓶,只給行銷數據。
反正對Apple來說,他們也不需要讓外界得知太多資訊,只要宣稱iPhone iPad有很棒的使用者體驗,果粉願意掏錢買單,就功德圓滿了,除非有足以用來說嘴的重大技術創新,像A11的Neural Engine類神經網路加速引擎,否則講太多細節,都是多餘的。
所以很多專精於分析處理器架構的媒體工作者和專欄作家,幾乎除了介紹TSMC為主的先進製程、歷代Apple晶片的方塊圖(特別專注於比較iPad專用的版本,會比iPhone多出哪些額外的區塊),與新款PowerVR繪圖核心的性能提昇,對於最重要的核心微架構,不得其門而入,通通束手無策,大概勉強比較有看頭的,就是某些拆解機器,取下晶片,磨出晶粒照片(Die Photo),然後看圖說故事的網站。
當然,我們也有充分的理由相信,Apple晶片的競爭對手,勢必拿著電子顯微鏡,對著晶粒進行鉅細靡遺的分析,甚至嘗試逆向工程的可能,只是這些見不得光的商業行為,不會也不能公諸於世就是了。
所以就這樣束手無策了?才怪!
但這並不代表天底下沒有旁敲側擊、判斷其設計奧妙的手段,比較專業一點的作法,是自行撰寫測試程式碼(目前知名網站中,就以Anandtech那篇比較A5和A6的文章最具代表性),去推敲其指令管線深度、執行單元寬度、分支預測強度、記憶體子系統階層與延遲等等,應用程式開發工具(像LLVM)內的參數,也是可以「挖寶」的好地方。
次而等之的,則是透過跨平台的效能測試程式,去比較不同世代Apple應用處理器與那票Android手機心臟之間的差別,再以找一個資料最公開的晶片,作為評估的基準。難搞的要死、非得自己弄好編譯器參數,才可以保證跑完的SPEC CPU,之所以歷久不衰,長期兼具學術和商業價值,不外乎可藉由涵蓋多種不同應用的子項目,徹底分析處理器的性能特性。
所以當筆者看到效能測試程式的創辦人,竟然會講出「A11晶片實在太快了,讓我無法理解的是,為什麼 Android 陣營看起來好像停滯不前?效能飛躍在哪? 我不清楚到底發生了什麼事」的鬼話,當下的情緒反應是極度憤怒的,因為開發效能測試程式的人,最沒資格搞不清楚到底發生什麼事,難道你們根本不知道你們到底在測試什麼嗎?還是你們其實對處理器架構完全一如所知,只是要擠出喧嘩取眾的數字,讓使用者自己賽豬公嗎?
看來好像真的是這麼一回事,所以你才會在這邊看到這篇文章。(待續)
Apple自家處理器真有這麼厲害?這是蘋果自家晶片介紹系列文之一,你還期待在這篇文章中看到些什麼?歡迎與我們分享你的想法。
21 則回應
https://research.cs.wisc.edu/vertical/papers/2013/hpca13-isa-power-struggles.pdf
他不能理解為什麼android的進步這麼小
而且固然軟體邊的計算機架構有所影響
固態的製程佈線影響在同樣架構會更大
這我覺得測試人員並不是一無所知你所說的架構
但是一般使用並不會極端的偏重某部分運算
甚至很多跑分本身就是一個大型3D遊戲
去除控制加上禎數計算而已
我不懂為啥麼直接由跑分覺得效能增長太少
必須要直接去解釋其中的計算機架構
況且真的只用軟體測量誤差會跟實際有落差
不過如果android那邊的晶片商
可以稍微抗議一下其實就會知道限制在哪了
A73就有"保定點性能,砍浮點性能,力爭提升性能功耗比"
的說法
如果真的相同電量的手機
只有重度使用才需要A11的效能
而s835的低功號可以延長大量續行(相較s820)
那單看跑分不能理解是很正常的
只是設計使用環境不同
而且這種為了省電跟上一代效能只差一點的事情
高通在s801就做過了
請期待XD