99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

蘋果Mac采用自研處理器 可能遇到什么問題呢?

工程師 ? 來源:面包板博主 歐陽洋蔥 ? 作者:面包板博主 歐陽洋 ? 2020-09-09 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:面包板博主 歐陽洋蔥

此前,蘋果CEO庫克在WWDC 2020上宣布,未來Mac電腦將改采自主研發(fā)的ARM架構處理器“Apple Silicon”,而非英特爾。事實上,兩家的合作始于2005年,當時蘋果創(chuàng)始人喬布斯在WWDC宣布放棄PowerPC處理器計劃,轉身就牽手英特爾。這一決定象征著蘋果與英特爾在Mac電腦業(yè)務合作關系即將走向“終結”。那么,蘋果Mac采用自研處理器,可能遇到什么問題呢?

此前,蘋果CEO庫克在WWDC 2020上宣布,未來Mac電腦將改采自主研發(fā)的ARM架構處理器“Apple Silicon”,而非英特爾。

事實上,兩家的合作始于2005年,當時蘋果創(chuàng)始人喬布斯在WWDC宣布放棄PowerPC處理器計劃,轉身就牽手英特爾。這一決定象征著蘋果與英特爾在Mac電腦業(yè)務合作關系即將走向“終結”。

那么,蘋果Mac采用自研處理器,可能遇到什么問題呢?來自面包板社區(qū)的明星博主——歐陽洋蔥在今年5月,在WWDC 2020之前就這一角度發(fā)表了自己的看法。

實際上,有關 Mac 系列計算機要開始采用 Arm 處理器的傳言似乎是從2010年就開始的,那會兒蘋果也才剛剛開始做 iPhone 的 SoC。這一傳言就10年過去了,起碼今年前不久才更新的MacBook Air都還在用 Intel 的處理器。

想起來以蘋果的“慣例”,對自家生態(tài)的管控,恨不得從硬件到軟件由內到外全部一手包辦。這樣一家公司,在如今有能力自己設計處理器,為何還要受制于Intel?況且Mac設備本身的開發(fā)周期,還面臨與 Intel 處理器迭代撞期的尷尬,導致Mac經(jīng)常無法用上 Intel 最新的處理器。如果用自家的 A 系列 SoC,豈不是很美的一件事情嗎?

這次的傳言看起來格外靠譜,彭博社報道稱,2021 年采用 Arm 處理器的 Mac 電腦就要問世了。彭博社線人消息稱,Mac 要搭載的處理器將比 iPhone 和 iPad 之上的都更快(好像是廢話)。“蘋果準備在明年,至少推出一款采用自家芯片的 Mac.”“臺積電將會負責制造新款的 Mac 芯片,基于 5nm 制造技術?!?/p>

“首批 Mac 處理器將有 8 個核心,核心代號 Firestorm,其中有 4 個是節(jié)能核心——內部代號 Icestorm。蘋果針對未來的 Mac 處理器,還計劃探索超過 12 個核心的設計。”值得一提的是,傳言中的 Mac 處理器也是以 SoC 的形態(tài)出現(xiàn),其上至少包含了 CPU、GPU。[1]

這件事情的可行性當然是有的,只是在具體實施上會遇到不少問題。如果說 macOS 轉往 Arm 平臺真的那么容易,蘋果估計早就干這事兒了。而且事實上,微軟這兩年正在做這件事情,但在具體的方向上有些小差異。在這篇文章里,我們做一些簡單的分享,雖然無法得出結論,也可與各位做探討。

多插一句,一般來說,我首發(fā)在面包板的文章籌備周期比較短,而且相對來說內容更加個人化、娛樂化。與電子工程專輯或者其他平臺發(fā)布的文章相較,會顯得沒有那么正式和考究。另外,這篇文章主要參照的是維基百科,我不想去翻以前蘋果的開發(fā)者文檔了——基于維基百科的不可靠性,以下內容可能有部分是存在事實錯誤的;另外,我也不搞軟件和系統(tǒng)工程,所以貽笑大方之處還請海涵。

蘋果曾有的兩次遷徙經(jīng)歷

蘋果的 Mac 產(chǎn)品線與 Intel 的合作是從 2005 年開始的。那一年,Intel 的 CEO 還為蘋果站了臺,與喬布斯一起。次年的 Mac Pro 就開始正式采用 Intel 處理器(Mac OS X 10.4.4 Tiger)。在此之前,Mac 并不是 x86 平臺的擁躉,我記得看電子科技相關雜志,包括當年像臺燈一樣的 iMac,蘋果在宣傳詞中都提到處理器比同時代的 Intel 奔騰快多少倍之類。

在此之前,蘋果就有過兩次在指令集平臺上轉舵的經(jīng)歷,看起來已經(jīng)是個老手了。至于為什么要換用其他平臺,這可能和軟硬件更具體的技術問題相關,不過從社會上廣為流傳的資訊來看,都是因為老平臺的效率越來越不濟(就好像如今主流觀點認為 x86 處理器的效率不如 Arm,雖然我不這么看;很多人認定,Mac 轉向 Arm 也算是合情合理)。

從這兩次轉舵,其實可以大致來看一看,這回若從 x86 轉往 Arm,可行性幾何?或者蘋果從前的轉舵經(jīng)驗,是否有足夠的參考價值。一般來說,從一個硬件平臺轉往另一個硬件平臺,經(jīng)常意味著拋棄以前的開發(fā)者,以及拋棄以前的用戶。因為轉往新的硬件平臺,總是意味著舊有軟件將停止更新,且舊的開發(fā)生態(tài)徹底終結,未來的新軟件也無法安裝在舊平臺上。當然系統(tǒng)制造商總是會采用一些折中的兼容性方案來實現(xiàn)過渡。而“過渡”的平滑與否,真的就要看廠商的水平。

1994-1996 年前后,蘋果的 Mac 電腦從更早摩托羅拉的 68k 系列芯片轉往 PowerPC 處理器(參與 PowerPC 聯(lián)合開發(fā)的應該有摩托羅拉、蘋果和 IBM)。這個轉換過程持續(xù)了幾年,當時蘋果的過渡方案是所謂的 Mac OS Classic(Mac OS Classic 也就是經(jīng)典 Mac OS,指代了 Mac OS X 之前的 Mac 操作系統(tǒng)),可以同時跑在 68k 和 PowerPC 平臺下。有個詞叫 fat binary,形容某一種應用,占用更多的存儲空間(所以才 fat 吧。..),但混合了多種指令集的原生代碼支持——也就能夠在多種類型的處理器上跑。蘋果當時搞的這種 fat binary,就是令開發(fā)者將 68k 編譯版本和 PowerPC 編譯版本打包到同一個執(zhí)行程序中。

另一方面,當時蘋果引入了一種較低層級的模擬方案。系統(tǒng)中有一個 Mac OS nanokernal 內核,這個內核建立在 Macintosh ROM 里面(Macintosh ROM 是最早 Macintosh 電腦中的一個固化在主板上的芯片,用于電腦啟動時的初始化)。而這個 ROM 內部有個叫做 Macintosh Toolbox 的東西,類似于 BIOS 這種角色。而 Mac OS nanokernal 為 Toolbox 提供 68k 處理器的模擬環(huán)境。

Mac OS nanokernal 在電腦啟動時加載,內存里開辟一個 PowerPC 內核空間加載模擬器。隨后模擬器繼續(xù)加載 Toolbox 對系統(tǒng)硬件初始化,隨后的操作和 68k 時代基本上一樣。這時期 PowerPC 設備的內核,實際上就是運行在 68k 模擬器里的 Toolbox。

nanokernal 的主要工作就是讓現(xiàn)有 68k 版本的操作系統(tǒng)跑在新的 PowerPC 硬件下,如此系統(tǒng)普通狀態(tài)就能跑 68k 代碼。在必要的情況下可以轉回到 PowerPC 模式下,基于中斷處理程序(interrupt handler)實現(xiàn),并將虛擬內存系統(tǒng)映射到 PowerPC 硬件上。不過維基百科說,這個過程,也可能只是由跑在用戶態(tài)的模擬器去處理的。

iMac G4,采用 PowerPC G4 處理器

無論如何,這都是個看起來十分簡單,而且還非常低效的方案(原生的 PowerPC 性能似乎很難發(fā)揮);不過好像也很有效,Mac OS nanokernal 的 68k 模擬器也就為舊軟件提供了這種低層級的兼容性。當時的模擬器提供的運行環(huán)境,和 Macintosh Centris 610(處理器具體型號為摩托羅拉 68LC040)最為接近。

早期版本的 68k 模擬器會解碼每一條指令,并立即執(zhí)行一系列對應的 PowerPC 指令,實現(xiàn)這種模擬。后續(xù)的 PCI PowerMac(PCI 總線的 PowerPC)中的動態(tài)重編譯模擬器(dynamic recompilation)則對性能做了提升:將代碼常見的部分,“重編譯”為更快的、PowerPC 原生序列——且在本地做了緩存(locally cached)。也就是說這種模擬器能夠識別一些 680x0 代碼序列,并且直接跑已經(jīng)緩存過的 PowerPC 代碼,也就避免了重新轉譯。對于一般的開發(fā)者來說,這種轉換也就顯得比較無痛,因為模擬器是自動開始和結束的。

最初的 Mac OS nanokernal 是相當簡單的,這就是個單任務系統(tǒng),把大部分工作交給操作系統(tǒng) 68k 版本的模擬器去跑。有興趣的同學,可以去了解一下當年的 Mac OS Classic,它似乎還稱不上一個現(xiàn)代化的操作系統(tǒng),連內存保護都沒有;上層的應用程序直接跑在 Toolbox 上,除了獲取系統(tǒng)提供的功能和資源,還能直接操作硬件和內存。這個版本的 nanokernal 似乎是到 Mac OS 8.5 終結的。[2][3][4][5]

第二版 Mac OS nanokernal 也算是越來越像樣了,開始支持多任務多處理器、消息傳遞,可以算是微內核了;內核存在于受保護的內存空間中,并在用戶態(tài)下執(zhí)行設備驅動。這是題外話了。

Mac OS Classic 時代的操作系統(tǒng)和個人電腦還是相當?shù)拇址藕筒恢v究,而且層級結構也比今天要簡單得多。而另一方面,其實也不難發(fā)現(xiàn),即便是當年蘋果電腦用戶基數(shù)不多的時代,生態(tài)搬遷都需要付出這般代價;每一次平臺搬遷,實際上都需要付出代價,由上至下。

還有一點值得一提,后來 Mac OS X(PowerPC 版)內部有個名為 Classic 的環(huán)境,這是一個抽象層——絕大部分 Mac OS 9 應用都依托于 Classic 環(huán)境跑在 Mac OS X 上。從 10.5 美洲豹系統(tǒng)開始,就已經(jīng)去掉了 Classic 環(huán)境(即更晚的 x86 平臺也就不再對 Classic 做出支持)。具體來說,Classic 環(huán)境包含了一個 Mac OS 9 系統(tǒng)文件夾,以及一個 New World ROM 文件(前文提到的早期 Macintosh ROM 算是 Old World ROM;而 New World ROM 時期,早期 Macintosh ROM 不復存在,原本的 Toolbox 成為一個文件存在硬盤上)。這里的 Classic 可以認為是 Mac OS X 之下的一個模擬子系統(tǒng)。[6]

從 PowerPC 轉往 Intel x86

2005 年,喬布斯表示蘋果對于 IBM 的 PowerPC 開發(fā)進度非常失望(這集我看過!去年的 Intel 基帶事件似乎也是這么演的),而 Intel 顯然可以滿足蘋果的需求。當年喬布斯大談每瓦性能,實際上也就是能效比,這似乎也是如今在輿論上,x86 處理器陷入不利的原因。喬布斯在 WWDC 大會上宣稱,Mac OS X 的每個版本都“秘密地”針對 Intel 處理器做了開發(fā)和編譯。所以現(xiàn)在的 macOS 有沒有“秘密地”針對 Arm 做開發(fā)和編譯?

當年 Intel 為蘋果站臺的名場面

這次的兼容性解決方案,是一種名為 Rosetta 的指令解釋器,這是一個動態(tài)二進制轉譯器(dynamic binary translator)。蘋果在宣傳中,把 Rosetta 稱作是“the most amazing software you‘ll never see”。蘋果說對于舊版 PowerPC 應用來說,那些重交互、但算力需求比較低的應用,非常適用于 Rosetta(比如文字處理);而算力要求比較高的(比如 AutoCAD、Photoshop)可能就會悲?。ê芟?Windows on Arm???);一些“專業(yè)級”的媒體應用,比如 Final Cut Pro、Logic Pro,則完全不支持。

Rosetta 所處的層級比 68k 模擬器要高,是個“用戶級”的程序,只能監(jiān)聽和模擬用戶級代碼。這可能和蘋果擔心安全問題有關,而且畢竟 Rosetta 推出的時間,操作系統(tǒng)也比 68k 模擬器年代要成熟很多了。所以 Rosetta 不支持的環(huán)境和狀況有很多,也包括了不支持轉譯 PowerPC G5 指令。

蘋果后來發(fā)布的 Xcode,有針對 Intel 與 PowerPC 的 Universal Binary,就跟前文提到的 fat binary 類似——這樣一來,當時面對平臺遷徙的開發(fā)者,在面對 Mac 應用開發(fā)時,針對基數(shù)也算多的 PowerPC 用戶,不會不知該選 PowerPC 還是 x86,因為兩個都可以要(微軟 WinRT 借鑒對象?)。

不過 Resotta 的確在過渡平滑性上要差一些。針對 Mac OS 平臺下不同類型的應用,開發(fā)者使用 Rosetta 還是需要做一些基本工作的,比如 Cocoa 應用需要重新編譯、檢查字節(jié)順序問題;Carbon 應用則要求做小幅調整;而使用 Metrowerks Codewarrior 套裝開發(fā)的應用則需要做較大程度的修改(Codewarrior 是一個 IDE,這個 IDE 的早期版本就針對 68k 和 PowerPC Macintosh,當年蘋果轉往 PowerPC 時,CodeWarrior 成為 Mac 實際上的標準開發(fā)系統(tǒng),快速取代了蘋果自己的 Macintosh Programmer’s Workshop)。[7][8]

就最終的成果來看,Mac 的這第二次轉舵還是很成功的。實際上即便到 2009 年,Mac OS X 10.6 雪豹時期,蘋果已經(jīng)完全不再支持 PowerPC,依然有不少開發(fā)者通過 Universal Binary 對這一平臺做出后續(xù)數(shù)年的支持——這還是能夠從側標反映蘋果在兼容性方案上的不錯表現(xiàn)。

但我覺得,這次的成功主要并不來源于蘋果在兼容性工作上的成功,而在于 Mac 轉向 x86 本身就是一次從冷門到熱門,以及低效向高效的轉變,因為 x86 平臺原本就相當成功。Intel 這些年起碼在桌面 CPU 的效率提升上是獨占鰲頭的。另外要知道 PC 市場的絕對大頭:Windows 就一直在用 x86。而 Mac 轉往 x86,則很大程度上意味著 Mac 設備從此以后就可以名正言順地安裝 Windows 系統(tǒng)了。蘋果自 2006 年起引入的 Boot Camp 還對 Windows 的安裝做出了原生支持。

也是從這個時候開始,大批量的人在星巴克用 MacBook 裝逼(以及運行的卻是 Windows 系統(tǒng))才變得可行?;蛘哒f至少買一臺 Mac,就不用放棄 Windows——而且同一時間還有大量效率較高的虛擬程序可以跑 Windows 及對應的應用。我覺得無論如何,這都是 x86 平臺的 Mac 得以大獲成功的原因。

而且也是自此之后,許多軟件大牌企業(yè)才開始將 Mac 生態(tài)納入重要考慮范疇,甚至優(yōu)先于 Windows 做軟件開發(fā)。相較而言,以前的那點生態(tài)損失根本就不算什么;和當年 68k -》 PowerPC 的轉變相比,這次的轉變有著天然的生態(tài)優(yōu)勢。當然,在 x86 成為 Mac 的選擇以后,Mac 設備自身的設計變遷,為行業(yè)樹立標桿也是重要原因,如 2008 年推出的 MacBook Air;另外,現(xiàn)在基于 web 的應用越來越多,很多人對瀏覽器的依賴已經(jīng)大過操作系統(tǒng)本身,這讓平臺選擇進一步脫耦。

所以,我覺得 Mac 在轉向 x86 平臺時的成功,更多的是時勢造就,甚至別家生態(tài)使然;亦是蘋果在電子科技發(fā)展史上的一次識時務之舉;且以當年 Mac 的體量,更不存在尾大不掉的問題。

從 x86 轉向 Arm?Arm 效率真的高于 x86 嗎?

我們近兩年聽到最多有關 Mac 要從 x86 轉向 Arm 的原因,好像并不是蘋果要加大生態(tài)掌控力(這是我覺得蘋果可能決策轉向的最主要原因),而是 x86 處理器的效率比 Arm 差很多——這方面的報道也還不少。就相對直觀的消費用戶體驗來看,這一點似乎還是有足夠的論據(jù)的。這些年智能手機、平板產(chǎn)品的性能提升速度如此之快,感覺跟 PC 是不是已經(jīng)差不多了?

蘋果前些年發(fā)布 iPad Pro,并將其定位于生產(chǎn)力工具的時候,就不忘在發(fā)布會上黑現(xiàn)在的 PC,聲稱 iPad Pro 所用的 Ax 處理器比市面上 90% 的 PC 還要快。雖然也不知道這種對比是如何產(chǎn)生此等量化數(shù)據(jù)的。加上還有 GeekBench 這種蘋果專用跑分工具(誤)助陣,像 A13 這種芯片的跑分成績比 AMD Ryzen 3850X 還要高;單核平均功耗才 7、8W 的 A12X,單核跑分和 TDP 95W 的 Intel Core i7-8700K 差不多,多核成績則比 8600K 還要高。

這么說來,Arm 和蘋果掌握的黑科技,已經(jīng)達成體積小如此之多、功耗少如此之多的情況下,性能達成與 x86 平臺幾乎齊頭并進的水準啦?我前倆月就聽有人在社區(qū)大談 RISC 相比 CISC 有多大優(yōu)勢,并以此得出 iPad 性能為何比如今 PC 強那么多的結論,言下之意是你們根本就不懂指令、現(xiàn)代半導體技術的神速發(fā)展。Intel 估計應該被釘在歷史的恥辱柱上。

有關 GeekBench 娛樂工具跑分相近的問題,其實我們必須承認一個大前提:當代處理器微架構優(yōu)化,能用上的技術基本上都用上了,前十幾年的發(fā)展,什么流水線、分支預測、亂序執(zhí)行、多級緩存、超線程、時間空間并發(fā)之類亂七八糟的,及這些技術本身的反復優(yōu)化,外加制程工藝進化,CPU 性能總能有“質”的飛躍。但如今,CPU 單核性能提升已經(jīng)十分緩慢,不僅是制程工藝步進緩慢甚而停滯,還在于能用的優(yōu)化技術都已經(jīng)用上了。當然我們不能排除未來還有什么黑科技出現(xiàn),但至少就這兩年的情況來看,新貨已經(jīng)鮮見了,不似當年某種新技術一出立刻造成轟動。

所以雖然 Zen 2 如此神奇,而且還被我們吹得神乎其神,但實際上其單核性能也就那么回事,拼死了也就比同代 Intel 10nm 的十代酷睿強一丟丟——當然其 CCX 架構讓 Zen 2 堆核更容易了,臺積電的 7nm 也的確給力。

扯遠了,上面這兩段是為了表明,Arm 即便作為低功耗領域的主力架構,這些年的發(fā)展致其單核心性能可與 x86 比肩也并不稀罕。不過那么大的功耗差距,卻可達成相似 GeekBench 跑分又是怎么回事呢?這個問題,我在之前探討 Surface Pro 時就提到過:不考慮散熱系統(tǒng)的跑分成績都是在耍流氓,尤其是 GeekBench 這種短時跑分測試。

我們知道蘋果 Ax 系列 SoC 瞬時突發(fā)性能還是比較強的,包括 GPU,但一旦考察持續(xù)性能,則會有一個較大幅度的折扣,因為畢竟手機這么小的體積,而且就靠那點被動散熱面積,很難做到長時間的性能發(fā)揮。有關這個問題可參考我之前寫的兩篇文章[9][10]。我們常戲謔說 GeekBench 是 AppleBench,一方面原因在于其中的某些測試項,在 Ax 系列 CPU 中有專門硬件單元做計算,而 x86 很多時候只能依靠通用計算單元來解決,解題效率會略低(這部分內容各位可以去自行研究,早年比較典型的是 AES 加密單元——A 系列處理器就有專用單元,所以這類項目的跑分成績可以很高,現(xiàn)在可能有差別);另一方面就在 GeekBench 整個測試周期很短,那么系統(tǒng)真正的綜合性能其實是難以體現(xiàn)的。

知乎上有高人給出了 Arm 是否真的比 x86 更省電的理論分析,有興趣的可以去看一看[11]。很多人對 x86 留下高功耗印象的原因,其實是平臺(以及使用場景)差異造成的,PC 的處理器 TDP 在設定上就很高,而這種相比移動設備高得多的參考功耗,很大程度上就源于前面我說到的 PC 要求在一個較長時間內持續(xù)高性能,而不只是簡單的瞬時突發(fā)性能。另一方面還在于,Arm 指令集的處理器普遍采用大小核設計,小核心是專用于低功耗場景的(而且這種小核心現(xiàn)在看來似乎也越來越有必要)——而直到前一陣,Intel 才表示準備要搞這種大小核設計。

當然這也是因為 PC 的具體使用場景,以往并沒有多少需要像手機那樣超低功耗狀態(tài)的應用,或者這種必要性并不大(雖然現(xiàn)在也逐漸開始有這種需求);而 Arm 平臺的移動設備多用電池做電源,本身也需要對功耗做限制。

所以 x86 能效比低于 Arm 的這種印象,大抵上是兩者使用場景的常年差別造成的。能效比怎么樣,要對比的應該是同性能下的功耗情況。恰好 AMD 開始使用臺積電的 7nm 工藝,這也給這種對比有了一個基于類似制造工藝下,同性能(而不單純是同頻)下的功耗情況對比的依據(jù)。不過這種對比需要考慮的問題還有很多,比如 x86 平臺的很多 CPU 還有“睿頻”的概念,而 Arm 手機和移動平臺 CPU 則沒有;兩者的流水線長度不同等等;而且前面提到,兩者使用場景目前還是有差別,這也是芯片內部專用單元有差異的關鍵。

蘋果 A12 的頻率功耗曲線,來源:AnandTech

從相對直觀的角度來說,隨性能的提升,功耗也在提升,但這兩者的關系并不呈線性;意即如今 Arm 低功耗與性能的關系看起來還挺美好,但如果進一步提升性能,所需付出的功耗代價在達到一個拐點以后,就會出現(xiàn)指數(shù)級躥升的狀況——在高性能領域,Arm 現(xiàn)有的移動處理器也未必會有什么出色的表現(xiàn):這其中,蘋果并未掌握什么黑科技,Intel 也并不存在多大的過錯。(服務器領域和 PC 領域在應用場景上又是不一樣的,這里不討論。)

上面這張圖來自 AnandTech[12],好像被人援引了無數(shù)次。這是蘋果 A12 的頻率功耗相關曲線。AnandTech 認為蘋果做得還是比較出色的,而且在后續(xù)幾百 MHz 區(qū)間內也相對保守。如果說蘋果期望再把頻率抬高,則按照 A12 的現(xiàn)狀來看,很快就可以在 3GHz 附近讓功耗徹底達到標壓筆記本的水平。

這次的轉舵可能有所不同,看看微軟

上面這個大段落好像說了不少廢話,與本文的主旨關系并不算太大。不過我想表達的是,其實 x86 并不像人們想的那樣不堪,Arm 也不像人們想的那么美好。在不考慮散熱、功耗的情況下,這兩者的性能水平可能正在趨同——這也是 AnandTech 之前評價 A12 接近桌面處理器水平的原因。但就系統(tǒng)和具體應用場景的角度,即便 A12 有這種能力,也不可能發(fā)揮到桌面處理器的水準,因為它被功耗與散熱限制了。

就性能來看,蘋果應該是有能力造出 Intel 同等性能的 PC 處理器的,而且 Intel 如今在半導體制程工藝上有落伍的跡象(Intel 前不久才承認到 2021 年之前,工藝技術都將落后于競爭對手[13])。但在 macOS 的軟件生態(tài)和兼容性層面,就又要多花一番心思了。這個過程可能仍然需要數(shù)年,而且這次的轉舵還不同于以往。只不過在過去蘋果積累的經(jīng)驗,這會兒似乎還是可以派上用場。

彭博社的報道提到,可能會有部分 Mac 產(chǎn)品將采用 Arm 處理器。就前期來看,合理的推測是,低性能、低功耗產(chǎn)品線的 MacBook(比如說早前 12 寸的 MacBook)可能會率先采用蘋果自己的 Arm 處理器。但如果真的是這樣,那么也就意味著,Mac 產(chǎn)品系列將有兩種架構、兩種平臺并存,這對開發(fā)者來說應該是個災難。蘋果大概需要重啟過去兩次轉平臺時 fat binary 和 Universal Binary 方案——一人開發(fā),倆平臺共享。..

實際上在早年 fat binary 時期,把兩種編譯版本封裝到一起,造成的文件尺寸大,在當時是比較敏感的——因為那會兒 PC 的硬盤容量真的很可憐,所以那一時期還涌現(xiàn)出了為了節(jié)省硬盤空間,可剝離不需要編譯版本的工具。現(xiàn)在這已經(jīng)不算什么大事兒了。

而就當代來看,蘋果實際上有一個更好的參照對象,就是微軟。不過微軟在計劃上看,并不是“轉舵”,而是“擴展”,這里我們可以稍微提一提:即 Windows 不僅要在 x86 平臺上發(fā)展,而且要在 Arm 平臺上發(fā)展。這個計劃從 Windows RT 操作系統(tǒng)時期就出現(xiàn)了,那時微軟就搞了一個 Windows Runtime,這個運行時之上搭的應用可以同時支持 x86 和 Arm。當時的 Windows Phone 8.1 其實也用上了 Windows Runtime,所以那會兒微軟應用商店的很多 app 都同時支持手機、PC、平板,雖然商店里的應用數(shù)量也是少的可憐。

這算是實現(xiàn)微軟“偉大”生態(tài) Universal Windows Platform(UWP)的重要組成部分。UWP 本質上就是為所有 Windows 設備,包括 PC、IoT、平板設備之類,或者說所有 Arm、x86 平臺的 Windows 設備,提供一個通用的 API。UWP 就是一種建立在 Windows Runtime 之上的應用模型。[14][15]

Windows Runtime 提供的 API 以類庫的形式,為開發(fā)者提供 Windows 8 的功能。跑在 Windows Runtime 上的應用實際上是跑在一個沙盒里,需要用戶批準才能訪問一些關鍵系統(tǒng)特性及下層的硬件。這個東西當時就可以打通 Windows RT、Windows 8,絕大部分應用部署在微軟的應用商店里。早期 Windows Runtime 之上跑的應用被稱作 Metro app(好像是因為當時微軟還熱衷于推 Metro UI,后來叫 modern-style app,應該還會改)。

只不過這東西到現(xiàn)在為止都還不能算是成功,微軟的營銷話術也堪稱災難,沒人知道 Windows RT、on Arm、10S、10X 之類究竟是什么鬼。一般人真的很難搞懂微軟這兩年究竟在做什么——可見當年喬布斯在給 Mac 轉平臺,在告訴用戶和開發(fā)者現(xiàn)在正在發(fā)生什么的時候,是多么科學(所以比爾蓋茨說喬布斯是超級銷售員)。不過在實際的決策上,我覺得微軟的搖擺不定、瞻前顧后,才真正令 Windows RT 以及后來的 Windows 10S 都很失敗。

微軟接下來的一個“偉(zuo)大(si)”計劃是 Windows 10X。從外顯上來看,Windows 10X 是為雙屏設備準備的一個操作系統(tǒng)(比如 Surface Neo 之類還沒發(fā)布的設備),預計今年下半年才會看到實物。不過我覺得 Windows 10X 的意義遠不止此,Windows 10X 支持 Windows Runtime API(這個是肯定的),并且“通過一個原生 container 跑 Win32 應用”[16]。我沒怎么研究過如今 Windows 系統(tǒng)架構狀況,但就對舊有 Windows 生態(tài)來看,Windows 10X 如果是微軟接下來意欲統(tǒng)一 PC 市場的操作系統(tǒng),則這個決心下的還是比較大的;而且貌似雙屏 Windows 設備都是基于 Arm 平臺。

誰不想要 Surface Pro X 這么性感的筆記本呢?

聽起來 Windows 10X 在這一點上,和 Windows on Arm 很像(Surface Pro X 用的就是 Windows on Arm),所以我在想 Surface Pro X 將來是不是可以升級到 Windows 10X——反正微軟改名部門創(chuàng)下那么多的“豐功偉績”。

在針對開發(fā)者的兼容性問題上,Windows on Arm 平臺下的 x86 應用是跑在模擬器上的,一個叫 WOW64 的 x86 模擬器。和前文提到蘋果的 Rosetta 有點像,模擬過程就是把 x86 指令塊編譯成 ARM64 指令,加一些優(yōu)化。會有服務對轉譯代碼塊做緩存,減少指令轉譯開銷。貌似到目前為止,x86-64 應用(也就是傳統(tǒng)的 Windows 64 位應用)還無法在 Arm 版 Windows 上面跑,而且某些大型應用的模擬運行比較災難級,比如 Photoshop。WOW64 也跑在用戶態(tài)[17]。

其實突然又有點搞不懂微軟將來計劃怎么發(fā)展,從如今微軟的動作來看,好像十分偏向 Arm(和高通),只不過大業(yè)未成,生態(tài)也暫未見起色,x86 也不想拋棄。不知 Intel 看此情此景是什么心情。畢竟 Windows 作為歷史用戶基數(shù)龐大的操作系統(tǒng),兼容性的歷史包袱遠大于蘋果的 Mac OS:我沒法從技術細節(jié)上來探討誰做得更好,但微軟一定比蘋果更有難度;何況蘋果還有 iOS 這顆大棋子。

如果說蘋果要在同一時間針對 Mac 系列產(chǎn)品,既保有 x86 平臺(典型如 Mac Pro 這種更新沒多久的高性能工作站),又開發(fā) Arm 平臺(很可能就是 MacBook),那么對兩個平臺的同時支持,以及對開發(fā)者的友好度,不知能否做到比微軟如今的方案更好——因為這次似乎并不是徹底拋棄上一個平臺這么簡單(畢竟彭博社是說部分 Mac 產(chǎn)品采用 Arm 處理器),也就不能以斬斷過往、說拋棄就拋棄這種蘋果式的任性方法來做決策(但好似當年 PowerPC 與 x86 在 Mac OS 系統(tǒng)上也共存了起碼 5 年)。

Mac 轉舵可能會遭遇的問題

一氣寫下來,感覺篇幅有點過長了,本來還想聊聊蘋果自己在 Mac 設備里面搞的 T2 芯片,以及可將 iPad app 輕松移植給 macOS 的 Catalyst 項目——畢竟這倆看起來都很像本次轉舵的重要緩沖或預備手段。但再寫的話,這文章字數(shù)就要破萬了,實在是太廢紙了。在轉換平臺的問題上,即便有那么多的困難,自主掌握芯片迭代節(jié)奏,以及牢固生態(tài)發(fā)展,采用自研芯片還是有好處。

其實上面這些算是一個資料匯總,也算是我近期的學習過程吧,以簡短的形式匯報給各位。這里最后談一談 Mac 如果真的要從 x86 轉往 Arm(而不是兩者并行發(fā)展,畢竟蘋果很少做這么二的事情),除了兼容性和技術層面,如上述文字中提到的難度,在實際實施中還會有一些非?,F(xiàn)實的問題。

第一就是,可能面臨拋棄 Windows 用戶的問題,Mac 如果徹底拋棄 x86,則未來的 Mac 設備很可能就不能再安裝 Windows 系統(tǒng)了:這個問題我覺得十分嚴重,或許很多 Mac 用戶對于在 Mac 設備上使用 Windows 是非常嗤之以鼻的,但這個選擇對很多人來說仍然十分重要。畢竟 Windows 的生產(chǎn)力生態(tài)仍然十分完備,某些很偏的應用都只支持 Windows。(現(xiàn)在 Windows 也支持 Arm 了,只是兩者的平臺還是有差異)

第二是,如果低端 MacBook 產(chǎn)品線開始用 Arm 處理器,那么目前的 iPad Pro 產(chǎn)品定位會顯得很尷尬。因為后者就是定位于輕度生產(chǎn)力工具,如果要說生產(chǎn)力,iOS 和 macOS 似乎并非同臺競爭的對象。

第三,有個比較實際的問題:Intel 畢竟是個造芯片的公司,可以搞出一大堆不同定位的 SKU,比如什么酷睿 i3、i5、i7;超低壓、低壓、標壓、桌面等等,并且應用到不同售價的 Mac 設備上。蘋果即便有能力造芯片,是否能在短時間內,按照體質劃分不同 SKU,并且應用到將來更多的 Mac 設備上?如果不能的話,難道真的要 x86 和 Arm 并行發(fā)展嗎?

值得注意的是,這次的轉舵并不像上次 PowerPC -》 x86 那樣,是轉向一個在桌面市場十分受歡迎和健全的平臺;而且如今蘋果公司的體量遠非 2005 年可比,所以這次轉舵的困難程度大約不小。另外,前面花了那么多篇幅談兼容性問題,針對某些十分細節(jié)的點,比如小到 Final Cut Pro X 中的一個插件,即便容易想見 Final Cut Pro X 會第一批支持 Arm 版 macOS,但插件未更新就可以徹底埋葬一部分用戶。

具體是什么狀況,等到今年的 WWDC 或可一見分曉。最后的最后,Intel 哭泣的時間應該會更長:為什么全世界都針對我?

參考來源:

[1] Apple Aims to Sell Macs With Its Own Chips Starting in 2021 - Bloomberg

https://www.bloomberg.com/news/articles/2020-04-23/apple-aims-to-sell-macs-with-its-own-chips-starting-in-2021

[2] 小議Mac OS Classic的底層架構與Mac的固件沿革 - 老Mac與MacOS收藏

https://zhuanlan.zhihu.com/p/44934452

[3] Mac OS nanokernel - Wikipedia

https://en.wikipedia.org/wiki/Mac_OS_nanokernel

[4] Mac 68k emulator - Wikipedia

https://en.wikipedia.org/wiki/Mac_68k_emulator

[5] Fat binary - Wikipedia

https://en.wikipedia.org/wiki/Fat_binary

[6] List of macOS components - Wikipedia

https://en.wikipedia.org/wiki/List_of_macOS_components#Classic

[7] Rosetta (software) - Wikipedia

https://en.wikipedia.org/wiki/Rosetta_(software)

[8] CodeWarrior - Wikipedia

https://en.wikipedia.org/wiki/CodeWarrior

[9] 聊聊無風扇的Surface Pro:性能比一般筆記本差多少? - 面包板

https://mbb.eet-china.com/blog/3893689-413612.html

[10] 一場硬仗:華為和高通的GPU差距還有多大? - EE Times China

https://www.eet-china.com/news/202001061219.html

[11] 為啥 Arm 架構比 x86 x64 省電? - 木頭龍的回答

https://www.zhihu.com/question/387240856/answer/1186307900

[12] The Apple iPhone 11, 11 Pro & 11 Pro Max Review: Performance, Battery, & Camera Elevated - AnandTech

https://www.anandtech.com/show/14892/the-apple-iphone-11-pro-and-max-review/4

[13] Intel Says Process Tech to Lag Competitors Until Late 2021, Will Regain Lead with 5nm - Intel

https://www.tomshardware.com/news/intel-process-tech-lag-competitors-late-2021-leadership-5nm

[14] Windows Runtime - Wikipedia

https://en.wikipedia.org/wiki/Windows_Runtime

[15] How the Universal Windows Platform relates to Windows Runtime APIs - Microsoft

https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide#how-the-universal-windows-platform-relates-to-windows-runtime-apis

[16] Windows 10X Developer FAQ - Microsoft

https://docs.microsoft.com/en-us/windows/apps/10x/faq

[17] WOW64 Implementation Details - Microsoft

https://docs.microsoft.com/zh-cn/windows/win32/winprog64/wow64-implementation-details

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19885

    瀏覽量

    235066
  • 蘋果
    +關注

    關注

    61

    文章

    24545

    瀏覽量

    203908
  • Mac
    Mac
    +關注

    關注

    0

    文章

    1117

    瀏覽量

    53077
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    這次來真的了?蘋果Wi-Fi7芯片采用臺積電N7工藝,或明年iPhone上首發(fā)

    落地。 ? 10月最后一天,天風國際分析師郭明爆料稱,蘋果計劃在2025年下半年推出的新品上搭載的Wi-Fi7芯片,該芯片采用臺積電N7工藝制造,支持目前最新的Wi-Fi7規(guī)格。他
    的頭像 發(fā)表于 11-02 00:02 ?6613次閱讀
    這次來真的了?<b class='flag-5'>蘋果</b><b class='flag-5'>自</b><b class='flag-5'>研</b>Wi-Fi7芯片<b class='flag-5'>采用</b>臺積電N7工藝,或明年iPhone上首發(fā)

    高端芯片,服務芯片傳來好消息!

    電子發(fā)燒友網(wǎng)報道(文/黃晶晶)當前,處理器已經(jīng)跨過了能用的階段,逐漸走向好用,但無論是消費級還是服務級都面臨著如何在性能上接近國外高端產(chǎn)品,以及生態(tài)上如何更加完善的問題。國內廠商
    的頭像 發(fā)表于 05-18 09:25 ?6619次閱讀
    高端芯片<b class='flag-5'>自</b><b class='flag-5'>研</b>,服務<b class='flag-5'>器</b>芯片傳來好消息!

    蘋果調制解調性能或不及高通X75

    5G技術,同時在載波聚合功能上的表現(xiàn)也不及高通X75芯片。這意味著,與采用高通X75方案的其他手機相比,iPhone SE 4在5G網(wǎng)絡的上傳和下載速度上可能會存在一定的差距。 然而,報道也指出,蘋果
    的頭像 發(fā)表于 02-19 11:27 ?603次閱讀

    RK3568J高性能多媒體處理器特性概述

    RK3568J是一款高性能的多媒體處理器,專為滿足現(xiàn)代智能設備對高性能、低功耗的需求而設計。它集成了四核64位Cortex-A55 CPU、ARM G52 2EE GPU以及的512MAC
    的頭像 發(fā)表于 02-11 17:41 ?966次閱讀

    如何用mac電腦搭建云存儲,怎么用Mac電腦搭建云存儲?

    都能提供強大的支持。那么,如何用Mac電腦搭建云存儲?接下來,讓我們一同開啟這場探索之旅。 ? ?1、準備工作 ? ?硬件檢查:確保Mac電腦的硬件性能良好。處理器性能會影響數(shù)據(jù)傳輸
    的頭像 發(fā)表于 01-17 14:15 ?637次閱讀
    如何用<b class='flag-5'>mac</b>電腦搭建云存儲,怎么用<b class='flag-5'>Mac</b>電腦搭建云存儲<b class='flag-5'>呢</b>?

    蘋果計劃2025年起采用藍牙Wi-Fi芯片

    近日,據(jù)最新報道,蘋果公司為了減少對博通(Broadcom)的依賴,并進一步提升其設備的性能和能效,已經(jīng)制定了一項重要的芯片計劃。據(jù)悉,從2025年開始,蘋果將正式啟用
    的頭像 發(fā)表于 12-18 14:22 ?1015次閱讀

    蘋果調制解調芯片或明年亮相

    近日,據(jù)知情人士透露,蘋果公司經(jīng)過長達五年的研發(fā),終于有望于明年春季推出其首款調制解調系統(tǒng)。這一創(chuàng)新組件將首次亮相于蘋果入門級智能手機
    的頭像 發(fā)表于 12-09 14:33 ?664次閱讀

    蘋果5G芯片或于明年亮相

    蘋果公司正加速推進其5G芯片的研發(fā)進程,有望最快在明年推出首款5G調制解調。這一舉措對
    的頭像 發(fā)表于 11-12 15:24 ?1013次閱讀

    蘋果2025年iPhone將采用Wi-Fi 7芯片,減少博通依賴

    11月2日,天風國際分析師郭明錤透露,蘋果計劃在2025年下半年推出的新產(chǎn)品,如iPhone 17等,將搭載的Wi-Fi 7芯片。這款芯片將基于臺積電的N7工藝制造,旨在降低對芯片制造商博通Wi-Fi芯片的依賴,并推動
    的頭像 發(fā)表于 11-04 15:25 ?1182次閱讀

    蘋果加速芯片進程,iPhone SE 4將首發(fā)自5G基帶

    階段,標志著蘋果在擺脫外部5G基帶供應方面邁出了重要一步。盡管蘋果與高通之間的5G基帶供應協(xié)議一直延續(xù)至2027年,但海通國際證券分析師Jeff Pu的研究報告指出,iPhone SE 4將首次采用
    的頭像 發(fā)表于 11-04 14:20 ?1407次閱讀

    蘋果2025下半年將采用Wi-Fi 7芯片

    據(jù)天風國際分析師郭明錤透露,蘋果計劃在2025年下半年推出的新品中,將首次采用的Wi-Fi 7芯片。這款芯片將基于臺積電N7工藝制造,預計將為
    的頭像 發(fā)表于 11-01 16:58 ?957次閱讀

    蘋果iPhone 17將首發(fā)搭載Wi-Fi 7芯片

    了博通公司提供的Wi-Fi芯片,博通每年向蘋果供應超過3億枚Wi-Fi+藍牙芯片。然而,蘋果正逐步減少對博通的依賴。據(jù)悉,從明年起,蘋果將開始使用
    的頭像 發(fā)表于 11-01 16:19 ?1268次閱讀

    蘋果Wi-Fi芯片或明年商用,用于部分iPad

    9月20日最新資訊顯示,蘋果公司在芯片領域的成就斐然,其標志性的A系列芯片在iPhone和iPad上持續(xù)多年引領性能巔峰,而2020年起推出的M系列芯片更是成功助力
    的頭像 發(fā)表于 09-20 16:23 ?1618次閱讀

    華無風扇BOX PC搭載兆芯KX-6000G處理器

    近日,工控領導企業(yè)華基于兆芯開先KX-6000G高效能處理器打造的新一代多擴展無風扇BOX PC——ITA-166順利上市。此前,華基于兆芯處理器已經(jīng)成功開發(fā)出多款工業(yè)電腦,并取得
    的頭像 發(fā)表于 08-28 11:19 ?1008次閱讀

    擺脫高通:iPhone 17有望搭載蘋果基帶

    年推出的iPhone 17系列中,首次采用自家研發(fā)的5G基帶芯片。 這有望大幅減少蘋果對高通的依賴,導致高通從蘋果獲得的營收在2025年同比減少35%,2026年將進一步減少35%。 分析師Chris Caso指出,盡管初期只有
    的頭像 發(fā)表于 08-19 09:22 ?829次閱讀