macOS 11兼容ARM芯片,從另一維度挑戰Windows

蘋果M1的出彩,是出乎很多人的意料的。特別是對比微軟在ARM領域的步履蹣跚,更凸顯出蘋果新產品的不可思議。要知道,微軟早在2012年,就推出瞭使用ARM處理器的Surface平板,並為之配備瞭轉制的Windows RT系統;最近,微軟更是力推使用驍龍ARM處理器的Surface Pro X平板,其上搭載的是兼容X86軟件的Windows 10 on ARM。

微軟早已經涉足ARM領域,推出瞭基於ARM的Windows平板,但表現不盡如人意

然而,微軟的ARM產品實際表現卻令人失望。初代Surface上的Windows RT無法兼容X86軟件,而Windows 10 on ARM則無法運行64位軟件,且使用X86軟件時性能極其低下。和M1以及macOS 11相比,表現有雲泥之別。

微軟借助Wintel聯盟,統治瞭桌面市場三十年。蘋果macOS憑借M1這顆表現驚人的ARM芯片,能否挑戰Windows?今天一起來談談這個話題吧。

M1芯片為何能有如此高性能?

Windows的成功,和X86處理器在性能上的強勢是密不可分的。業界有一個很著名的說法,叫“安迪-比爾”定律,安迪指的是Intel前CEO安迪·格魯夫,比爾則是大傢都熟悉的微軟創始人比爾·蓋茨。這個定律的主要內容,就是安迪提供什麼,比爾就會拿走什麼,意思是Intel為代表的X86處理器提供的性能,都會被Windows為代表的軟件吃掉。

雖然這個定律很有吐槽軟件吃性能的意味,但也肯定瞭X86處理器的性能表現。而現在,M1這顆ARM處理器,在輕薄筆記本的使用環境下,性能大大壓過瞭X86處理器一頭,這到底是怎麼做到的呢?這和M1處理器的諸多特性是密不可分的。

·工藝。得益於多年和臺積電的密切合作,蘋果M1處理器得以用上瞭最先進的5nm工藝,先進的工藝帶來瞭能效方面的先天優勢。而M1的設計也是和臺積電的工藝特點相契合的,對比Intel,臺積電的工藝並不追求高頻率,而M1的架構則主攻高IPC,並不需要高頻,雙方共同鑄造出瞭M1芯片的極高能效。

M1芯片使用瞭與之特性相契合的先進工藝

·規模。受益於5nm工藝,M1芯片得以在有限的面積中,集成不亞於X86處理器規模的晶體管。M1處理器包含8個CPU核心,芯片面積為119mm²,集成瞭160億個晶體管;作為對比,當前桌面頂級處理器AMD Zen 3中的一個CCD同樣包含8個CPU核心,面積為80.7mm²,集成41.5個晶體管。考慮到M1還封裝瞭GPU、RAM等其他模塊,事實上雙方在CPU單元部分,規模已經是並駕齊驅。

·架構。M1的CPU架構設計是非常激進的。舉個例子,根據外媒Anandtech推測出來的架構圖,M1擁有8解碼超寬架構的大核心,這是一個非常誇張的規模——頂級X86處理器隻做到瞭4解碼。而在ALU單元、FPU單元的數量配置上,M1對比當前的X86處理器也有優勢。盡管受限於工藝以及架構特點(超寬架構、短流水線),M1的頻率並不高,但IPC卻超過瞭許多頂級的X86處理器。

M1的大核心架構設計非常激進,X86處理器沒有這麼多路前端解碼

·專用電路。很多朋友都看過M1版MacBook的剪片演示,新MacBook在視頻剪輯的速度上,居然遠勝於售價高好幾倍iMac Pro,小小的甚至不需要風扇散熱的M1芯片,表現更勝於i9處理器。這其實在很大程度上,得益於M1芯片集成的專用電路。

很多需要算力的特定功能,在M1中都有專用電路實現

專用電路這個名詞聽起來,似乎有點陌生,但其實如果你關註挖礦,就知道這是什麼意思瞭。在挖礦領域,CPU速度遠不如GPU,而GPU又遠不如ASIC礦機,這是因為ASIC芯片是專為挖礦算法定制的專用電路。在M1芯片中,也存在諸多這樣的專用電路,它們能為視頻編碼解碼、機器學習、圖像處理、數據加密等計算提供硬件加速,結合macOS 11專為其打造的API,一些生產力任務能夠前所未有地高效運行。

·片上互聯。這又是M1芯片的一大殺手鐧。在傳統的PC硬件架構中,內存、GPU、CPU等部件,需要經由主板相關總線來傳輸數據,而M1芯片則將這些部件進行瞭SoC化,將其集成到瞭同一塊芯片當中。相比傳統做法,M1芯片能極大程度地提升數據傳輸的速度,性能得到瞭系統性的提升。

macOS可以憑借M1芯片挑戰Windows嗎

macOS可以憑借M1芯片挑戰Windows嗎

M1芯片結合macOS 11,表現令很多人眼前一亮。對比Windows在ARM領域的坎坷進軍,蘋果這套組合拳更顯得出類拔萃。那麼問題來瞭,在這個ARM愈發強勢的時代,macOS能否憑借M1這顆頂級的ARM芯片,挑戰Windows以及X86體系?恐怕依然是不行的。

首先來說說硬件方面。

上文提到瞭M1芯片性能強大的秘密,但這是否意味著它就可以挑戰X86處理器?X86處理器之所以沒有使用M1這樣的激進架構設計,是有很多現實方面的原因的。

首先,和ARM相比,X86背負著更沉重的歷史兼容問題。雖然當前的X86處理器本質上也是將復雜指令拆分為簡單指令進行解碼,但X86指令的長度並不固定(變長指令),不像ARM處理器那樣,隻解碼長度固定的定長指令,這意味著X86處理器很難通過堆砌指令解碼器,來大幅提升性能。如今的X86處理器仍兼容多年前的MMX等古老指令,這些又需要耗費額外的晶體管。這些現狀,令X86無法像ARM那樣輕裝上陣。

需要耗費更多晶體管,去兼容MMX等古老指令,這就是所謂的“X86稅”

而蘋果從來對向後兼容不上心。為瞭追求性能,蘋果的兼容可以爛到什麼程度呢?例如你買瞭最新版的使用M1處理器的MacBook,想要打開幾年前剪視頻的項目文件,發現新版Final Cut已經不支持這個舊版文件,而現在的MacBook,又安裝不瞭舊版的Final Cut(不再支持32位)……你幾年前拍攝的素材,就這麼廢掉瞭。

幾年前的文件,用新Mac打不開,蘋果可不考慮舊軟件的兼容

蘋果主攻消費市場,它可以讓M1芯片徹底拋棄ARMv7指令集、放棄32位支持,讓晶體管用在刀刃上;但X86廣泛用於企業、工控等領域,它敢這樣做嗎?想想Intel安騰IA-64的慘淡下場,答案不言而喻。

X86當前對比M1有能效劣勢,那它能不能像M1那樣,使用8解碼的超寬架構?由於變長指令等限制,X86處理器要實現超寬架構,設計難度太大,因此當前X86處理器選擇瞭多核心超線程、超寬SIMD(例如AVX512)作為性能路線。

這又帶來一個問題。和ARM處理器相比,想要發揮出應有的性能,代碼需要專門為這些特性進行優化。X86並不像M1芯片那樣,運行蘋果為其高度優化定制的macOS系統,這進一步削弱瞭X86處理器在性能上的優勢——最近的一個典型例子,就是Windows並不能很好地調度Zen 2處理器的CCX模塊,需要為其制作補丁。

Win10 1903對Zen架構的優化:優先調用同一CCX內的核心、縮短響應時間,但如果沒有這補丁呢?

而不得不提的是,M1的激進設計,以及macOS的優化,令Mac表現出匪夷所思的性能,但這些性能優勢,是否將一直持續?前面提到,M1的強勁性能很多是通過專用電路來實現的,蘋果系統通過API活用這些電路,讓Mac擁有瞭出色的能效比。然而專用電路的軟肋也在於“專用”,M1今天能夠實現高規格HEVC視頻的硬件加速,當新的視頻編碼面世,它還能有如此大的性能優勢嗎?恐怕無法做到。

最關鍵的一點在於,M1芯片是蘋果專屬,它不會外賣給其他廠商。這意味著,除瞭Mac電腦對應的消費市場,它沒法在更多領域上,向X86發起沖擊。與之相比,X86以及Windows的分佈更加廣泛,或許搭載M1的macOS能夠在某些領域刺到消費者的痛點,但蘋果仍無力打破X86和Windows築起的壁壘。

M1芯片是Apple Silicon,它不會外賣給他人,無法在更多領域對X86和Windows發起挑戰

簡而言之,和M1芯片相比,X86處理器的設計沒有那麼激進,也沒有這麼多專屬優化,因此在不少情況下性能會落於下風。但X86處理器的向後兼容、多線程並發等優勢,也是M1芯片無法企及的。X86芯片在商用、工控、消費市場都能獨挑大梁,ARM陣營並不能憑借M1芯片,就挑翻盤根錯節的X86體系。

再來說說軟件。

macOS 11非常驚艷,通過SwiftUI以及Mac Catalyst,融合瞭蘋果移動平臺的生態。加之使用Rosetta 2轉換層兼容已有的X86軟件,這讓它能夠在保有大部分X86生態的同時,在ARM生態中活用M1的性能長處。很多朋友可以觀察到,macOS 11並不缺軟件,而很多跨平臺同時支持Windows和macOS 11的軟件,在macOS 11中性能表現會更好。例如微軟傢的Office、Visual Studio Code,就是其中例子。

M1為macOS提供瞭澎湃的性能,macOS能否藉此挑戰Windows?在輕薄本領域,新的M1版MacBook已經鶴立雞群,但macOS所面對的局限,和M1芯片是如出一轍的——它並不對外開放授權。

macOS將慢慢成為蘋果ARM芯片的獨占,PC機運行macOS的“黑蘋果”將成為歷史

如果說X86時代,macOS還可以通過黑蘋果的方式,安裝在其他機器上,那麼進入到ARM時代後,macOS必然會漸漸成為Mac電腦的獨占。當蘋果未來進一步在Mac電腦中普及ARM處理器,Mac和PC沒有瞭共通的硬件基礎,macOS自然也就無法通過偽裝硬件型號等手段,安裝到其他PC中。

也就是說,ARM處理器的應用,反而減少瞭macOS的適用范圍。macOS隻能在蘋果的既定硬件產品上,和對應的Windows PC競爭;而Windows開放的系統授權,必然能覆蓋遠多於蘋果產品線的PC產品。從這個層面來看,macOS隻能憑借少數的尖端產品、吸引少部分PC用戶,不可能在整體上和Windows產生競爭。

反觀Win10 ARM,可以安裝在其他ARM設備上,這是否會重演X86時代PC圍攻Mac的故事?

在可以預見的未來,這一情況不會改變。蘋果從誕生起,一直秉持著制作小而精產品的理念,蘋果從來就沒打算讓macOS像Windows那樣,成為大眾之選。對於蘋果而言,無論是M1芯片還是macOS 11系統,都隻不過是構造心目中某款理想產品的部件,它們不需要攻城略地占下大片市場份額,隻需站上某個高聳的小山頭即可。

M1芯片是macOS的一把尖刀,但它們顯然是無法撬動Windows和X86處理器築成的這堵龐大城墻的。

後話

總的來說,macOS不太可能憑借M1芯片,來挑動Windows和X86的市場地位。

·M1芯片和macOS的高性能,當然是受益於先進的工藝、激進的架構以及專門的優化,但也很大程度上也是以犧牲向後兼容性為代價的,需要長期穩定運行的環境無法接受這樣的產品;

·M1芯片和macOS都隻服務於品類稀少的蘋果產品,無法與Windows、X86在更多的細分領域競爭。

無論如何,M1芯片的橫空出世,的確刷新瞭很多人的觀念。ARM也可以用於高性能計算,在特定的環境下,它能比X86做得更好,這足以支撐Mac這樣的小眾產品成為爆品。Windows 10 on ARM以及Windows 10X也正在緊鑼密鼓地開發中,微軟在ARM時代能再創輝煌嗎?除瞭macOS,Windows是否會遇到新的挑戰者?我們拭目以待吧。

Source: m.cnbeta.com