相信大家都已經(jīng)知道,蘋果在最新一場(chǎng)秋季發(fā)布會(huì)中,宣告了全新的MacBook產(chǎn)品。新MacBook換用了蘋果自研的基于ARM架構(gòu)的M1芯片,蘋果從X86陣營(yíng)轉(zhuǎn)向,投入了ARM的懷抱。
蘋果MacBook換用ARM芯片
在傳統(tǒng)觀念中,ARM是用于移動(dòng)平臺(tái)的架構(gòu),和桌面的X86芯片相比,ARM芯片的能效更高,但性能羸弱。這次蘋果MacBook換用ARM,同時(shí)macOS 11仍對(duì)以往基于X86 macOS開(kāi)發(fā)的軟件兼容,這就讓很多朋友感到困惑——用新的MacBook跑當(dāng)前的X86軟件,到底會(huì)不會(huì)卡?
之前使用ARM芯片的Surface平板,運(yùn)行X86軟件效果并不理想,MacBook會(huì)重蹈覆轍嗎?
這種擔(dān)心是有道理的。在此之前,微軟已經(jīng)做過(guò)了這方面的嘗試。微軟推出了使用ARM芯片的Surface Pro X平板電腦,兼容X86的Win10軟件。然而人們發(fā)現(xiàn),體驗(yàn)并不理想,傳統(tǒng)軟件運(yùn)行起來(lái)緩慢遲鈍。換用ARM芯片的MacBook會(huì)不會(huì)有這樣的問(wèn)題?這就來(lái)分析一下。
MacBook的ARM芯片足夠強(qiáng)嗎?
新MacBook跑舊軟件到底慢不慢,最關(guān)鍵的因素自然是新的M1芯片。人們普遍認(rèn)為,ARM芯片的性能水平無(wú)法和X86比肩,畢竟ARM是簡(jiǎn)單指令集RISC而X86是復(fù)雜指令集CISC,復(fù)雜指令集自然強(qiáng)大得多,但事實(shí)上這是一個(gè)誤會(huì)。
在規(guī)模上,蘋果M1芯片足以和頂尖的X86桌面處理器并駕齊驅(qū)
CPU發(fā)展到今天,RISC和CISC的邊界其實(shí)已經(jīng)相對(duì)模糊了。在當(dāng)前的X86處理器中,復(fù)雜指令也是會(huì)分拆成為類簡(jiǎn)單指令來(lái)執(zhí)行的。
而在規(guī)模上,蘋果設(shè)計(jì)的ARM芯片已經(jīng)追趕上了X86,例如A14的芯片面積為88mm?,共110億個(gè)晶體管,而AMD最新發(fā)布的Zen3處理器中一個(gè)CCD的面積為80.7mm?,共41.5億個(gè)晶體管。
考慮到A14還封裝了AI模塊、GPU等,A14芯片使用的是5nm工藝,而5800X使用的是7nm工藝,事實(shí)上大家的CPU單元部分,規(guī)模已經(jīng)是并駕齊驅(qū)。
了解了規(guī)模,再來(lái)看看性能實(shí)測(cè),這里引用Anandtech的數(shù)據(jù)。Anandtech使用了行業(yè)權(quán)威性能測(cè)試套件SPEC 2006來(lái)對(duì)比測(cè)試蘋果A14、AMD Zen3以及英特爾Tiger Lake的性能,結(jié)果如下。
首先是整數(shù)性能,可以看到A14并不落下風(fēng)。
再來(lái)看看浮點(diǎn)性能,A14和Zen3要明顯領(lǐng)先于Tiger Lake。
Anandtech還使用了大家非常熟悉的Geekbench來(lái)測(cè)試,結(jié)果如下。
可以看到,在單線程性能上,A14的確已經(jīng)能追上當(dāng)前頂級(jí)的X86處理器。這次蘋果MacBook使用的M1處理器,架構(gòu)和A14相似,但規(guī)格更高,晶體管規(guī)模達(dá)到了160億個(gè),增加了兩個(gè)大核心,在性能上方面是可以令人放心的。
其實(shí)到了這里,我們也不難找出為什么Surface Pro X運(yùn)行緩慢的原因。Surface Pro X使用的是高通SQ1/SQ2處理器,這基本是驍龍855的馬甲。而即使是驍龍865+,對(duì)比A14以及最新的X86處理器,性能也依然不太夠看……
此情此景下,加之Win10 on ARM較低下的指令翻譯效率,Surface Pro X運(yùn)行X86軟件的體驗(yàn)就不甚理想了。
是的,到了這里大家應(yīng)該也能看到ARM處理器運(yùn)行X86軟件,除了自身性能之外的其他影響因素了——操作系統(tǒng)的指令翻譯效率。
macOS 11的指令翻譯效率高嗎?
X86軟件想要在ARM芯片上運(yùn)行,需要進(jìn)行指令翻譯。雖然ARM指令集并不意味著性能低下,但畢竟它和X86還是不同的,指令需要翻譯過(guò)來(lái),才能讓ARM芯片執(zhí)行。
在今年的WWDC大會(huì)上,蘋果已經(jīng)公布了指令翻譯的方案。蘋果宣布,將會(huì)為macOS平滑過(guò)渡到ARM平臺(tái),推出Rosetta 2中間轉(zhuǎn)換層。
如果你是老果粉,對(duì)于Rosetta這個(gè)詞一定很熟悉——蘋果Mac電腦當(dāng)年從IBM PowerPC架構(gòu),遷移到Intel X86平臺(tái),所使用的轉(zhuǎn)換層正是Rosetta。
Mac遷移平臺(tái)這事,蘋果已經(jīng)干過(guò)一次了,當(dāng)年Mac從PPC遷移到X86的兼容層被稱為“Rosetta”
Rosetta 2的作用在于,它通過(guò)指令翻譯,可以讓ARM平臺(tái)的macOS,直接運(yùn)行絕大部分的X86軟件。從蘋果的介紹來(lái)看,Rosetta 2的性能還相當(dāng)不錯(cuò),它并不是在軟件運(yùn)行的時(shí)候,才翻譯指令的,而是在軟件安裝時(shí)就做好了轉(zhuǎn)換。
當(dāng)然,這也并非說(shuō)Rosetta 2可以實(shí)現(xiàn)性能完全無(wú)損,它對(duì)AVX指令兼容并不好,如果X86軟件依賴AVX乃至AVX2,那么在ARM平臺(tái)上由于沒(méi)有對(duì)應(yīng)的高性能指令,運(yùn)行效率會(huì)有明顯下滑。
并不是所有的軟件都會(huì)用到AVX指令集,總體來(lái)說(shuō),Rosetta 2的性能應(yīng)該還是可以接受的。
這次Mac從X86遷移到ARM,Rosetta 2對(duì)舊有X86軟件的兼容也起著至關(guān)重要的作用
至于Rosetta 2的實(shí)際表現(xiàn)會(huì)如何?我們可以從兩方面來(lái)衡量。
首先是參考Rosetta。蘋果從PowerPC遷移到X86時(shí),也使用了類似方案,當(dāng)年并沒(méi)有太多人抱怨Rosetta性能低下,我們自然也可以對(duì)Rosetta 2抱有期待。
其次是參考開(kāi)發(fā)者的實(shí)測(cè)。實(shí)際上,蘋果早前就已經(jīng)推出了基于A12Z芯片的Mac mini開(kāi)發(fā)機(jī),開(kāi)發(fā)者們很早就能接觸到Rosetta 2,但到目前為止并沒(méi)有什么關(guān)于Rosetta 2性能低下的爆料,可見(jiàn)Rosetta 2的實(shí)戰(zhàn)表現(xiàn)應(yīng)該相當(dāng)不錯(cuò)。
MacBook換用ARM之前,ARM的Mac mini開(kāi)發(fā)機(jī)早已經(jīng)有了,沒(méi)有傳出性能方面的負(fù)面消息
到了這里,我們又可以來(lái)分析一下為什么Surface Pro X的表現(xiàn)會(huì)如此糟糕了。在Surface Pro X的Windows 10 on ARM中運(yùn)行X86軟件,是邊轉(zhuǎn)碼邊運(yùn)行的,并不像蘋果Rosetta 2那樣在安裝時(shí)作好轉(zhuǎn)碼工作,運(yùn)行時(shí)無(wú)需再次轉(zhuǎn)碼。加上性能較弱的SQ1/SQ2處理器,運(yùn)行X86軟件拖慢卡頓也就在情理之中了。
總結(jié)
到了這里,相信大家都可以得出結(jié)論了。MacBook使用的M1處理器性能非常強(qiáng)大,足以和頂尖的X86處理器同臺(tái)競(jìng)技;而蘋果又在macOS 11中準(zhǔn)備了高效的Rosetta 2指令翻譯方案,因此對(duì)于能否流暢運(yùn)行之前的X86軟件,大家無(wú)需太過(guò)擔(dān)心。
根據(jù)蘋果的說(shuō)法,情況要比筆者文中分析的更加樂(lè)觀。蘋果宣稱,M1要比之前MacBook所使用的X86處理器性能高1倍,同時(shí)功耗僅為25%。從各種角度來(lái)看,新的MacBook都非常值得期待,一起來(lái)靜待上市實(shí)測(cè)吧。
新MacBook性能真的像蘋果公布的那么勁爆么?
關(guān)鍵詞: