為什么GPU是新的緩存之王?
不久之前,如果您想要一個(gè)內置大量緩存的處理器,那么 CPU 是顯而易見(jiàn)的選擇?,F在,即使是預算級 GPU 也比幾年前的高端 CPU 配備了更多的內存。
那么,什么改變了呢?為什么圖形芯片突然需要比通用中央處理器更多的緩存??jì)烧咧g的專(zhuān)用內存是否不同?我們將來(lái)會(huì )看到 GPU 擁有千兆字節的緩存嗎?
為了回答這些問(wèn)題,我們需要深入了解最新芯片的內部結構,觀(guān)察這些年來(lái)的變化。
TL;DR:為什么 GPU 獲得了如此多的緩存?
由于 GPU 現在不僅用于圖形,還用于各種應用程序,因此低級數據緩存的大小不斷增大。為了提高通用計算能力,圖形芯片需要更大的緩存。這確保沒(méi)有數學(xué)核心閑置等待數據。
末級緩存已大幅擴展,以抵消 DRAM 性能未能跟上處理器性能進(jìn)步的事實(shí)。大量的 L2 或 L3 高速緩存可減少高速緩存未命中。這還可以防止內核閑置,并最大限度地減少對非常寬的內存總線(xiàn)的需求。
此外,渲染技術(shù)(尤其是光線(xiàn)追蹤)的進(jìn)步對 GPU 的緩存層次結構提出了巨大的要求。大型末級緩存對于確保使用這些技術(shù)時(shí)的游戲性能保持可玩性至關(guān)重要。
緩存課程 101
要全面討論緩存這個(gè)話(huà)題,我們首先必須了解緩存是什么以及它的意義。所有處理器都需要內存來(lái)存儲它們處理的數字和計算結果。他們還需要有關(guān)任務(wù)的具體說(shuō)明,例如要執行哪些計算。這些指令以數字方式存儲和傳送。
這種存儲器通常稱(chēng)為 RAM(隨機存取存儲器)。每個(gè)帶有處理器的電子設備都配備有 RAM。幾十年來(lái),PC 一直采用DRAM(“D”代表動(dòng)態(tài))作為數據的臨時(shí)存儲,而磁盤(pán)驅動(dòng)器作為長(cháng)期存儲。
自發(fā)明以來(lái),DRAM 已經(jīng)取得了巨大的進(jìn)步,隨著(zhù)時(shí)間的推移,速度呈指數級增長(cháng)。數據存儲也是如此,曾經(jīng)占據主導地位但速度緩慢的硬盤(pán)正在被快速的固態(tài)存儲 (SSD)所取代。然而,盡管取得了這些進(jìn)步,與基本處理器執行單個(gè)計算的速度相比,這兩種類(lèi)型的內存仍然慢得要命。
即使是一組 DDR5-8200 也不夠快
雖然芯片可以在幾納秒內將兩個(gè)數字相加,但檢索這些值或存儲結果可能需要數百到數千納秒——即使使用最快的可用 RAM。如果沒(méi)有辦法解決這個(gè)問(wèn)題,那么 PC 也不會(huì )比 20 世紀 70 年代的 PC 好多少,盡管它們的時(shí)鐘速度要高得多。
值得慶幸的是,SRAM(靜態(tài) RAM)可以彌補這一差距。SRAM 由與執行計算的處理器中的晶體管相同的晶體管制成。這意味著(zhù) SRAM 可以直接集成到芯片中并以芯片的速度運行。它靠近邏輯單元,將數據檢索或存儲時(shí)間縮短至數十納秒。
這樣做的缺點(diǎn)是,即使單個(gè)存儲位所需的晶體管的布置以及其他必要的電路也會(huì )占用相當大的空間。使用當前的制造技術(shù),64 MB SRAM 的大小大致相當于 2 GB DRAM。
AMD Zen 4 小芯片的大部分是緩存(紅色 + 黃色框)。圖片來(lái)源:Fritzchen Fritz
這就是為什么現代處理器整合了各種 SRAM 塊——有些很小,僅包含幾個(gè)位,而另一些則包含幾個(gè) MB。這些較大的塊繞過(guò)了 DRAM 的緩慢問(wèn)題,顯著(zhù)提高了芯片性能。
這些內存類(lèi)型根據其用途有不同的名稱(chēng),但最流行的稱(chēng)為“緩存”。這就是討論變得有點(diǎn)復雜的地方。
為等級制度歡呼
處理器核心內的邏輯單元通常處理小數據。它們接收的指令和處理的數字很少大于 64 位。因此,存儲這些值的最小 SRAM 塊的大小相似,稱(chēng)為“寄存器”。
為了確保這些單元不會(huì )停止等待下一組命令或數據,芯片通常會(huì )預取這些信息并保留頻繁發(fā)出的信息。該數據存儲在兩個(gè)不同的 SRAM 組中,通常稱(chēng)為 1 級指令緩存和 1 級數據緩存。顧名思義,每個(gè)都有其保存的特定類(lèi)型的數據。盡管它們很重要,但它們的范圍并不廣泛。例如,AMD 最近的桌面處理器為每個(gè)處理器分配 32 kB。
雖然不是很大,但這些緩存足以容納大量命令和數據,確保內核不會(huì )閑置。然而,為了維持這種數據流,必須持續提供緩存。當核心需要 1 級緩存 (L1) 中不存在的特定值時(shí),L2 緩存就變得至關(guān)重要。
L2 緩存是一個(gè)更大的塊,存儲各種數據。請記住,單個(gè)內核具有多個(gè)邏輯單元線(xiàn)。如果沒(méi)有 L2,L1 緩存很快就會(huì )被淹沒(méi)?,F代處理器具有多個(gè)內核,因此需要引入另一個(gè)為所有內核提供服務(wù)的緩存層:三級 (L3) 緩存。它的范圍甚至更廣,跨越了幾個(gè) MB。從歷史上看,某些 CPU 甚至具有第四級。
圖片來(lái)源:Fritzchen Fritz
上圖是英特爾 Raptor Lake CPU 之一的單個(gè) P 核的圖像。淡藍色的各種網(wǎng)格點(diǎn)綴在結構周?chē)?,是寄存器和各種緩存的混合體。您可以在此網(wǎng)站上查看每個(gè)部分的更詳細細分。然而,本質(zhì)上,L1 緩存位于核心的中央,而 L2 則占據右側部分。
處理器中的最后一級緩存通常充當來(lái)自系統 DRAM 的任何數據在繼續傳輸之前的第一個(gè)調用端口,但情況并非總是如此。這是關(guān)于緩存的部分,往往會(huì )變得非常復雜,但這對于理解為什么 CPU 和 GPU 具有截然不同的緩存安排也至關(guān)重要。
SRAM 塊的整個(gè)系統的使用方式被稱(chēng)為芯片的緩存層次結構,它的變化很大,具體取決于架構的年齡和芯片的目標扇區等因素。但對于CPU來(lái)說(shuō),有一些方面總是相同的,其中之一就是層次結構的連貫性。
高速緩存中的數據可以從系統的 DRAM 復制。如果某個(gè)核心對其進(jìn)行修改,則必須同時(shí)更新 DRAM 版本。因此,CPU緩存結構具有確保數據準確性和及時(shí)更新的機制。這種復雜的設計增加了復雜性,在處理器領(lǐng)域,復雜性轉化為晶體管,進(jìn)而轉化為空間。
這就是為什么前幾級緩存不是很大的原因 — 不僅因為 SRAM 非常寬敞,還因為需要所有其他系統來(lái)保持其一致性。然而,并不是每個(gè)處理器都需要這個(gè),并且有一種非常特定的類(lèi)型通常完全避開(kāi)它。
GPU 的方式:核心優(yōu)先于緩存
今天的圖形芯片,從內部結構和功能來(lái)看,形成于2007年。當時(shí)Nvidia和ATI都發(fā)布了統一著(zhù)色器GPU,但對于后者來(lái)說(shuō),真正的變化發(fā)生在5年后。
2012 年,AMD(當時(shí)已收購ATI)推出了下一代圖形核心(GCN) 架構。這種設計至今仍在使用,盡管它已經(jīng)經(jīng)歷了重大修改并演變成RDNA和 CDNA 等形式。我們將參考 GCN 來(lái)闡明 CPU 和 GPU 之間的緩存差異,因為它提供了一個(gè)清晰的示例。
圖片來(lái)源:Fritzchen Fritz
跳到 2017 年,讓我們將 AMD 的Ryzen 7 1800X CPU(上圖)與 Radeon RX Vega 64 GPU進(jìn)行對比。前者有8個(gè)核心,每個(gè)核心包含8條管道。其中四個(gè)管道處理標準數學(xué)運算,兩個(gè)專(zhuān)門(mén)用于廣泛的浮點(diǎn)計算,最后兩個(gè)負責數據管理。其緩存層次結構如下:64 kB L1 指令、32 kB L1 數據、512 kB L2 和 16 MB L3。
Vega 64 GPU 具有 4 個(gè)處理塊。每個(gè)塊都包含 64 個(gè)管道,通常稱(chēng)為計算單元 (CU)。此外,每個(gè)CU可容納四組16個(gè)邏輯單元。每個(gè) CU 都擁有 16 kB 的 L1 數據緩存和 64 kB 的暫存存儲器,本質(zhì)上充當沒(méi)有一致性機制的緩存(AMD 將其標記為本地數據共享)。
此外,還有兩個(gè)高速緩存(16 kB L1 指令和 32 kB L1 數據)可滿(mǎn)足四個(gè) CU 組的需要。Vega GPU 還擁有 4 MB 二級緩存,位于兩個(gè)帶中,一個(gè)位于底部,另一個(gè)位于下圖頂部附近。
圖片來(lái)源:Fritzchen Fritz
該特定圖形處理器的芯片面積是 Ryzen 芯片尺寸的兩倍。然而,它的緩存占用的空間比CPU中的要小得多。與 CPU 相比,為什么該 GPU 保持最小的緩存,特別是在 L2 段方面?
鑒于其“核心”數量明顯高于 Ryzen 芯片,人們可能會(huì )預計,總共有 4096 個(gè)數學(xué)單元,因此需要大量緩存來(lái)維持穩定的數據供應。然而,CPU 和 GPU 工作負載有根本的不同。
雖然 Ryzen 芯片可以同時(shí)管理多達 16 個(gè)線(xiàn)程并處理 16 個(gè)不同的命令,但 Vega 處理器可能會(huì )處理更多數量的線(xiàn)程,但其 CU 通常執行相同的指令。
此外,每個(gè) CU 內的數學(xué)單元在一個(gè)周期內同步執行相同的計算。這種一致性將它們歸類(lèi)為 SIMT(單指令、多線(xiàn)程)設備。GPU 按順序運行,很少偏離其他處理路線(xiàn)。
相比之下,CPU 處理各種指令,同時(shí)確保數據一致性。相反,GPU 重復執行類(lèi)似的任務(wù),消除了數據一致性的需要并不斷重新啟動(dòng)其操作。
GCN計算單元的內部結構。很簡(jiǎn)單,是嗎?
由于渲染 3D 圖形的任務(wù)主要由重復的數學(xué)運算組成,因此 GPU 不需要像 CPU 那樣復雜。相反,GPU 被設計為大規模并行,可同時(shí)處理數千個(gè)數據點(diǎn)。這就是為什么與中央處理器相比,它們的緩存較小,但內核數量卻多得多。
然而,如果是這樣的話(huà),為什么 AMD 和 Nvidia 的最新顯卡擁有大量緩存,甚至是廉價(jià)型號?Radeon RX 7600只有 2 MB 的 L2,但也有 32 MB 的 L3;Nvidia 的GeForce RTX 4060沒(méi)有 L3,但它配備了 24 MB L2。
當談到他們的光環(huán)產(chǎn)品時(shí),數字是巨大的——GeForce RTX 4090擁有 72 MB 的 L2,而Radeon RX 6800 / 6900卡中的 AMD Navi 21 芯片(下圖)則擁有 128 MB 的 L3!
這里有很多東西需要解開(kāi)——例如,為什么 AMD 在這么長(cháng)時(shí)間內保持如此小的緩存,然后突然增加它們的大小并投入大量的 L3 以達到良好的效果?
為什么 Nvidia 將 L1 大小增加這么多,但將 L2 保持相對較小,只是為了復制 AMD 并讓 L2 緩存瘋狂?
GPU 中的 G不再只是圖形
這種轉變的原因有很多,但對于 Nvidia 來(lái)說(shuō),這種轉變是由 GPU 使用方式的變化推動(dòng)的。盡管它們被稱(chēng)為圖形處理單元,但這些芯片的用途不僅僅是在屏幕上顯示令人印象深刻的圖像。
雖然絕大多數 GPU 都擅長(cháng)此功能,但這些芯片已經(jīng)超越了渲染的范圍。他們現在處理多個(gè)學(xué)科的數據處理和科學(xué)算法中的數學(xué)負載,包括工程、物理、化學(xué)、生物學(xué)、醫學(xué)、經(jīng)濟學(xué)和地理學(xué)。原因?因為他們非常擅長(cháng)同時(shí)對數千個(gè)數據點(diǎn)進(jìn)行相同的計算。
盡管 CPU 也可以執行此功能,但對于某些任務(wù),單個(gè) GPU 的效率可以與多個(gè)中央處理器一樣高效。隨著(zhù) Nvidia 的 GPU 向通用化發(fā)展,芯片內邏輯單元的數量及其運行速度都呈指數級增長(cháng)。
Nvidia 第一個(gè)用于嚴肅通用計算的“顯卡”——2007 年的 Tesla C870
Nvidia 在 2007 年首次涉足嚴肅的通用計算領(lǐng)域,以 Tesla C870 為標志。該卡的架構在其緩存層次結構中只有兩級(技術(shù)上可以爭論為 2.5,但讓我們回避這一爭論),確保了 L1 緩存足夠廣泛,可以持續向所有單位提供數據。更快的 VRAM 支持了這一點(diǎn)。二級緩存的大小也有所增加,盡管與我們現在看到的情況完全不同。
Nvidia 的第一批統一著(zhù)色器 GPU只需要 16 kB 的 L1 數據(以及少量的指令和其他值),但在幾年內就躍升至 64 kB。對于過(guò)去的兩種架構,GeForce 芯片具有 128 kB L1,其服務(wù)器級處理器甚至更多。
第一批芯片中的 L1 緩存只需服務(wù) 10 個(gè)邏輯單元(8 個(gè)通用 + 2 個(gè)特殊功能)。當Pascal 架構出現時(shí)(與 AMD 的 RX Vega 64 大致同一時(shí)代),緩存已增長(cháng)至 96 kB,可容納 150 多個(gè)邏輯單元。
當然,該緩存從 L2 獲取數據,并且隨著(zhù)這些單元的簇數量隨著(zhù)每一代的增加而增加,L2 緩存的數量也隨之增加。然而,自 2012 年以來(lái),每個(gè)邏輯集群(更廣為人知的流式多處理器,SM)的 L2 數量一直保持相對不變,約為 70 到 130 MB。當然,最新的 Ada Lovelace 架構是個(gè)例外,我們稍后會(huì )回到這個(gè)架構。
2006 年至 2016 年 Nvidia 最大的 GPU。圖片來(lái)源:Fritzchen Fritz
多年來(lái),AMD 的重點(diǎn)主要集中在 CPU 上,而圖形部門(mén)在人員配置和預算方面相對較小。不過(guò),作為基本設計,GCN 運行得非常好,在 PC、游戲機、筆記本電腦、工作站和服務(wù)器中找到了應用。
雖然AMD的圖形處理器可能并不總是人們能買(mǎi)到的最快的,但它已經(jīng)足夠好了,而且這些芯片的緩存結構似乎不需要認真更新。但是,盡管 CPU 和 GPU 飛速發(fā)展,但事實(shí)證明,還有另一個(gè)難題很難改進(jìn)。
DRAM進(jìn)展緩慢
GCN 的后繼者是 2019 年的 RDNA 架構,AMD 重新調整了一切,以便他們的新 GPU 使用三級緩存,同時(shí)仍然保持相對較小的規模。然后,在其后續RDNA 2 設計中,AMD 利用其在 CPU 緩存工程方面的專(zhuān)業(yè)知識將第四級緩存硬塞到芯片中,該緩存比之前 GPU 中看到的任何緩存都要大得多。
但為什么要做出這樣的改變,特別是當這些芯片主要用于游戲并且 GCN 緩存多年來(lái)只進(jìn)行了最小的修改時(shí)?
原因很簡(jiǎn)單:
芯片尺寸和復雜性:
雖然合并更多緩存級別確實(shí)使芯片設計復雜化,但它可以防止芯片變得過(guò)大。更小的芯片意味著(zhù)可以從單個(gè)硅晶圓中提取更多的單元,從而使生產(chǎn)更具成本效益。
內存速度與處理器速度
多年來(lái),處理器速度一直在持續增長(cháng),但 DRAM 卻未能跟上這一步伐。例如,在 Radeon RX Vega 64 中,AMD 利用高帶寬內存 (HBM) 來(lái)提高 VRAM 和 GPU 之間的數據傳輸速率。這些模塊顯示在主 GPU 芯片左側上方,本質(zhì)上是堆疊在一起的多個(gè) DRAM 芯片,有助于每個(gè)周期讀取或寫(xiě)入更多數據。然而,HBM 非常昂貴。理想情況下,顯卡應具有充足的內存、大量的總線(xiàn),并且全部都以高速運行。但由于 DRAM 的結構,其性能無(wú)法提升到與 CPU 或 GPU 相匹配。
當計算所需的數據不存在于緩存中時(shí)(通常稱(chēng)為“緩存未命中”),必須從 VRAM 中獲取數據。由于此過(guò)程比從緩存中檢索速度慢,因此等待 DRAM 中存儲的數據只會(huì )導致需要數據的線(xiàn)程停滯。即使使用現代圖形芯片,這種情況也經(jīng)常發(fā)生。
這種情況實(shí)際上一直在發(fā)生,即使使用最新的圖形芯片,但隨著(zhù)它們變得越來(lái)越強大,緩存未命中正在成為高分辨率下的一個(gè)重要性能限制。
在 GPU 中,最后一級緩存的結構使得每個(gè) VRAM 模塊的接口都有其專(zhuān)用的 SRAM 片。其余處理器利用交叉連接系統來(lái)訪(fǎng)問(wèn)任何模塊。通過(guò) GCN 和首次 RDNA 設計,AMD 通常采用 256 或 512 kB L3 切片。但在 RDNA 2 中,每片的大小激增至 16 至 32 MB,令人印象深刻。
這一調整不僅大幅減少了 DRAM 讀取引起的線(xiàn)程延遲,還減少了對超寬內存總線(xiàn)的需求。更寬的總線(xiàn)需要更廣闊的 GPU 芯片周長(cháng)來(lái)容納所有內存接口。
雖然由于固有的長(cháng)延遲,大量緩存可能會(huì )很麻煩且緩慢,但 AMD 的設計卻恰恰相反——龐大的 L3 緩存使 RDNA 2 芯片的性能與擁有更寬內存總線(xiàn)的性能相當,同時(shí)將芯片尺寸保持在低于控制。
Nvidia 緊隨其后,推出了最新一代的 Ada Lovelace,出于同樣的原因,之前的 Ampere 設計在其最大的消費級 GPU 中的最大二級緩存大小為 6 MB,但在新設計中顯著(zhù)增加。完整的 AD102 芯片(RTX 4090 中使用的是其精簡(jiǎn)版本)包含 96 MB 的二級緩存。
至于為什么他們不只是采用另一級緩存并將其做得非常大,可能是因為在這一領(lǐng)域沒(méi)有與 AMD 相同水平的專(zhuān)業(yè)知識,或者可能不想看起來(lái)像是直接復制該公司。當人們查看芯片時(shí),如上所示,無(wú)論如何,所有二級緩存實(shí)際上并沒(méi)有占用芯片上的太多空間。
除了通用GPU計算的興起外,還有一個(gè)原因導致末級緩存現在這么大,這與渲染領(lǐng)域的最新熱門(mén)話(huà)題:光線(xiàn)追蹤有關(guān)。
大圖形需要大數據
無(wú)需過(guò)多介紹該過(guò)程的細節,最新游戲中使用的光線(xiàn)追蹤行為涉及執行看似相當簡(jiǎn)單的算法 - 從 3D 世界中相機的位置畫(huà)一條線(xiàn),通過(guò)幀的一個(gè)像素,并追蹤其在空間中的路徑。當它與一個(gè)對象交互時(shí),檢查它是什么以及它是否可見(jiàn),然后從那里計算出像素的顏色。
事情遠不止這些,但這是基本過(guò)程。光線(xiàn)追蹤要求如此高的原因之一是對象檢查。計算出光線(xiàn)所到達的物體的所有細節是一項艱巨的任務(wù),因此為了幫助加快例程,使用了一種稱(chēng)為包圍體層次結構(簡(jiǎn)稱(chēng) BVH)的東西。
可以將其視為 3D 場(chǎng)景中使用的所有對象的大型數據庫 - 每個(gè)條目不僅提供有關(guān)結構是什么的信息,還提供有關(guān)其與其他對象的關(guān)系的信息。以上面(極其簡(jiǎn)單化)的例子為例。
層次結構的頂部從體積 A 開(kāi)始。其他所有內容都包含在其中,但請注意,體積 E 位于體積 C 之外,后者本身包含 D 和 F。當光線(xiàn)投射到此場(chǎng)景中時(shí)(紅色箭頭),遍歷層次結構時(shí)會(huì )發(fā)生一個(gè)過(guò)程,檢查光線(xiàn)路徑經(jīng)過(guò)的體積。
然而,BVH像樹(shù)一樣排列,遍歷只需沿著(zhù)檢查結果命中的分支進(jìn)行。因此,體積 E 可以立即被拒絕,因為它不是射線(xiàn)顯然會(huì )穿過(guò)的 C 的一部分。當然,現代游戲中 BVH 的實(shí)際情況要復雜得多。
對于上圖,我們拍攝了《賽博朋克 2077》的快照,暫停了游戲的渲染中幀,向您展示如何通過(guò)增加三角形層來(lái)構建任何一個(gè)給定場(chǎng)景。
現在,嘗試想象從您的眼睛開(kāi)始追蹤一條線(xiàn),穿過(guò)監視器中的一個(gè)像素,然后嘗試準確確定哪個(gè)三角形將與光線(xiàn)相交。這就是為什么 BVH 的使用如此重要,并且它大大加快了整個(gè)過(guò)程。
在這個(gè)特定的游戲中,與許多采用光線(xiàn)追蹤來(lái)照亮整個(gè)場(chǎng)景的游戲一樣,BVH 包含兩種類(lèi)型的多個(gè)數據庫:頂級加速結構 (TLAS) 和底層加速結構 (BLAS)。
前者本質(zhì)上是對整個(gè)世界的大概覽,而不僅僅是我們所看到的很小的一部分。在使用 Nvidia 顯卡的 PC 上,它看起來(lái)像這樣:
我們稍微放大了一些,以便向您展示其中包含的一些細節,但正如您所看到的,它非常大 — 大小幾乎為 18 MB。請注意該列表是實(shí)例之一,并且每個(gè)實(shí)例都包含至少一個(gè) BLAS。游戲只使用了兩個(gè) TLAS 結構(第二個(gè)要小得多),但總共有數千個(gè) BLAS。
下面的衣服是世界上看到的角色可能穿著(zhù)的一件衣服。擁有這么多可能看起來(lái)很荒謬,但這種層次結構意味著(zhù)如果這個(gè)特定的 BLAS 不在光線(xiàn)路徑中的更大父結構中,則它永遠不會(huì )在渲染的著(zhù)色階段被檢查或使用。
對于我們的《賽博朋克 2077》快照,總共使用了 11,360 個(gè) BLAS,占用的內存比 TLAS 多得多。然而,由于 GPU 現在擁有大量緩存,因此有足夠的空間將后者存儲在該 SRAM 中,并從 VRAM 傳輸許多相關(guān)的 BLAS,從而使光線(xiàn)追蹤過(guò)程變得更快。
所謂的渲染圣杯實(shí)際上仍然只有那些擁有最好顯卡的人才能獲得,即便如此,也需要采用額外的技術(shù)(例如圖像升級和幀生成)來(lái)將整體性能帶入可玩的領(lǐng)域。
BVH、數千個(gè)核心和 GPU 中的專(zhuān)用光線(xiàn)追蹤單元使這一切成為可能,但巨大的緩存為這一切提供了急需的推動(dòng)力。
皇冠的競爭者
一旦幾代 GPU 架構過(guò)去,擁有大量 L2 或 L3 緩存的圖形芯片將成為常態(tài),而不是新設計的獨特賣(mài)點(diǎn)。GPU將繼續在廣泛的通用場(chǎng)景中使用,光線(xiàn)追蹤將在游戲中變得越來(lái)越普遍,而DRAM仍將落后于處理器技術(shù)的發(fā)展。
話(huà)雖如此,當涉及到 SRAM 中時(shí),GPU 并不會(huì )完全滿(mǎn)足要求。事實(shí)上,現在有一些例外。
我們不是在談?wù)?AMD 的 X3D 系列 Ryzen CPU,盡管Ryzen 9 7950X3D配備了驚人的 128 MB L3 緩存(英特爾最大的消費級 CPU Core i9-13900K僅 36 MB)。不過(guò),它仍然是 AMD 產(chǎn)品,特別是 EPYC 9000 系列服務(wù)器處理器中的最新產(chǎn)品。
售價(jià) 14,756 美元的 EPYC 9684X(上圖)由 13 個(gè)小芯片組成,其中 12 個(gè)小芯片容納處理器的核心和緩存。每個(gè)芯片都包含 8 個(gè)核心和一個(gè) 64 MB 的 AMD 3D V 緩存片,位于小芯片的內置 32 MB L3 緩存之上??偠灾?,末級緩存總計達到 1152 MB,令人難以置信!即使是 16 核版本(9174F)也擁有 256 MB 內存,盡管它仍然不是你所說(shuō)的便宜,價(jià)格為 3,840 美元。
當然,此類(lèi)處理器并不是為普通人及其游戲電腦而設計的,而且其物理尺寸、價(jià)格標簽和功耗數據都非常大,我們不會(huì )在普通處理器中看到類(lèi)似的處理器。臺式電腦使用多年。
部分原因是,與用于邏輯單元的半導體電路不同,隨著(zhù)每個(gè)新工藝節點(diǎn)(芯片的制造方法)縮小 SRAM 變得越來(lái)越困難。AMD 的 EPYC 處理器擁有如此多的緩存,僅僅是因為散熱器下方有很多芯片。
所有 GPU 在未來(lái)的某個(gè)時(shí)候可能都會(huì )走類(lèi)似的路線(xiàn),AMD 的高端 Radeon 9000 型號已經(jīng)這樣做了,內存接口和相關(guān)的 L3 緩存片被安置在與主處理芯片不同的小芯片中。
不過(guò),使用更大的緩存會(huì )帶來(lái)收益遞減,因此不要指望 GPU 到處都有千兆字節的緩存。但即便如此,最近的變化還是相當引人注目的。
二十年前,圖形芯片中的緩存非常少,只有幾 kB 的 SRAM?,F在,您可以花不到 400 美元購買(mǎi)一張具有如此大緩存的顯卡,您可以將整個(gè)原始 Doom 放入其中 - 兩倍!
GPU 確實(shí)是緩存之王。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。