6 月 23 日,蘋果即將召開第一次線上開發(fā)者大會活動——WWDC 2020。按照慣例,這是一個屬于開發(fā)者的饕餮盛宴,人人都在期待新的 iOS 14,期待新的 macOS、iPadOS、watchOS、tvOS 等等。 但今年的 WWDC 上可能會有一些對硬件事關(guān)重大的變化措施。
就在最近,傳出了蘋果要轉(zhuǎn)換平臺的消息。準(zhǔn)確點說,是蘋果準(zhǔn)備推出 ARM 版本的 MacBook 產(chǎn)品,而最近幾年和在售的筆記本與桌面產(chǎn)品,蘋果一直使用的是英特爾平臺。
其實平臺轉(zhuǎn)換這事蘋果并不是第一次干,早在十五年前蘋果就經(jīng)歷過一次從 IBM 的 PowerPC 平臺轉(zhuǎn)換到英特爾平臺。但今天和 2005 年不一樣,當(dāng)年蘋果的平臺轉(zhuǎn)換需求是十分迫切的,因為 IBM 本身設(shè)計能力跟不上,PowerPC G5 的功耗和發(fā)熱都很高,根本不適合筆記本電腦這樣的移動平臺。
根據(jù)知乎用戶@蓬岸 Dr.Quest 在相關(guān)問題下的答案,我引用了一部分蘋果從 PowerPC 轉(zhuǎn)向英特爾幾個比較重要的時間節(jié)點:
2005 年 7 月 6 日,蘋果宣布進行平臺轉(zhuǎn)換,并向部分開發(fā)者提供開發(fā)者轉(zhuǎn)換工具(Developer Transition Kit),同期發(fā)布的 Xcode 2.1 支持生成通用二進制(universal binaries)格式的應(yīng)用程序。
2006 年 1 月,蘋果發(fā)布 15 寸 Macbook Pro 和英特爾處理器的 iMac。
2006 年 8 月,蘋果發(fā)布英特爾處理器 Xserve,完成產(chǎn)品線的轉(zhuǎn)換。QuarkXPress 7.0 以通用二進制形式發(fā)布。
2007 年 10 月,Mac OS X 10.5 發(fā)布。這是最后一代可以安裝在 PowerPC 處理器上的 Mac OS X。同期發(fā)布的 Xcode 3.0 增強了對 64 位處理器的支持
2009 年 8 月,Mac OS X 10.6 發(fā)布。10.6 以及更新版本的 Mac OS X 無法安裝在 PowerPC 處理器的蘋果電腦上,但仍然提供 Rosetta 轉(zhuǎn)譯器使用戶可以繼續(xù)使用為 PowerPC 處理器編譯的軟件。
2011 年 3 月,Xcode 4.0 放棄了對 PowerPC 處理器的支持。
2013 年 8 月,蘋果結(jié)束對 PowerMac G5 的支持。
蘋果當(dāng)時能夠轉(zhuǎn)換成功有很多現(xiàn)實原因,比如當(dāng)時體量比現(xiàn)在更加小眾,英特爾在移動處理器方面足夠強勢等等。而如今 iPhone 的爆紅和蘋果生態(tài)粘性的逐漸加大,在 Mac 平臺上促生了大量的 iOS 開發(fā)者。
移動平臺的壯大成熟,也反哺了桌面平臺,現(xiàn)在很多開發(fā)者都是先從 iOS 起步,之后再轉(zhuǎn)向 OS X(macOS)開發(fā),從軟件生態(tài)上就能看出來,先有的 iOS 版之后才有的 Mac 版的情況并不少見。
而在 iOS 時代之前,Mac 的生態(tài)其實處于比較小眾的狀態(tài),甚至說難聽點就是蠻荒時代,和今天完全無法相提并論,自然也是沒有歷史包袱。
根據(jù) IDC 的統(tǒng)計,2005 年蘋果電腦的出貨量為 217 萬臺,而在 2019 年這個數(shù)字達(dá)到了 1768 萬臺。這其中固然有筆記本電腦市場整個市場的擴大,但 Mac 的市份額仍然提升到了之前的兩倍。
而從絕對數(shù)量上說,如今使用 Mac 電腦的人數(shù),可能是十幾年前的十倍。今天蘋果是這個世界市值最高的公司,要撬動這個龐然大物的生態(tài),即便是蘋果自己來做也著實不容易。
從英特爾切換到 ARM,所面臨的最大問題可能是整個軟件生態(tài)的顛覆。
如果把這些眼花繚亂的軟件追根溯源,我們可以回到處理器和軟件運行最原始的一種關(guān)系——指令集。
簡單說,指令集就是處理器運行的‘指導(dǎo)思想’,是一套讓處理器能理解程序的行為規(guī)范。如果‘指導(dǎo)思想’不同,那肯定就沒有互相理解的基礎(chǔ),而基于這一整套架構(gòu)開發(fā)出來的下游軟件就像由此衍生的各國文化,但亞洲不懂非洲的文化,非洲也不懂南美的文化。
如今的 macOS 其軟件生態(tài)構(gòu)建在多年來使用的英特爾處理器上,而英特爾使用的是 X86 架構(gòu),現(xiàn)在整個 macOS 軟件生態(tài)都遷移到了 64 位,也可以說是 X86-64 或者 X64 架構(gòu)。
像 iPhone 等移動產(chǎn)品使用的芯片則用的是 ARM 的 ARMv8 指令集,你別看現(xiàn)在蘋果已經(jīng)使用自研的架構(gòu)多年,但在指令集部分依然是基于 ARMv8 的,不過傳聞?wù)f蘋果也準(zhǔn)備對指令集這部分動手了。
也就是說,桌面設(shè)備和移動設(shè)備在指令集的層面就是不一樣的,所以換到 ARM 平臺后,軟件是并不能通用的。
面對 AMD 的窮追猛趕,英特爾確實在制程上遇到了一些困難,導(dǎo)致新的工藝節(jié)點一直在延后,但在這幾年中并非只是放羊摸魚而沒有技術(shù)積累,新品 Tiger Lake(Willow Cove 架構(gòu))性能提升明顯,終于牙膏管擠出了一截。
而從英特爾轉(zhuǎn)向 ARM 也非朝夕之功,顯然還有好幾年的路要走,甚至可能要付出移山挖河般的時間和財力才能逐漸追上,而那個時候,可能已經(jīng)是 2025 年甚至更久之后了。