輾壓對手?Apple處理器到底強在哪裡?

作者 : 黃燁鋒,EE Times China

本文將從M1晶片的角度談談Apple是如何在技術上達成對Intel、Qualcomm,以及其他競爭對手的威懾的;並嘗試探討Apple為什麼能做到這一點,其競爭對手又能否做到這一點?

Apple Mac系列PC開始換用自家晶片,對Intel而言無疑是個打擊。Apple在2020年的MacBook系列產品發佈會上提到自家M1晶片時不忘強調,相較前代MacBook產品,其CPU性能提升2.8倍、GPU性能提升5倍;這比較的就是Intel處理器了,而設備續航力還提升到了20小時。

這些數字就半導體產業摩爾定律停滯的現狀來看簡直不可思議。當然,其對比的內容與對象是值得商榷的,不過這樣的對比數字Apple並不是頭一回用──在Mac還採用PowerPC處理器的年代(1999年),Apple在宣傳中曾提過,PowerPC G3比當時的Intel奔騰(Pentium) II快2倍…如此似曾相識。

這個所謂「快2倍」的說法,大致可窺見Apple在處理器理念上的一脈相承;即便當時的Apple還沒有自己的晶片設計團隊。事實上,當時所謂的「快2倍」,是Apple在發佈會上對比Mac和Windows PC,分別採用PowerPC G3處理器和Intel Pentium II處理器,對比內容是雙方自動執行一組Photoshop任務。

所展示的Mac能夠用Windows PC一半的時間完成這些任務,其中的關鍵在於PowerPC G3多加了個AltiVec加速單元。這是個128bit向量處理單元,可單週期內執行4路單精確度浮點數學運算。Photoshop能夠充分利用這個單元,AltiVec效率比那時Intel的MMX擴展指令更高。

用簡單的話來說,就是依靠專用單元來實現性能和效率的碾壓。雖說PowerPC早就被x86打趴,但這個理念很大程度延續到了如今的Apple晶片(包括A系列和M系列SoC);以下將從技術詳述M1所體現的這一點。

事實上,M1晶片的出現不僅讓x86陣營感到「恐怖」,ㄌ也對高通(Qualcomm)這樣的Arm陣營參與者構成了極大威脅。Qualcomm已經與微軟(Microsoft)合作過兩代晶片(SQ1與SQ2)產品,導入Surface Pro X (及其Windows 10 on Arm)兩年,卻在M1面前顯得不值一提。

碾壓Intel與Qualcomm

究竟Apple為什麼要給MacBook換用自家晶片?可能答案有很多,包括Apple生態的全面掌控,以及出於對成本預算進一步的控制等。如果僅從處理器本身的性能和效率來看,PC硬體網站《AnandTech》的一張圖片充分回答了這個問題:

 

 

這張圖對比的是Intel與Apple處理器從2013年以來的單執行緒性能變化趨勢(具體測試項為SPECint2006);在過去5年,Intel處理器產品的單執行緒性能提升了大約28%,而AppleCPU則實現了198%的性能提升,或者說A14處理器單執行緒性能是A9的將近3倍。

M1與A14晶片共用了Firestorm大核心,大致上可認為兩者有著接近的單執行緒性能(M1頻率高於A14,L2 cache也更大等)。2020年Apple晶片性能剛好形成了與相較Intel處理器的交叉趨勢;所以最新的MacBook開始採用自家晶片,就性能來看顯得順理成章。

事實上,Apple在A7晶片(iPhone 5s)時期就宣稱自家的Cyclone核心是「桌上型等級架構」,不過當時並沒有多少人在意。而且在M1出現之前,更多人還是堅定地認為,Arm處理器相較x86只能做低功耗,而無法實現如同x86那樣的高性能,Apple卻以實際行動證明了這個觀點的錯誤性。

不少對比測試提到,M1比Intel酷睿(Core) i9還彪悍,這話是否誇張了?我們來大致梳理一下,M1晶片相較x86和Arm針對PC的主流處理器,性能處在哪個水準上。

Apple官方並未公佈M1晶片的TDP (或大致功耗),《AnandTech》測試認為M1的CPU TDP在20-24W。《極客灣》(Geekerwan)的測試也基本印證了其CPU TDP在25W左右(峰值功耗24W,日常峰值功耗在15W左右)。這個值未必是準確的,包括其中可能包含DRAM功耗,不過也八九不離十。

《極客灣》資料,GPU部分全速運轉峰值功耗在10W左右;整個M1晶片可達成的峰值功耗大約為34W。《AnandTech》則在測試中提到,GFXBench Aztec High測試出現過17.3W的功耗,這個測試應該很難反映GPU單獨占到了多少。整體上,這樣的功耗與TDP水準,大約與Intel、AMD的低壓處理器差不多。

《AnandTech》執行的測試項目比較多,這裡僅選取SPEC2006/SPEC2017來闡明其實際性能。其SPECint2006整數性能測試,AppleM1與AMD Zen 3接近;SPECfp2006浮點性能測試,M1有顯著更大的優勢。綜合下來,其性能綜合表現如下:

 

(來源:AnandTech)

 

需要注意,這是單執行緒性能成績。M1的這個成績顯著強於Intel十一代Core (同等TDP水準的Corei7-1185G7),以及Core i9-10900K (十代Core,Comet Lake-S),甚至比AMD Zen 3 (Ryzen 9 5950X)還要強。

Apple所說相比前代MacBook幾倍幾倍的提升,似乎完全沒在吹牛。SPEC2017測試結果與SPEC2006也差不多,不過M1和AMD Zen 3 (Ryzen 9 5950X)互有勝負,M1整數性能整體不及Zen 3,浮點性能則反超。

這個對比還基於一個事實:M1大核的最高頻率僅為3.2GHz,而Intel十一代Core (i7-1185G7)的睿頻為4.8GHz,Corei9-10900K的睿頻(Turbo Boost)更是能夠達到5.3GHz;AMD Zen 3 (Ryzen 9 5950X)睿頻為4.9GHz。與M1相比,對比物件的功耗會明顯更高。

換句話說,AppleM1事實上成為了如今CPU的IPC之王。IPC也就是每週期指令執行能力,或者說每Hz能幹多少事。可見M1是能夠甩開目前最彪悍的x86處理器的。

 

(來源:AnandTech)

 

多核心性能測試方面,受限於M1本身僅有4個大核心與4個小核心,與堆了8核心、10核心還支援超執行緒的那群大傢伙自然無法相比。不過M1在性能方面仍然能夠碾壓Intel低壓版的十一代Core (i7-1185G7,4核心8執行緒,睿頻4.8GHz,TDP 28W)。M1如果擴大核心數量和處理器規模,則要實現多執行緒性能奪冠,應該也不是難事。

其他測試結果大致相似,包括Geekbench 5單執行緒測試,M1輕鬆奪冠,超AMD Zen 3 (Ryzen 9 5950X)和IntelCorei9-10900K;CineBench R23單執行緒性能略弱於AMD Zen 3,多執行緒性能比AMD Ryzen 4800U (Zen 2,8核心16執行緒)弱大約15.6%,比Intel十一代Core (i7-1165G7,4核心8執行緒)強60%。

Apple為了實現M1晶片與x86軟體的相容性,做了Rosetta 2中間轉譯層。如此一來,以前的x86軟體不需要改動,也能跑在M1晶片上。這種方案會令程式執行效率變低。即便有Rosetta 2轉譯,M1晶片跑傳統x86程式,其性能也可達到Intel八代Core的水準(對於AVX指令依賴較低的程式,M1+Rosetta 2性能與十代Core相似)。

因為篇幅關係,測試項細節無法展開分析。不過總結一句話就是:在同等核心規模的CPU中,AppleM1晶片在跑常規性能測試時,能夠以低很多的功耗達成相比x86處理器更強的性能。同等規模下,全面幹翻Intel完全不是問題,即便和AMD打得有來有回,也是AMD犧牲功耗換來的(在單核心性能測試中,AMD Zen 3能到49W功耗水準,而AppleM1為7-8W的整機功耗)。

前面這些都是與x86處理器相比,那麼和同為Arm陣營的對手相比呢?Microsoft在2019年發佈了Surface Pro X,這台設備搭載的是一枚叫做Microsoft SQ1的晶片,它實際上是Qualcomm Snapdragon 8cx的「馬甲」;2020年更新了Surface Pro X二代,Microsoft SQ2晶片,也就是二代Snapdragon 8cx。

Microsoft在Windows 10 on Arm的規劃上比Apple更早,Qualcomm Snapdragon 8cx也成為M1晶片在Arm陣營的絕佳對比對象。Linus Tech Tips對Snapdragon 8cx (二代)與M1晶片做了性能測試對比。

 

來源:Linus Tech Tips;其中SQ2即為QualcommSnapdragon8cx二代

 

從Geekbench 5和CineBench R23的測試結果就很容易發現,M1可將Snapdragon 8cx (Microsoft SQ2)按在地上摩擦。這兩者根本就不在一個性能水平線上,不過Snapdragon 8cx的功耗水準應該也更低(雖然好像Surface Pro X的續航也沒比M1版MacBook Air優秀)。

比較具有諷刺意義的是,Linus Tech Tips嘗試用一些虛擬機器的奇技淫巧,給M1版MacBook Air裝上了Windows 10 on Arm。然後用虛擬機器裡面的Windows來跑Geekbench 5,結果發現,其性能水準也遙遙領先於Surface Pro X,算是狠狠打了Qualcomm和Microsoft的耳光:

(來源:Linus Tech Tips)

 

這個測試也少了對於功耗的監測,不過它仍能說明M1晶片即便加個虛擬機器中間層,跑別家作業系統,效率打個折扣,依然遠遠強過Qualcomm如今針對低功耗PC所推的競爭產品。

除開性能,M1晶片的低功耗也已經有很多測試的先例了。在我上篇有關大小核心設計的文章中也談到了M1足以嚇掉x86處理器下巴的低功耗表現,幾乎所有日常使用場景,包括辦公、網頁瀏覽、閒置待機,功耗都比Intel和AMD同代競爭產品低了幾個數量級:M1晶片網頁流覽功耗僅相當於十一代Core的1/6,視訊串流播放功耗則僅有十一代Core的15%,Word辦公功耗則相當於十一代Core的20%~30%…

Apple究竟是如何做到拳打Intel/AMD,腳踢Qualcomm和Arm的?

把晶片做大

前面這部分性能資料呈現,並未給出CPU之外其他部分的資料。包括Apple的8核心GPU,性能相比Intel最新的Xe核心顯(十一代Core)都有顯著優勢,真實遊戲性能可達到Geforce MX350的水準;以及AI專用單元、AMX等組成部分,鑒於篇幅皆不再展開。

標題說M1比Intel Core i9彪悍,這話雖不可一概而論——比如Core i9一定在多核心性能表現上是優於M1的,畢竟處理器規模大很多。但作為一顆低壓處理器,實際使用中,M1的確在很多場景下能夠達到Core i9的水準。

比如Final Cut Pro剪視訊即時預覽和多種格式的編解碼;Xcode寫代碼直接秒殺iMac 2020高配版;即便是以負優化著稱的Adobe Premiere,M1都在很多項目上(而且還是Rosetta 2轉譯)足以對Core i9構成威脅。要知道M1和Corei 9,前者定位可攜式裝置,而後者定位工作站(i9-10900K)。

Apple達成這個水準,究竟靠什麼?很多人說是Apple的軟硬體契合度高,這的確是個重要因素,但不夠具體。總結成三點,大致上是M1晶片超寬微架構;諸多專用單元的堆砌;Apple超強的生態掌控力。

這幾點將在下文詳述。不過這幾點的外部表現就是,很大的晶片面積(die size),或者很多的電晶體數量。因為無論是超寬的處理器微架構,還是為某些功能做專用的硬體單元,都需要更多的die空間。Apple自家晶片在A系列產品線上,就有超大die size的傳統。早在AppleiPhone 5s時期,其晶片尺寸就比其他手機SoC大很多,有時大1倍(A11 Monsoon大核心心加cache占地面積,比Snapdragon 845的A75大核心與cache大1倍還多)。

 

(來源:AnandTech)

 

如果單看die size的話,AppleA7、A8用上4MB L3 cache之時,同時代的Cortex-A57/A72/A73都還沒有L3 cache,到A75才支持。更不要說Apple喜歡堆超大的L2 cache,AppleA11有著8MB L2 cache,可以用巨大來形容。Qualcomm Snapdragon 835才3MB L2 cache,沒有L3 cache (2016~2017年)。

而且Apple從幾年前就喜歡幫整個SoC晶片加system cache (或者叫System Level Cache -SLC,Arm公版設計現在普遍也有了)。這種system cache屬於整個SoC等級的cache,在SoC的各個IP (如CPU、GPU、NPU等)之間共用。A12的system cache就達到了8MB,相比A11多了一倍。

A14與M1的system cache目前是16MB,是麒麟、Snapdragon這些移動陣營競爭對手的2-3倍。而Intel十一代CoreTiger Lake(i7-1185G7)的L3 cache也不過12MB。至於L2 cache,M1的Firestorm大核心是12MB,小核心都有4MB (不過Apple的cache設計和一般CPU似乎不大一樣,包括L2 cache共用;而且system cache在速度上應該也是比不上僅針對CPU的L3 cache的)。行動陣營就不說了,Intel十一代Core L2 cache (i7-1185G7)為4x 1.25MB。作為對比,Corei9-10900K (十代Core) L2 cache 2.5MB (每核心256KB),L3 cache 20MB。

L1 cache的巨大相較其他競爭產品(如192KB的L1指令緩衝記憶體,是Arm公版設計的3倍,x86現有設計的6倍;據說速度還很快),也就不需要再多談了。單就晶片上佔地面積巨大的cache而言,Apple都始終在規模上有著令人肝顫的堆料。當然cache大小並不能說明性能高低,而且大尺寸的記憶體子系統易帶來更高的時延。但論消費性電子應用處理器的堆料,在低壓處理器這個量級內大概沒人能強過Apple。下文還會詳述,「堆料」堆的可不只是cache。

 

 

那麼Intel、AMD、Qualcomm這些競爭對手也這麼堆料可行嗎?排除微架構上的一些限制不談,就商業模式而言,Intel、AMD和Qualcomm雖然也可以這麼做,卻非常不經濟。因為這樣堆料意即die size的增加,也就意味著成本的急遽提升。晶片製程技術的提升在一定程度上也是為了在更小的die size內實現更高的性能,並縮減成本。

Apple之所以可以這麼做,是因為Apple最終對用戶出售的是終端設備。比如一台iPhone上,除了SoC晶片之外,還有螢幕、快閃記憶體、加值服務等。針對用戶時就只有一個終端設備價格,拋開iPhone一年幾億銷量,以及iPhone吃下整個手機市場大半的利潤不談,Apple也可以在不同元件之間來權衡、抵銷、轉嫁各種成本支出。iPad、MacBook也都可受惠於iPhone晶片設計的經驗,及iPhone巨大出貨量帶來的營收。

而Intel、AMD、Qualcomm這些企業出售的只是處理器,他們需要依靠處理器來獲取利潤。下游手機廠商要賺錢,上游IP供應商也要賺錢。在產業鏈各不同環節利潤疊加的情況下,成本控制顯得尤為重要。

此外,Intel的處理器不僅針對某一個型號的PC,而且針對不同價位的PC以及其他市場,如伺服器、資料中心。其中的核心IP很大程度上會重複使用,如果核心都做得很大很寬,對需求大量核心平行運算的使用情境而言就會顯得尤其昂貴。所以單純以晶片製造商身份存在的這些業者,很難像Apple這樣「不講武德」地堆料,因為其商業模式是根本不同的。

對於一般的晶片製造商而言,透過提升晶片頻率來獲得性能提升,而不是增大晶片面積、增加成本來獲得性能提升,顯然是更為經濟的方案。在成本控制問題上,晶片設計與製造的成本正逐年攀升,尤其尖端製程成本,包括建廠成本在內。

即便不看技術限制,現有市場參與者也已經不可能再像過去那樣按照摩爾定律去升級製程,而這件事情對於Intel的影響,也遠大於對台積電(TSMC)、三星(Samsung)的影響。因為Intel主要營收來源就是尖端製程,台積電和三星的較舊製程也是重要的營收來源。

Intel在10奈米(nm)、7奈米製程難產的當口,將會很容易陷入惡性循環,不僅影響到其晶片產品的市場競爭力,而且可能會越來越遠離世界最尖端製程工廠的稱謂。Intel如今背負的包袱,明顯會比Apple、AMD、Qualcomm、三星這些不同層級的市場參與者更沉重。

恐怖的生態掌控力

從晶片設計、作業系統、開發生態,到消費性終端產品設計製造,甚至到銷售,Apple都一手掌控,這在整個業界恐怕是絕無僅有的(三星似乎欠缺十分重要的作業系統);其促成的商業模式,也是Apple可以如此在M1和Firestorm核心上「任意妄為」的基礎。

除了處理器本身的微架構,在更上層的系統設計以及軟體架構上,Apple也有相當的話語權。M1設計上的一個典型代表是封裝在一起的DRAM,採用一種叫Unified Memory Architecture技術。CPU和GPU使用記憶體時,不必再區隔不同空間,也就不需要在雙方互通時進行記憶體拷貝這樣的操作,實現更低的延遲和更高的吞吐。

(順帶一提:單核心Firestorm也達到了58GB/s的讀取頻寬,33-36GB/s寫入頻寬,除了表現出色外,《AnandTech》評論「單核心填滿記憶體控制器這種設計令人震驚,我們之前也從未見過。」)

 

 

這種設計並不新穎,AMD早年也做過類似的技術,但並未普及。這種設計對於軟體發展有新的要求。Apple牢固的開發生態掌控力,應付這種事應該也只是件小事。對Windows PC不同市場參與者分而治之的局面來說,這件事就顯然沒那麼容易了。

與此同時,還能夠顯現Apple生態掌控力牢固的一點在於Apple十分輕易地在M1晶片上換用自家GPU。「原生代碼」在繪圖運算一側就顯得沒那麼重要,Apple的Metal API可以直接為Apple GPU準備就緒,意即Apple繪圖運算方面的儲備可在M1及現有生態上立刻發揮作用(雖然Metal相比Direct X似乎在軟體效率上還是弱了點…)。

Microsoft在Windows 10 on Arm的生態部署上就萬般掣肘,這雖然和Microsoft自身舉棋不定的決策力也有關。但在Arm版Windows出現這麼久,也沒有像樣的生態構建起來,Windows開發者對於Windows Runtime也意興闌珊,就能表現出Apple在這次轉舵中的決絕和生態構建的超級速度。

前一陣傳言Microsoft決定自研晶片,用於將來的Surface。個人感覺這條資訊的可信度不大,因為Microsoft不像Apple那樣,有數億出貨量的設備可為其分擔晶片的設計和製造成本,尤其是尖端工藝的製造成本。要知道沒有大量出貨來分攤成本,以Surface的量是走不起尖端製程的。但這條消息的出現也表明,Apple在M1及其周邊生態的打造上有多成功。

只不過Apple的這種模式與生態,究其根本也依託於消費性電子終端設備的銷量。若哪一日iPhone銷量大幅下滑,則晶片業務與周邊生態也將很快難以為繼。分而治之的生態便沒有如此脆弱。

用一句悲觀的話來總結本文:Windows PC陣營恐怕很難出現AppleM1那樣的晶片。不過這並沒有什麼大不了,畢竟是兩個生態:看隔壁Android陣營也從不因為iPhone賣得多好,各參與者就亂了方寸。

本文摘錄於EE Times China網站

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論