2017年,就在AMD推出代號為Naples的第一代Epyc處理器之後不久,英特爾就曾打趣稱其競爭對手已然「窮途末路」,需要把一大堆台式機晶片「粘合」起來才能在市場上掙扎求存。
遺憾的是,如今這隻回放鏢又狠狠砸在了英特爾自己的臉上。因為短短幾年之後,這家x86就開始尋求自己的一套晶片整合方案。
從今年開始,英特爾的至強6處理器開始分階段推出,這意味著英特爾第三代多晶片至強和首款採用與AMD獨特異構晶片架構的數據中心處理器也走上了自己當初曾經嘲笑過的技術路線。
雖然英特爾最終也不得不在AMD的晶片戰略前低下高傲的頭,但採取的方法卻與這位老對手截然不同。
克服掩模版極限
在深入討論這個話題之前,我們先來聊聊為什麼新一代CPU設計紛紛放棄傳統單片架構。這主要歸結於兩大因素:掩模版極限與產能容量。
總的來講,在製程工藝技術缺乏重大改進的情況下,更多核心必須對應著更多晶片。然而,晶片的物理尺寸面對客觀極限——我們將其稱為掩模版極限,大致為800平方毫米。一旦達到這一極限,那麼繼續擴展計算能力的唯一方法就是引入更多晶片。
我們現在已經看到大量產品(不僅僅是CPU)在採用這種方法,它們將兩塊大型晶片塞進同一封裝之內。Gaudi 3、英偉達的Blackwell乃至英特爾的Emerald Rapids至強都是這種技術路線的典型代表。
多晶片設計的問題在於,各晶片之間的橋接機制往往會造成傳輸帶寬瓶頸,並很可能引入額外的延遲。雖然情況還不至於像把工作負載分散到多個插槽那麼嚴重,但實際影響也已相當顯著,因此一部分晶片設計師更傾向於使用較少數量的大型晶片來實現計算能力擴展。
然而,這種較大晶片的製造同樣非常昂貴,這是因為晶片尺寸越大、其缺陷率就越高。於是乎,使用數量更多但尺寸較小的晶片也成了有吸引力的方向,這也解釋了AMD為什麼會在設計當中使用這麼多的芯粒——在最新的Epyc型號中,晶片數量已經高達17個。
聊完了以上背景知識,接下來我們就將深入探討英特爾和AMD分別在其最新至強和Epyc處理器中採取的不同設計理念。
AMD的老套路
我們先從AMD的第五代Epyc Turin處理器說起。具體來看,我們關注的是該晶片的128核Zen 5版本,其擁有16個4納米核心複合晶片(CCD),同時輔以基於台積電6納米製程工藝製造的單塊I/O晶片(IOD)。
AMD最新一代Epyc配備多達16個計算晶片
可能很多朋友覺得這個數字聽起來耳熟,這是因為AMD在其第二代Epyc處理器上使用了基本相同的設計方案。作為比照,第一代Epyc就沒有單獨的I/O晶片。
正如前文已經提到,使用大量較小的計算晶片,意味著AMD能夠獲得更高的產量,同時也能保證在Ryzen和Epyc處理器之間實現晶片共享。
這些芯粒看著是不是似曾相識,
那是因為AMD的Epyc和Ryzen處理器實際上使用著相同的計算晶片。
此外,在採用8核或16核CCD且各自對應32 MB L3緩存的情況下,AMD還能夠以更大的靈活性按緩存及內存等比例擴展核心數量。
舉例來說,如果我們需要一塊擁有16個核心的Epyc(受到軟體許可條款的限制,這也是高性能計算工作負載領域最常見的SKU配置),那麼達成目標的最佳方式自然就是使用兩個八核心CCD,且二者共享64 MB的L3緩存。當然,我們也可以使用16個CCD,每CCD對應一個活動核心,同時內置512 MB緩存。雖然聽起來很瘋狂,但這兩種設計方案其實都存在。
AMD的第五代Epyc處理器遵循傳統模式,將16個計算核心圍繞單一中央I/O晶片布置而成。
另一方面,I/O晶片則負責除計算之外的幾乎所有管理任務,包括內存、安全性、PCIe、CXL以及其他I/O(例如SATA),同時承載晶片CCD與其他插槽之間的骨幹通信。
AMD Epyc Turin I/O晶片細節示意圖。
將內存控制器放置在I/O晶片之上既有優點、也有短板。從好的方面來看,這意味著內存帶寬大大多數情況下能夠獨立於核心數量進行擴展。但缺點是某些工作負載的內存和緩存訪問延遲可能會更高。這裡之所以強調「可能更高」,是因為具體情況往往要視具體工作負載而定。
至強的芯粒探索之旅
話題來到英特爾這邊,這家晶片製造商對於多晶片處理器的設計處理跟AMD有著很大不同。雖然現代至強處理器也採用計算與I/O晶片彼此獨立的異構架構,但只在特定型號上才會出現。
英特爾的第一款多晶片至強處理器代號為Sapphire Rapids,採用一塊單體中等核心數量的晶片或者四塊極端追求高核心數量的晶片,每塊晶片都擁有自己的內存控制器與內置I/O功能。Emerald Rapids雖然也採用了類似的設計模式,但在核心數量更高的SKU上使用了兩塊尺寸更大的晶片。
如圖所示,在Sapphire和Emerald Rapids之間,英特爾將四塊中等尺寸的晶片換成了兩對幾乎以網狀排布的更大晶片。
而所有這一切都隨著至強6的變相而有所轉變,這一次英特爾將I/O、UPI鏈接乃至加速器轉移到了兩塊基於Intel 7製程工藝製造的晶片之上,而中央位置部署的則是採用Intel 3製程工藝的一到三塊計算晶片。
出於我們稍後會具體討論的原因,這裡先關注被英特爾寄予厚望的Granite Rapids至強6處理器,姑且將多核心Sierra Forest放到一邊。
觀察英特爾的計算晶片,我們就會發現它與AMD的一大主要區別,就在於每個計算模塊至少有43個內置核心,且可以根據SKU進行開啟和關閉。也就是說在同樣實現128個核心的情況下,英特爾需要的晶片數量要比AMD少得多;但由於前者單塊晶片的尺寸更大,因此製造良品率肯定也會相應降低。
根據不同SKU配置,Granite Rapids會在兩塊I/O晶片之間放置一到三塊計算晶片。
除了更多的核心之外,英特爾還選擇將這些晶片的內存控制器放置在計算晶片本體之上,每晶片支持四條通道。這種設計理論上應該能夠降低訪問延遲,但同時也意味著如果希望獲得全部12條內存通道,則必須選擇擁有三塊計算晶片的版本。
至於之前報道過的6900P系列系統,大家倒不用擔心這個問題,因為其所有SKU都配置三塊板載計算晶片。但由此也可以看出,其72核版本只使用到了封裝中的一小部分晶片。同樣的,我們之前討論過的面向高性能計算中心的16核Epyc也是如此。
另一方面,英特爾的6700P系列系統將於明年年初推出,計劃配備一到兩塊計算晶片,具體取決於客戶需要的內存帶寬和核心數量。也就是說內存將被限制為最高8條通道,而配備單塊板載計算晶片時只能只有4條通道。我們目前還不太清楚HCC和LCC晶片上的內存配置,不排除英特爾可能增強了這些部件之上的內存控制器。
與AMD的Epyc一樣,英特爾的至強處理器現在採用同時帶有計算和I/O晶片的異構設計架構
英特爾的I/O晶片設計則相當輕薄,主要承載PCIe、CXL和UPI鏈路組合,用於同存儲、外設及其他插槽進行通信。除此之外,我們還發現了大量用於直接流(DSA)、內存分析(IAA)、加密/解密(QAT)以及負載均衡的加速器。
據了解,英特爾之所以選擇在I/O晶片之上放置加速器,部分原因是想將其放置在更靠近數據的位置,保證數據能夠高效流入/流出晶片。
接下來的發展將向何處去?
從表面上看,英特爾的下一代多核處理器代號為Clearwater Forest,將於明年上半年推出。其外形與Granite Rapids類似,擁有兩塊I/O晶片和三個計算模塊。
整款產品看起來就如同縮小版的Granite Rapids,但這反映的顯然只是晶片結構,底層還隱藏著更多芯粒。
然而,眼見有時也未必為實。據我們了解,這三塊計算晶片實際上只是晶片結構,其下還隱藏著更多較小的計算晶片,這些芯粒被布置在有源晶片中介層之上。
從英特爾今年早些時候放出的展示效果圖來看,Clearwater Forest的每封裝最多可以容納12個計算晶片。使用晶片中介層也已經不新鮮,這能帶來諸多好處,包括相較常規基板提供更高的晶片間帶寬和更低延遲等。有些朋友可能已經看出,這種設計與英特爾此前核心數量最高的Sierra Forest 144核計算晶片可謂是大相徑庭。
從英特爾今年晚些時候發布的渲染圖來看,Clearwater Forest中的隱藏芯粒可能要比Granite Rapids多得多。
當然,我們從渲染圖中只能看到Clearwater Forest相關技術的一絲端倪,並不代表其明年真的就會與廣大用戶見面。
而且更大的問題可能在於,AMD下一步究竟會把其芯粒架構帶向何方。觀察AMD的128核Turin處理器,就會發現封裝之內已經沒有太多空間可以容納更多晶片;只有Zen處理器家族還有一定騰挪的餘地。
首先,AMD可以選擇更大的封裝,為額外的芯粒騰出空間。或者,這家晶片製造商也可以將更多核心封裝進大量芯粒之內。然而,我們猜測AMD的第六代Epyc,最終看起來可能會更類似於其Insinct MI300系列加速器。
MI300A將24個Zen 4核心、6個CDNA 3 GPU晶片以及128 GB HBM3內存集成到了同一面向高性能計算工作負載的封裝之內。
大家可能還記得,當初與MI300 X GPU一同推出的還有一款APU,它將晶片中的兩個CDNA3模塊換成了三個CCD,對應24個Zen 4計算核心。其這些計算模塊堆疊在四個I/O晶片之上,再連接到八個HBM3模塊組當中。
雖然目前還只是猜測,但AMD後續採用類似的設計也完全在情理之中,例如用額外的CCD替換掉全部內存和GPU晶片。這樣的設計肯定能夠帶來更高的傳輸帶寬和更低的晶片間通信延遲。
實際答案是否正確,只有留給時間去慢慢證明。我們預計AMD的第六代Epyc處理器將於2026年底正式投放市場。