在現(xiàn)實世界一次又一次的測試中,M1 Macs 不僅超越了頂配的英特爾 Mac,而且還徹底擊垮了這些電腦。很多人都覺得不可思議,他們開始探究這到底是怎么回事?
從技術(shù)的角度來看,為什么 M1 芯片會如此之快?
蘋果是否采用了一些非同尋常的技術(shù)?
對于英特爾和 AMD 等競爭對手來說,采用相同的技術(shù)是否也很容易?
當然,你可以在網(wǎng)上搜索這些問題的答案,但如果你想深入了解蘋果所做出的努力,那么可能很快就會被高度專業(yè)的技術(shù)術(shù)語淹沒。例如 M1 使用了非常寬的指令解碼器、巨大的重排序緩沖區(qū)(ROB)等等。除非你非常了解 CPU 硬件,否則大多數(shù)文章對你來說都是天書。
為了方便理解,下面我來簡要介紹一下有關(guān) M1 芯片的基礎(chǔ)知識。
什么是微處理器(CPU)?
通常,我們談?wù)摰挠⑻貭柵c AMD 芯片指的都是中央處理器(CPU),或稱微處理器。這些芯片從內(nèi)存獲取指令,然后按照順序執(zhí)行每條指令。
圖:一個非?;镜?RISC CPU(不是 M1)
指令從存儲器(memory)沿藍色箭頭移動到指令寄存器(register),然后由解碼器(decoder)解析指令,并通過紅色控制線啟動CPU的不同部分,最后由運算器(ALU)將寄存器中的數(shù)字相加或相減。
最基本的CPU包含一系列寄存器(register)和若干運算器(ALU),其中寄存器是命名的存儲單元,而運算器則是計算單元。ALU 可以執(zhí)行加法、減法以及其他基本數(shù)學(xué)運算之類的操作。但是,ALU 只連接到 CPU 寄存器。如果要想執(zhí)行兩個數(shù)字相加的運算,則必須從內(nèi)存中獲取這兩個數(shù)字并放入 CPU 的兩個寄存器中。
以下是 M1 上的 RISC CPU 執(zhí)行的一些常見的指令示例:
上述 r1 和 r2 就是我們所說的寄存器。現(xiàn)代 RISC CPU 無法針對位于寄存器之外的數(shù)字進行這樣的操作。例如,它不能將內(nèi)存中兩個不同位置的數(shù)字相加。相反,它必須將這兩個數(shù)字放入單獨的寄存器中。這就是上述示例中的前兩條指令。我們從內(nèi)存地址 150 中提取數(shù)字,并將其放入 CPU 的寄存器 r1 中。接下來,我們將地址 200 中的數(shù)字放入寄存器 r2 中。只有這樣,兩個數(shù)字才能通過指令 add r1,r2 相加。
擁有兩個寄存器、累加器和輸入寄存器?,F(xiàn)代 CPU 通常擁有十幾個寄存器,而且是電子的。
寄存器的概念很早以前就有了。例如,在上圖的舊式機械計算器中,寄存器是保存兩個加數(shù)的地方。寄存器就是存放數(shù)字的地方。
M1 不是 CPU!
了解 M1 的時候,需要注意一點:
M1 不是 CPU,它是一個集成了多個芯片的整體系統(tǒng)。而 CPU 只是其中一個芯片。
簡單來說,M1 就是將一臺完整的計算機集成到了一個芯片上。M1 包含 CPU、圖形處理單元(GPU)、內(nèi)存、輸入和輸出控制器以及構(gòu)成一臺整體計算機的許多其他組件。這就是我們所說的單片系統(tǒng)(System on a Chip,即SoC)。
如今,購買英特爾或 AMD 的芯片時,實際上你得到的是一個封裝了多個微處理器的芯片。過去,計算機的諸多芯片會分散加載到主板上。
內(nèi)存、CPU、顯卡、IO 控制器、網(wǎng)卡以及許多其他組件都連接到了主板上,可以相互通信。
然而,由于如今我們能夠在一塊硅片上放置非常多的晶體管,因此英特爾和AMD等公司紛紛開始將多個微處理器集成到一個芯片上。我們稱這些芯片為CPU核心。一個核心基本上就是一個完全獨立的芯片,可以從內(nèi)存中讀取指令并執(zhí)行計算。
圖:擁有多個CPU核心的微芯片
長期以來,要想提高性能,只需添加更多通用 CPU 核心即可。然而,如今情況發(fā)生了變化,CPU 市場的一位商家開始偏離這種趨勢。
蘋果的異構(gòu)計算策略并沒有那么神秘
蘋果并沒有選擇增加通用 CPU 核心,他們采取了另一種策略:添加越來越多專用芯片來完成一些專門的任務(wù)。這樣做的好處是,與通用 CPU 核心相比,專用芯片能夠更快地完成任務(wù),而且耗電量更少。
這不是一個全新的做法。多年來,英偉達和 AMD 的顯卡中都搭載了圖形處理單元(GPU)等專用芯片,這些芯片執(zhí)行與圖形相關(guān)的操作要比通用 CPU 快許多。
蘋果所做的只是更大膽地朝這個方向轉(zhuǎn)變。M1 不僅具有通用核心和存儲器,而且還包含各種專用芯片:
中央處理單元(CPU):單片系統(tǒng)的大腦。負責(zé)運行操作系統(tǒng)和應(yīng)用程序的大多數(shù)代碼。
圖形處理單元(GPU):處理與圖形相關(guān)的任務(wù)。例如顯示應(yīng)用程序的用戶界面,以及 2D/3D 游戲等。
圖像處理單元(ISP):可用于加速圖像處理應(yīng)用程序的常見任務(wù)。
數(shù)字信號處理器(DSP):能夠比 CPU 更好地處理需要大量數(shù)學(xué)運算的任務(wù)。包括解壓縮音樂文件等。
神經(jīng)處理單元(NPU):用于高端智能手機,可加速機器學(xué)習(xí)(AI)任務(wù)。包括語音識別和相機處理。
視頻編碼器/解碼器:處理視頻文件和格式的轉(zhuǎn)換,且耗能更低。
安全領(lǐng)域:加密、身份認證以及安全性。
統(tǒng)一內(nèi)存:允許 CPU、GPU 和其他核心快速交換信息。
這就是為什么許多人在使用 M1 Mac 進行圖像和視頻編輯時,都能看到速度提升的部分原因。他們執(zhí)行的許多任務(wù)可以直接在專用硬件上運行。因此,價格低廉的 M1 Mac Mini 輕而易舉就能夠編碼大型視頻文件,而昂貴的 iMac 即便所有風(fēng)扇都全力運轉(zhuǎn)也趕不上。
在藍色區(qū)域內(nèi),你可以看到多個 CPU 核心可以同時訪問內(nèi)存,而在綠色框內(nèi),大量 GPU 核心在訪問內(nèi)存。
你可能不太理解統(tǒng)一內(nèi)存。共享內(nèi)存與統(tǒng)一內(nèi)存有何不同?過去,人們不是不贊成視頻內(nèi)存與主內(nèi)存共享嗎?因為這會導(dǎo)致性能降低。的確,共享內(nèi)存確實不好。原因是 CPU 和 GPU 必須輪流訪問內(nèi)存。共享意味著二者要爭用數(shù)據(jù)總線。簡單來說,GPU 和 CPU 必須輪流使用狹窄的管道來存儲或提取數(shù)據(jù)。
但統(tǒng)一內(nèi)存的情況不一樣。在統(tǒng)一內(nèi)存中,GPU 核心和 CPU 核心可以同時訪問內(nèi)存。因此,共享內(nèi)存沒有額外開銷。另外,CPU 和 GPU 可以互相通知數(shù)據(jù)在內(nèi)存中的位置。以前,CPU 必須將數(shù)據(jù)從主內(nèi)存區(qū)域復(fù)制到 GPU 使用的區(qū)域。但在統(tǒng)一內(nèi)存中,CPU 會告知 GPU:“我從內(nèi)存地址 2430 開始放置了30MB 的多邊形數(shù)據(jù)?!倍?GPU 無需復(fù)制就可以使用這段內(nèi)存。
這意味著,由于 M1 上各種特殊的處理器都可以使用相同的內(nèi)存池,并快速交換信息,因此可以大幅提升性能。
在統(tǒng)一內(nèi)存出現(xiàn)之前,Mac 使用 GPU 的方式。你甚至可以選用計算機外部安裝的顯卡(通過 Thunderbolt 3 線安裝)。有人猜測未來這種情況仍有可能出現(xiàn)。
為什么英特爾和 AMD 不使用相同的戰(zhàn)略?
既然蘋果的做法如此聰明,為何大家不照搬呢?從某種程度上來說,有些人確實在照抄蘋果。有些 ARM 芯片制造商在專用硬件上的投資越來越多。
AMD還嘗試在某些芯片上安裝功能更強大的GPU,并逐步采用加速處理單元(APU),向著單片系統(tǒng)邁進,這些處理器的CPU核心和GPU核心基本上都位于同一個芯片之上。
AMD Ryzen 加速處理單元(APU)在一塊芯片上集成了 CPU 和 GPU(Radeon Vega)。但是不包含其他協(xié)同處理器、IO 控制器或統(tǒng)一內(nèi)存。
然而,還有一些重要的原因致使他們無法完全貫徹蘋果的做法。單片系統(tǒng)本質(zhì)上是在一塊芯片上構(gòu)建整個計算機。因此,這種做法更適合于真正的計算機制造商,比如惠普和戴爾等。我用汽車來做一個簡單的類比:如果你的業(yè)務(wù)模型是制造和銷售汽車發(fā)動機,那么對你來說,制造和銷售整車將是一次不尋常的飛躍。
相比之下,這對于 ARM 來說并不是大問題。戴爾或惠普等計算機制造商只需要購買 ARM 和其他廠商芯片的授權(quán),就可以利用各種專用硬件制作自己的單片系統(tǒng)。接下來,他們將完成的設(shè)計移交給 GlobalFoundries 或臺積電等半導(dǎo)體代工廠,這些工廠如今就在為 AMD 和蘋果生產(chǎn)芯片。
在英特爾和 AMD 的商業(yè)模式下,我們遇到了一個很大的問題。他們的商業(yè)模式的基礎(chǔ)是銷售通用 CPU,人們只需將其插入大型 PC 主板即可。因此,計算機制造商只需從其他供應(yīng)商那里購買主板、內(nèi)存、CPU 和顯卡,并將這些芯片集成到一個解決方案中。
但是,如今的發(fā)展趨勢正在迅速遠離這種模式。在新的單片系統(tǒng)世界中,你無需組裝來自不同供應(yīng)商的物理組件。相反,你需要組裝不同供應(yīng)商的知識產(chǎn)權(quán)。首先,你需要從各個供應(yīng)商那里購買顯卡、CPU、調(diào)制解調(diào)器、IO 控制器和其他產(chǎn)品的設(shè)計,并將其用于內(nèi)部的單片系統(tǒng)設(shè)計。然后,再通過某家代工廠來生產(chǎn)。
那么,問題來了:因為英特爾、AMD 或英偉達都不會向戴爾或惠普發(fā)放知識產(chǎn)權(quán)許可,不會給他們機會制造自己的單片系統(tǒng)。
當然,英特爾和 AMD 可能也會銷售完整的單片系統(tǒng)。但是其中包含什么呢?每個 PC 制造商對單片系統(tǒng)所包含的內(nèi)容可能都有各自的看法。英特爾、AMD、微軟和 PC 制造商之間可能會出現(xiàn)沖突,因為這些芯片需要軟件支持。
對于蘋果來說,這并不是什么難事,因為他們控制著所有環(huán)節(jié)。例如,他們?yōu)殚_發(fā)人員提供了 Core ML 庫,方便他們編寫機器學(xué)習(xí)代碼。至于 Core ML 是在蘋果的 CPU 上運行還是在 Neural Engine 上運行,并不是開發(fā)人員所關(guān)心的實現(xiàn)細節(jié)。
加快 CPU 運行的根本難題
因此,異構(gòu)計算是 M1 芯片實現(xiàn)高性能的部分原因,但不是唯一的原因。M1 芯片上的通用 CPU 核心 Firestorm 確實非常快。這是 Firestorm 與過去的ARM CPU 的一個重大差異,過去的 ARM CPU 核心與 AMD 和英特爾的核心相比非常弱。
然而,F(xiàn)irestorm 擊敗了大多數(shù)英特爾核心,而且?guī)缀鯌?zhàn)勝了最快的 AMD Ryzen 核心。按照傳統(tǒng)經(jīng)驗來看,這種情況并不會發(fā)生。
在討論 Firestorm 運行速度如此之快的原因之前,我們先來了解一下哪些核心理念可以真正加快 CPU 的速度。
原則上,你可以結(jié)合以下兩種策略來加快 CPU 的速度:
快速執(zhí)行更多指令。
并行執(zhí)行大量指令。
在上個世紀 80 年代,快速執(zhí)行更多指令很容易。只要增加時鐘頻率,指令就會加速完成。一個時鐘周期是計算機執(zhí)行某項操作的時間。但是一個時鐘周期可能不夠用,因此,有時一條指令可能需要多個時鐘周期才能完成,因為它由幾個較小的任務(wù)組成。
但是,如今我們幾乎不可能再提高時鐘頻率了。經(jīng)過人們十多年堅持不懈的努力,如今摩爾定律已經(jīng)失效了。
因此,我們所能做的只能是并行執(zhí)行盡可能多的指令。
多核與亂序處理器
并行執(zhí)行大量指令的方法有兩種。一種是添加更多 CPU 核心。從軟件開發(fā)人員的角度來看,這就如同添加線程。每個 CPU 核心就是一個硬件線程。如果你不知道線程是什么,則可以將其視為執(zhí)行任務(wù)的進程。一個擁有兩個核心的 CPU可以同時執(zhí)行兩個單獨的任務(wù),即兩個線程。而任務(wù)可以理解為存儲在內(nèi)存中的兩個單獨的程序,或者是同一個程序執(zhí)行兩次。每個線程都需要一些記錄,例如該線程在程序指令序列中的當前位置。每個線程可以存儲臨時的結(jié)果,而且應(yīng)該分開保存。
原則上來說,處理器即便只擁有一個核心也可以運行多個線程。在這種情況下,處理器需要暫停一個線程,將當前進程保存下來,然后再切換到另一個線程。稍后再切換回去。這種做法無法帶來太多性能上的提升,而且只能在某個線程需要頻繁停下來等待用戶輸入,或網(wǎng)絡(luò)連接速度太慢的情況才能使用。以上這些可以稱為軟件線程。硬件線程則意味著需要使用額外的物理硬件(例如額外的核心)來加快處理速度。
然而,問題在于,開發(fā)人員需要編寫代碼才能利用這一點。有一些任務(wù)(例如服務(wù)器軟件)很容易做到這一點。例如單獨處理每個用戶,這些任務(wù)之間彼此獨立,因此擁有大量核心是服務(wù)器(尤其是基于云的服務(wù))的絕佳選擇。
這就是為什么 Ampere 等 ARM CPU 制造商生產(chǎn)出的 Altra Max 等 CPU 擁有 128 個核心的原因。該芯片是專門為云計算而設(shè)計的。單個核心不需要擁有瘋狂的性能,因為在云中利用好每一瓦特的功耗,處理盡可能多的并發(fā)用戶才是重中之重。
相比之下,蘋果的情況則完全不同。蘋果的產(chǎn)品都是單用戶的設(shè)備。大量線程并不是他們的優(yōu)勢。他們的設(shè)備可用于玩游戲、編輯視頻、開發(fā)等。他們希望臺式機擁有精美的、響應(yīng)速度超快的圖像和動畫。
桌面軟件通常不會利用很多核心。例如 8 個核心對電腦游戲來說就足夠了,128 個核心完全是浪費。相反,這些軟件需要少量更強大的核心。
接下來我們要講的內(nèi)容很有意思。亂序執(zhí)行是一種能夠并行執(zhí)行更多指令、但不需要多線程的方式。開發(fā)人員無需專門編寫軟件即可享受亂序執(zhí)行的優(yōu)勢。從開發(fā)人員的角度來看,似乎每個核心的運行速度都加快了。
為了理解其中的工作原理,我們先來了解一些內(nèi)存方面的知識。請求位于某個特定內(nèi)存位置中的數(shù)據(jù)會很慢。但是,獲取 1 個字節(jié)的延遲與獲取 128 個字節(jié)的延遲并沒有區(qū)別。數(shù)據(jù)是通過數(shù)據(jù)總線發(fā)送的。你可以將數(shù)據(jù)總線視為連接內(nèi)存與 CPU 各個部分的一條通道或管道,數(shù)據(jù)正是通過這條管道傳輸?shù)摹嶋H上,數(shù)據(jù)總線就是一些可以導(dǎo)電的銅線。如果數(shù)據(jù)總線足夠?qū)挘瑒t可以同時獲取多個字節(jié)。
因此,CPU 一次可以獲取整塊指令,但是這些指令必須逐條執(zhí)行。現(xiàn)代微處理器采用了亂序執(zhí)行。
這意味著,這些處理器能夠快速分析指令緩沖區(qū),并檢查哪些指令之間有相互依賴關(guān)系。我們舉一個簡單的例子:
乘法是相對較慢的操作,假設(shè)它需要多個時鐘周期才能執(zhí)行完成。這時,第二條指令就需要等待,因為它需要知道放入 r1 寄存器的結(jié)果。
然而,第三條指令(03 行)并不依賴于前面的計算結(jié)果。因此,亂序處理器可以開始并行計算這條指令。
但實際情況是,處理器每時每刻都需要處理成百上千的指令,而 CPU 能夠找出這些指令之間的所有依賴關(guān)系。
它會分析指令,檢查每條指令的輸入,看一看這些輸入是否依賴于其他一個或多個指令的輸出。這里的輸入和輸出指的是包含先前計算結(jié)果的寄存器。
例如,指令 add r4, r1, 5 的輸入 r1 依賴于前一個指令 mul r1, r2, r3 的結(jié)果。這些依賴關(guān)系鏈接在一起就可以形成關(guān)系圖,而CPU可以使用這個圖進行處理。圖中的節(jié)點就是指令,而邊就是連接這些指令的寄存器。
CPU 可以分析這樣的節(jié)點圖,并確定它可以并行執(zhí)行哪些指令,以及在執(zhí)行哪個指令之前需要等待多個相關(guān)的計算結(jié)果。
盡管許多指令都可以提前完成,但我們不能將它們作為最終的結(jié)果。我們不能提交這些指令的執(zhí)行結(jié)果,因為它們的執(zhí)行順序不正確。而在用戶看來,這些指令都是按照發(fā)行的順序執(zhí)行的。
就像棧一樣,CPU 將從頂部彈出完成的指令,直到遇到一條未完成的指令。
雖然上述說明不夠充分,但希望能讓你有大致的了解。基本上,你可以選擇讓程序員實現(xiàn)并行,或者讓 CPU 假裝一切都是單線程執(zhí)行,但幕后采用亂序執(zhí)行。
M1 芯片上的 Firestorm 核心正是借助了出色的亂序執(zhí)行功能才變得如此強大。事實上,它比英特爾或 AMD 的任何產(chǎn)品都要強大,甚至可能超過了主流市場上的任何其他產(chǎn)品。
為什么 AMD 和英特爾的亂序執(zhí)行不如 M1?
前面在解釋亂序執(zhí)行的時候,我略過了一些重要的細節(jié),這里需要再說明一下,否則就很難理解為什么蘋果能領(lǐng)先,而且英特爾和 AMD 很難超越。
前面說的“?!钡恼嬲Q叫做“重排序緩沖”(Re-Order Buffer,ROB),它并不包括普通的機器代碼指令。其中的內(nèi)容并不是 CPU 從內(nèi)存中獲取并執(zhí)行的指令,后者屬于 CPU 指令架構(gòu)(ISA),是那些我們稱為 x86、ARM、PowerPC 等的指令。
但是在內(nèi)部,CPU 執(zhí)行的是一系列完全不同的指令集,這些指令對于程序員是不可見的。我們稱之為微指令(簡稱 μops)。ROB 中包含的都是微指令。
由于 CPU 盡一切努力并行執(zhí)行指令,所以 ROB 的這種做法更實際一些。原因是,微指令非常寬(包含更多比特),可能包含各種元信息。而 ARM 或 x86指令集中無法添加這么多信息,因為:
這樣做會導(dǎo)致程序的可執(zhí)行文件體積膨脹;
會暴露 CPU 的內(nèi)部工作原理,是否有亂序執(zhí)行單元,是否有寄存器重命名等各種細節(jié)
許多元信息僅在當前執(zhí)行上下文中有意義。
你可以將這個過程理解成寫程序。你有一個公開的 API,需要保持穩(wěn)定,供所有人使用。這就是 ARM、x86、PowerPC、MIPS等指令集。而微指令是那些用來實現(xiàn)公開 API 的私有 API。
而且,微指令通常更容易被 CPU 處理。為什么?因為每條指令只做一件非常容易的任務(wù)。正常的 ISA 指令可以非常復(fù)雜,可能會引發(fā)一系列操作,因此需要翻譯成多條微指令。
CISCCPU 通常別無選擇,只能使用微指令,否則復(fù)雜的 CISC 指令會讓流水線和亂序執(zhí)行幾乎無法實現(xiàn)。
而 RISC CPU 還有別的選擇。例如,小型的 ARM CPU 完全不使用微指令。但這也意味著它們沒辦法實現(xiàn)亂序執(zhí)行之類的操作。
但你可能會問,你說這些有什么關(guān)系嗎?為什么需要知道這些細節(jié),才能理解為何蘋果超越了 AMD 和英特爾呢?
這是因為,芯片的運行速度取決于填充 ROB 的速度以及使用的微指令數(shù)量。填充得越快、越多,并行獲取指令的可能性就越大,因此能夠提高性能。
機器指令由指令解碼器拆分成微指令。如果有多個解碼器,就能并行地拆分更多指令,從而更快地填充 ROB。
這里就是蘋果和其他廠商出現(xiàn)重大差別的地方。最次的英特爾和和 AMD 的微處理器核心只有四個解碼器,意味著它們可以同時解碼四條指令。
但蘋果有 8 個解碼器。不僅如此,蘋果的 ROB 是英特爾和 AMD 的三倍大小,可以容納三倍的指令。沒有任何主流芯片制造商的 CPU 中有這么多解碼器。
為什么英特爾和 AMD 不能添加更多的指令解碼器?
下面,我們來看一看 RISC 的優(yōu)勢,以及 M1 Firestorm 核心采用的 ARM RISC 架構(gòu)有哪些出色表現(xiàn)。
你知道,在 x86 中,指令長度約為 1~15 字節(jié)。而在 RISC 上指令是固定長度。這有什么關(guān)系?
如果每條指令的長度都一樣,那么將一個字節(jié)流分割,并行發(fā)送給 8 個不同的解碼器就非常容易。
但是在 x86 CPU 上,解碼器并不知道下一條指令從什么地方開始。它必須按順序分析每一條指令才能得知具體的長度。
英特爾和 AMD 采取暴力的方式來解決這個問題,即在每個可能的開始位置嘗試解碼。也就是說,許多錯誤的猜測就只能拋棄。這就導(dǎo)致解碼器變得非常復(fù)雜,因此很難添加更多的解碼器。但這對于蘋果不是問題,他們可以很容易地添加更多解碼器。
實際上,添加更多解碼器會帶來更多問題,因此對于 AMD 而言,4 個解碼器就是上限了。
所以,M1 Firestorm 核心能在同一時鐘頻率下產(chǎn)生比 AMD 和英特爾 CPU 多一倍的指令。
有人會說,可以將 CISC 拆分成多條微指令,增加指令的密度,這樣解碼一條x86 指令就可以達到解碼兩條 ARM 指令的效果。
但實際情況并非如此。高度優(yōu)化的x86代碼很少使用復(fù)雜的 CISC 指令,甚至看上去更像 RISC。
但這對英特爾和 AMD 并沒有什么用,因為即使 15 字節(jié)的指令非常罕見,解碼器也必須處理它們。這種復(fù)雜性成為了 AMD 和英特爾添加更多解碼器的阻礙。
但 AMD 的 Zen3 核心更快吧?
據(jù)我所知,從性能的角度來看,最新的 AMD CPU 核心 Zen3 比 Firestorm 核心稍稍快一些。但這只是因為 Zen3 核心的時鐘是 5GHz,而 Firestorm 核心的時鐘是 3.2GHz。盡管 Zen3 的時鐘頻率超出了 60%,但性能只不過比Firestorm 快了一點點。
那么為什么蘋果不提高時鐘頻率呢?因為更高的時鐘頻率會增加芯片發(fā)熱。這是蘋果的主要賣點。與英特爾和 AMD 不同,他們的電腦很少需要散熱。
所以本質(zhì)上可以說,F(xiàn)irestorm 核心確實優(yōu)于 Zen3 核心。 Zen3 雖然性能優(yōu)秀,但代價是高能耗與較大的發(fā)熱量。而蘋果并不選擇這條路。
如果蘋果需要更高的性能,那么他們會添加更多的核心。這樣就能在保持低功率的條件下提高性能。
未來的發(fā)展
似乎AMD和英特爾已經(jīng)陷入了困境:
他們的商業(yè)模式很難設(shè)計異構(gòu)計算和單片系統(tǒng);
由于舊的x86 CISC指令集的負擔(dān),很難提高亂序執(zhí)行性能。
但這并不意味著窮途末路。他們?nèi)匀豢梢酝ㄟ^提高時鐘頻率、使用更好的散熱、添加更多核心、提高CPU緩存等方式。但每一項都有缺點。英特爾的處境最糟糕,因為他們的核心數(shù)已經(jīng)不及 Firestorm,而且他們的單片系統(tǒng)解決方案中的 GPU 也更弱。
添加更多核心的問題在于,對于一般的桌面負載而言,過多核心帶來的收益很低。當然對于服務(wù)器而言,核心數(shù)多多益善。
但是,亞馬遜、Ampere 等公司都在研究 128 核心的 CPU。這就意味著英特爾和 AMD 即將面臨雙重夾擊。
但對于 AMD 和英特爾來說,幸運的是,蘋果并沒有在市場上銷售芯片。所以PC 用戶別無選擇。PC 用戶可能會轉(zhuǎn)而使用蘋果,但畢竟這是一個緩慢的過程。切換日常使用的平臺并不是一蹴而就的事情。
但對于口袋里有錢、沒有太多平臺依賴的年輕人來說,以后會越來越多地選擇蘋果,從而提高蘋果在高端市場的占有率,最終會提高蘋果在整個PC市場的占有率。
責(zé)任編輯:xj
-
芯片
+關(guān)注
關(guān)注
453文章
50252瀏覽量
421121 -
蘋果
+關(guān)注
關(guān)注
61文章
24341瀏覽量
195716 -
微處理器
+關(guān)注
關(guān)注
11文章
2246瀏覽量
82274
發(fā)布評論請先 登錄
相關(guān)推薦
評論