首頁/ 體育/ 正文

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

全網最全M1 Max解析,詳細深動地闡述了關於M1 Max的各類問題,為M1 Max立個靶子——i9-11980HK+RTX3080+32G 雙通道ddr4 3200Mhz(微星GE76,售價20000+元)。M1 Max的CPU效能水平比i9-11980HK高10%,GPU水平與Max-Q殘血版RTX3080相當,而64G統一記憶體則不留顏面地把32G DDR4 3200Mhz記憶體比了下去。以下把微星GE76這套配置簡稱“靶子”。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

M1 Max的電晶體數量是570億(CPU部分104億電晶體,GPU、IO和其他部分共466億電晶體)。相比之下,靶子CPU部分和GPU部分的芯片面積之和是230億(CPU部分100億,GPU部分130億),M1 max的電晶體數量是靶子的兩倍多,同時芯片面積也達到了驚人的400mm^2。我們都知道晶片的成本是隨著芯片面積的二次方上漲的,同時伴隨著面積增加,良品率也會下降,這也就是為什麼這次M1 Max晶片有這麼多版本。甚至有理由認為M1 Pro就是M1 Max的物理砍半版,為的就是提高良品率。

蘋果M1 Max採用臺積電5nm製程自然比靶子的CPU 10nm和GPU 8nm製程好上不少,電晶體數量可以因為密度提升做得更多,功耗也會下降。影響效能的還有頻率,同時頻率也會影響功耗表現。所以蘋果把提升效能的重擔交給大量的電晶體數目,把降低功耗的重擔交給了較低的核心頻率。頻率要提升,晶片電壓就得提升,然而電路的動態功耗和頻率與電壓的平方的乘積成正比,功耗將會三次方上升。因此M1 Max選擇了3GHz的頻率,效能夠強,頻率適中,功耗夠低。

那靶子為什麼功耗那麼高,整機達到了300W左右的功耗?其實這事基本就因為兩點,一是製程落後,電晶體每次翻轉帶來的功耗更高。二是頻率的設計更高,i9-11980HK設計目標的頻率表現就在4GHz往上,直接導致晶片設計者把流水線做深以達到更高的頻率表現,此時電壓相比M1 Max雖然不會太高,但頻率卻實打實上去了。暫且不說電晶體翻轉頻率更高,就時鐘樹來回充放電也十分耗電,功耗相比M1 Max高上不少。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

GPU方面,RTX3080 Max-Q採用的是8nm製程的三星工藝,基礎核心頻率780Mhz,相比M1 Max的1278MHz還低上不少。此時兩者效能基本一致,M1 Max的GPU功耗會低10W在70W左右,這就要歸功於強大的5nm製程的臺積電工藝了。但是這樣想想,RTX3080 Max-Q利用更多的(6144個)流處理器即更多的電晶體數量和更低的頻率即使使用三星8nm的工藝還能與採用臺積電5nm工藝的M1 Max戰平,可想而知堆料加低頻率在筆記本平臺的正確性了。

M1 Max的巧妙設計,M1 Max採用的是和M1上同款Firestrom大核和icestrom小核,區別在於M1 Max相比M1多了四顆大核心,少了兩顆小核心。負載低的情況下,小核心處理程式,負載高的時候,大核心加入處理。這樣的好處是負載低的時候,小核心利用高能效比的優勢達到更加省電、降低發熱的效果,負載高的時候,大核心極強的效能帶來更加極致流暢的體驗,十二代酷睿處理器也用上了大小核設計,我們可以期待一下它在筆記本上低負載的續航表現。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

統一記憶體,GPU不怕延遲,視訊記憶體頻寬儘可能大就行,CPU無所謂頻寬,但效能很大程度受到記憶體延遲的影響。蘋果M1 Max採用6400Mhz的lpddr5記憶體,相比普通ddr5記憶體延遲更高,頻寬更大,功耗更低。它倆的需求要同時滿足,M1 Max的效能才能發揮出來。

蘋果直接把記憶體拉到了M1 Max身邊,物理距離的下降直接導致lpddr5的延遲劣勢不明顯了。M1 Max單顆Firestrom核心擁有320KB L1指令快取、192KB L1資料快取,12MB的L2快取,以及共享的64M SLC快取。SLC是system level cache的簡稱類似AMD的infinity cache,是CPU、GPU以及一些專用電路所共享的。如此一來,M1 Max相當於沒有傳統的L3快取,或者說64M 的SLC快取就是L3快取。快取做得越大,資料越有可能從快取中直接讀出,減少訪問記憶體的次數,自然也沒記憶體延遲什麼事了。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

快取越大,電路在快取中查詢所需資料的時間就越久,延遲會變得難看。但是M1 Max的核心頻率低,直接導致更大一級的快取可以在和靶子幾乎相同的時鐘週期數內讀回需要的資料。所以這麼大的快取還就只能是在低頻率的蘋果晶片上才能發揮正面效果。CPU分成前端和後端兩個部分,前端需要儘可能為後端提供要處理的指令,後端則儘可能完成這些指令。但是需要的資料沒有從記憶體中取出來,後端也就無法完成指令,但是這不妨礙前端繼續讀取和解碼指令,沒做完的指令就可以在ROB中存放。ROB數多意味著當“卡殼”出現時,前端可以繼續滿血執行直到資料被成功從記憶體讀回。資料讀回之後,後端就開始拼命執行之前等待資料的指令,直到基本清空ROB。蘋果說Firestrom是8發射,但其實不止8發射,最大寬度應該是11發射。8發射是個平均值,更寬的後端為的就是更快地清空ROB,以接受下一輪“卡殼”。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

話說回來,統一記憶體也沒什麼,無非是CPU和GPU以及其他專用電路的記憶體可以共用。AMD和Intel帶核顯的晶片一直是這麼做的,區別在於——M1 Max的核顯實在是太強了。並且400GB/s的記憶體頻寬非常給力,完全不輸當前的獨立顯示卡的視訊記憶體。視訊記憶體的頻寬會極大影響GPU效能,尤其是面對像M1 Max這樣的超強的GPU核心。

蘋果是怎麼做到400GB/s的記憶體頻寬的呢?首先,lpddr5本身是128bit的位寬,相比ddr4型別的64bit位寬已然翻倍。M1 Max又採用了四通道的四顆記憶體晶片,基本是之前Intel和AMD同類型裝置記憶體頻寬的8倍左右。因此就造成了靶子的最大記憶體頻寬是50GB/s,而M1 Max是400GB/s。但是就這還不夠,難道記憶體堆料就完事嗎?遠不夠,M1 Max裡還有目測將近(1/8芯片面積)70億電晶體用在了IO上,為的就是接受這麼大的記憶體頻寬。70億電晶體什麼概念?又是一個Intel的i9了。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

這樣一來,蘋果M1 Max的視訊記憶體比目前視訊記憶體最大的獨顯(應該是48G)還要大不少。記憶體和視訊記憶體像這樣動態地融合了,要記憶體有記憶體要視訊記憶體有視訊記憶體。更重要的是顯示卡要的資料直接從記憶體讀取就行了,不用像傳統獨立顯示卡那樣再從記憶體複製到視訊記憶體中。這是一種非常高效的動態複用做法,靈活、省成本、省功耗。釋出會上蘋果各種強調新款M1 Max可以7條8K影片、32條4K影片流暢播放(具體不記得了),相比前一代渲染快了幾倍幾倍,影片匯出多快多快……其實主要就是影片專用電路的功勞。

Media Engine 媒體處理引擎,怎麼理解專用電路這個事情呢?打個比方,把CPU想象成3D印表機,把專用電路想象成塑膠注模。CPU能做專用電路的事情,即3D印表機啥都能列印但是速度奇慢,而注模效率相比之下就高非常多。所以現在M1 Max為了追求效率開始使用各種媒體處理電路、神經網路加速電路和T2加密電路等等。專事專辦,效率奇高。結果也就是看影片的時候M1 Max功耗在0。05W基本不耗電,而靶子(用核顯)在3W,加上顯示屏功率3W, 60Wh的電池最多堅持10小時。也就是沒有插電的M1 Max的MacBook Pro幾分鐘內就匯出完影片還沒來得及掉電,靶子已經苦苦匯出半小時了,風扇狂轉在找充電器。

M1 Max全面解析,看看蘋果是怎麼把RTX3090發的滿地找牙的

總是有聽說什麼ARM架構是精簡指令集,X86是複雜指令集,所以ARM功耗比X86低,但X86能幹的事比ARM多,ARM是玩具X86才是生產力……之類的言論。那,指令集會影響效能嗎?會,指令集的先進與否能很大程度影響處理器效能。X86架構屬於老牌架構,雖然一直在跟隨硬體效能修改指令集內容,但是為了相容性不得不一直相容著早期的指令集,這也就是“X86稅的由來”。X86把很多雷踩過了,ARM就少犯錯。在當今硬體效能上看,採用精簡指令和定長指令更有利於效能的發揮,而X86時代則不是這麼回事。這屬於“時代變了”。指令集的好壞還有很多因素,從一定程度上影響功耗和效能,X86指令集確實不佔優。

但說ARM是玩具就很反智,ARM並不會比X86能幹的更少,只是目前Mac OS軟體生態不全,造成了這樣的錯覺,這篇文章不是相信所以看見,而是看見所以相信,因此不排除有想當然的成分。晶片肯定沒有我看到的那樣簡單,400mm^2下肯定還藏著數不盡的秘密。有誤的內容希望大家糾正,簡略的部分歡迎大家補充完善,我會持續更新的。

相關文章

頂部