李實(shí)
在2006年前,蘋果曾經(jīng)將旗下個(gè)人電腦等設(shè)備所使用的計(jì)算架構(gòu)從Power轉(zhuǎn)向至x86,這次改變使得蘋果的產(chǎn)品在性能方面追趕上了市場(chǎng)上的主流產(chǎn)品,并擁有了更廣闊的發(fā)展空間。斗轉(zhuǎn)星移,14年后,蘋果在WWDC 2020上宣布旗下Mac產(chǎn)品線將會(huì)在兩年內(nèi)轉(zhuǎn)移至ARM架構(gòu)的Apple Silicon——Apple Silicon是蘋果對(duì)自家ARM架構(gòu)芯片系統(tǒng)和封裝體系的總稱。那么,蘋果為什么會(huì)再—次轉(zhuǎn)換“跑道”,它又將如何完成這一過(guò)程?
CCX模塊采用全新設(shè)計(jì)
2020年WWDC最大的新聞莫過(guò)于蘋果宣布要將整個(gè)Mac產(chǎn)品架構(gòu)從x86轉(zhuǎn)移至ARM。雖然在這個(gè)消息正式公布之前,蘋果曾經(jīng)在多個(gè)場(chǎng)合表示對(duì)現(xiàn)有產(chǎn)品架構(gòu)的異議,并且大量小道消息也顯示蘋果正在積極謀劃新的產(chǎn)品線,尤其是在蘋果iOS生態(tài)系統(tǒng)和相關(guān)A系列SoC大獲成功之后。但是只要靴子沒(méi)有落地,人們的議論和猜測(cè)就一天不會(huì)停止。
現(xiàn)在,消息已經(jīng)明朗。蘋果宣布大概需要兩年時(shí)間來(lái)完成這次架構(gòu)遷移過(guò)程。但是,就像蘋果之前發(fā)布的大量公告信息那樣,它所提供的消息有限,只有部分比較籠統(tǒng)的消息,這些消息吊起了開(kāi)發(fā)人員和消費(fèi)者的胃口,同時(shí)缺乏真正的細(xì)節(jié)。因此,本文的內(nèi)容在很大程度上也基于現(xiàn)有的消息和情況,更多的內(nèi)容可能要等到蘋果在2020年下半年真的推出了基于ARM的Mac產(chǎn)品之后才會(huì)進(jìn)一步明確。
從市場(chǎng)角度來(lái)看,蘋果公司的下一個(gè)目標(biāo)是垂直整合整個(gè)Mac產(chǎn)品線。從性能指標(biāo)和用戶體驗(yàn)來(lái)看,蘋果目前在iOS生態(tài)上成功的最核心原因之一就是垂直整合。蘋果的想法就是,既然在iOS上能夠取得成功,那么在Mac設(shè)備上也可以如法炮制。垂直整合的優(yōu)勢(shì)在于,即使從用戶界面看起來(lái)操作系統(tǒng)沒(méi)有什么大的變化,但是蘋果將底層硬件架構(gòu)和SoC有機(jī)融合后能夠使得操作系統(tǒng)更為充分地調(diào)用soc的所有設(shè)計(jì)和特殊功能,比如電源控制、ISP、視頻編解碼、神經(jīng)網(wǎng)絡(luò)引擎等,這些都將是被重點(diǎn)關(guān)注的內(nèi)容。
蘋果在Mac生態(tài)系統(tǒng)上的核心改變是向ARM架構(gòu)過(guò)渡,但奇怪的是,蘋果目前謹(jǐn)慎地避免在公告中的任何地方提及“ARM”一詞,只是在新的macOS開(kāi)發(fā)文檔中明確說(shuō)明了蘋果正在將自己芯片設(shè)計(jì)和ARH結(jié)合在一起,準(zhǔn)備推出一系列基于ARH架構(gòu)的SoC產(chǎn)品。在這個(gè)計(jì)劃的早期,用戶甚至可以看到其在iPad設(shè)備和Mac設(shè)備中使用幾乎一樣的soc。但是最終蘋果希望基于ARH重新設(shè)計(jì)的SoC能夠比肩目前Mac Pro中使用的高性能x86處理器產(chǎn)品。
從性能和現(xiàn)有產(chǎn)品的角度來(lái)說(shuō),蘋果已經(jīng)在芯片設(shè)計(jì)上取得了極為輝煌的成功。蘋果從早期在A4 SoC中使用類似Cortex-A9的架構(gòu)開(kāi)始,通過(guò)年復(fù)一年的迭代和升級(jí),帶來(lái)了整個(gè)架構(gòu)和性能的巨大提升。相比之下,英特爾在x86上卻陷入了多年的停滯不前,甚至現(xiàn)在蘋果的Lighting內(nèi)核在IPC方面已經(jīng)非常接近英特爾使用多年的Skylake架構(gòu)。根據(jù)anandtech的測(cè)試,A13在SPEC CPU 2006中能拿下65.27的分?jǐn)?shù),相對(duì)應(yīng)的Core i9-10900K為77.42分,其差距縮小至大約15%左右。
不過(guò),現(xiàn)在就說(shuō)蘋果在芯片設(shè)計(jì)能力上超越英特爾還略微早了一點(diǎn),尤其是考慮到其在Mac Pro中使用的仍是Xeon芯片。蘋果宣稱一個(gè)擁有豐富經(jīng)驗(yàn)的工程師團(tuán)隊(duì)正在完成這項(xiàng)工作,有消息稱蘋果這個(gè)團(tuán)隊(duì)正在將手機(jī)或者平板上那些優(yōu)秀的設(shè)計(jì)和思想移植到新的高性能處理器上,這也是人們所期待的。蘋果認(rèn)為,自行設(shè)計(jì)的芯片能夠在更低的功耗下提供更高的性能。
從另一個(gè)角度來(lái)看,蘋果宣布整個(gè)產(chǎn)品架構(gòu)過(guò)渡的時(shí)間有點(diǎn)奇怪。實(shí)際上,目前ARM正在準(zhǔn)備發(fā)布ARH v9 ISA(現(xiàn)在是ARH v8.2 ISA),新的ISA帶來(lái)了一些提高性能的功能,比如可伸縮矢量擴(kuò)展(SVE2,類似于英特爾的AVX指令集)。因此,要么ARH很快就會(huì)發(fā)布ARH v9 ISA,這樣一來(lái)蘋果就能順理成章地宣布支持新的ISA。要么就是蘋果依舊將新的SoC停留在ARH v8.2階段,并將NENO擴(kuò)展推遲到今后再去解決,這是非常值得關(guān)注的事情。
過(guò)渡期的策略:x86和ARM的并行時(shí)光
另外一個(gè)值得關(guān)注的內(nèi)容是在兩年過(guò)渡期內(nèi),蘋果應(yīng)該如何面對(duì)x86和ARM,是戛然而止還是緩慢過(guò)渡?現(xiàn)在蘋果已經(jīng)確認(rèn),過(guò)渡期間ARM和x86架構(gòu)將會(huì)并存,并且蘋果還在準(zhǔn)備推出全新的x86設(shè)備(據(jù)稱可能是基于AMD Ryzen 5000系列的新Mac產(chǎn)品)。
這樣的過(guò)渡策略要求蘋果需要一段時(shí)間和足夠的人手來(lái)圍繞新的SoC進(jìn)行準(zhǔn)備。另外一個(gè)要點(diǎn)是,即使蘋果在未來(lái)2年內(nèi)不發(fā)布任何新系列產(chǎn)品,基于現(xiàn)有產(chǎn)品,蘋果依舊需要不斷更新英特爾處理器以跟上市場(chǎng)的前進(jìn)速度,直到基于ARM架構(gòu)的產(chǎn)品準(zhǔn)備完成為止。在這種情況下,雖然蘋果目前沒(méi)有提及自己可能會(huì)先更換或者替代哪個(gè)產(chǎn)品線,但是看起來(lái)定位低端的筆記本電腦或者對(duì)性能要求較低的產(chǎn)品可能會(huì)先被更換到ARM架構(gòu),隨后才是高性能的Mac或者M(jìn)ac Pro系列產(chǎn)品。
在軟件支持方面,蘋果目前依舊在x86架構(gòu)的軟件上持續(xù)投入以維持其優(yōu)勢(shì),并且這個(gè)優(yōu)勢(shì)還會(huì)持續(xù)保持。另外蘋果也公開(kāi)證實(shí),他們將繼續(xù)在未來(lái)數(shù)年內(nèi)支持x86架構(gòu)的Mac電腦,這樣做也是為了避免目前基于x86的設(shè)備被過(guò)快淘汰。當(dāng)然,這個(gè)“數(shù)年”是多久還需要持續(xù)觀察,除非蘋果特別加速了x86設(shè)備的退出時(shí)間,否則蘋果會(huì)在ARM設(shè)備推出后數(shù)年內(nèi)繼續(xù)對(duì)x86設(shè)備提供支持。
x86的兼容性問(wèn)題:Rosetta 2和虛擬化
同時(shí),為了彌合蘋果當(dāng)前的軟件生態(tài)系統(tǒng)與未來(lái)幾年內(nèi)所需實(shí)現(xiàn)目標(biāo)的差距,蘋果會(huì)將重金投資在軟件兼容層上,以便在未來(lái)的ARM Mac設(shè)備上能夠流暢和穩(wěn)定地運(yùn)行現(xiàn)有的x86應(yīng)用程序??梢钥隙ǖ氖牵O果將催促開(kāi)發(fā)人員將其應(yīng)用程序重新編譯本地版本,并且蘋果正在為此投入更多的資金到Xcode基礎(chǔ)架構(gòu)中,但是目前還是需要保持一定程度的x86兼容性。
蘋果手中的武器是回歸的“Rosetta”,Rosetta是蘋果從Power架構(gòu)轉(zhuǎn)換到x86架構(gòu)時(shí)使用的二進(jìn)制轉(zhuǎn)換層,在2006年推出。現(xiàn)在,蘋果又帶來(lái)了Rosetta 2,并且希望將x86 macOS的二進(jìn)制文件轉(zhuǎn)換為可以在ARM Mac上運(yùn)行的文件,同時(shí)保持相同的功能和近似的性能。
Rosetta 2的工作模式是在應(yīng)用程序安裝時(shí)轉(zhuǎn)換二進(jìn)制文件至新的ISA。但是有人懷疑蘋果公司希望通過(guò)App Store分發(fā)預(yù)先翻譯好的二進(jìn)制文件,而不是讓每臺(tái)ARM Mac自行翻譯。同時(shí),Rosetta 2還能夠支持動(dòng)態(tài)轉(zhuǎn)換功能,這對(duì)于在執(zhí)行中的x86應(yīng)用進(jìn)行高性能的快速即時(shí)編譯來(lái)說(shuō)是必須的。
總體而言,蘋果宣稱Rosetta 2具有“快速的性能”,也就是極為出色的二進(jìn)制文件轉(zhuǎn)換能力,尤其是在發(fā)布會(huì)上演示的Maya編譯過(guò)程,但是這種二進(jìn)制編譯過(guò)程的效果還有待觀察。從高通和微軟的努力來(lái)看,從x86到ARM的編譯過(guò)程實(shí)際上好壞參半,不過(guò)過(guò)去的所有嘗試都從未涉及到蘋果目前所追求的那種高性能芯片,而僅僅是在移動(dòng)設(shè)備上完成,因此這里還需要更多的實(shí)驗(yàn)和觀察?;仡櫄v史來(lái)看的話,蘋果之前在Power架構(gòu)轉(zhuǎn)移至x86架構(gòu)時(shí),即使當(dāng)時(shí)的x86架構(gòu)處理器展現(xiàn)出相對(duì)同期Power處理器巨大的性能優(yōu)勢(shì),但是在x86處理器上實(shí)時(shí)啟用Rosetta編譯并運(yùn)行Power架構(gòu)的軟件時(shí),雖然能夠正常使用軟件,不過(guò)性能仍舊受到了影響。
因此在這種情況下,Rosetta 2應(yīng)該被視作開(kāi)發(fā)人員在構(gòu)建ARM架構(gòu)程序時(shí)確保兼容性的后盾,而不是將其視作x86程序運(yùn)行在ARM Mac上的路徑。特別是Rosetta 2還不能夠支持AVX之類的高性能x86指令集,這意味著在使用密集的高性能計(jì)算以及對(duì)性能有嚴(yán)格要求的代碼中,蘋果可能將改用更慢的方法來(lái)完成類似的工作。
目前尚不清楚蘋果準(zhǔn)備為macOS提供Rosetta 2多長(zhǎng)的使用時(shí)間。之前的Rosetta發(fā)布后沒(méi)多久就下線了,因?yàn)樘O果更希望開(kāi)發(fā)人員直接基于新架構(gòu)來(lái)重構(gòu)軟件而不是依靠Rosetta。因此,基于同樣的理由和市場(chǎng)行為,Rosetta 2的壽命可能不會(huì)太長(zhǎng)。
與此同時(shí),蘋果在為ARM Mac的啟動(dòng)操作系統(tǒng)macOS Big Sur(11.0)上引入了一種被稱為universal 2的新二進(jìn)制格式。這個(gè)新的二進(jìn)制格式適用于新編譯的過(guò)渡期應(yīng)用程序,開(kāi)發(fā)者需要多編譯一個(gè)被稱為Universal(Fat)Binary的文件(也就是Universal 2),用于同時(shí)支持ARM和x86架構(gòu)。蘋果在發(fā)布會(huì)上也演示了Final Cut Pro X通過(guò)Universal 2運(yùn)行在ARM架構(gòu)MacBook上的情況,整體表現(xiàn)還不錯(cuò)。對(duì)第三方軟件來(lái)說(shuō),如果只依賴AppKit,升級(jí)Xcode后編譯為新的Universal 2就可以了,非常方便。
最后,兼容性軟件包還包括蘋果的虛擬化技術(shù),用于處理諸如Linux Docker應(yīng)用程序容器等內(nèi)容。關(guān)于這個(gè)功能的信息目前非常少,蘋果在發(fā)布會(huì)幻燈片中將其作為運(yùn)行Linux的Parallels的一部分進(jìn)行了簡(jiǎn)短展示,但是這個(gè)技術(shù)的功能還尚待觀察。至少對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),他們現(xiàn)在為L(zhǎng)inux和Docker找到了非常合適的解決方案,這對(duì)于參加WWDC的開(kāi)發(fā)人員來(lái)說(shuō)非常重要。
但是,這個(gè)虛擬化功能沒(méi)有解決運(yùn)行Windows的問(wèn)題。因?yàn)樵谥暗脑O(shè)備上,由于x86架構(gòu)的存在,蘋果可以通過(guò)Boot Camp實(shí)現(xiàn)對(duì)Windows的支持,并且提供了大部分硬件的驅(qū)動(dòng)程序,但是切換至ARM平臺(tái)后,如何在ARM平臺(tái)上運(yùn)行Windows就成為了一個(gè)巨大的難題。有小道消息稱蘋果將放棄對(duì)BootCamp和Mac運(yùn)行Windows的支持。顯然一旦如此,將使得一部分需要雙啟動(dòng)系統(tǒng)的用戶不得不做二選一的選擇題。不過(guò)目前蘋果尚未對(duì)這個(gè)問(wèn)題做進(jìn)一步的表態(tài)。
開(kāi)發(fā)人員設(shè)備:A12Z的Mac mini
為了讓開(kāi)發(fā)人員在年底發(fā)布新的ARM Mac之前就做好準(zhǔn)備,蘋果還推出了一臺(tái)專門面向開(kāi)發(fā)人員的過(guò)渡設(shè)備,只提供給注冊(cè)的開(kāi)發(fā)人員進(jìn)行實(shí)際的硬件測(cè)試和軟件優(yōu)化。蘋果在發(fā)布會(huì)上也用它進(jìn)行了演示,包括macoOS Big Sur系統(tǒng)的功能等。當(dāng)然,從架構(gòu)角度來(lái)看,這個(gè)開(kāi)發(fā)人員設(shè)備實(shí)際上就是一個(gè)Mac mini外觀的iPad Pro,還不帶顯示屏。
目前的開(kāi)發(fā)設(shè)備基于A12Z SoC,包括16GB的內(nèi)存和512GB SSD。一開(kāi)始人們預(yù)想的是這款設(shè)備的尺寸和散熱空間相比iPad大了不少,因此處理器的運(yùn)行頻率和性能應(yīng)該更為出色。但實(shí)際—臥目比iPhone 11,這款開(kāi)發(fā)設(shè)備雖然使用了A12Z,但實(shí)際性能可能比不過(guò)使用A13的新設(shè)備。這樣設(shè)計(jì)的一個(gè)優(yōu)勢(shì)就是,為未來(lái)即將到來(lái)的ARM Mac設(shè)量了一個(gè)較低的性能下限并鼓勵(lì)開(kāi)發(fā)人員努力開(kāi)發(fā)更高效率運(yùn)行的軟件。因此,如果開(kāi)發(fā)人員的軟件能夠在這款設(shè)備上流暢運(yùn)行,那么肯定能夠在未來(lái)ARM Mac所使用的A14衍生芯片上流暢運(yùn)行。
不僅如此,雖然大家都知道了開(kāi)發(fā)設(shè)備上使用的是A12Z SoC,但是就像蘋果其他的開(kāi)發(fā)中設(shè)備一樣,蘋果嚴(yán)格禁止對(duì)其進(jìn)行性能測(cè)試。開(kāi)發(fā)設(shè)備在購(gòu)買時(shí)簽署的有關(guān)協(xié)議就嚴(yán)禁公開(kāi)基準(zhǔn)測(cè)試數(shù)據(jù),即使開(kāi)發(fā)人員花了500美元才獲得這個(gè)開(kāi)發(fā)設(shè)備,但是其在法律意義上仍屬于,并且將在未來(lái)歸還蘋果公司,開(kāi)發(fā)人員付費(fèi)只是獲得了一段時(shí)間的使用權(quán)而已。因此,在這種重重約束之下,消費(fèi)者短期內(nèi)是沒(méi)有希望獲得新ARM Mac設(shè)備的相關(guān)性能數(shù)據(jù)了,全面的測(cè)試數(shù)據(jù)只有等待產(chǎn)品正式發(fā)布后才可能合法曝光。
靜候發(fā)布
蘋果在發(fā)布會(huì)上帶來(lái)了很多的消息,但是正如前文所說(shuō),還缺乏細(xì)節(jié),一切秘密只有等到新的ARM架構(gòu)的Mac發(fā)布才能揭開(kāi)了,現(xiàn)在距離2020年年底也不算太久,就讓我們靜候新品的發(fā)布。
回顧蘋果的發(fā)展歷程,它向來(lái)擅長(zhǎng)進(jìn)行垂直整合,特別是通過(guò)一個(gè)尖端產(chǎn)品來(lái)掌握整個(gè)產(chǎn)業(yè)鏈的方方面面。對(duì)蘋果來(lái)說(shuō),能夠全面掌控Mac的硬件和軟件,將成為它在下一個(gè)發(fā)展階段追求的重要目標(biāo)。尤其是將macOS轉(zhuǎn)變?yōu)楹蚷OS生態(tài)一樣的軟件架構(gòu),并進(jìn)一步整合蘋果的軟件生態(tài),如果成功的話,將為其帶來(lái)巨大的產(chǎn)業(yè)影響力。為了實(shí)現(xiàn)這樣的目標(biāo),蘋果需要在硬件和軟件層面上做出很多改變和創(chuàng)新,可想而知,蘋果公司內(nèi)部和Mac相關(guān)的部分接下來(lái)都將進(jìn)入極為緊張的工作狀態(tài)。
好消息是,蘋果對(duì)這樣的ISA級(jí)別的遷移已經(jīng)有了豐富的經(jīng)驗(yàn)。2006年的決定讓蘋果從Power架構(gòu)成功轉(zhuǎn)型至x86架構(gòu),并獲得了長(zhǎng)達(dá)十多年的成長(zhǎng)期,而在x86轉(zhuǎn)向ARM的過(guò)程中,蘋果又將迎來(lái)一個(gè)新的發(fā)展階段。蘋果看起來(lái)將之前的所有經(jīng)驗(yàn)都用在這次ISA轉(zhuǎn)換上,包括之前軟件的兼容性問(wèn)題、催促開(kāi)發(fā)人員跟上新的架構(gòu)以及在短期內(nèi)提供實(shí)驗(yàn)設(shè)備等,一切都做得有條不紊,值得我們進(jìn)一步期待。
從另外一個(gè)方面來(lái)說(shuō),人們也很期待在使用了ARM架構(gòu)后,蘋果能為Mac帶來(lái)怎樣的改變,不光是MacBook或者iMac這樣的產(chǎn)品,人們更期待看到ARM架構(gòu)的Mac Pro,看它是否真能挑戰(zhàn)x86的王者地位。當(dāng)然,由于蘋果徹底轉(zhuǎn)向ARM架構(gòu),個(gè)人電腦市場(chǎng)也將不可避免地迎來(lái)又一次分裂,之前由于蘋果轉(zhuǎn)向x86而帶來(lái)的十余年“虛假”的融合時(shí)光徹底結(jié)束了,可以運(yùn)行Windows的Mac或者一些玩家口中津津樂(lè)道的“黑蘋果”很可能不復(fù)存在,市場(chǎng)又一次選擇了分道揚(yáng)鑣,各奔東西。