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