蘋果Mac開始換用自家芯片,對Intel而言無疑是個打擊。蘋果在去年的MacBook系列產品發布會上,提到自家M1芯片時,不忘大談相比前代MacBook產品,其CPU性能提升2.8倍;GPU性能提升5倍;比較的就是Intel處理器了。設備續航還提升到了20小時。
這些數字,就半導體行業摩爾定律停滯的現狀來看簡直不可思議。當然其對比內容、對比對象是值得商榷的。不過這樣的對比數字,蘋果并不是頭一回用了。在Mac還在用PowerPC處理器的年代(1999年),蘋果在宣傳中曾提過,PowerPC G3比當時的Intel奔騰II快2倍。如此似曾相識。
這個所謂快“2倍”的說法,大致可窺見蘋果在處理器理念上的一脈相承,即便當時的蘋果還沒有自己的芯片設計團隊。事實上,當時所謂的快2倍,是蘋果在發布會上對比Mac和Windows PC,分別采用PowerPC G3處理器和Intel奔騰II處理器,對比內容是雙方自動執行一組Photoshop任務。
演示中的那臺Mac能夠用Windows PC一半的時間,完成這些任務。這其中的關鍵在于,PowerPC G3多加了個AltiVec加速單元,這是個128bit矢量處理單元,可單周期內執行4路單精度浮點數學運算。Photoshop能夠充分利用這個單元,AltiVec效率比那時Intel的MMX擴展指令更高。
用簡單的話來說,就是依靠專用單元來實現性能和效率的碾壓。雖說PowerPC早就被x86打趴,但這個理念很大程度延續到了如今的蘋果芯片(包括A系列和M系列SoC),下面將從技術角度詳述,M1身上體現的這一點。
事實上,M1芯片的出現不僅讓x86陣營感到了白色恐怖,而且也對高通這樣的Arm陣營參與者構成了極大威脅。高通已經與微軟合作過兩代芯片(SQ1與SQ2)產品,且開推Surface Pro X(及其Windows 10 on Arm)兩年,卻在M1面前顯得不值一提。
本文是《Intel換了CEO能做蘋果M1那樣的芯片嗎?PC處理器大小核反擊戰》一文的姊妹篇,本文將從M1芯片的角度談談,蘋果是如何在技術上達成對Intel、高通,以及其他競爭對手的威懾的;并嘗試探討,蘋果為什么能做到這一點,以及Intel、高通這樣的競爭對手又能否做到這一點。本文除前兩部分之外,剩余部分皆可根據興趣選擇性閱讀。
碾壓Intel和高通
有關蘋果為什么要給MacBook換用自家芯片的問題,可能答案有很多,包括蘋果生態的全面掌控,以及出于對成本預算進一步的控制等。如果僅從處理器本身的性能和效率來看,AnandTech的一張圖基本上很好地回答了這個問題:
這張圖對比的是Intel與蘋果芯片,從2013年以來處理器的單線程性能變化趨勢(具體測試項為SPECint2006)。在過去5年里,Intel處理器產品的單線程性能提升了大約28%,而蘋果CPU則實現了198%的性能提升。或者說A14處理器單線程性能是A9的將近3倍。
M1與A14芯片共享了Firestorm大核,大致上可認為兩者有著接近的單線程性能(M1頻率高于A14,L2 cache也更大等)。2020年蘋果芯片性能,因此剛好形成了相較Intel處理器的剪刀叉趨勢。所以最新的MacBook開始采用自家芯片,就性能來看顯得順理成章。
事實上,蘋果在A7芯片(iPhone 5s)時期就宣稱,自家的Cyclone核心是“桌面級架構”。不過當時并沒有多少人在意。而且在M1出現之前,更多人還是堅定地認為,Arm處理器相較x86,只能做低功耗,而無法實現如同x86那樣的高性能。蘋果卻以實際行動證明了這個觀點的錯誤性。
不少對比測試提到,M1比Intel酷睿i9還彪悍,這話是否夸張了?我們來大致梳理一下,M1芯片相較x86和Arm面向PC的主流處理器,性能處在哪個水平上。
蘋果M1芯片本身的配置如下:
官方并未公布M1芯片的TDP(或大致功耗)。AnandTech測試認為M1的CPU TDP在20-24W。極客灣的測試也基本印證了其CPU TDP在25W左右(峰值功耗24W,日常峰值功耗在15W左右)。這個值未必是準確的,包括其中可能包含DRAM功耗,不過也八九不離十。
極客灣數據,GPU部分全速運轉峰值功耗在10W左右;整個M1芯片可達成的峰值功耗大約為34W。AnandTech則在測試中提到,GFXBench Aztec High測試出現過17.3W的功耗,這個測試應該很難反映GPU單獨占到了多少。整體上,這樣的功耗與TDP水平,大約與Intel、AMD的低壓處理器差不多。
AnandTech執行的測試項目比較多,這里僅選取SPEC2006/SPEC2017來闡明其實際性能。其SPECint2006整數性能測試,蘋果M1與AMD Zen 3接近;SPECfp2006浮點性能測試,M1有顯著更大的優勢。綜合下來,其性能綜合表現如下:
來源:AnandTech
需要注意,這是單線程性能成績。M1的這個成績顯著強于Intel十一代酷睿(同等TDP水平的酷睿i7-1185G7),以及酷睿i9-10900K(十代酷睿,Comet Lake-S),甚至比AMD Zen 3(Ryzen 9 5950X)還要強。
蘋果所說相比前代MacBook幾倍幾倍的提升,似乎完全沒在吹牛。SPEC2017測試結果與SPEC2006也差不多,不過M1和AMD Zen 3(Ryzen 9 5950X)互有勝負,M1整數性能整體不及Zen 3,浮點性能則反超。
這個對比還基于一個事實:M1大核的最高頻率僅為3.2GHz,而Intel十一代酷睿(i7-1185G7)的睿頻為4.8GHz,酷睿i9-10900K的睿頻更是能夠達到5.3GHz;AMD Zen 3(Ryzen 9 5950X)睿頻為4.9GHz。與M1相比,對比對象的功耗會明顯更高。
換句話說,蘋果M1事實上成為了如今CPU的IPC之王。IPC也就是每周期指令執行能力,或者說每Hz能干多少事。可見M1是能夠甩開目前最彪悍的x86處理器的。
來源:AnandTech
多核性能測試方面,受限于M1本身僅有4個大核與4個小核,與堆了8核心、10核心還支持超線程的那群大家伙自然無法相比。不過M1在性能方面仍然能夠碾壓Intel低壓版的十一代酷睿(i7-1185G7,4核8線程,睿頻4.8GHz,TDP 28W)。M1如果擴大核心數量和處理器規模,則要實現多線程性能奪冠,應該也不是難事。
其他測試結果大致相似,包括Geekbench 5單線程測試,M1輕松奪冠,超AMD Zen 3(Ryzen 9 5950X)和Intel酷睿i9-10900K;CineBench R23單線程性能略弱于AMD Zen 3,多線程性能比AMD Ryzen 4800U(Zen 2,8核16線程)弱大約15.6%,比Intel十一代酷睿(i7-1165G7,4核8線程)強60%。
蘋果為了實現M1芯片與x86軟件的兼容性,做了Rosetta 2中間轉譯層。如此一來,以前的x86軟件不需要改動,也能跑在M1芯片上。這種方案會令程序執行效率變低。即便有Rosetta 2轉譯,M1芯片跑傳統x86程序,其性能也可達到Intel八代酷睿的水平(對于AVX指令依賴較低的程序,M1+Rosetta 2性能與十代酷睿相似)。
因為篇幅關系,測試項細節無法展開分析。不過總結一句話就是:在同等核心規模的CPU中,蘋果M1芯片在跑常規性能測試時,能夠以低很多的功耗達成相比x86處理器更強的性能。同等規模下,全面干翻Intel完全不是問題,即便和AMD打得有來有回,也是AMD犧牲功耗換來的(在單核性能測試中,AMD Zen 3能到49W功耗水平,而蘋果M1為7-8W的整機功耗)。
前面這些都是與x86處理器相比,那么和同為Arm陣營的對手相比呢?微軟2019年發布了Surface Pro X,這臺設備搭載的是一枚叫做Microsoft SQ1的芯片,它實際上是高通驍龍8cx的馬甲;2020年更新了Surface Pro X二代,Microsoft SQ2芯片,也就是二代驍龍8cx。
微軟在Windows 10 on Arm的規劃上,比蘋果更早。高通驍龍8cx也成為M1芯片在Arm陣營的絕佳對比對象。Linus Tech Tips對驍龍8cx(二代)與M1芯片,做了性能測試對比。
來源:Linus Tech Tips,其中SQ2即為高通驍龍8cx二代
從Geekbench 5和CineBench R23的測試結果就很容易發現,M1可將驍龍8cx(Microsoft SQ2)按在地上摩擦。這兩者根本就不在一個性能水平線上,不過驍龍8cx的功耗水平應該也更低(雖然好像Surface Pro X的續航也沒比M1版MacBook Air優秀)。
比較具有諷刺意義的是,Linus Tech Tips嘗試用一些虛擬機的奇技淫巧,給M1版MacBook Air裝上了Windows 10 on Arm。然后用虛擬機里面的Windows來跑Geekbench 5,結果發現,其性能水平也遙遙領先于Surface Pro X,算是狠狠打了高通和微軟的耳光:
來源:Linus Tech Tips
這個測試也少了對于功耗的監測,不過它仍能說明M1芯片即便加個虛擬機中間層,跑別家操作系統,效率打個折扣,依然遠強于高通如今面向低功耗PC所推的競品。
除開性能,M1芯片的低功耗也已經有很多測試的先例了。在我上篇有關大小核設計的文章中也談到了M1足以驚掉x86處理器下巴的低功耗表現,幾乎所有日常使用場景,包括辦公、網頁瀏覽、閑置待機,功耗都比Intel和AMD同代競品低了幾個數量級:M1芯片網頁瀏覽功耗僅相當于十一代酷睿的1/6,視頻流播功耗則僅有十一代酷睿的15%,Word辦公功耗則相當于十一代酷睿的20%-30%......
蘋果究竟是如何做到拳打Intel/AMD,腳踢高通和Arm的?
要把芯片做大
前面這部分性能數據呈現,并未給出CPU之外其他部分的數據。包括蘋果的8核GPU,性能相比Intel最新的Xe核顯(十一代酷睿)都有顯著優勢,真實游戲性能可達到Geforce MX350的水平;以及AI專用單元、AMX等組成部分,鑒于篇幅皆不再展開。
標題說M1比Intel酷睿i9彪悍,這話雖不可一概而論——比如酷睿i9一定在多核性能表現上是優于M1的,畢竟處理器規模大很多。但作為一顆低壓處理器,實際使用中,M1的確在很多場景下能夠達到酷睿i9的水平。
比如Final Cut Pro剪視頻實時預覽和多種格式的編解碼;Xcode寫代碼直接秒殺iMac 2020高配版;即便是以負優化著稱的Adobe Premiere,M1都在很多項目上(而且還是Rosetta 2轉譯)足以對酷睿i9構成威脅。要知道M1和酷睿i9,前者定位便攜式設備,而后者定位工作站(i9-10900K)。
蘋果達成這個水平,究竟靠什么?很多人說是蘋果的軟硬件契合度高,這的確是個重要因素,但不夠具體。總結成三點,大致上是M1芯片超寬微架構;諸多專用單元的堆砌;蘋果超強的生態掌控力。
這幾點將在下文詳述。不過這幾點的外部表現就是,很大的芯片面積(die size),或者很多的晶體管數量。因為無論是超寬的處理器微架構,還是為某些功能做專用的硬件單元,都需要更多的die空間。蘋果自家芯片在A系列產品線上,就有超大die size的傳統。早在蘋果iPhone 5s時期,其芯片尺寸就比其他手機SoC大很多,有時大1倍(A11 Monsoon大核心加cache占地面積,比驍龍845的A75大核與cache大1倍還多)。
來源:AnandTech
如果單看die size的話,蘋果A7、A8用上4MB L3 cache之時,同時代的Cortex-A57/A72/A73都還沒有L3 cache,到A75才支持。更不要說蘋果喜歡堆超大的L2 cache,蘋果A11有著8MB L2 cache,可以用巨大來形容。高通驍龍835才3MB L2 cache,沒有L3 cache(2016-2017年)。
而且蘋果從幾年前就喜歡給整個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,是麒麟、驍龍這些移動陣營競爭對手的2-3倍。而Intel十一代酷睿Tiger Lake(i7-1185G7)的L3 cache也不過12MB。至于L2 cache,M1的Firestorm大核是12MB,小核都有4MB。移動陣營就不說了,Intel十一代酷睿L2 cache(i7-1185G7)為4x 1.25MB。作為對比,酷睿i9-10900K(十代酷睿)L2 cache 2.5MB(每核256KB),L3 cache 20MB。
(不過蘋果的cache設計和一般CPU似乎不大一樣,包括L2 cache共享;而且system cache在速度上應該也是比不上僅面向CPU的L3 cache的。)
L1 cache的巨型相較其他競品(如192KB的L1指令緩存,是Arm公版設計的3倍,x86現有設計的6倍;據說速度還很快),也就不需要再多談了。單就芯片上占地面積巨大的cache而言,蘋果都始終在規模上有著令人肝顫的堆料。當然cache大小并不能說明性能高低,而且大尺寸的存儲子系統易帶來更高的時延。但論消費電子應用處理器的堆料,在低壓處理器這個量級內,大概沒人能強過蘋果。下文還會詳述,“堆料”堆的可不只是cache。
那么Intel、AMD、高通這些競爭對手也這么堆料可行嗎?排除微架構上的一些限制不談,就商業模式而言,Intel、AMD和高通雖然也可以這么做,但卻非常不經濟。因為這樣堆料,意即die size的增加,也就意味著成本的急劇提升。芯片制造工藝的提升,一定程度也是為了在更小的die size內,實現更高的性能,并縮減成本。
蘋果之所以可以這么做,是因為蘋果最終面向用戶出售的是終端設備。比如一臺iPhone上,除了SoC芯片之外,還有屏幕、閃存、增值服務等。但面向用戶時,就只有一個終端設備價格。拋開iPhone一年幾億銷量,以及iPhone吃下整個手機市場大半的利潤不談,蘋果也可以在不同組件之間來權衡、抵消、轉嫁各種成本支出。iPad、MacBook也都可受惠于iPhone芯片設計的經驗,及iPhone巨大出貨量帶來的營收。
而Intel、AMD、高通這些企業出售的只是處理器,他們需要依靠處理器來獲取利潤。下游手機廠商要賺錢,上游IP供應商也要賺錢。在產業鏈各不同環節利潤疊加的情況下,成本控制顯得尤為重要。
此外,Intel的處理器不僅面向某一個型號的PC,而且面向不同價位的PC,以及其他市場,如服務器、數據中心。其中的核心IP很大程度上會復用,如果核心都做得很大很寬,對需求大量核心并行運算的使用場景而言,就會顯得尤為昂貴。所以單純以芯片制造商身份存在的這些企業,很難像蘋果這樣“不講武德”地堆料,因為其商業模式是根本不同的。
對于一般的芯片制造商而言,通過提升芯片頻率來獲得性能提升,而不是增大芯片面積、增加成本來獲得性能提升,顯然是更為經濟的方案。
在成本控制問題上,尤為值得一提的是,在前年《深度學習的興起,是通用計算的挽歌?》一文中,我曾提到芯片設計與制造的成本正在逐年攀升,尤其尖端制造工藝成本,包括建廠成本在內。即便不看技術限制,現有市場參與者也已經不可能再像過去那樣按照摩爾定律去迭代制造工藝。而這件事情對于Intel的影響,也遠大于對臺積電、三星的影響。因為Intel主要營收來源就是尖端工藝,臺積電和三星的早期制造工藝也是其重要的營收來源。
Intel在10nm與7nm難產的當口,將極易陷入惡性循環,不僅影響到其芯片產品的市場競爭力,而且可能會越來越遠離世界最尖端工藝工廠的稱謂。Intel如今背負的包袱,都會比蘋果、AMD、高通、三星這些不同層級的市場參與者都明顯更為沉重。
超寬的架構(選讀)
當然,“把芯片做大”只是結果,而不是目的。之所以芯片做大,除了更大的cache獲得更高的數據帶寬之外,還在于蘋果熱衷于超寬的處理器架構,以及還喜歡給SoC加各種專用單元。以下文字內容皆可選讀,面向輕度技術愛好者。
前文就提到蘋果M1以僅3.2GHz主頻,獲得了超過競爭對手5GHz頻率處理器的性能。那么M1的頻率若是提到5GHz,豈不是就逆天了?這一點恐怕是無法達成的,因為蘋果走的“寬”核心路線,將更不利于頻率提升,否則功耗也更容易崩邊。一般的,頻率提高,功耗會以頻率三次方的比例提高。所以那些以將近5GHz換得與M1差不多性能的處理器,也需要付出對應功耗的代價。
在iPhone 6s時代,蘋果A9及更早的處理器,普遍有著比市面上同期競品更低頻率的傳統。比如說蘋果A8是1.5GHz主頻,A9則為1.8GHz,而同期的Arm Cortex-A72頻率已經來到2.5GHz,A73則為2.8GHz。但蘋果處理器依然有默秒全的性能水準。這是因為蘋果一直以來都很喜歡搞“寬”核心,實現更高的指令并行度,也表現在IPC數字上(雖然現在的A系列處理器也來到了3GHz水平上)。
即每周期可做的事情更多,自然能夠以更低的頻率跑任務。高指令并行或者高IPC,要求更“寬”的處理器核心,比如每周期能同時讀取、解碼,執行或者回寫多條指令。提升指令并行度的方法有很多,當代處理器架構的一個重要因素就是亂序執行能力。也就是讓沒有依賴關系的指令可以亂序執行,后面的指令不必等到前面的指令執行完再執行。
不過亂序執行需要額外的電路,來解決很多可能會遭遇的實際問題,也就要求更多的芯片面積和功耗。而“拓寬”整個架構,比如提升每周期解碼指令的數量,許多的dispatch單元,增加更多的ALU執行單元,以增加指令并行度,都需要額外的芯片面積。
而且拓寬架構也并沒有那么簡單,如何讓拓寬的這些單元保持足夠高的利用率,而不是浪費資源也多有講究。但越寬的處理器架構,起碼是實現較高指令并行的基礎。
前文提到,對于Intel這樣的芯片制造商,很多時候通過提升處理器頻率來獲得性能提升,而不是增大芯片面積、拓寬芯片架構、增加成本來獲得性能提升,顯然是更為經濟的方案。更窄、更“深”的處理器架構,也更易于提升頻率。
蘋果M1芯片CPU部分的寬度,某種程度上達到了新高。下面這張圖來自AnandTech,是Andrei Frumusanu畫的Firestorm核心(即A14和M1大核心)架構框圖,是他結合研究與經驗得到的。現在流傳絕大部分有關Firestorm微架構的解讀應當都脫胎于此:
來源:AnandTech
其中有一些尤為值得一提的點。首先是前端8-wide指令解碼,這是什么概念呢?AnandTech評論其為目前行業內“最寬的商用設計”。AMD和Intel當代處理器指令解碼寬度普遍為4-wide(Intel為1+4);Arm這邊,解碼寬度主流是4-wide,今年主推的Cortex-X1為5-wide;傳說中超超超寬的三星M3(Exynos 9810),解碼寬度6-wide。
從AnandTech的研究來看,蘋果A11、A12的解碼寬度就達到了7-wide,A13步入8-wide大關。
其次是ROB(Re-order Buffer),也就是亂序執行的重排序buffer。Firestorm的ROB達到了630個條目(或者差不多630)。ROB越深,則一定程度上表明了具備更高的亂序度,也是更寬架構的寫照。與此相比,Intel的十一代酷睿(Willow Cove)ROB為352條目,AMD Zen 3為256條目,Arm Cortex-X1為224條目。看起來高度指令并行就是蘋果要達到的。
Firestorm的后端執行引擎部分也非常“寬”。整數管線部分,重命名物理寄存器堆(INT Rename PRF)大小約354條目,算術運算“至少”7個執行端口,包括4個簡單ALU(ADD指令),2個復雜ALU(MUL),以及一個專用整數除法單元。核心每周期可處理2個分支。
不過整數管線部分“變化不大”,浮點與矢量執行管線部分是Firestorm的重點。前文也提到了在性能測試里,M1的浮點運算能力相比競爭對手有較大優勢。Firestorm增加了第四條執行管線,浮點重命名寄存器為384條目,也“相當之大”。4條128bit NEON管線,和AMD、Intel桌面處理器現有吞吐一致。浮點操作吞吐與管線數為1:1的關系,意即Firestorm核心每周期能夠執行4個FADD(浮點加法)操作和4個FMUL(浮點乘法)操作,分別3與4周期延遲,是Intel處理器每周期吞吐的四倍,Zen 3的兩倍。
AnandTech評論說,這可能是蘋果在瀏覽器測試中表現如此之優秀的原因。如今PC上的一個很重要的應用就是web瀏覽,這大約也是蘋果意識到的用戶需求迫切的一大應用場景吧。此外矢量執行能力不變,浮點除法、倒數、平方根操作吞吐較低。
最后是存儲子系統部分,比較值得一提的是load-store前端,最高可以達到148-154個load與106 store,比市面上任何微架構都要寬。與此對比,AMD Zen 3這兩個數字分別是44和64,Intel十代酷睿(Sunny Cove)分別為128和72。
而L1 TLB(translation lookaside buffer,一種頁表的cache,是一個內存管理單元,用于提升虛擬地址到物理地址轉換速度)翻倍至256 pages,L2 TLB提至3072 pages。L2 TLB因此能夠覆蓋48MB cache。緩存部分的提升,以及與其他競品的對比,這里不再贅述——本文前一個段落已經做了解釋。
只不過前面提到的這些并不是一蹴而就的。在iPhone Xs時期,蘋果A12的Vortex核心在寬度上就已經有了桌面級CPU的規模,相比當時的Arm Cortex-A76和三星M3,都要寬上不少,無論是執行管線還是存儲子系統。所以M1如今的這種超寬架構,也算是蘋果芯片的一脈相承了。
引入更多專用單元(選讀)
《深度學習的興起,是通用計算的挽歌?》一文已經提到隨摩爾定律放緩,通用處理器性能提升變慢,為保證滿足應用對性能增長的需求,專用處理器是一條更能走得通的路。實踐證明,這兩年的這一趨勢也愈發顯著。
本文文首已經提到,PowerPC G3在對戰Intel奔騰II時“2倍”速度就是依靠某個專用單元達成的。蘋果的這種思路似乎早年就埋下了。
此前Geekbench測試工具經常被人戲稱為Apple Bench,原因是很多人認為其中的某些測試項明擺著是給蘋果和Arm專門設計的,而對x86非常不友好。多年前Linux之父Linus Torvalds曾評論Geekbench is sh*t. 原因是在Arm64架構處理器上,SHA1性能有專用硬件輔助,Arm處理器跑分因此就很好看。
在Geekbench 5單核性能測試里,M1的加密子項得分依然非常高,遠高于酷睿i9-10990K。這是此前很多人認為,Arm靠這種方式來騙分,并認定Arm在高性能上做不到x86處理器的依據。不過這次Geekbench 5其他項目,比如整數、浮點性能,M1也能碾壓酷睿i9(十代酷睿)。而且專用硬件單元輔助某個項目,本質上對于體驗也是有幫助的。
類似的情況在蘋果當代芯片上相當常見。比如用iPad(A14)和MacBook(M1芯片)做視頻剪輯(尤其是Final Cut Pro),其體驗和效率就遠超Windows PC(Intel酷睿)。
這是基于M1芯片中的編解碼器強過市面上絕大部分GPU(在Handbrake的硬件H.265測試里,M1的編碼模塊表現出對Intel和AMD的徹底碾壓);外加M1之上的AI專用處理器也參與畫面分析,專門的ISP(圖像處理器)可執行 ProRes RAW格式的demosaic運算;而且M1內部還集成了SSD主控,對于I/O敏感操作也有幫助。
所以對于經常需要剪視頻的人來說,M1簡直太適配了。同理還有碼農、攝影師,以及單純的視頻娛樂用戶等。
這些都建立在M1作為一顆SoC,以更多專用單元來解決具體問題的基礎上。雖說專用單元彈性欠缺,但蘋果很清楚MacBook目標用戶群日常都拿設備來做什么。有針對性地優化專用單元,并且提升特定使用場景下的操作體驗,達成性能和效率(功耗表現)的雙重提升。這也印證了通用計算裹足不前時,靠專用計算就是個重要方向,雖然未必得是專用處理器。
這些專用單元的存在,其本質在我看來,與Intel為酷睿增加AVX-512指令支持并無太大區別。無論說這些專用單元是“刷分”利器也好(甚至有人說system cache也是刷分利器),是奇技淫巧也好,它們都實實在在地發揮了作用。
這其中再度迸發的一個問題是,既然超寬架構和專用單元這么好,Intel和AMD為什么不做呢?其中的原因大概是多種多樣的,而且Intel、AMD事實上也的確在朝著這些方向努力。或許更重要的一點在這兩個選項,仍是以增加die size為基礎的,參見文本第二部分。
還有一些現實問題,比如說具體到在CPU前端解碼寬度問題上,x86這種變長指令,指令長度在1-15 bytes之間,而Arm為4 bytes定長指令。這也就意味著x86的解碼器很難搞清楚一條指令究竟從哪里開始,需要對每條指令做長度分析。X86處理器在解碼階段因此要處理不少錯誤,AMD曾經談到過增加更多解碼器會導致更多的問題,而4-wide解碼寬度成為其設計的一個限制。
恐怖的生態掌控力
從芯片設計,到操作系統,到開發生態,到消費終端設備設計制造,甚至到銷售,蘋果都一手掌控。這在整個業界怕都是絕無僅有的(三星似乎欠缺十分重要的操作系統環節)。其促成的商業模式,也是蘋果可以如此在M1和Firestorm核心上任意妄為的基礎,這在前文中就已經提過了。
而除了處理器本身的微架構,在更上層的系統設計以及軟件架構上,蘋果也有相當的話語權。M1設計上的一個典型代表是封裝在一起的DRAM內存,采用一種叫Unified Memory Architecture技術。CPU和GPU使用內存時,不必再區隔不同空間,也就不需要在雙方互通時進行內存拷貝這樣的操作,實現更低的延遲和更高的吞吐。
(順帶一提:單核Firestorm也達到了58GB/s的讀取帶寬,33-36GB/s寫入帶寬,除了表現出色外 ,AnandTech評論“單核填滿內存控制器這種設計令人震驚,我們之前也從未見到過”。)
這種設計并不新穎,AMD早年也做過類似的技術,但并未得到普及。這種設計對于軟件開發有新的要求。蘋果牢固的開發生態掌控力,應付這種事應該也只是件小事。對Windows PC不同市場參與者分而治之的局面來說,這件事就顯然沒那么容易了。
與此同時,還能夠顯現蘋果生態掌控力牢固的一點在于蘋果十分輕易地在M1芯片上換用自家GPU。“原生代碼”在圖形計算一側就顯得沒那么重要,蘋果的Metal API可以直接為蘋果GPU準備就緒,意即蘋果圖形計算方面的儲備可在M1及現有生態上,立刻發揮作用。(雖然Metal相比DirectX,似乎在軟件效率上還是弱了點)
微軟在Windows 10 on Arm的生態部署上就萬般掣肘,這雖然和微軟自身舉棋不定的決策力也有關。但在Arm版Windows出現這么久,也沒有像樣的生態構建起來,Windows開發者對于Windows Runtime也意興闌珊,就能表現出蘋果在這次轉舵中的決絕和生態構建的超級速度。
前一陣傳言微軟決定自研芯片,用于將來的Surface。個人感覺這條信息的可信度不大,因為微軟不像蘋果那樣,有數億出貨量的設備可為其分擔芯片的設計和制造成本,尤其是尖端工藝的制造成本。要知道沒有大量出貨來分攤成本,以Surface的量是走不起尖端工藝的。但這條消息的出現也表明,蘋果在M1及其周邊生態的打造上,有多成功。
只不過蘋果的這種模式與生態,究其根本也依托于消費電子終端設備的銷量。若哪一日iPhone銷量大幅下滑,則芯片業務與周邊生態也將很快難以為繼。分而治之的生態便沒有如此脆弱。
用一句悲觀的話來總結本文:Windows PC陣營恐怕很難出現蘋果M1那樣的芯片。不過這并沒有什么大不了,畢竟是兩個生態:看隔壁Android陣營也從不因為iPhone賣得多好,各參與者就亂了方寸。
參考來源:
[1] The 2020 Mac Mini Unleashed: Putting Apple Silicon M1 To The Test - AnandTech
https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested
[2] Apple Annouces The Apple Silicon M1: Ditching x86 - What to Expect, Based on A14 - AnandTech
https://www.anandtech.com/show/16226/apple-silicon-m1-a14-deep-dive
[3] How did Microsoft screw this up? - Surface Pro X (SQ2) vs M1 Macbook Air - Linus Tech Tips
https://www.youtube.com/watch?v=OhESSZIXvCA
編輯:hfy
-
處理器
+關注
關注
68文章
19168瀏覽量
229153 -
高通
+關注
關注
76文章
7442瀏覽量
190363 -
intel
+關注
關注
19文章
3480瀏覽量
185755 -
半導體行業
+關注
關注
9文章
403瀏覽量
40473 -
M1芯片
+關注
關注
0文章
21瀏覽量
5078
發布評論請先 登錄
相關推薦
評論