ADVERTISEMENT
蘋果宣布了要轉換平台的消息。準確點說,是蘋果準備推出 ARM 版本的 MacBook 產品,而最近幾年和在售的筆記型電腦與桌上型電腦,蘋果一直使用的是Intel平台。其實平台轉換這事蘋果並不是第一次這麼做,早在十五年前蘋果就經歷過一次從 IBM 的 PowerPC 平台轉換到Intel平台。
從Intel到 ARM,是整個軟硬體生態的遷移
但今天和 2005 年不一樣,當年蘋果的平台轉換需求是十分迫切的,因為 IBM 本身設計能力跟不上,PowerPC G5 的功耗和發熱都很高,根本不適合筆記型電腦這樣的行動平台。
根據網路上整理的資料,蘋果從 PowerPC 轉向Intel有幾個比較重要的時間節點:
- 2005 年 7 月 6 日,蘋果宣佈進行平台轉換,並向部分開發者提供開發者轉換工具(Developer Transition Kit),同期發佈的 Xcode 2.1 支援產生通用二進位(universal binaries)格式的應用程式。
- 2006 年 1 月,蘋果發佈 15 寸 Macbook Pro 和Intel處理器的 iMac。
- 2006 年 8 月,蘋果發佈Intel處理器 Xserve,完成產品線的轉換。QuarkXPress 7.0 以通用二進位形式發佈。
- 2007 年 10 月,Mac OS X 10.5 發佈。這是最後一代可以安裝在 Power PC 處理器上的 Mac OS X。同期發佈的 Xcode 3.0 增強了對 64 位元處理器的支援
- 2009 年 8 月,Mac OS X 10.6 發佈。10.6 以及更新版本的 Mac OS X 無法安裝在 Power PC 處理器的蘋果電腦上,但仍然提供 Rosetta 轉譯器使用者可以繼續使用為 Power PC 處理器編譯的軟體。
- 2011 年 3 月,Xcode 4.0 放棄了對 PowerPC 處理器的支援。
- 2013 年 8 月,蘋果結束對 PowerMac G5 的支援。
蘋果當時能夠轉換成功有很多現實原因,比如當時體量比現在更加小眾,Intel在移動處理器方面足夠強勢等等。而如今 iPhone 的爆紅和蘋果生態黏性的逐漸加大,在 Mac 平台上促生了大量的 iOS 開發者。
行動平台的壯大成熟,也回饋到桌面平台,現在很多開發者都是先從 iOS 起步,之後再轉向 OS X(macOS)開發,從軟體生態上就能看出來,先有的 iOS 版之後才有的 Mac 版的情況並不少見。
而在 iOS 時代之前,Mac 的生態其實處於比較小眾的狀態,甚至說難聽點就是蠻荒時代,和今天完全無法相提並論,自然也是沒有歷史包袱。
根據 IDC 的統計,2005 年蘋果電腦的出貨量為 217 萬台,而在 2019 年這個數字達到了 1768 萬台。這其中固然有筆記型電腦市場整個市場的擴大,但 Mac 的市場占有率仍然提升到了之前的兩倍。
而從絕對數量上說,如今使用 Mac 電腦的人數,可能是十幾年前的十倍。今天蘋果是這個世界市值最高的公司,要撬動這個龐然大物的生態,即便是蘋果自己來做也著實不容易。
Mac生態的顛覆
從Intel切換到 ARM,所面臨的最大問題可能是整個軟體生態的顛覆。
如果把這些眼花繚亂的軟體追根溯源,我們可以回到處理器和軟體運行最原始的一種關係--指令集。
簡單說,指令集就是處理器運行的「指導思想」,是一套讓處理器能理解程式的行為規範。如果「指導思想」不同,那肯定就沒有互相理解的基礎,而基於這一整套架構開發出來的下游軟體就像由此衍生的各國文化,但亞洲不懂非洲的文化,非洲也不懂南美的文化。
如今的 macOS 其軟體生態構建在多年來使用的Intel處理器上,而Intel使用的是 X86 架構,現在整個 macOS 軟體生態都遷移到了 64 位元,也可以說是 X86-64 或者 X64 架構。
像 iPhone 等移動產品使用的晶片則用的是 ARM 的 ARMv8 指令集,你別看現在蘋果已經使用自研的架構多年,但在指令集部分依然是基於 ARMv8 的,不過傳聞說蘋果也準備對指令集這部分動手了。
也就是說,桌面設備和行動設備在指令集的層面就是不一樣的,所以換到 ARM 平台後,軟體是並不能通用的。
有人可能想說,那個誰,微軟不是早前一點也發佈了使用 ARM 晶片的 Surface 產品嗎,就那個 Surface Pro X,它不是也能直接運行 Windows 10 的程式嗎?
沒錯,Surface Pro X 使用的 Microsoft SQ1 的確是微軟找高通定製的 ARM 處理器,同時運行的也是完整的 Windows 10 而非先前 Windows RT 那樣的「殘障版」系統,同時也能運行 Windows 10 的應用程式。
但 Surface Pro X 的問題依然很多,比如它只能運行 UWP 應用和 32 位的 Windows 應用程式,基於 64 位元開發的軟體就無法支援。另外透過翻譯架構的方式相容 win32 應用程式導致性能出現大幅損失,效率大概只有原生應用程式的 30%-40%,更別說閃退、軟體重開機等各種各樣不穩定的小毛病。
而對於蘋果來說,連透過翻譯架構相容 32 位元的程式也無法實現,因為蘋果已經透過自己對生態的控制力將全部的應用程式遷移到了 64 位元。而面對大批不能直接運行的軟體,這個陣痛期一定會比想像中的更痛。
蘋果能做的,就是透過自己的控制力,去要求開發者將已有的軟體在一定的時間內編譯成 ARM 平台可以運行的版本,只是這並不是一件容易的事,畢竟各個軟體的情況複雜,某些軟體要想遷移到 ARM 可不是重新編譯一下那麼簡單。
在軟體之外,如今的 ARM 在性能和功耗上可能也占不到什麼優勢了。無風扇的被動散熱,接近 20 小時的續航,如今已經陸陸續續被非 ARM 的筆記型電腦完成,比如最新的戴爾 XPS13 2020 就號稱有最長 19 小時續航。
而且對於桌面環境來說,蘋果目前基於 ARM 的 A 系列晶片性能仍然是不夠的,比如頻率已經處於「灰燼」狀態,再往上就撞到了功耗牆,也就是沒有超頻或者說像Intel處理器類似的睿頻加速空間。
更別說十幾二十個核心的高性能伺服器版本,還處於路漫漫其修遠兮的狀態。
如果今天 MacBook 還在被說散熱不佳和續航普通,那蘋果可能應該更多在自己身上找找原因,比如 WWDC 2020 都快來了但還是 Bug 一身的 macOS 10.15 Catalina?
選擇 ARM 對蘋果來說可能還有一個預料之外的打擊--這些蘋果電腦將不再能用 Windows 系統。
大家都知道購買 MacBook 並不一定等於加入蘋果生態,選擇裝 Windows 系統使用的使用者也大有人在,因為本身蘋果早就敏銳的察覺到了這件事,並推出了 Bootcamp 工具讓使用者能夠選擇雙系統運行,但如果推出 ARM 版,那肯定無法使用了。
ARM 版 MacBook 的對手還有 iPad Pro
比起生態遷移和相容帶來的不確定,ARM 版 MacBook 其實並沒有什麼外敵,Surface Pro X 肯定不算,這個產品在微軟這裡只是一款實驗性產品,而真正會對 ARM 版 MacBook 造成威脅的,其實是內患。
當「你的下一台電腦何必是電腦」的廣告語從今年 iPad Pro 宣傳片中蹦出來的時候,就意味著 iPad 和 MacBook 這兩條原先還算平行的線路終於「火星撞地球」一樣,正式短兵相接了。
如果對比一下這兩條線,可與看到 ARM 版 MacBook 其實處於一個很尷尬的位置。
iPad Pro,採用 ARM 處理器,使用精簡指令集,iPadOS 系統脫胎於行動設備 iOS,在妙控鍵盤的加持下從移動走向桌面。
MacBook,Intel處理器,使用複雜指令集,立足於 macOS 桌面作業系統和生態。
ARM 版 MacBook,採用 ARM 處理器和精簡指令集,繼續使用 macOS 的話原先的桌面生態會丟失,只能透過部分移植應用程式或者 zh 虛擬機的方式執行之前的桌面軟體,效率大打折扣。
其實到這裡依舊讓人很難理解,蘋果出一個 ARM 處理器版 MacBook,失去了桌面生態最大的優勢,然後去和 iPad Pro 打架,這究竟是一個什麼樣的邏輯,或者說其巨大的內在驅動力到底在哪。
當然,倒也並非找不出蘋果想要這樣做的理由,比如說想要對自己的產品和生態有更多的控制力,就像 iPhone 上使用的自家 A 系列晶片,早期的時候 CPU 用的是三星的,GPU 用的 PVR,到了後面全部變成自研架構之後,A 系列晶片的性能才算在手機和平板中一騎絕塵。
而現在 iPhone、iPad、乃至 Apple Watch 這些產品的生態與核心硬體已經被蘋果握在了手裡,幾乎就唯獨筆記型電腦和桌面系列還要看Intel的臉色,像Intel過去幾年那種「擠牙膏」以及打磨 14nm 的行為,對於 MacBook 系列來說其實是很大的一個掣肘。
但這樣的理由還是很難說服人,因為Intel過去幾年的「擠牙膏」很大程度上是因為 AMD 在 K10 架構的錯誤方向之後一直沒有恢復過來,直到 Zen 和 Zen2 架構的奮起直追,終於讓很多人喊出了「AMD Yes!」。
面對 AMD 的窮追猛趕,Intel確實在製程上遇到了一些困難,導致新的工藝節點一直在延後,但在這幾年中並非只是放羊摸魚而沒有技術積累,新品 Tiger Lake(Willow Cove 架構)性能提升明顯,終於牙膏管擠出了一截。
而從Intel轉向 ARM 也非朝夕之功,顯然還有好幾年的路要走,甚至可能要付出移山挖河般的時間和財力才能逐漸追上,而那個時候,可能已經是 2025 年甚至更久之後了。
本文授權轉載自ifanr
ADVERTISEMENT