蘋果Mac開(kāi)始換用自家芯片,對(duì)Intel而言無(wú)疑是個(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)狀來(lái)看簡(jiǎn)直不可思議。當(dāng)然其對(duì)比內(nèi)容、對(duì)比對(duì)象是值得商榷的。不過(guò)這樣的對(duì)比數(shù)字,蘋果并不是頭一回用了。在Mac還在用PowerPC處理器的年代(1999年),蘋果在宣傳中曾提過(guò),PowerPC G3比當(dāng)時(shí)的Intel奔騰II快2倍。如此似曾相識(shí)。
這個(gè)所謂快“2倍”的說(shuō)法,大致可窺見(jiàn)蘋果在處理器理念上的一脈相承,即便當(dāng)時(shí)的蘋果還沒(méi)有自己的芯片設(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)單的話來(lái)說(shuō),就是依靠專用單元來(lái)實(shí)現(xiàn)性能和效率的碾壓。雖說(shuō)PowerPC早就被x86打趴,但這個(gè)理念很大程度延續(xù)到了如今的蘋果芯片(包括A系列和M系列SoC),下面將從技術(shù)角度詳述,M1身上體現(xiàn)的這一點(diǎn)。
事實(shí)上,M1芯片的出現(xiàn)不僅讓x86陣營(yíng)感到了白色恐怖,而且也對(duì)高通這樣的Arm陣營(yíng)參與者構(gòu)成了極大威脅。高通已經(jīng)與微軟合作過(guò)兩代芯片(SQ1與SQ2)產(chǎn)品,且開(kāi)推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換用自家芯片的問(wèn)題,可能答案有很多,包括蘋果生態(tài)的全面掌控,以及出于對(duì)成本預(yù)算進(jìn)一步的控制等。如果僅從處理器本身的性能和效率來(lái)看,AnandTech的一張圖基本上很好地回答了這個(gè)問(wèn)題:
這張圖對(duì)比的是Intel與蘋果芯片,從2013年以來(lái)處理器的單線程性能變化趨勢(shì)(具體測(cè)試項(xiàng)為SPECint2006)。在過(guò)去5年里,Intel處理器產(chǎn)品的單線程性能提升了大約28%,而蘋果CPU則實(shí)現(xiàn)了198%的性能提升。或者說(shuō)A14處理器單線程性能是A9的將近3倍。
M1與A14芯片共享了Firestorm大核,大致上可認(rèn)為兩者有著接近的單線程性能(M1頻率高于A14,L2 cache也更大等)。2020年蘋果芯片性能,因此剛好形成了相較Intel處理器的剪刀叉趨勢(shì)。所以最新的MacBook開(kāi)始采用自家芯片,就性能來(lái)看顯得順理成章。
事實(shí)上,蘋果在A7芯片(iPhone 5s)時(shí)期就宣稱,自家的Cyclone核心是“桌面級(jí)架構(gòu)”。不過(guò)當(dāng)時(shí)并沒(méi)有多少人在意。而且在M1出現(xiàn)之前,更多人還是堅(jiān)定地認(rèn)為,Arm處理器相較x86,只能做低功耗,而無(wú)法實(shí)現(xiàn)如同x86那樣的高性能。蘋果卻以實(shí)際行動(dòng)證明了這個(gè)觀點(diǎn)的錯(cuò)誤性。
不少對(duì)比測(cè)試提到,M1比Intel酷睿i9還彪悍,這話是否夸張了?我們來(lái)大致梳理一下,M1芯片相較x86和Arm面向PC的主流處理器,性能處在哪個(gè)水平上。
蘋果M1芯片本身的配置如下:
官方并未公布M1芯片的TDP(或大致功耗)。AnandTech測(cè)試認(rèn)為M1的CPU TDP在20-24W。極客灣的測(cè)試也基本印證了其CPU TDP在25W左右(峰值功耗24W,日常峰值功耗在15W左右)。這個(gè)值未必是準(zhǔn)確的,包括其中可能包含DRAM功耗,不過(guò)也八九不離十。
極客灣數(shù)據(jù),GPU部分全速運(yùn)轉(zhuǎn)峰值功耗在10W左右;整個(gè)M1芯片可達(dá)成的峰值功耗大約為34W。AnandTech則在測(cè)試中提到,GFXBench Aztec High測(cè)試出現(xiàn)過(guò)17.3W的功耗,這個(gè)測(cè)試應(yīng)該很難反映GPU單獨(dú)占到了多少。整體上,這樣的功耗與TDP水平,大約與Intel、AMD的低壓處理器差不多。
AnandTech執(zhí)行的測(cè)試項(xiàng)目比較多,這里僅選取SPEC2006/SPEC2017來(lái)闡明其實(shí)際性能。其SPECint2006整數(shù)性能測(cè)試,蘋果M1與AMD Zen 3接近;SPECfp2006浮點(diǎn)性能測(cè)試,M1有顯著更大的優(yōu)勢(shì)。綜合下來(lái),其性能綜合表現(xiàn)如下:
來(lái)源:AnandTech
需要注意,這是單線程性能成績(jī)。M1的這個(gè)成績(jī)顯著強(qiáng)于Intel十一代酷睿(同等TDP水平的酷睿i7-1185G7),以及酷睿i9-10900K(十代酷睿,Comet Lake-S),甚至比AMD Zen 3(Ryzen 9 5950X)還要強(qiáng)。
蘋果所說(shuō)相比前代MacBook幾倍幾倍的提升,似乎完全沒(méi)在吹牛。SPEC2017測(cè)試結(jié)果與SPEC2006也差不多,不過(guò)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ì)明顯更高。
換句話說(shuō),蘋果M1事實(shí)上成為了如今CPU的IPC之王。IPC也就是每周期指令執(zhí)行能力,或者說(shuō)每Hz能干多少事??梢?jiàn)M1是能夠甩開(kāi)目前最彪悍的x86處理器的。
來(lái)源:AnandTech
多核性能測(cè)試方面,受限于M1本身僅有4個(gè)大核與4個(gè)小核,與堆了8核心、10核心還支持超線程的那群大家伙自然無(wú)法相比。不過(guò)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)譯層。如此一來(lái),以前的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é)無(wú)法展開(kāi)分析。不過(guò)總結(jié)一句話就是:在同等核心規(guī)模的CPU中,蘋果M1芯片在跑常規(guī)性能測(cè)試時(shí),能夠以低很多的功耗達(dá)成相比x86處理器更強(qiáng)的性能。同等規(guī)模下,全面干翻Intel完全不是問(wèn)題,即便和AMD打得有來(lái)有回,也是AMD犧牲功耗換來(lái)的(在單核性能測(cè)試中,AMD Zen 3能到49W功耗水平,而蘋果M1為7-8W的整機(jī)功耗)。
前面這些都是與x86處理器相比,那么和同為Arm陣營(yíng)的對(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陣營(yíng)的絕佳對(duì)比對(duì)象。Linus Tech Tips對(duì)驍龍8cx(二代)與M1芯片,做了性能測(cè)試對(duì)比。
來(lái)源:Linus Tech Tips,其中SQ2即為高通驍龍8cx二代
從Geekbench 5和CineBench R23的測(cè)試結(jié)果就很容易發(fā)現(xiàn),M1可將驍龍8cx(Microsoft SQ2)按在地上摩擦。這兩者根本就不在一個(gè)性能水平線上,不過(guò)驍龍8cx的功耗水平應(yīng)該也更低(雖然好像Surface Pro X的續(xù)航也沒(méi)比M1版MacBook Air優(yōu)秀)。
比較具有諷刺意義的是,Linus Tech Tips嘗試用一些虛擬機(jī)的奇技淫巧,給M1版MacBook Air裝上了Windows 10 on Arm。然后用虛擬機(jī)里面的Windows來(lái)跑Geekbench 5,結(jié)果發(fā)現(xiàn),其性能水平也遙遙領(lǐng)先于Surface Pro X,算是狠狠打了高通和微軟的耳光:
來(lái)源:Linus Tech Tips
這個(gè)測(cè)試也少了對(duì)于功耗的監(jiān)測(cè),不過(guò)它仍能說(shuō)明M1芯片即便加個(gè)虛擬機(jī)中間層,跑別家操作系統(tǒng),效率打個(gè)折扣,依然遠(yuǎn)強(qiáng)于高通如今面向低功耗PC所推的競(jìng)品。
除開(kāi)性能,M1芯片的低功耗也已經(jīng)有很多測(cè)試的先例了。在我上篇有關(guān)大小核設(shè)計(jì)的文章中也談到了M1足以驚掉x86處理器下巴的低功耗表現(xiàn),幾乎所有日常使用場(chǎng)景,包括辦公、網(wǎng)頁(yè)瀏覽、閑置待機(jī),功耗都比Intel和AMD同代競(jìng)品低了幾個(gè)數(shù)量級(jí):M1芯片網(wǎng)頁(yè)瀏覽功耗僅相當(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等組成部分,鑒于篇幅皆不再展開(kāi)。
標(biāo)題說(shuō)M1比Intel酷睿i9彪悍,這話雖不可一概而論——比如酷睿i9一定在多核性能表現(xiàn)上是優(yōu)于M1的,畢竟處理器規(guī)模大很多。但作為一顆低壓處理器,實(shí)際使用中,M1的確在很多場(chǎng)景下能夠達(dá)到酷睿i9的水平。
比如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è)水平,究竟靠什么?很多人說(shuō)是蘋果的軟硬件契合度高,這的確是個(gè)重要因素,但不夠具體??偨Y(jié)成三點(diǎn),大致上是M1芯片超寬微架構(gòu);諸多專用單元的堆砌;蘋果超強(qiáng)的生態(tài)掌控力。
這幾點(diǎn)將在下文詳述。不過(guò)這幾點(diǎn)的外部表現(xiàn)就是,很大的芯片面積(die size),或者很多的晶體管數(shù)量。因?yàn)闊o(wú)論是超寬的處理器微架構(gòu),還是為某些功能做專用的硬件單元,都需要更多的die空間。蘋果自家芯片在A系列產(chǎn)品線上,就有超大die size的傳統(tǒng)。早在蘋果iPhone 5s時(shí)期,其芯片尺寸就比其他手機(jī)SoC大很多,有時(shí)大1倍(A11 Monsoon大核心加cache占地面積,比驍龍845的A75大核與cache大1倍還多)。
來(lái)源:AnandTech
如果單看die size的話,蘋果A7、A8用上4MB L3 cache之時(shí),同時(shí)代的Cortex-A57/A72/A73都還沒(méi)有L3 cache,到A75才支持。更不要說(shuō)蘋果喜歡堆超大的L2 cache,蘋果A11有著8MB L2 cache,可以用巨大來(lái)形容。高通驍龍835才3MB L2 cache,沒(méi)有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)陣營(yíng)競(jìng)爭(zhēng)對(duì)手的2-3倍。而Intel十一代酷睿Tiger Lake(i7-1185G7)的L3 cache也不過(guò)12MB。至于L2 cache,M1的Firestorm大核是12MB,小核都有4MB。移動(dòng)陣營(yíng)就不說(shuō)了,Intel十一代酷睿L2 cache(i7-1185G7)為4x 1.25MB。作為對(duì)比,酷睿i9-10900K(十代酷睿)L2 cache 2.5MB(每核256KB),L3 cache 20MB。
(不過(guò)蘋果的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ù)說(shuō)速度還很快),也就不需要再多談了。單就芯片上占地面積巨大的cache而言,蘋果都始終在規(guī)模上有著令人肝顫的堆料。當(dāng)然cache大小并不能說(shuō)明性能高低,而且大尺寸的存儲(chǔ)子系統(tǒng)易帶來(lái)更高的時(shí)延。但論消費(fèi)電子應(yīng)用處理器的堆料,在低壓處理器這個(gè)量級(jí)內(nèi),大概沒(méi)人能強(qiáng)過(guò)蘋果。下文還會(huì)詳述,“堆料”堆的可不只是cache。
那么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à)格。拋開(kāi)iPhone一年幾億銷量,以及iPhone吃下整個(gè)手機(jī)市場(chǎng)大半的利潤(rùn)不談,蘋果也可以在不同組件之間來(lái)權(quán)衡、抵消、轉(zhuǎn)嫁各種成本支出。iPad、MacBook也都可受惠于iPhone芯片設(shè)計(jì)的經(jīng)驗(yàn),及iPhone巨大出貨量帶來(lái)的營(yíng)收。
而Intel、AMD、高通這些企業(yè)出售的只是處理器,他們需要依靠處理器來(lái)獲取利潤(rùn)。下游手機(jī)廠商要賺錢,上游IP供應(yīng)商也要賺錢。在產(chǎn)業(yè)鏈各不同環(huán)節(jié)利潤(rùn)疊加的情況下,成本控制顯得尤為重要。
此外,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ì)于一般的芯片制造商而言,通過(guò)提升芯片頻率來(lái)獲得性能提升,而不是增大芯片面積、增加成本來(lái)獲得性能提升,顯然是更為經(jīng)濟(jì)的方案。
在成本控制問(wèn)題上,尤為值得一提的是,在前年《深度學(xué)習(xí)的興起,是通用計(jì)算的挽歌?》一文中,我曾提到芯片設(shè)計(jì)與制造的成本正在逐年攀升,尤其尖端制造工藝成本,包括建廠成本在內(nèi)。即便不看技術(shù)限制,現(xiàn)有市場(chǎng)參與者也已經(jīng)不可能再像過(guò)去那樣按照摩爾定律去迭代制造工藝。而這件事情對(duì)于Intel的影響,也遠(yuǎn)大于對(duì)臺(tái)積電、三星的影響。因?yàn)镮ntel主要營(yíng)收來(lái)源就是尖端工藝,臺(tái)積電和三星的早期制造工藝也是其重要的營(yíng)收來(lái)源。
Intel在10nm與7nm難產(chǎn)的當(dāng)口,將極易陷入惡性循環(huán),不僅影響到其芯片產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力,而且可能會(huì)越來(lái)越遠(yuǎn)離世界最尖端工藝工廠的稱謂。Intel如今背負(fù)的包袱,都會(huì)比蘋果、AMD、高通、三星這些不同層級(jí)的市場(chǎng)參與者都明顯更為沉重。
超寬的架構(gòu)(選讀)
當(dāng)然,“把芯片做大”只是結(jié)果,而不是目的。之所以芯片做大,除了更大的cache獲得更高的數(shù)據(jù)帶寬之外,還在于蘋果熱衷于超寬的處理器架構(gòu),以及還喜歡給SoC加各種專用單元。以下文字內(nèi)容皆可選讀,面向輕度技術(shù)愛(ài)好者。
前文就提到蘋果M1以僅3.2GHz主頻,獲得了超過(guò)競(jìng)爭(zhēng)對(duì)手5GHz頻率處理器的性能。那么M1的頻率若是提到5GHz,豈不是就逆天了?這一點(diǎn)恐怕是無(wú)法達(dá)成的,因?yàn)樘O果走的“寬”核心路線,將更不利于頻率提升,否則功耗也更容易崩邊。一般的,頻率提高,功耗會(huì)以頻率三次方的比例提高。所以那些以將近5GHz換得與M1差不多性能的處理器,也需要付出對(duì)應(yīng)功耗的代價(jià)。
在iPhone 6s時(shí)代,蘋果A9及更早的處理器,普遍有著比市面上同期競(jìng)品更低頻率的傳統(tǒng)。比如說(shuō)蘋果A8是1.5GHz主頻,A9則為1.8GHz,而同期的Arm Cortex-A72頻率已經(jīng)來(lái)到2.5GHz,A73則為2.8GHz。但蘋果處理器依然有默秒全的性能水準(zhǔn)。這是因?yàn)樘O果一直以來(lái)都很喜歡搞“寬”核心,實(shí)現(xiàn)更高的指令并行度,也表現(xiàn)在IPC數(shù)字上(雖然現(xiàn)在的A系列處理器也來(lái)到了3GHz水平上)。
即每周期可做的事情更多,自然能夠以更低的頻率跑任務(wù)。高指令并行或者高IPC,要求更“寬”的處理器核心,比如每周期能同時(shí)讀取、解碼,執(zhí)行或者回寫多條指令。提升指令并行度的方法有很多,當(dāng)代處理器架構(gòu)的一個(gè)重要因素就是亂序執(zhí)行能力。也就是讓沒(méi)有依賴關(guān)系的指令可以亂序執(zhí)行,后面的指令不必等到前面的指令執(zhí)行完再執(zhí)行。
不過(guò)亂序執(zhí)行需要額外的電路,來(lái)解決很多可能會(huì)遭遇的實(shí)際問(wèn)題,也就要求更多的芯片面積和功耗。而“拓寬”整個(gè)架構(gòu),比如提升每周期解碼指令的數(shù)量,許多的dispatch單元,增加更多的ALU執(zhí)行單元,以增加指令并行度,都需要額外的芯片面積。
而且拓寬架構(gòu)也并沒(méi)有那么簡(jiǎn)單,如何讓拓寬的這些單元保持足夠高的利用率,而不是浪費(fèi)資源也多有講究。但越寬的處理器架構(gòu),起碼是實(shí)現(xiàn)較高指令并行的基礎(chǔ)。
前文提到,對(duì)于Intel這樣的芯片制造商,很多時(shí)候通過(guò)提升處理器頻率來(lái)獲得性能提升,而不是增大芯片面積、拓寬芯片架構(gòu)、增加成本來(lái)獲得性能提升,顯然是更為經(jīng)濟(jì)的方案。更窄、更“深”的處理器架構(gòu),也更易于提升頻率。
蘋果M1芯片CPU部分的寬度,某種程度上達(dá)到了新高。下面這張圖來(lái)自AnandTech,是Andrei Frumusanu畫(huà)的Firestorm核心(即A14和M1大核心)架構(gòu)框圖,是他結(jié)合研究與經(jīng)驗(yàn)得到的。現(xiàn)在流傳絕大部分有關(guān)Firestorm微架構(gòu)的解讀應(yīng)當(dāng)都脫胎于此:
來(lái)源: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;傳說(shuō)中超超超寬的三星M3(Exynos 9810),解碼寬度6-wide。
從AnandTech的研究來(lái)看,蘋果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條目??雌饋?lái)高度指令并行就是蘋果要達(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è)分支。
不過(guò)整數(shù)管線部分“變化不大”,浮點(diǎn)與矢量執(zhí)行管線部分是Firestorm的重點(diǎn)。前文也提到了在性能測(cè)試?yán)?,M1的浮點(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)論說(shuō),這可能是蘋果在瀏覽器測(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,一種頁(yè)表的cache,是一個(gè)內(nèi)存管理單元,用于提升虛擬地址到物理地址轉(zhuǎn)換速度)翻倍至256 pages,L2 TLB提至3072 pages。L2 TLB因此能夠覆蓋48MB cache。緩存部分的提升,以及與其他競(jìng)品的對(duì)比,這里不再贅述——本文前一個(gè)段落已經(jīng)做了解釋。
只不過(guò)前面提到的這些并不是一蹴而就的。在iPhone Xs時(shí)期,蘋果A12的Vortex核心在寬度上就已經(jīng)有了桌面級(jí)CPU的規(guī)模,相比當(dāng)時(shí)的Arm Cortex-A76和三星M3,都要寬上不少,無(wú)論是執(zhí)行管線還是存儲(chǔ)子系統(tǒng)。所以M1如今的這種超寬架構(gòu),也算是蘋果芯片的一脈相承了。
引入更多專用單元(選讀)
《深度學(xué)習(xí)的興起,是通用計(jì)算的挽歌?》一文已經(jīng)提到隨摩爾定律放緩,通用處理器性能提升變慢,為保證滿足應(yīng)用對(duì)性能增長(zhǎng)的需求,專用處理器是一條更能走得通的路。實(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靠這種方式來(lái)騙分,并認(rèn)定Arm在高性能上做不到x86處理器的依據(jù)。不過(guò)這次Geekbench 5其他項(xiàng)目,比如整數(shù)、浮點(diǎn)性能,M1也能碾壓酷睿i9(十代酷睿)。而且專用硬件單元輔助某個(gè)項(xiàng)目,本質(zhì)上對(duì)于體驗(yàn)也是有幫助的。
類似的情況在蘋果當(dāng)代芯片上相當(dāng)常見(jiàn)。比如用iPad(A14)和MacBook(M1芯片)做視頻剪輯(尤其是Final Cut Pro),其體驗(yàn)和效率就遠(yuǎn)超Windows PC(Intel酷睿)。
這是基于M1芯片中的編解碼器強(qiáng)過(guò)市面上絕大部分GPU(在Handbrake的硬件H.265測(cè)試?yán)铮琈1的編碼模塊表現(xiàn)出對(duì)Intel和AMD的徹底碾壓);外加M1之上的AI專用處理器也參與畫(huà)面分析,專門的ISP(圖像處理器)可執(zhí)行 ProRes RAW格式的demosaic運(yùn)算;而且M1內(nèi)部還集成了SSD主控,對(duì)于I/O敏感操作也有幫助。
所以對(duì)于經(jīng)常需要剪視頻的人來(lái)說(shuō),M1簡(jiǎn)直太適配了。同理還有碼農(nóng)、攝影師,以及單純的視頻娛樂(lè)用戶等。
這些都建立在M1作為一顆SoC,以更多專用單元來(lái)解決具體問(wèn)題的基礎(chǔ)上。雖說(shuō)專用單元彈性欠缺,但蘋果很清楚MacBook目標(biāo)用戶群日常都拿設(shè)備來(lái)做什么。有針對(duì)性地優(yōu)化專用單元,并且提升特定使用場(chǎng)景下的操作體驗(yàn),達(dá)成性能和效率(功耗表現(xiàn))的雙重提升。這也印證了通用計(jì)算裹足不前時(shí),靠專用計(jì)算就是個(gè)重要方向,雖然未必得是專用處理器。
這些專用單元的存在,其本質(zhì)在我看來(lái),與Intel為酷睿增加AVX-512指令支持并無(wú)太大區(qū)別。無(wú)論說(shuō)這些專用單元是“刷分”利器也好(甚至有人說(shuō)system cache也是刷分利器),是奇技淫巧也好,它們都實(shí)實(shí)在在地發(fā)揮了作用。
這其中再度迸發(fā)的一個(gè)問(wèn)題是,既然超寬架構(gòu)和專用單元這么好,Intel和AMD為什么不做呢?其中的原因大概是多種多樣的,而且Intel、AMD事實(shí)上也的確在朝著這些方向努力?;蛟S更重要的一點(diǎn)在這兩個(gè)選項(xiàng),仍是以增加die size為基礎(chǔ)的,參見(jiàn)文本第二部分。
還有一些現(xiàn)實(shí)問(wèn)題,比如說(shuō)具體到在CPU前端解碼寬度問(wèn)題上,x86這種變長(zhǎng)指令,指令長(zhǎng)度在1-15 bytes之間,而Arm為4 bytes定長(zhǎng)指令。這也就意味著x86的解碼器很難搞清楚一條指令究竟從哪里開(kāi)始,需要對(duì)每條指令做長(zhǎng)度分析。X86處理器在解碼階段因此要處理不少錯(cuò)誤,AMD曾經(jīng)談到過(guò)增加更多解碼器會(huì)導(dǎo)致更多的問(wèn)題,而4-wide解碼寬度成為其設(shè)計(jì)的一個(gè)限制。
恐怖的生態(tài)掌控力
從芯片設(shè)計(jì),到操作系統(tǒng),到開(kāi)發(fā)生態(tài),到消費(fèi)終端設(shè)備設(shè)計(jì)制造,甚至到銷售,蘋果都一手掌控。這在整個(gè)業(yè)界怕都是絕無(wú)僅有的(三星似乎欠缺十分重要的操作系統(tǒng)環(huán)節(jié))。其促成的商業(yè)模式,也是蘋果可以如此在M1和Firestorm核心上任意妄為的基礎(chǔ),這在前文中就已經(jīng)提過(guò)了。
而除了處理器本身的微架構(gòu),在更上層的系統(tǒng)設(shè)計(jì)以及軟件架構(gòu)上,蘋果也有相當(dāng)?shù)脑捳Z(yǔ)權(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ì)令人震驚,我們之前也從未見(jiàn)到過(guò)”。)
這種設(shè)計(jì)并不新穎,AMD早年也做過(guò)類似的技術(shù),但并未得到普及。這種設(shè)計(jì)對(duì)于軟件開(kāi)發(fā)有新的要求。蘋果牢固的開(kāi)發(fā)生態(tài)掌控力,應(yīng)付這種事應(yīng)該也只是件小事。對(duì)Windows PC不同市場(chǎng)參與者分而治之的局面來(lái)說(shuō),這件事就顯然沒(méi)那么容易了。
與此同時(shí),還能夠顯現(xiàn)蘋果生態(tài)掌控力牢固的一點(diǎn)在于蘋果十分輕易地在M1芯片上換用自家GPU?!霸a”在圖形計(jì)算一側(cè)就顯得沒(méi)那么重要,蘋果的Metal API可以直接為蘋果GPU準(zhǔn)備就緒,意即蘋果圖形計(jì)算方面的儲(chǔ)備可在M1及現(xiàn)有生態(tài)上,立刻發(fā)揮作用。(雖然Metal相比DirectX,似乎在軟件效率上還是弱了點(diǎn))
微軟在Windows 10 on Arm的生態(tài)部署上就萬(wàn)般掣肘,這雖然和微軟自身舉棋不定的決策力也有關(guān)。但在Arm版Windows出現(xiàn)這么久,也沒(méi)有像樣的生態(tài)構(gòu)建起來(lái),Windows開(kāi)發(fā)者對(duì)于Windows Runtime也意興闌珊,就能表現(xiàn)出蘋果在這次轉(zhuǎn)舵中的決絕和生態(tài)構(gòu)建的超級(jí)速度。
前一陣傳言微軟決定自研芯片,用于將來(lái)的Surface。個(gè)人感覺(jué)這條信息的可信度不大,因?yàn)槲④洸幌裉O果那樣,有數(shù)億出貨量的設(shè)備可為其分擔(dān)芯片的設(shè)計(jì)和制造成本,尤其是尖端工藝的制造成本。要知道沒(méi)有大量出貨來(lái)分?jǐn)偝杀?,以Surface的量是走不起尖端工藝的。但這條消息的出現(xiàn)也表明,蘋果在M1及其周邊生態(tài)的打造上,有多成功。
只不過(guò)蘋果的這種模式與生態(tài),究其根本也依托于消費(fèi)電子終端設(shè)備的銷量。若哪一日iPhone銷量大幅下滑,則芯片業(yè)務(wù)與周邊生態(tài)也將很快難以為繼。分而治之的生態(tài)便沒(méi)有如此脆弱。
用一句悲觀的話來(lái)總結(jié)本文:Windows PC陣營(yíng)恐怕很難出現(xiàn)蘋果M1那樣的芯片。不過(guò)這并沒(méi)有什么大不了,畢竟是兩個(gè)生態(tài):看隔壁Android陣營(yíng)也從不因?yàn)閕Phone賣得多好,各參與者就亂了方寸。
參考來(lái)源:
[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
-
處理器
+關(guān)注
關(guān)注
68文章
19112瀏覽量
228860 -
高通
+關(guān)注
關(guān)注
76文章
7431瀏覽量
190245 -
intel
+關(guān)注
關(guān)注
19文章
3479瀏覽量
185671 -
半導(dǎo)體行業(yè)
+關(guān)注
關(guān)注
9文章
401瀏覽量
40447 -
M1芯片
+關(guān)注
關(guān)注
0文章
21瀏覽量
5076
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論