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