單純工程背景的悲哀,就是連蘋果換晶片架構的題目都訂錯,然後一直在討論錯的問題跟爭論晶片效能的差異。
明明蘋果換他的個人電腦(Mac)硬體運算平台的架構的正確思路,不是x86(Intel)換成ARM架構,不是x86 效能 v.s. ARM 效能; 而是將個人電腦(Mac)硬體運算平台的架構裡,原先大多數外購的中央處理器+外購其他晶片,轉換成採用自家設計的晶片(SoC)。
題目換成運算平台裡的 外購零件 v.s 多數自家設計晶片,才會問對問題,為什麼要把外購的改用自家設計的晶片?為的是Mac硬體產品的使用體驗呀!Mac產品的使用體驗,是僅僅比x86/ARM CPU誰省電誰有效能就可以回答的嗎?
回來先看iPhone用的A13晶片,裡面比A12多了機器學習加速器,而也有別於其他架構CPU+GPU,蘋果的SoC將ML/Deep Fusion等需求另外設計一塊神經網路引擎,這些跟ARM架構的性能無關,而是因為蘋果在iPhone上要加入TrueDepth Camara System 做FaceID才要獨立在SoC上設計一塊運算元件特別處理FaceID的感測訊號。因為iPhone的相機鏡頭部門,要改善相機照片的畫質與處理能力,晶片部門設計的GPU單位可以跟鏡頭部門說怎麼樣用GPU發揮的效能可以最好,而相機部門也會把需求跟GPU單位說,指導GPU未來應該發展的方向。而 iOS裡的Core ML 3 與機器學習控制器能搭配運作,自動分派工作給 CPU、GPU 或神經網路引擎。
蘋果的ARM架構晶片為什麼可以狂電高通還是聯發科的晶片?重點就是在於蘋果晶片的客戶只有自己的其他產品部門。涉及多個團隊,這期間晶片架構工程師要同數目龐大的軟體和硬體人員共同協作。晶片團隊每週都要和其他團隊當面溝通。好處在於自己才更能了解自己需要什麼,並將其發揮到最大的價值,從而達到軟硬體的高度契合。最後滿足了產品的使用體驗跟產品有差異化的功能與價值。
Mac的產品團隊,要的就是iPhone團隊這樣子好做事好設計產品的資源而已。Mac跑去找intel說幫忙設計顆x86的CPU,裡面可以處理我的未來要加裝的TrueDepth Camara System 的訊號,intel會理你嗎?Mac團隊會不會很想哭,iPhone團隊有自己的IC晶片資源,要隱私敏感加密儲存在SoC裡,就可以設計進去,Mac想儲存Touch ID的資料,intel不理他,結果自己要另外設計一顆T2進去Mac裡?
整個換自家晶片的起始點,就是 Mac想客製化自己的晶片,符合自己Mac期望擁有的產品功能跟特色,讓自己不用受制於intel (外購廠商)的時間軸與提供的服務內容,自己搞自己的產品線。
蘋果設計晶片的總目的,就是要有自己終端產品最好的體驗,所以蘋果A/W/H/S/U/T開了一堆屬於自己產品線才會用的晶片。蘋果踢掉Intel真要只是想降成本,不考慮體驗跟未來自己產品的路線圖的需求,就一直外購便宜的晶片就好了。
在上述的大方向與需求下,一直在討論ARM跟x86誰的效能好,是哪裡有問題?
--
Using Numb3rs, we can solve the biggest mysteries we know