本文來自“2023新型算力中心調研報告(2023)”。更多內(nèi)容參考“《海光CPU+DCU技術研究報告合集(上)》?”,“《海光CPU+DCU技術研究報告合集(下)》?”和“龍芯CPU技術研究報告合集”。
積極引入新制程生產(chǎn) CCD 的 AMD 對 SRAM 成本的感受顯然比較深刻,在基 于臺積電 5nm 制程的 Zen 4 架構 CCD 中,L2、L3 Cache 占用的面積已經(jīng)達到整體的約一半比例。
△ Zen4 CCD 的布局,請感受一下 L3 Cache 的面積
向上堆疊,翻越內(nèi)存墻
AMD 當前架構面臨內(nèi)存性能落后的問題,其原因包括核心數(shù)量較多導致的平均每核心的內(nèi)存帶寬偏小、核心與內(nèi)存的“距離”較遠導致延遲偏大、跨 CCD 的帶寬過小等。這就促使 AMD 需要用較大規(guī)模的 L3 Cache 來彌補訪問內(nèi)存的劣勢。而從 Zen 2 到 Zen 4 架構,AMD 每個 CCD 的 L3 Cache 都為 32MB,并沒有“與時俱進”。為了解決 SRAM 規(guī)模拖后腿的問題,AMD 決定將 SRAM 擴容的機會獨立于 CPU 之外。
AMD 在代號 Milan-X 的 EPYC 7003X 系列處理器上應用了第一代 3D V-Cache 技術。這些處理器采用 Zen 3 架構核心,每片 Cache(L3 Cache Die,簡稱 L3D)為 64MB 容量,面積約 41mm2,采用 7nm 工藝制造——回顧 ISSCC2020 的論文,7nm 恰恰是 SRAM 的微縮之路遇挫的拐點。
緩存芯片通過混合鍵合、TSV(Through Silicon Vias,硅通孔)工藝與 CCD(背面)垂直連接,該單元包含 4 個組成部分:最下層的 CCD、上層中間部分 L3D,以及上層兩側的支撐結構——采用硅材質,將整組結構在垂直方向找平,并將下方 CCX(Core Complex,核心復合體)部分的熱量傳導到頂蓋。
AMD 在 Zen3 架構核心設計之初就備了這一手,預留了必要的邏輯電路以及 TSV 電路,相關部分大約使 CCD 增加了 4% 的面積。L3D 堆疊的位置正好位于 CCD 的 L2/L3 Cache區(qū)域上方,這一方面匹配了雙向環(huán)形總線的 CCD 內(nèi)的 Cache 居中、CPU 核心分居兩側的布局,另一方面是考慮到(L3)Cache的功率密度相對低于CPU核心,有利于控制整個 Cache 區(qū)域的發(fā)熱量。
△ 3D V-Cache 結構示意圖
Zen3 的 L3 Cache 為 8 個切片(Slice),每片4MB;L3D 也設計為 8 個切片,每片 8MB。兩組 Cache 的每個切片之間是 1024 個 TSV 連接,總共 8192 個連接。AMD 宣稱這外加的L3 Cache 只增加 4 個周期的時延。
隨著 Zen4 架構處理器進入市場,第二代 3D V-Cache 也粉墨登場,其帶寬從上一代的 2TB/s 提升到 2.5TB/s,容量依舊為 64MB,制程依舊為 7nm,但面積縮減為 36mm2。縮減的面積主要是來自 TSV 部分,AMD 宣稱基于上一代積累的經(jīng)驗和改進,在 TSV 最小間距沒有縮小的情況下,相關區(qū)域的面積縮小了 50%。代號 Genoa-X 的 EPYC 系列產(chǎn)品預計在 2023 年中發(fā)布。
SRAM 容量增加可以大幅提高 Cache 命中率,減少內(nèi)存延遲對性能的拖累。AMD 3D V-Cache 以比較合理的成本,實現(xiàn)了 Cache 容量的巨大提升(在CCD 內(nèi) L3 Cache 基礎上增加 2 倍),對性能的改進也確實是相當明顯。代價方面,3D V-Cache 限制了處理器整體功耗和核心頻率的提升,在豐富了產(chǎn)品矩陣的同時,用戶需要根據(jù)自己的實際應用特點進行抉擇。
那么,堆疊 SRAM 會是 Chiplet 大潮中的主流嗎?
△ 應用 3D V-Cache 的 AMD EPYC 7003X 處理器
說到這里,其實是為了提出一個外部 SRAM 必須考慮的問題:更好的外形兼容性。堆疊于處理器頂部是兼容性最差的形態(tài),堆疊于側面的性能會有所限制,堆疊于底部則需要 3D 封裝的進一步普及。對于第三種情況,使用硅基礎層的門檻還是比較高的,可以看作是 Chiplet 的一個重大階段。以目前 AMD 通過 IC 載板布線水平封裝 CCD 和 IOD 的模式,將 SRAM 置于 CCD 底部是不可行的。至于未來 Zen 5、Zen 6 的組織架構何時出現(xiàn)重大變更還暫時未知。
對于數(shù)據(jù)中心,核數(shù)是硬指標。表面上,目前 3D V-Cache 很適合與規(guī)模較小的 CCD 匹配,畢竟一片 L3D 只有幾十平方毫米(mm2)的大小。但其他高性能處理器的核心尺寸比 CCD 大得多,在垂直方向堆疊 SRAM 似乎不太匹配。但實際上,這個是處理器內(nèi)部總線的特征決定的問題:垂直堆疊 SRAM,不論其角色是 L2 還是 L3 Cache,都更適合 Cache 集中布置的環(huán)形總線架構。
x86 服務器 CPU 對 eDRAM 則沒有什么興趣。 在處理器內(nèi)部,其面積占用依舊不可忽視,且其本質是 DRAM,目前仍未看到 DRAM 能夠推進到 10nm 以下制程。IBM 的 Power10 基于三星的 7nm 制程,便不再提及 eDRAM 的問題。
在處理器外部,eDRAM 并非業(yè)界廣泛認可的標準化產(chǎn)品,市場規(guī)模小,成本偏高,性能和容量也相對有限。
后起之秀HBM(High Bandwidth Memory,高帶寬內(nèi)存)則很好地解決了上述問題:
首先,不去 CPU 所在的 die 里搶地盤;
其次,縱向堆疊封裝,可通過提升存儲密度實現(xiàn)擴容;
最后,在前兩條的基礎上,較好的實現(xiàn)了標準化。 HBM 的好處都是通過與 CPU 核心解耦實現(xiàn)的,代價是生態(tài)位更靠近內(nèi)存而不是 Cache,以時延換容量,很科學。 向下發(fā)展:基礎層加持 英特爾數(shù)據(jù)中心 Max GPU 系列引入了 Base Tile的概念,姑且稱之為基礎芯片。相對于中介層的概念,我們也可以把基礎芯片看作是基礎層。基礎層表面上看與硅中介層功能類似,都是承載計算核心、高速 I/O(如 HBM),但實際上功能要多得多。硅中介層的本質是利用成熟的半導體光刻、沉積等工藝(65nm 等級),在硅上形成超高密度的電氣連接。而基礎層更進一步:既然都要加工多層圖案,為什么不把邏輯電路之類的也做進去呢?
△ 英特爾數(shù)據(jù)中心 Max GPU
Intel 在 ISSCC2022 中展示了英特爾數(shù)據(jù)中心 Max GPU 的Chiplet(小芯片)架構,其中,基礎芯片面積為 640mm2,采用了 Intel 7 制程——這是目前Intel用于主流處理器的先進制程。為何在“基礎”芯片上就需要使用先進制程呢?因為 Intel 將高速 I/O 的 SerDes 都集成在基礎芯片中了,其作用有點兒類似 AMD 的 IOD。這些高速 IO 包括 HBM PHY、Xe?Link PHY、PCIe 5.0,以及,這一節(jié)的重點:Cache。這些電路都比較適合 5nm 以上的工藝制造,將它們與計算核心解耦后重新打包在一個制程之內(nèi)是相當合理的選擇。
△ 英特爾數(shù)據(jù)中心Max GPU的基礎芯片。注意,此圖中的兩組?Xe?Link PHY應為筆誤。芯片下方應為兩個 HBM PHY 和一個Xe?Link PHY 英特爾數(shù)據(jù)中心 Max GPU 系列通過 Foveros 封裝技術在基礎芯片上方疊加 8 顆計算芯片(Compute Tile)、4 顆 RAMBO 芯片(RAMBO Tile)。計算芯片采用臺積電 N5 工藝制造,每顆芯片都自有 4MB L1 Cache。RAMBO是“Random Access Memory, Bandwidth Optimized”的縮寫,即為帶寬優(yōu)化的隨機訪問存儲器。獨立的 RAMBO 芯片基于 Intel 7 制程,每顆有 4 個 3.75MB 的 Bank,共 15MB。每組 4 顆 RAMBO 共提供了 60MB 的 L3 Cache。此外,在基礎芯片中也有 RAMBO,容量有 144MB,外加 L3 Cache 的交換網(wǎng)絡(Switch Fabric)。
△ 英特爾數(shù)據(jù)中心 Max GPU 的 Chiplet 架構 因此,在英特爾數(shù)據(jù)中心 Max GPU 中,基礎芯片通過了 Cache 交換網(wǎng)絡,將基礎層內(nèi)的 144MB Cache,與 8 顆計算芯片、4 顆 RAMBO 芯片的 60MB Cache 組織在一起,總共 204MB L2/L3 Cache,整個封裝是兩組,就是 408MB L2/L3 Cache。
英特爾數(shù)據(jù)中心 Max GPU 的每組處理單元都通過?Xe? Link Tile 與另外 7 組進行連接。Xe?Link 芯片采用臺積電 N7 工藝制造。
△?Xe?? HPC 的邏輯架構
△?Xe?Link 的網(wǎng)狀連接
前面已經(jīng)提到,I/O 芯片獨立是大勢所趨,共享 Cache 與 I/O 拉近也是趨勢。英特爾數(shù)據(jù)中心 Max GPU 將 Cache 與各種高速 I/O 的 PHY 集成在同一芯片內(nèi),正是前述趨勢的集大成者。至于 HBM、Xe?
Link?芯片,以及同一封裝內(nèi)相鄰的基礎芯片,則通過 EMIB(爆炸圖中的橙色部分)連接在一起。
△ 英特爾數(shù)據(jù)中心Max GPU爆炸圖
?
根據(jù)英特爾在 HotChips 上公布的數(shù)據(jù),英特爾數(shù)據(jù)中心 Max GPU 的 L2 Cache 總帶寬可以達到 13TB/s??紤]到封裝了兩組基礎芯片和計算芯片,我們給帶寬打個對折,基礎芯片和 4 顆 RAMBO 芯片的帶寬是 6.5TB/s,依舊遠遠超過了目前至強和 EPYC 的 L2、L3 Cache 的帶寬。其實之前 AMD 已經(jīng)通過了指甲蓋大小的 3D V-Cache 證明了 3D 封裝的性能,那就更不用說英特爾數(shù)據(jù)中心 Max GPU 的 RAMBO 及基礎芯片的面積了。
△ 英特爾數(shù)據(jù)中心Max GPU的存儲帶寬
回顧一下 3D V-Cache 的弱點——“散熱”不良,我們還發(fā)現(xiàn)將 Cache 集成到基礎芯片當中還有一個優(yōu)點:將高功耗的計算核心安排在整個封裝的上層,更有利于散熱。再往遠一些看,在網(wǎng)格化的處理器架構中,L3 Cache 并非簡單的若干個塊(切片),而是分成數(shù)十甚至上百單元,分別掛在網(wǎng)格節(jié)點上的?;A芯片在垂直方向可以完全覆蓋(或容納)處理器芯片,其中的 SRAM 可以分成等量的單元與處理器的網(wǎng)格節(jié)點相連。
換句話說,對于網(wǎng)格化的處理器,將 L3 Cache 移出到基礎芯片是有合理性的。目前已經(jīng)成熟的 3D 封裝技術的凸點間距在 30~50 微米的量級,足夠勝任每平方毫米內(nèi)數(shù)百至數(shù)千個連接的需要,可以滿足當前網(wǎng)格節(jié)點帶寬的需求。更高密度的連接當然也是可行的,10 微米甚至亞微米的技術正在推進當中,但優(yōu)先的場景是 HBM、3D NAND 這種高度定制化的內(nèi)部堆棧的混合鍵合,未必適合 Chiplet 對靈活性的要求。
編輯:黃飛
?
評論