《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電子元件 > 業(yè)界動(dòng)態(tài) > 蘋果為什么能打趴Intel和高通,?M1戰(zhàn)酷睿i9/驍龍8cx

蘋果為什么能打趴Intel和高通?M1戰(zhàn)酷睿i9/驍龍8cx

2021-01-21
來源: 電子工程專輯
關(guān)鍵詞: 蘋果 Intel 高通

  蘋果Mac開始換用自家芯片,,對(duì)Intel而言無疑是個(gè)打擊,。蘋果在去年的MacBook系列產(chǎn)品發(fā)布會(huì)上,提到自家M1芯片時(shí),,不忘大談相比前代MacBook產(chǎn)品,其CPU性能提升2.8倍,;GPU性能提升5倍,;比較的就是Intel處理器了。設(shè)備續(xù)航還提升到了20小時(shí),。

  這些數(shù)字,,就半導(dǎo)體行業(yè)摩爾定律停滯的現(xiàn)狀來看簡(jiǎn)直不可思議。當(dāng)然其對(duì)比內(nèi)容、對(duì)比對(duì)象是值得商榷的,。不過這樣的對(duì)比數(shù)字,,蘋果并不是頭一回用了。在Mac還在用PowerPC處理器的年代(1999年),,蘋果在宣傳中曾提過,,PowerPC G3比當(dāng)時(shí)的Intel奔騰II快2倍。如此似曾相識(shí),。

  1.png

  這個(gè)所謂快“2倍”的說法,,大致可窺見蘋果在處理器理念上的一脈相承,即便當(dāng)時(shí)的蘋果還沒有自己的芯片設(shè)計(jì)團(tuán)隊(duì),。事實(shí)上,,當(dāng)時(shí)所謂的快2倍,是蘋果在發(fā)布會(huì)上對(duì)比Mac和Windows PC,,分別采用PowerPC G3處理器和Intel奔騰II處理器,,對(duì)比內(nèi)容是雙方自動(dòng)執(zhí)行一組Photoshop任務(wù)。

  演示中的那臺(tái)Mac能夠用Windows PC一半的時(shí)間,,完成這些任務(wù),。這其中的關(guān)鍵在于,PowerPC G3多加了個(gè)AltiVec加速單元,,這是個(gè)128bit矢量處理單元,,可單周期內(nèi)執(zhí)行4路單精度浮點(diǎn)數(shù)學(xué)運(yùn)算。Photoshop能夠充分利用這個(gè)單元,,AltiVec效率比那時(shí)Intel的MMX擴(kuò)展指令更高,。

  用簡(jiǎn)單的話來說,就是依靠專用單元來實(shí)現(xiàn)性能和效率的碾壓,。雖說PowerPC早就被x86打趴,,但這個(gè)理念很大程度延續(xù)到了如今的蘋果芯片(包括A系列和M系列SoC),下面將從技術(shù)角度詳述,,M1身上體現(xiàn)的這一點(diǎn),。

  2.png

  事實(shí)上,M1芯片的出現(xiàn)不僅讓x86陣營感到了白色恐怖,,而且也對(duì)高通這樣的Arm陣營參與者構(gòu)成了極大威脅,。高通已經(jīng)與微軟合作過兩代芯片(SQ1與SQ2)產(chǎn)品,且開推Surface Pro X(及其Windows 10 on Arm)兩年,,卻在M1面前顯得不值一提,。

  本文是《Intel換了CEO能做蘋果M1那樣的芯片嗎?PC處理器大小核反擊戰(zhàn)》一文的姊妹篇,,本文將從M1芯片的角度談?wù)?,蘋果是如何在技術(shù)上達(dá)成對(duì)Intel、高通,以及其他競(jìng)爭(zhēng)對(duì)手的威懾的,;并嘗試探討,,蘋果為什么能做到這一點(diǎn),以及Intel,、高通這樣的競(jìng)爭(zhēng)對(duì)手又能否做到這一點(diǎn),。本文除前兩部分之外,剩余部分皆可根據(jù)興趣選擇性閱讀,。

  碾壓Intel和高通

  有關(guān)蘋果為什么要給MacBook換用自家芯片的問題,,可能答案有很多,包括蘋果生態(tài)的全面掌控,,以及出于對(duì)成本預(yù)算進(jìn)一步的控制等,。如果僅從處理器本身的性能和效率來看,AnandTech的一張圖基本上很好地回答了這個(gè)問題:

3.png

  這張圖對(duì)比的是Intel與蘋果芯片,,從2013年以來處理器的單線程性能變化趨勢(shì)(具體測(cè)試項(xiàng)為SPECint2006),。在過去5年里,Intel處理器產(chǎn)品的單線程性能提升了大約28%,,而蘋果CPU則實(shí)現(xiàn)了198%的性能提升,。或者說A14處理器單線程性能是A9的將近3倍,。

  M1與A14芯片共享了Firestorm大核,,大致上可認(rèn)為兩者有著接近的單線程性能(M1頻率高于A14,L2 cache也更大等),。2020年蘋果芯片性能,,因此剛好形成了相較Intel處理器的剪刀叉趨勢(shì)。所以最新的MacBook開始采用自家芯片,,就性能來看顯得順理成章,。

  事實(shí)上,蘋果在A7芯片(iPhone 5s)時(shí)期就宣稱,,自家的Cyclone核心是“桌面級(jí)架構(gòu)”,。不過當(dāng)時(shí)并沒有多少人在意。而且在M1出現(xiàn)之前,,更多人還是堅(jiān)定地認(rèn)為,,Arm處理器相較x86,只能做低功耗,,而無法實(shí)現(xiàn)如同x86那樣的高性能,。蘋果卻以實(shí)際行動(dòng)證明了這個(gè)觀點(diǎn)的錯(cuò)誤性。

  不少對(duì)比測(cè)試提到,,M1比Intel酷睿i9還彪悍,這話是否夸張了?我們來大致梳理一下,,M1芯片相較x86和Arm面向PC的主流處理器,,性能處在哪個(gè)水平上。

  蘋果M1芯片本身的配置如下:

4.png

  官方并未公布M1芯片的TDP(或大致功耗),。AnandTech測(cè)試認(rèn)為M1的CPU TDP在20-24W,。極客灣的測(cè)試也基本印證了其CPU TDP在25W左右(峰值功耗24W,日常峰值功耗在15W左右),。這個(gè)值未必是準(zhǔn)確的,包括其中可能包含DRAM功耗,不過也八九不離十,。

  極客灣數(shù)據(jù),,GPU部分全速運(yùn)轉(zhuǎn)峰值功耗在10W左右;整個(gè)M1芯片可達(dá)成的峰值功耗大約為34W,。AnandTech則在測(cè)試中提到,,GFXBench Aztec High測(cè)試出現(xiàn)過17.3W的功耗,這個(gè)測(cè)試應(yīng)該很難反映GPU單獨(dú)占到了多少,。整體上,,這樣的功耗與TDP水平,大約與Intel,、AMD的低壓處理器差不多,。

  AnandTech執(zhí)行的測(cè)試項(xiàng)目比較多,這里僅選取SPEC2006/SPEC2017來闡明其實(shí)際性能,。其SPECint2006整數(shù)性能測(cè)試,,蘋果M1與AMD Zen 3接近;SPECfp2006浮點(diǎn)性能測(cè)試,,M1有顯著更大的優(yōu)勢(shì),。綜合下來,其性能綜合表現(xiàn)如下:

5.png

  來源:AnandTech

  需要注意,,這是單線程性能成績,。M1的這個(gè)成績顯著強(qiáng)于Intel十一代酷睿(同等TDP水平的酷睿i7-1185G7),以及酷睿i9-10900K(十代酷睿,,Comet Lake-S),,甚至比AMD Zen 3(Ryzen 9 5950X)還要強(qiáng)。

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

  這個(gè)對(duì)比還基于一個(gè)事實(shí):M1大核的最高頻率僅為3.2GHz,而Intel十一代酷睿(i7-1185G7)的睿頻為4.8GHz,,酷睿i9-10900K的睿頻更是能夠達(dá)到5.3GHz;AMD Zen 3(Ryzen 9 5950X)睿頻為4.9GHz,。與M1相比,對(duì)比對(duì)象的功耗會(huì)明顯更高,。

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

6.png

  來源:AnandTech

  多核性能測(cè)試方面,,受限于M1本身僅有4個(gè)大核與4個(gè)小核,與堆了8核心,、10核心還支持超線程的那群大家伙自然無法相比,。不過M1在性能方面仍然能夠碾壓Intel低壓版的十一代酷睿(i7-1185G7,4核8線程,,睿頻4.8GHz,,TDP 28W)。M1如果擴(kuò)大核心數(shù)量和處理器規(guī)模,,則要實(shí)現(xiàn)多線程性能奪冠,,應(yīng)該也不是難事。

  其他測(cè)試結(jié)果大致相似,,包括Geekbench 5單線程測(cè)試,,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線程)強(qiáng)60%,。

  蘋果為了實(shí)現(xiàn)M1芯片與x86軟件的兼容性,做了Rosetta 2中間轉(zhuǎn)譯層,。如此一來,,以前的x86軟件不需要改動(dòng),也能跑在M1芯片上,。這種方案會(huì)令程序執(zhí)行效率變低,。即便有Rosetta 2轉(zhuǎn)譯,M1芯片跑傳統(tǒng)x86程序,,其性能也可達(dá)到Intel八代酷睿的水平(對(duì)于AVX指令依賴較低的程序,,M1+Rosetta 2性能與十代酷睿相似),。

  因?yàn)槠P(guān)系,測(cè)試項(xiàng)細(xì)節(jié)無法展開分析,。不過總結(jié)一句話就是:在同等核心規(guī)模的CPU中,,蘋果M1芯片在跑常規(guī)性能測(cè)試時(shí),,能夠以低很多的功耗達(dá)成相比x86處理器更強(qiáng)的性能,。同等規(guī)模下,全面干翻Intel完全不是問題,,即便和AMD打得有來有回,,也是AMD犧牲功耗換來的(在單核性能測(cè)試中,AMD Zen 3能到49W功耗水平,,而蘋果M1為7-8W的整機(jī)功耗),。

7.png

  前面這些都是與x86處理器相比,那么和同為Arm陣營的對(duì)手相比呢,?微軟2019年發(fā)布了Surface Pro X,,這臺(tái)設(shè)備搭載的是一枚叫做Microsoft SQ1的芯片,它實(shí)際上是高通驍龍8cx的馬甲,;2020年更新了Surface Pro X二代,,Microsoft SQ2芯片,也就是二代驍龍8cx,。

  微軟在Windows 10 on Arm的規(guī)劃上,,比蘋果更早。高通驍龍8cx也成為M1芯片在Arm陣營的絕佳對(duì)比對(duì)象,。Linus Tech Tips對(duì)驍龍8cx(二代)與M1芯片,,做了性能測(cè)試對(duì)比。

8.png

9.png

  來源:Linus Tech Tips,,其中SQ2即為高通驍龍8cx二代

  從Geekbench 5和CineBench R23的測(cè)試結(jié)果就很容易發(fā)現(xiàn),,M1可將驍龍8cx(Microsoft SQ2)按在地上摩擦。這兩者根本就不在一個(gè)性能水平線上,,不過驍龍8cx的功耗水平應(yīng)該也更低(雖然好像Surface Pro X的續(xù)航也沒比M1版MacBook Air優(yōu)秀),。

  比較具有諷刺意義的是,Linus Tech Tips嘗試用一些虛擬機(jī)的奇技淫巧,,給M1版MacBook Air裝上了Windows 10 on Arm,。然后用虛擬機(jī)里面的Windows來跑Geekbench 5,結(jié)果發(fā)現(xiàn),,其性能水平也遙遙領(lǐng)先于Surface Pro X,,算是狠狠打了高通和微軟的耳光:

10.png

  來源:Linus Tech Tips

  這個(gè)測(cè)試也少了對(duì)于功耗的監(jiān)測(cè),不過它仍能說明M1芯片即便加個(gè)虛擬機(jī)中間層,,跑別家操作系統(tǒng),,效率打個(gè)折扣,,依然遠(yuǎn)強(qiáng)于高通如今面向低功耗PC所推的競(jìng)品。

  除開性能,,M1芯片的低功耗也已經(jīng)有很多測(cè)試的先例了,。在我上篇有關(guān)大小核設(shè)計(jì)的文章中也談到了M1足以驚掉x86處理器下巴的低功耗表現(xiàn),幾乎所有日常使用場(chǎng)景,,包括辦公,、網(wǎng)頁瀏覽、閑置待機(jī),,功耗都比Intel和AMD同代競(jìng)品低了幾個(gè)數(shù)量級(jí):M1芯片網(wǎng)頁瀏覽功耗僅相當(dāng)于十一代酷睿的1/6,,視頻流播功耗則僅有十一代酷睿的15%,Word辦公功耗則相當(dāng)于十一代酷睿的20%-30%……

  蘋果究竟是如何做到拳打Intel/AMD,,腳踢高通和Arm的,?

  要把芯片做大

  前面這部分性能數(shù)據(jù)呈現(xiàn),并未給出CPU之外其他部分的數(shù)據(jù),。包括蘋果的8核GPU,,性能相比Intel最新的Xe核顯(十一代酷睿)都有顯著優(yōu)勢(shì),真實(shí)游戲性能可達(dá)到Geforce MX350的水平,;以及AI專用單元,、AMX等組成部分,鑒于篇幅皆不再展開,。

  標(biāo)題說M1比Intel酷睿i9彪悍,,這話雖不可一概而論——比如酷睿i9一定在多核性能表現(xiàn)上是優(yōu)于M1的,畢竟處理器規(guī)模大很多,。但作為一顆低壓處理器,,實(shí)際使用中,M1的確在很多場(chǎng)景下能夠達(dá)到酷睿i9的水平,。

11.png

  比如Final Cut Pro剪視頻實(shí)時(shí)預(yù)覽和多種格式的編解碼,;Xcode寫代碼直接秒殺iMac 2020高配版;即便是以負(fù)優(yōu)化著稱的Adobe Premiere,,M1都在很多項(xiàng)目上(而且還是Rosetta 2轉(zhuǎn)譯)足以對(duì)酷睿i9構(gòu)成威脅,。要知道M1和酷睿i9,前者定位便攜式設(shè)備,,而后者定位工作站(i9-10900K),。

  蘋果達(dá)成這個(gè)水平,究竟靠什么,?很多人說是蘋果的軟硬件契合度高,,這的確是個(gè)重要因素,但不夠具體,??偨Y(jié)成三點(diǎn),,大致上是M1芯片超寬微架構(gòu);諸多專用單元的堆砌,;蘋果超強(qiáng)的生態(tài)掌控力,。

  這幾點(diǎn)將在下文詳述。不過這幾點(diǎn)的外部表現(xiàn)就是,,很大的芯片面積(die size),,或者很多的晶體管數(shù)量。因?yàn)闊o論是超寬的處理器微架構(gòu),,還是為某些功能做專用的硬件單元,,都需要更多的die空間。蘋果自家芯片在A系列產(chǎn)品線上,,就有超大die size的傳統(tǒng)。早在蘋果iPhone 5s時(shí)期,,其芯片尺寸就比其他手機(jī)SoC大很多,,有時(shí)大1倍(A11 Monsoon大核心加cache占地面積,比驍龍845的A75大核與cache大1倍還多),。

12.png

  來源:AnandTech

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

  而且蘋果從幾年前就喜歡給整個(gè)SoC芯片加system cache(或者叫System Level Cache -SLC,Arm公版設(shè)計(jì)現(xiàn)在普遍也有了),。這種system cache屬于整個(gè)SoC級(jí)別的cache,,在SoC的各個(gè)IP(如CPU、GPU,、NPU等)之間共享,。A12的system cache就達(dá)到了8MB,相比A11翻番,。

  A14與M1的system cache目前是16MB,,是麒麟、驍龍這些移動(dòng)陣營競(jìng)爭(zhēng)對(duì)手的2-3倍,。而Intel十一代酷睿Tiger Lake(i7-1185G7)的L3 cache也不過12MB,。至于L2 cache,,M1的Firestorm大核是12MB,小核都有4MB,。移動(dòng)陣營就不說了,,Intel十一代酷睿L2 cache(i7-1185G7)為4x 1.25MB。作為對(duì)比,,酷睿i9-10900K(十代酷睿)L2 cache 2.5MB(每核256KB),,L3 cache 20MB。

 ?。ú贿^蘋果的cache設(shè)計(jì)和一般CPU似乎不大一樣,,包括L2 cache共享;而且system cache在速度上應(yīng)該也是比不上僅面向CPU的L3 cache的,。)

  L1 cache的巨型相較其他競(jìng)品(如192KB的L1指令緩存,,是Arm公版設(shè)計(jì)的3倍,x86現(xiàn)有設(shè)計(jì)的6倍,;據(jù)說速度還很快),,也就不需要再多談了。單就芯片上占地面積巨大的cache而言,,蘋果都始終在規(guī)模上有著令人肝顫的堆料,。當(dāng)然cache大小并不能說明性能高低,而且大尺寸的存儲(chǔ)子系統(tǒng)易帶來更高的時(shí)延,。但論消費(fèi)電子應(yīng)用處理器的堆料,,在低壓處理器這個(gè)量級(jí)內(nèi),大概沒人能強(qiáng)過蘋果,。下文還會(huì)詳述,,“堆料”堆的可不只是cache。

13.png

  那么Intel,、AMD,、高通這些競(jìng)爭(zhēng)對(duì)手也這么堆料可行嗎?排除微架構(gòu)上的一些限制不談,,就商業(yè)模式而言,,Intel、AMD和高通雖然也可以這么做,,但卻非常不經(jīng)濟(jì),。因?yàn)檫@樣堆料,意即die size的增加,,也就意味著成本的急劇提升,。芯片制造工藝的提升,一定程度也是為了在更小的die size內(nèi),實(shí)現(xiàn)更高的性能,,并縮減成本,。

  蘋果之所以可以這么做,是因?yàn)樘O果最終面向用戶出售的是終端設(shè)備,。比如一臺(tái)iPhone上,,除了SoC芯片之外,還有屏幕,、閃存,、增值服務(wù)等。但面向用戶時(shí),,就只有一個(gè)終端設(shè)備價(jià)格,。拋開iPhone一年幾億銷量,以及iPhone吃下整個(gè)手機(jī)市場(chǎng)大半的利潤不談,,蘋果也可以在不同組件之間來權(quán)衡,、抵消、轉(zhuǎn)嫁各種成本支出,。iPad,、MacBook也都可受惠于iPhone芯片設(shè)計(jì)的經(jīng)驗(yàn),及iPhone巨大出貨量帶來的營收,。

  而Intel、AMD,、高通這些企業(yè)出售的只是處理器,,他們需要依靠處理器來獲取利潤。下游手機(jī)廠商要賺錢,,上游IP供應(yīng)商也要賺錢,。在產(chǎn)業(yè)鏈各不同環(huán)節(jié)利潤疊加的情況下,成本控制顯得尤為重要,。

  此外,,Intel的處理器不僅面向某一個(gè)型號(hào)的PC,而且面向不同價(jià)位的PC,,以及其他市場(chǎng),,如服務(wù)器、數(shù)據(jù)中心,。其中的核心IP很大程度上會(huì)復(fù)用,,如果核心都做得很大很寬,對(duì)需求大量核心并行運(yùn)算的使用場(chǎng)景而言,,就會(huì)顯得尤為昂貴,。所以單純以芯片制造商身份存在的這些企業(yè),很難像蘋果這樣“不講武德”地堆料,因?yàn)槠渖虡I(yè)模式是根本不同的,。

  對(duì)于一般的芯片制造商而言,,通過提升芯片頻率來獲得性能提升,而不是增大芯片面積,、增加成本來獲得性能提升,,顯然是更為經(jīng)濟(jì)的方案。

14.png

  在成本控制問題上,,尤為值得一提的是,,在前年《深度學(xué)習(xí)的興起,是通用計(jì)算的挽歌,?》一文中,,我曾提到芯片設(shè)計(jì)與制造的成本正在逐年攀升,尤其尖端制造工藝成本,,包括建廠成本在內(nèi),。即便不看技術(shù)限制,現(xiàn)有市場(chǎng)參與者也已經(jīng)不可能再像過去那樣按照摩爾定律去迭代制造工藝,。而這件事情對(duì)于Intel的影響,,也遠(yuǎn)大于對(duì)臺(tái)積電、三星的影響,。因?yàn)镮ntel主要營收來源就是尖端工藝,,臺(tái)積電和三星的早期制造工藝也是其重要的營收來源。

  Intel在10nm與7nm難產(chǎn)的當(dāng)口,,將極易陷入惡性循環(huán),,不僅影響到其芯片產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力,而且可能會(huì)越來越遠(yuǎn)離世界最尖端工藝工廠的稱謂,。Intel如今背負(fù)的包袱,,都會(huì)比蘋果、AMD,、高通,、三星這些不同層級(jí)的市場(chǎng)參與者都明顯更為沉重。

  超寬的架構(gòu)(選讀)

  當(dāng)然,,“把芯片做大”只是結(jié)果,,而不是目的。之所以芯片做大,,除了更大的cache獲得更高的數(shù)據(jù)帶寬之外,,還在于蘋果熱衷于超寬的處理器架構(gòu),以及還喜歡給SoC加各種專用單元,。以下文字內(nèi)容皆可選讀,,面向輕度技術(shù)愛好者,。

  前文就提到蘋果M1以僅3.2GHz主頻,獲得了超過競(jìng)爭(zhēng)對(duì)手5GHz頻率處理器的性能,。那么M1的頻率若是提到5GHz,,豈不是就逆天了?這一點(diǎn)恐怕是無法達(dá)成的,,因?yàn)樘O果走的“寬”核心路線,,將更不利于頻率提升,否則功耗也更容易崩邊,。一般的,,頻率提高,功耗會(huì)以頻率三次方的比例提高,。所以那些以將近5GHz換得與M1差不多性能的處理器,,也需要付出對(duì)應(yīng)功耗的代價(jià)。

  在iPhone 6s時(shí)代,,蘋果A9及更早的處理器,,普遍有著比市面上同期競(jìng)品更低頻率的傳統(tǒng)。比如說蘋果A8是1.5GHz主頻,,A9則為1.8GHz,,而同期的Arm Cortex-A72頻率已經(jīng)來到2.5GHz,A73則為2.8GHz,。但蘋果處理器依然有默秒全的性能水準(zhǔn),。這是因?yàn)樘O果一直以來都很喜歡搞“寬”核心,實(shí)現(xiàn)更高的指令并行度,,也表現(xiàn)在IPC數(shù)字上(雖然現(xiàn)在的A系列處理器也來到了3GHz水平上),。

  即每周期可做的事情更多,自然能夠以更低的頻率跑任務(wù),。高指令并行或者高IPC,要求更“寬”的處理器核心,,比如每周期能同時(shí)讀取,、解碼,執(zhí)行或者回寫多條指令,。提升指令并行度的方法有很多,,當(dāng)代處理器架構(gòu)的一個(gè)重要因素就是亂序執(zhí)行能力。也就是讓沒有依賴關(guān)系的指令可以亂序執(zhí)行,,后面的指令不必等到前面的指令執(zhí)行完再執(zhí)行,。

15.png

  不過亂序執(zhí)行需要額外的電路,來解決很多可能會(huì)遭遇的實(shí)際問題,,也就要求更多的芯片面積和功耗,。而“拓寬”整個(gè)架構(gòu),比如提升每周期解碼指令的數(shù)量,許多的dispatch單元,,增加更多的ALU執(zhí)行單元,,以增加指令并行度,都需要額外的芯片面積,。

  而且拓寬架構(gòu)也并沒有那么簡(jiǎn)單,,如何讓拓寬的這些單元保持足夠高的利用率,而不是浪費(fèi)資源也多有講究,。但越寬的處理器架構(gòu),,起碼是實(shí)現(xiàn)較高指令并行的基礎(chǔ)。

  前文提到,,對(duì)于Intel這樣的芯片制造商,,很多時(shí)候通過提升處理器頻率來獲得性能提升,而不是增大芯片面積,、拓寬芯片架構(gòu),、增加成本來獲得性能提升,顯然是更為經(jīng)濟(jì)的方案,。更窄,、更“深”的處理器架構(gòu),也更易于提升頻率,。

  蘋果M1芯片CPU部分的寬度,,某種程度上達(dá)到了新高。下面這張圖來自AnandTech,,是Andrei Frumusanu畫的Firestorm核心(即A14和M1大核心)架構(gòu)框圖,,是他結(jié)合研究與經(jīng)驗(yàn)得到的。現(xiàn)在流傳絕大部分有關(guān)Firestorm微架構(gòu)的解讀應(yīng)當(dāng)都脫胎于此:

16.png

  來源:AnandTech

  其中有一些尤為值得一提的點(diǎn),。首先是前端8-wide指令解碼,,這是什么概念呢?AnandTech評(píng)論其為目前行業(yè)內(nèi)“最寬的商用設(shè)計(jì)”,。AMD和Intel當(dāng)代處理器指令解碼寬度普遍為4-wide(Intel為1+4),;Arm這邊,解碼寬度主流是4-wide,,今年主推的Cortex-X1為5-wide;傳說中超超超寬的三星M3(Exynos 9810),,解碼寬度6-wide。

  從AnandTech的研究來看,,蘋果A11,、A12的解碼寬度就達(dá)到了7-wide,A13步入8-wide大關(guān),。

  其次是ROB(Re-order Buffer),,也就是亂序執(zhí)行的重排序buffer,。Firestorm的ROB達(dá)到了630個(gè)條目(或者差不多630)。ROB越深,,則一定程度上表明了具備更高的亂序度,,也是更寬架構(gòu)的寫照。與此相比,,Intel的十一代酷睿(Willow Cove)ROB為352條目,,AMD Zen 3為256條目,Arm Cortex-X1為224條目,??雌饋砀叨戎噶畈⑿芯褪翘O果要達(dá)到的。

  Firestorm的后端執(zhí)行引擎部分也非?!皩挕?。整數(shù)管線部分,重命名物理寄存器堆(INT Rename PRF)大小約354條目,,算術(shù)運(yùn)算“至少”7個(gè)執(zhí)行端口,,包括4個(gè)簡(jiǎn)單ALU(ADD指令),2個(gè)復(fù)雜ALU(MUL),,以及一個(gè)專用整數(shù)除法單元,。核心每周期可處理2個(gè)分支。

  不過整數(shù)管線部分“變化不大”,,浮點(diǎn)與矢量執(zhí)行管線部分是Firestorm的重點(diǎn),。前文也提到了在性能測(cè)試?yán)铮琈1的浮點(diǎn)運(yùn)算能力相比競(jìng)爭(zhēng)對(duì)手有較大優(yōu)勢(shì),。Firestorm增加了第四條執(zhí)行管線,,浮點(diǎn)重命名寄存器為384條目,也“相當(dāng)之大”,。4條128bit NEON管線,,和AMD、Intel桌面處理器現(xiàn)有吞吐一致,。浮點(diǎn)操作吞吐與管線數(shù)為1:1的關(guān)系,,意即Firestorm核心每周期能夠執(zhí)行4個(gè)FADD(浮點(diǎn)加法)操作和4個(gè)FMUL(浮點(diǎn)乘法)操作,分別3與4周期延遲,,是Intel處理器每周期吞吐的四倍,Zen 3的兩倍,。

  AnandTech評(píng)論說,,這可能是蘋果在瀏覽器測(cè)試中表現(xiàn)如此之優(yōu)秀的原因。如今PC上的一個(gè)很重要的應(yīng)用就是web瀏覽,,這大約也是蘋果意識(shí)到的用戶需求迫切的一大應(yīng)用場(chǎng)景吧,。此外矢量執(zhí)行能力不變,,浮點(diǎn)除法、倒數(shù),、平方根操作吞吐較低,。

  最后是存儲(chǔ)子系統(tǒng)部分,比較值得一提的是load-store前端,,最高可以達(dá)到148-154個(gè)load與106 store,,比市面上任何微架構(gòu)都要寬。與此對(duì)比,,AMD Zen 3這兩個(gè)數(shù)字分別是44和64,,Intel十代酷睿(Sunny Cove)分別為128和72。

  而L1 TLB(translation lookaside buffer,,一種頁表的cache,,是一個(gè)內(nèi)存管理單元,用于提升虛擬地址到物理地址轉(zhuǎn)換速度)翻倍至256 pages,,L2 TLB提至3072 pages,。L2 TLB因此能夠覆蓋48MB cache。緩存部分的提升,,以及與其他競(jìng)品的對(duì)比,,這里不再贅述——本文前一個(gè)段落已經(jīng)做了解釋。

  只不過前面提到的這些并不是一蹴而就的,。在iPhone Xs時(shí)期,,蘋果A12的Vortex核心在寬度上就已經(jīng)有了桌面級(jí)CPU的規(guī)模,相比當(dāng)時(shí)的Arm Cortex-A76和三星M3,,都要寬上不少,,無論是執(zhí)行管線還是存儲(chǔ)子系統(tǒng)。所以M1如今的這種超寬架構(gòu),,也算是蘋果芯片的一脈相承了,。

17.png

  引入更多專用單元(選讀)

  《深度學(xué)習(xí)的興起,是通用計(jì)算的挽歌,?》一文已經(jīng)提到隨摩爾定律放緩,,通用處理器性能提升變慢,為保證滿足應(yīng)用對(duì)性能增長的需求,,專用處理器是一條更能走得通的路,。實(shí)踐證明,這兩年的這一趨勢(shì)也愈發(fā)顯著,。

  本文文首已經(jīng)提到,,PowerPC G3在對(duì)戰(zhàn)Intel奔騰II時(shí)“2倍”速度就是依靠某個(gè)專用單元達(dá)成的。蘋果的這種思路似乎早年就埋下了,。

  此前Geekbench測(cè)試工具經(jīng)常被人戲稱為Apple Bench,,原因是很多人認(rèn)為其中的某些測(cè)試項(xiàng)明擺著是給蘋果和Arm專門設(shè)計(jì)的,,而對(duì)x86非常不友好。多年前Linux之父Linus Torvalds曾評(píng)論Geekbench is sh*t. 原因是在Arm64架構(gòu)處理器上,,SHA1性能有專用硬件輔助,,Arm處理器跑分因此就很好看。

  在Geekbench 5單核性能測(cè)試?yán)?,M1的加密子項(xiàng)得分依然非常高,,遠(yuǎn)高于酷睿i9-10990K。這是此前很多人認(rèn)為,,Arm靠這種方式來騙分,,并認(rèn)定Arm在高性能上做不到x86處理器的依據(jù)。不過這次Geekbench 5其他項(xiàng)目,,比如整數(shù),、浮點(diǎn)性能,M1也能碾壓酷睿i9(十代酷睿),。而且專用硬件單元輔助某個(gè)項(xiàng)目,,本質(zhì)上對(duì)于體驗(yàn)也是有幫助的。

18.png

  類似的情況在蘋果當(dāng)代芯片上相當(dāng)常見,。比如用iPad(A14)和MacBook(M1芯片)做視頻剪輯(尤其是Final Cut Pro),,其體驗(yàn)和效率就遠(yuǎn)超Windows PC(Intel酷睿)。

  這是基于M1芯片中的編解碼器強(qiáng)過市面上絕大部分GPU(在Handbrake的硬件H.265測(cè)試?yán)?,M1的編碼模塊表現(xiàn)出對(duì)Intel和AMD的徹底碾壓),;外加M1之上的AI專用處理器也參與畫面分析,專門的ISP(圖像處理器)可執(zhí)行 ProRes RAW格式的demosaic運(yùn)算,;而且M1內(nèi)部還集成了SSD主控,,對(duì)于I/O敏感操作也有幫助。

  所以對(duì)于經(jīng)常需要剪視頻的人來說,,M1簡(jiǎn)直太適配了,。同理還有碼農(nóng)、攝影師,,以及單純的視頻娛樂用戶等,。

  這些都建立在M1作為一顆SoC,以更多專用單元來解決具體問題的基礎(chǔ)上,。雖說專用單元彈性欠缺,,但蘋果很清楚MacBook目標(biāo)用戶群日常都拿設(shè)備來做什么。有針對(duì)性地優(yōu)化專用單元,,并且提升特定使用場(chǎng)景下的操作體驗(yàn),,達(dá)成性能和效率(功耗表現(xiàn))的雙重提升。這也印證了通用計(jì)算裹足不前時(shí),靠專用計(jì)算就是個(gè)重要方向,,雖然未必得是專用處理器。

  這些專用單元的存在,,其本質(zhì)在我看來,,與Intel為酷睿增加AVX-512指令支持并無太大區(qū)別。無論說這些專用單元是“刷分”利器也好(甚至有人說system cache也是刷分利器),,是奇技淫巧也好,,它們都實(shí)實(shí)在在地發(fā)揮了作用。

  這其中再度迸發(fā)的一個(gè)問題是,,既然超寬架構(gòu)和專用單元這么好,,Intel和AMD為什么不做呢?其中的原因大概是多種多樣的,,而且Intel,、AMD事實(shí)上也的確在朝著這些方向努力?;蛟S更重要的一點(diǎn)在這兩個(gè)選項(xiàng),,仍是以增加die size為基礎(chǔ)的,參見文本第二部分,。

  還有一些現(xiàn)實(shí)問題,,比如說具體到在CPU前端解碼寬度問題上,x86這種變長指令,,指令長度在1-15 bytes之間,,而Arm為4 bytes定長指令。這也就意味著x86的解碼器很難搞清楚一條指令究竟從哪里開始,,需要對(duì)每條指令做長度分析,。X86處理器在解碼階段因此要處理不少錯(cuò)誤,AMD曾經(jīng)談到過增加更多解碼器會(huì)導(dǎo)致更多的問題,,而4-wide解碼寬度成為其設(shè)計(jì)的一個(gè)限制,。

19.png

  恐怖的生態(tài)掌控力

  從芯片設(shè)計(jì),到操作系統(tǒng),,到開發(fā)生態(tài),,到消費(fèi)終端設(shè)備設(shè)計(jì)制造,甚至到銷售,,蘋果都一手掌控,。這在整個(gè)業(yè)界怕都是絕無僅有的(三星似乎欠缺十分重要的操作系統(tǒng)環(huán)節(jié))。其促成的商業(yè)模式,,也是蘋果可以如此在M1和Firestorm核心上任意妄為的基礎(chǔ),,這在前文中就已經(jīng)提過了。

  而除了處理器本身的微架構(gòu),,在更上層的系統(tǒng)設(shè)計(jì)以及軟件架構(gòu)上,,蘋果也有相當(dāng)?shù)脑捳Z權(quán),。M1設(shè)計(jì)上的一個(gè)典型代表是封裝在一起的DRAM內(nèi)存,采用一種叫Unified Memory Architecture技術(shù),。CPU和GPU使用內(nèi)存時(shí),,不必再區(qū)隔不同空間,也就不需要在雙方互通時(shí)進(jìn)行內(nèi)存拷貝這樣的操作,,實(shí)現(xiàn)更低的延遲和更高的吞吐,。

  (順帶一提:?jiǎn)魏薋irestorm也達(dá)到了58GB/s的讀取帶寬,,33-36GB/s寫入帶寬,,除了表現(xiàn)出色外 ,AnandTech評(píng)論“單核填滿內(nèi)存控制器這種設(shè)計(jì)令人震驚,,我們之前也從未見到過”,。)

20.png

  這種設(shè)計(jì)并不新穎,AMD早年也做過類似的技術(shù),,但并未得到普及,。這種設(shè)計(jì)對(duì)于軟件開發(fā)有新的要求。蘋果牢固的開發(fā)生態(tài)掌控力,,應(yīng)付這種事應(yīng)該也只是件小事,。對(duì)Windows PC不同市場(chǎng)參與者分而治之的局面來說,這件事就顯然沒那么容易了,。

  與此同時(shí),,還能夠顯現(xiàn)蘋果生態(tài)掌控力牢固的一點(diǎn)在于蘋果十分輕易地在M1芯片上換用自家GPU?!霸a”在圖形計(jì)算一側(cè)就顯得沒那么重要,,蘋果的Metal API可以直接為蘋果GPU準(zhǔn)備就緒,意即蘋果圖形計(jì)算方面的儲(chǔ)備可在M1及現(xiàn)有生態(tài)上,,立刻發(fā)揮作用,。(雖然Metal相比DirectX,似乎在軟件效率上還是弱了點(diǎn))

  微軟在Windows 10 on Arm的生態(tài)部署上就萬般掣肘,,這雖然和微軟自身舉棋不定的決策力也有關(guān),。但在Arm版Windows出現(xiàn)這么久,也沒有像樣的生態(tài)構(gòu)建起來,,Windows開發(fā)者對(duì)于Windows Runtime也意興闌珊,,就能表現(xiàn)出蘋果在這次轉(zhuǎn)舵中的決絕和生態(tài)構(gòu)建的超級(jí)速度。

  前一陣傳言微軟決定自研芯片,,用于將來的Surface,。個(gè)人感覺這條信息的可信度不大,因?yàn)槲④洸幌裉O果那樣,有數(shù)億出貨量的設(shè)備可為其分擔(dān)芯片的設(shè)計(jì)和制造成本,,尤其是尖端工藝的制造成本,。要知道沒有大量出貨來分?jǐn)偝杀荆許urface的量是走不起尖端工藝的,。但這條消息的出現(xiàn)也表明,,蘋果在M1及其周邊生態(tài)的打造上,有多成功,。

  只不過蘋果的這種模式與生態(tài),究其根本也依托于消費(fèi)電子終端設(shè)備的銷量,。若哪一日iPhone銷量大幅下滑,,則芯片業(yè)務(wù)與周邊生態(tài)也將很快難以為繼。分而治之的生態(tài)便沒有如此脆弱,。

  用一句悲觀的話來總結(jié)本文:Windows PC陣營恐怕很難出現(xiàn)蘋果M1那樣的芯片,。不過這并沒有什么大不了,畢竟是兩個(gè)生態(tài):看隔壁Android陣營也從不因?yàn)閕Phone賣得多好,,各參與者就亂了方寸,。

 


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。