金磊 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
不久之前,在蘋果的一幢大樓里,一群工程師聚集到了一起。
他們掏出了舊版MacBook Air,將筆記本的內核連接到自己的原型板上。
此次「會晤」的目的非常明確:
造出第一臺自己定制設計、基于ARM芯片,且能運行MacOS的蘋果電腦。
而就在本周,蘋果終于邁出了這一大步——第一批在蘋果M1芯片上運行的Mac誕生。
這也標志著蘋果開始脫離英特爾CPU的「產品轉型」。
但一系列問題也隨之而來:
為什么要這么做?又是何時開始準備的?軟件兼容怎么辦?Windows方面又如何處理?
外媒ArsTechnica,最近與蘋果軟件工程高級副總裁Craig Federighi、全球營銷高級副總裁Greg Joswiak、硬件技術高級副總裁Johny Srouji的進行了一次訪談。
△從左至右:Greg Joswiak、Craig Federighi、Johny Srouji
而關于蘋果M1芯片背后的故事和與之更多的細節(jié),也就此浮出了水面。
2006年時候,蘋果選擇開始使用英特爾x86架構,因為在此之前所采用的PowerPC似乎已經走到了盡頭。
在此后最初的幾年時間里,這一選擇對于蘋果來說是一種福音:英特爾的芯片實現了Mac與Windows及其他平臺的互操作,這也讓Mac變得更加靈活。
除了蘋果臺式機外,像筆記本電腦以及手機等產品,也隨之受益。
在很長一段時間里,英特爾的表現可以說是一流的。
但最近幾年,英特爾CPU的發(fā)展卻不是那么樂觀,尤其是在性能提高和一致性方面。
不僅是廠商,用戶也對此有所發(fā)覺,還戲稱道「擠牙膏」。
或許你會認為,這是蘋果做出如此選擇背后的驅動力。
「但這并不是最根本的原因」,蘋果三位高管的回答卻是這樣的。
Joswiak對此解釋道:
這是關于我們能做什么,不是關于「別人能做或不能做什么」的問題,對嗎?
每家公司都有自己的計劃:軟件公司希望硬件公司這樣做,反過來硬件公司又希望軟件公司那樣做,他們之間是存在競爭的。
而蘋果的位置比較特殊,我們設計芯片,不是作為商家、供應商或者解決方案,而是為了讓軟件、系統(tǒng)和產品緊密結合。
這就是我們所需要的。
對于這個問題,Federighi給出了一個非常「蘋果式」的回答:
Mac是蘋果的靈魂,是它把我們帶入了計算機領域。
Mac仍然是我們在工作中使用的一種工具,將我們所學到的一切,應用到核心系統(tǒng)中,顯然是一個長期的抱負,也是一種實現夢想的方式。
Joswiak還回憶道,「剛開始知道這個決定的人很少,但他們知道蘋果要走這條路開始,便一直對此面帶微笑」。
蘋果要造的芯片,不僅是一種能夠吸取多年來,為iPhone、iPad等其他產品設計的移動芯片所累積的經驗的芯片,還能滿足筆記本電腦或臺式電腦不斷擴大的需求。
而當蘋果今年宣布要打造基于蘋果芯片的Mac時,不少旁觀者都在猜測,這個芯片很可能類似于A14。
但事實并非如此,Federighi表示:
如果你把M1和A14聯(lián)系起來,它本質上是一個「超集」。并且Mac上的芯片與之有很多不同之處。
蘋果對Mac應用工作負載進行了大量分析:
這些都是Mac所需要的,但相對于iPhone編譯的應用程序,這些功能都是「超集」。
Srouji 進一步闡述道:
我們已經建立了許許多多的IP,它們成為M1芯片的基礎。
我們開發(fā)這些偉大的技術已經超過了10年,然后幾年前,我們便說「現在是時候使用我們所謂的可擴展架構,是時候為 Mac 開發(fā)一個定制的芯片了」。
因為我們有這些偉大的IP的基礎,而且架構是可擴展的UMA。
這是一個完全不同的自定義芯片。
這里提到的UMA,即統(tǒng)一存儲體系結構 (Unified memory architecture),是蘋果此次成功的關鍵。
UMA本質上意味著所有的組件,包括中央處理器(CPU)、圖形處理器(GPU)、神經處理器(NPU)、圖像信號處理器(ISP)等等。
它們共享一個速度極快的內存池,并且位置非常相近,這與常見的臺式機模式是相反的。
當用戶運行要求比較苛刻的應用時,傳統(tǒng)的pipeline 可能會損失大量的時間和效率來移動或復制數據,以便這些不同的處理器都能夠訪問到它們。
Federighi認為,蘋果在M1上的成功,部分原因是在硬件和軟件層面,拒絕了這種低效的模式:
我們不僅獲得了GPU原始性能的巨大優(yōu)勢,而且同樣重要的是,在統(tǒng)一的內存架構下,我們不用不斷地來回移動數據,也不用改變會降低數據速度的格式。我們在性能上有了很大的提高。
而且這并不是蘋果M1唯一的優(yōu)化點。
近幾年來,蘋果的 Metal graphics API 采用了「基于平鋪的延遲渲染」 ,M1的 GPU 就是為了充分利用這一點而設計的。
Federighi解釋道:
老式的GPU基本上是同時在整個框架上操作,而我們則是在tile上操作,可以將tile移動到極快的片上內存中,然后在tile上與所有不同的執(zhí)行單元一起執(zhí)行一個巨大的操作序列。
這是一種令人難以置信的效率,而以往離散的GPU是做不到的。
應用新的架構同時,在軟件層面也迎來一種新的轉型。
Mac 電腦現在將在本地運行新類型的軟件,并停止本地運行其他類型,包括現有的所有 Mac 軟件系列。
除此之外,蘋果在架構上的轉變也為iPhone和iPad制作的軟件,打開了一道「閘門」。
這是第一次,適用于移動端平臺的應用程序可以在Mac上運行。
但對于這樣的一個「過度」,用戶體驗這塊必須要拿捏得住。
對此,Federighi表示「大約90%的應用程序運行良好」:
一個應用程序無法正常工作的原因有很多。它可能使用的技術在 Mac 上并不適用或不合理。
所以我們對現有的應用做一定數量的自動測試,看看它們是否會崩潰等等。如果他們有這些問題,我們會從商店中自動自動將它們篩選出來。
隨著時間的推移,我們很可能會看到一些開發(fā)者,為了讓他們的應用在Mac上能良好運行而付出努力。
對于蘋果公司來說,目前還處于早期,但在幾年內,市場上將會有數百萬臺配備M1或M1系列的Mac。
時間將證明這一進程的發(fā)展會有多快。
接下來的一個問題也比較關鍵:What about Windows?
盡管M1的運行現有的 Mac、 iPhone 和 iPad 軟件,但是新的架構不能立即運行除了 macOS 之外的 x86操作系統(tǒng)的應用程序。
對此,Federighi指出,M1 Mac 確實使用了支持 Parallels 或 VMWare 等產品的虛擬化框架,但他承認,這些產品通常也會虛擬化其他 ARM 操作系統(tǒng)。
與此同時,Federighi還表示,云端的Windows是一種可能的解決方案,并提到了CrossOver:
它能夠在這些系統(tǒng)上一種類似WINE的仿真層下,運行32位和64位的x86 Windows二進制文件。
但是 CrossOver 的模擬方法,并不像我們在英特爾 mac 上使用 Parallels 或 VMWare 等虛擬化軟件時那樣一致,所以可能還有很長的路要走。
至于在Mac上運行Windows系統(tǒng),Federighi說到:
我們有核心技術來運行他們的ARM版Windows,而后者當然支持x86應用程序。
但這是微軟必須做出的決定,授權用戶在這些Mac上運行這項技術。但Mac電腦確實很有能力做到這一點。
最后,Srouji 回顧整個歷程時說到:
我們一直對這個項目和整個事情充滿熱情。非常艱難,但卻是值得的。
我們喜歡Mac,我們熱愛計算機。
我認為我們正在創(chuàng)造歷史,這就是我們工程師們的看法。
類似的,Federighi也發(fā)表了他的看法:
我們付出了大量的汗水和心血,但我想說,在某種程度上,我們知道如何做到這一點。我們知道我們要面對的是什么。
Joswiak補充道:
我們以前也這樣做過(從PowerPC 向英特爾的過渡)。
但這一次,這一切都是在「家」里完成的——這讓蘋果獲得了一種不同的勝利。
參考鏈接:
https://arstechnica.com/gadgets/2020/11/we-are-giddy-interviewing-apple-about-its-mac-silicon-revolution/
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態(tài)