一個(gè)號(hào)稱“萬(wàn)能”的CPU架構(gòu)
來(lái)源:半導(dǎo)體行業(yè)觀察
我們所要討論的是擁有 128 核、每核 2×1024 位向量、5.7 GHz、1 TB/秒的 DRAM的龐然大物。有人說(shuō)我們的數(shù)據(jù)中心的熱余量用完了,這顯然是錯(cuò)誤的,Tachyum 證明了這一點(diǎn)。在本文中,我們將介紹新設(shè)計(jì)與舊設(shè)計(jì)的比較,以及我們可以從 Tachyum 的披露中收集到哪些信息。
Tachyum Prodigy 2022
今天,Tachyum 仍然稱他們的架構(gòu)為“Prodigy”。但他們已經(jīng)根據(jù)客戶的反饋對(duì)其進(jìn)行了徹底改革。VLIW 捆綁包被更傳統(tǒng)的 ISA 取代, 硬件調(diào)度功能更強(qiáng)大,提高了每個(gè)時(shí)鐘的性能。緩存層次結(jié)構(gòu)也發(fā)生了重大變化。2022 Prodigy 的變化足夠廣泛,以至于對(duì) 2018 年 Prodigy 所做的大部分分析都不再適用。
在高層次上,2022 Prodigy 仍然是一個(gè)非常廣泛的架構(gòu),具有巨大的向量單元:與 2018 Prodigy 一樣,2022 Prodigy 的目標(biāo)是極高的時(shí)鐘速度和高內(nèi)核數(shù)。事實(shí)上,這些目標(biāo)已經(jīng)被提高了,時(shí)鐘速度從 4 GHz 提高到 5.7 GHz,內(nèi)核數(shù)從 64 增加到 128。本文中我們將更深入地了解細(xì)節(jié)。再見捆綁包,你好 Sane ISATachyum 最初試圖通過將指令集與底層硬件實(shí)現(xiàn)緊密聯(lián)系來(lái)簡(jiǎn)化 CPU 設(shè)計(jì)。VLIW 包允許非常簡(jiǎn)單的解碼和映射邏輯。編譯器協(xié)助調(diào)度,它會(huì)設(shè)置“停止位”來(lái)標(biāo)記可以并行發(fā)布的指令組。這種方案表面上類似于 Nvidia 在 Kepler 和后來(lái)的 GPU 架構(gòu)中使用靜態(tài)調(diào)度,并讓內(nèi)核跳過硬件中的依賴檢查。
但是將 ISA 綁定到硬件會(huì)產(chǎn)生前向兼容性問題。例如,如果新架構(gòu)具有不同的指令延遲,則必須設(shè)置不同的停止位。Tachyum 的潛在客戶不會(huì)接受產(chǎn)品世代之間的 ISA 更改。在實(shí)踐中,像將 ARM 支持添加到復(fù)雜的軟件項(xiàng)目這樣“簡(jiǎn)單”的事情可能需要 18 個(gè)月以上的時(shí)間。支持新的 ISA 必須是一次性投資,而不是每次 CPU 升級(jí)都會(huì)重復(fù)的投資。
最新的 Prodigy 架構(gòu)通過放棄原來(lái)的 VLIW 方案轉(zhuǎn)而采用更傳統(tǒng)的 ISA 來(lái)解決這個(gè)問題。指令有四個(gè)或八個(gè)字節(jié)長(zhǎng)。編碼不再包含“停止位”,這意味著現(xiàn)在Prodigy 在硬件中進(jìn)行依賴性檢查,而不是依賴硬件來(lái)標(biāo)記獨(dú)立指令組。前端和分支預(yù)測(cè)盡管放棄了 VLIW 設(shè)置,Prodigy 仍然可以維持每個(gè)周期 8 條指令——對(duì)于目標(biāo)為 5.7 GHz 的 CPU 來(lái)說(shuō),這是一項(xiàng)了不起的成就。根據(jù) Rado所說(shuō),這個(gè)內(nèi)核寬度對(duì)于在 AI 和 HPC 負(fù)載中實(shí)現(xiàn)最大性能是必要的。在整數(shù)工作負(fù)載中,4 寬的內(nèi)核就足夠了,而增加到 8 寬的內(nèi)核只會(huì)將性能提高 7-8%。但是,AI 或 HPC 程序中的一次循環(huán)迭代可能會(huì)執(zhí)行兩條向量指令、兩次加載、遞增循環(huán)計(jì)數(shù)器并有條件地分支。將內(nèi)核寬度提高到 8 寬將使 Prodigy 在每個(gè)周期完成一個(gè)循環(huán)迭代。為了保持這種吞吐量,Prodigy 可以從 L1 指令高速緩存中提取每個(gè)周期128 字節(jié)??紤]到 64 個(gè)字節(jié)足以包含 8 條指令,這絕對(duì)是大材小用。Tachyum 可能選擇了更多的獲取帶寬,以在所占用的分支周圍保持高吞吐量。Prodigy 沒有大的 L0 BTB,因此與 Zen 3 和 Golden Cove 相比,它可能會(huì)在所采用的分支周圍遇到更多的指令獲取停頓問題。通過一次獲取 128B 字節(jié),前端可以在 BTB 延遲丟失一個(gè)周期后“趕上”。
Prodigy 的分支預(yù)測(cè)器也得到了改進(jìn)。BTB容量翻倍至2048條,預(yù)測(cè)算法是2018 Prodigy中g(shù)share one的改進(jìn)版。但總的來(lái)說(shuō),Prodigy 的預(yù)測(cè)器與最新的 AMD、ARM 和 Intel 高性能內(nèi)核中的預(yù)測(cè)器不同。AMD 的 Zen 3 有一個(gè) 6656 入口的主 BTB。ARM 的 Neoverse V1 擁有 8192 個(gè) BTB 入口,而英特爾的 Golden Cove 擁有令人難以置信的 12K 入口 BTB。BTB 容量并不是唯一的缺點(diǎn)。Prodigy 繼續(xù)使用綁定到指令緩存的 BTB。這簡(jiǎn)化了設(shè)計(jì),因?yàn)闊o(wú)需進(jìn)行單獨(dú)的 BTB 查找——L1i 查找為您提供指令字節(jié)和分支目標(biāo)。AMD 的 Athlon 也做了類似的事情,ARM 在 2010 年代中期使用了這個(gè)方案。但是來(lái)自 AMD、ARM 和 Intel 的現(xiàn)代內(nèi)核已經(jīng)轉(zhuǎn)移到解耦 BTB,允許它們?cè)诖a占用量超過 L1i 容量時(shí)保持高指令帶寬。對(duì)于耦合的 BTB,L1i 未命中意味著 BTB 未命中。并且不知道下一個(gè)分支將去哪里,這大大降低了在指令緩存未命中后您可以有效預(yù)取的距離。但是 Tachyum 正在使用標(biāo)準(zhǔn)單元庫(kù),并以非常高的時(shí)鐘速度為目標(biāo),而使用這些標(biāo)準(zhǔn)單元庫(kù)的解耦 BTB 被認(rèn)為過于昂貴。
為了解決這個(gè)問題,Tachyum 將 L1i 容量增加到 64 KB,是 2018 年 Prodigy 的四倍,以確保 L1i 失誤減少。Rado 指出,specint2017 中的 64 KB L1i 未命中率低于 0.5%。我們對(duì) Ampere Altra 的 64 KB L1i 的觀察大致一致。更大的 L1i 還有助于提高電源效率,并最大限度地減少與 L2 帶寬上的數(shù)據(jù)端的爭(zhēng)用。ARM 采用了更大的 64 KB L1i 高速緩存,效果極佳,并且 L1i 未命中率低。
2022 Prodigy 還繼續(xù)依賴于相當(dāng)過時(shí)和基本的 gshare 預(yù)測(cè)算法,而現(xiàn)代 CPU則使用更復(fù)雜的技術(shù),可以在給定的存儲(chǔ)預(yù)算下實(shí)現(xiàn)更好的預(yù)測(cè)精度。Tachyum 考慮構(gòu)建更高級(jí)的分支預(yù)測(cè)器,但同樣,標(biāo)準(zhǔn)單元庫(kù)意味著實(shí)現(xiàn) TAGE 預(yù)測(cè)器會(huì)過多地降低時(shí)鐘速度。由于高時(shí)鐘速度要求,除了感知器預(yù)測(cè)器 - 您可以想象在一個(gè)時(shí)鐘周期內(nèi)匯總一批權(quán)重需要做很多事情。包含本地歷史的方案也不可行,因?yàn)楦攉@取帶寬意味著每個(gè)周期必須執(zhí)行多個(gè)預(yù)測(cè)。具有本地歷史的多個(gè)預(yù)測(cè)將需要每個(gè)周期進(jìn)行多次歷史表查找。因此,Tachyum 堅(jiān)持使用基于全局歷史的預(yù)測(cè)器,并且每塊 8 條指令進(jìn)行預(yù)測(cè)。這使分支預(yù)測(cè)器保持簡(jiǎn)單,同時(shí)讓它跟上 Prodigy 內(nèi)核寬度所需的預(yù)測(cè)帶寬。英特爾的 Rocket Lake 內(nèi)核,帶有分支預(yù)測(cè)器存儲(chǔ)和其他前端緩存標(biāo)記。圖片來(lái)自 Fritzchens Fritz,Clam 注釋
Rado 提到 Prodigy 的未來(lái)版本可以使用自定義單元,這將讓他們考慮更高級(jí)的分支預(yù)測(cè)器,同時(shí)仍然以非常高的時(shí)鐘速度為目標(biāo)。相比之下,英特爾似乎在分支預(yù)測(cè)器中使用了在內(nèi)核其他地方看不到的自定義 SRAM 單元。AMD 采用了不同的方法,將相同的 SRAM 單元用于分支預(yù)測(cè)器存儲(chǔ)、L1 指令緩存和微操作緩存。AMD 的 Zen 3 內(nèi)核,帶有分支預(yù)測(cè)器存儲(chǔ)和其他標(biāo)記的前端緩存。圖片來(lái)自 Fritzchens Fritz,Clam 注釋
Zen 3 展示了可以使用標(biāo)準(zhǔn)單元構(gòu)建最先進(jìn)的分支預(yù)測(cè)器,盡管可能不是 Prodigy 的目標(biāo) 5.7 GHz 速度。后端:巨大的向量單元和完整的 OoO?如果你不能有效使用它,那么建立一個(gè)巨大的內(nèi)核并沒有多大意義。為此,Tachyum 放棄了他們 2018 年的設(shè)計(jì),并在硬件中實(shí)現(xiàn)了深度重新排序功能。2022 Prodigy 可以跟蹤多達(dá) 256 條正在運(yùn)行的指令,其中整數(shù)寄存器有 96 個(gè)重命名,向量寄存器也有同樣多的重命名。它可以重新排序過去的各種依賴項(xiàng)。根據(jù) Tachyum 的描述,Prodigy 可以像 AMD、ARM 和 Intel 的內(nèi)核一樣完全亂序執(zhí)行。但不是使用更傳統(tǒng)的無(wú)序引擎,而是使用檢查點(diǎn)方案。對(duì)于可能導(dǎo)致異常的指令,例如未命中緩存的加載,Prodigy 會(huì)保存帶有寄存器狀態(tài)的檢查點(diǎn)。如果該指令確實(shí)導(dǎo)致異常,則該檢查點(diǎn)用于提供精確的異常處理。2022 Prodigy 可以保存多個(gè)檢查點(diǎn),而2018 Prodigy只能保存一個(gè)檢查點(diǎn)。這是一個(gè)重大改進(jìn),就執(zhí)行單元而言,Tachyum 為 2022 Prodigy 配備了兩個(gè)巨大的 1024 位向量單元,并增加了向量寄存器寬度以匹配。因此,2022 Prodigy 的矢量寬度是 2018 Prodigy 的兩倍,并且矢量吞吐量比當(dāng)今任何通用 CPU 都要高。甚至英特爾的 Golden Cove 也只有兩個(gè) 512 位向量單元。緩存子系統(tǒng)在重新設(shè)計(jì) Prodigy 架構(gòu)以在硬件中進(jìn)行更多重新排序,從而使其能夠?yàn)?AI/HPC 應(yīng)用程序保證更多帶寬后,Tachyum 面臨著保持這些內(nèi)核輸入的挑戰(zhàn),同時(shí),提供以高速時(shí)鐘運(yùn)行的 1024 位向量單元也是一項(xiàng)艱巨的挑戰(zhàn)。首先,L1D 數(shù)據(jù)路徑的寬度增加了一倍,以匹配向量長(zhǎng)度的增加。在 5.7 GHz 時(shí),Tachyum 內(nèi)核可以從其 L1D 以接近 1.5 TB/s 的速度加載數(shù)據(jù)。L2 可以在每個(gè)周期向 L1D 提供完整的 128B 高速緩存行,帶寬約為 730 GB/s。相比之下,英特爾的 L1D 和 L2 緩存的每周期負(fù)載帶寬是 Prodigy 的一半,AMD 則更落后。Zen 2 和 Zen 3 在 L1 和 L2 的每周期帶寬是英特爾的一半。當(dāng)然,Prodigy 的時(shí)鐘頻率高于 Intel 或 AMD 當(dāng)前的 CPU,因此具有巨大的緩存帶寬優(yōu)勢(shì)。
Zen 2 似乎能夠通過在未記錄的性能計(jì)數(shù)器上使用計(jì)數(shù)屏蔽來(lái)跟蹤至少 32 個(gè)未決的 L2 未命中。
為了維持高帶寬和隱藏延遲,2022 Prodigy 改進(jìn)了內(nèi)存級(jí)并行性 (MLP)。具體來(lái)說(shuō):這是對(duì) 2018 版本的重大改進(jìn),在 2018 版本中,可實(shí)現(xiàn)的 L3 帶寬和內(nèi)存將受到其低 MLP 的限制。它與 Zen 3 和 Golden Cove 位于同一個(gè)塊,但從絕對(duì)意義上來(lái)說(shuō)可能會(huì)稍遜一籌。
2022 Prodigy 還增加了緩存容量,以更好地處理具有大內(nèi)存占用的負(fù)載。L1 數(shù)據(jù)緩存的容量翻了兩番,從 16 KB 增加到 64 KB。與 2018 Prodigy 相比,每核 L2 和 L3 緩存容量沒有增加,但 2022 Prodigy 放棄了單獨(dú)的 L2 和 L3 布局,轉(zhuǎn)而采用虛擬 L3 設(shè)置??臻e內(nèi)核將允許活動(dòng)內(nèi)核將其 L2 用作虛擬 L3,從而提高低線程負(fù)載的緩存命中率。當(dāng)一個(gè)內(nèi)核從它的 L2 驅(qū)逐一條線時(shí),它會(huì)檢查周圍的內(nèi)核,看看它們的 L2 是否可以接受被驅(qū)逐的線,只有屬于非活動(dòng)內(nèi)核的 L2 緩存才會(huì)接受這些請(qǐng)求。
對(duì)我們來(lái)說(shuō),這個(gè)設(shè)置一點(diǎn)也不簡(jiǎn)單,并且圍繞這個(gè)虛擬 L3 的實(shí)現(xiàn)方式會(huì)有很多調(diào)整。聽起來(lái)一個(gè)物理內(nèi)存地址可以緩存在多個(gè)虛擬 L3 切片中,具體取決于哪些對(duì)應(yīng)的內(nèi)核處于空閑狀態(tài),更多的切片檢查意味著更多的互連流量。Tachyum 還希望將數(shù)據(jù)盡可能靠近所占用的內(nèi)核,而可能的位置越少意味著這方面的靈活性越低。與 Intel、AMD 和 ARM 使用的更簡(jiǎn)單的方案相比,正確設(shè)置這個(gè)虛擬 L3 聽起來(lái)像是多維優(yōu)化問題。
地址轉(zhuǎn)換性能也很重要,因此 Tachyum 將最后一級(jí) TLB 大小從 256 增加到 2048 個(gè)條目。在條目數(shù)方面,它與 Zen 2、Zen 3 和 Golden Cove 相匹配。為了進(jìn)一步提高 TLB 覆蓋率,Prodigy 確實(shí)以 64 KB 的頁(yè)面大小和 32 MB 的大頁(yè)面來(lái)處理更大粒度的任務(wù)。2048 個(gè)條目的 L2 TLB 將覆蓋 128 MB 和 64 KB 頁(yè)面。ARM 和 x86 主要使用 4 KB 頁(yè)面以及 2 MB 大頁(yè)面用于客戶端應(yīng)用程序。較大的頁(yè)面大小往往會(huì)浪費(fèi)更多的內(nèi)存,但這對(duì)于通常具有數(shù)百 GB DRAM 的服務(wù)器來(lái)說(shuō)并不是什么大問題。
內(nèi)存帶寬
對(duì)于不適合緩存的工作負(fù)載,DRAM 帶寬可能是個(gè)問題。正如我們之前提到的,Prodigy 的計(jì)算與內(nèi)存帶寬比高于當(dāng)前的 CPU 和 GPU。起初,Tachyum 試圖通過實(shí)現(xiàn)封裝 HBM 來(lái)解決這個(gè)問題。但 HBM 的容量非常低,這意味著如果 Tachyum 想要占領(lǐng)服務(wù)器市場(chǎng),它并不是一個(gè)可行的選擇。HBM 解決方案對(duì)于 HPC 和 AI 應(yīng)用程序來(lái)說(shuō)是可以接受的,但 Rado 指出,Nvidia 已經(jīng)擁有該市場(chǎng)的大部分份額,而與服務(wù)器市場(chǎng)相比,剩下的市場(chǎng)很小。保留兩種內(nèi)存選項(xiàng)是不可行的,因?yàn)樾酒蠜]有足夠的邊緣空間來(lái)容納 DDR 和 HBM 控制器。因此,Tachyum 選擇了一個(gè)非常強(qiáng)大的 DDR5-7200 設(shè)置,帶有 16 個(gè)控制器,總內(nèi)存總線寬度為 1024 位。這使它的帶寬與 Nvidia 的 RTX 3090 GPU 差不多。DDR5-7200 今天還不存在,但 Tachyum 預(yù)計(jì)只有 AI 和 HPC 客戶才需要性能最高的內(nèi)存設(shè)置。這些客戶通常會(huì)購(gòu)買整個(gè)系統(tǒng)而不是組件,從而允許集成商對(duì)可達(dá)到 7200 MT/s 的內(nèi)存模塊進(jìn)行封裝。服務(wù)器應(yīng)用程序通常不受帶寬限制,并且可以使用速度較慢的 DDR5。
但即使使用 DDR5-7200,Prodigy 的海量矢量單元和高時(shí)鐘意味著它比其他 CPU 和 GPU 具有更低的帶寬與計(jì)算比。Tachyum 希望通過使用內(nèi)存壓縮來(lái)縮小這一差距,這有點(diǎn)像 GPU 如何進(jìn)行增量顏色壓縮以降低帶寬需求。但與 GPU 不同的是,Tachyum 正在為 AI 和 HPC 應(yīng)用程序調(diào)整內(nèi)存壓縮算法。最后,Tachyum 以更大的粒度進(jìn)行 ECC,允許內(nèi)存控制器使用一些 ECC 線路來(lái)代替?zhèn)鬏敂?shù)據(jù)。提高仿真性能Tachyum 的 Prodigy 引入了新的 ISA,因此不會(huì)像 x86 和 ARM 那樣享有強(qiáng)大的軟件生態(tài)系統(tǒng)。這是一個(gè)嚴(yán)重的問題,因?yàn)槿绻澜缟献詈玫男酒荒苓\(yùn)行用戶需要的軟件,它就完全一文不值。為了解決這個(gè)問題,Tachyum 正在尋找 QEMU,它可以模擬另一種架構(gòu)并允許 x86 和 ARM 二進(jìn)制文件在 Prodigy 上執(zhí)行。但僅 QEMU 是不夠的,因?yàn)榉抡嫘阅芡ǔ:懿?。例如,我們?cè)?Ampere Altra 上運(yùn)行 QEMU 下為 x86-64 編譯的 CoreMark。
為了提高 x86 二進(jìn)制文件的仿真性能,Prodigy 可以切換到“嚴(yán)格”內(nèi)存排序模式。Tachyum 也在 QEMU 中完成了軟件工作以提高性能。就絕對(duì)值而言,30-40% 的性能損失仍然很嚴(yán)重。但是運(yùn)行所需的軟件比絕對(duì)性能更重要,如果芯片不能運(yùn)行所需的軟件,那么世界上所有的性能都是無(wú)關(guān)緊要的,因此 Tachyum 已經(jīng)在 QEMU 中投入了大量精力,以確保硬件至少在發(fā)布時(shí)可用。
評(píng)估架構(gòu)
Tachyum 對(duì) Prodigy 進(jìn)行了大量修改,因此2018 和 2022 版本基本上是不同的架構(gòu)。總結(jié)主要的管道變化如下:2022 Prodigy 的變化使其成為比 2018 Hot Chips 上展示的版本更具競(jìng)爭(zhēng)力的架構(gòu)。Prodigy 不再嚴(yán)重依賴編譯器,采用傳統(tǒng)的 ISA,并具有不錯(cuò)的硬件重新排序功能,這些是我們對(duì) 2018 版本最大的擔(dān)憂,我們很高興看到它們得到解決。2018 版本中的其他弱點(diǎn),如微小的 L1 緩存,也得到了糾正。這給我們留下了一個(gè)帶有巨大矢量單元的寬內(nèi)核,以針對(duì)高內(nèi)核數(shù)芯片的前所未聞的時(shí)鐘。
對(duì)于 HPC 和 AI,我預(yù)計(jì) Prodigy 將極具競(jìng)爭(zhēng)力。它具有足夠的重新排序深度和內(nèi)存級(jí)別的并行能力,可以充分利用內(nèi)存帶寬。雖然它的內(nèi)存帶寬與計(jì)算比率低于競(jìng)爭(zhēng)解決方案,但 Prodigy 確實(shí)有很多技巧可以緩解這種情況。即使沒有這些技巧,Prodigy 仍然擁有比 AMD 的Milan 或者 Genoa更強(qiáng)大的 DRAM 子系統(tǒng)。富士通的 A64FX 確實(shí)具有相當(dāng)?shù)?DRAM 帶寬,但它使用 HBM,這極大地限制了它的內(nèi)存容量。
服務(wù)器市場(chǎng)是一個(gè)更難的問題。Prodigy 擁有不錯(cuò)的大型 L1 緩存、不錯(cuò)的重新排序能力、非常高的時(shí)鐘速度和高核心數(shù)。但是它的分支預(yù)測(cè)器遠(yuǎn)遠(yuǎn)不是最先進(jìn)的,每個(gè)核心的最后一級(jí)緩存容量很低(尤其是與 AMD 相比)。更糟糕的是,過渡到新的 ISA 對(duì)任何大公司來(lái)說(shuō)都是一件頭疼的事情。不過,我認(rèn)為 Prodigy 有一個(gè)不錯(cuò)的機(jī)會(huì),因?yàn)樗臅r(shí)鐘速度優(yōu)勢(shì)是如此之大,不僅可以掩蓋它的缺點(diǎn),更可以讓它在核心數(shù)量和單核性能方面都比其他所有人的服務(wù)器產(chǎn)品都具有優(yōu)勢(shì)。Tachyum 可以說(shuō)服人們使用他們的新 ISA 和羽翼未豐的軟件生態(tài)系統(tǒng),以便利用 Prodigy 的高性能。
如果 Prodigy 快要實(shí)現(xiàn)其雄心勃勃的(高速)時(shí)鐘目標(biāo),它確實(shí)很有可能成為“通用處理器”,至少在紙面上是這樣。它將類似于 GPU 的矢量吞吐量與 CPU 的單線程性能相結(jié)合。代價(jià)是極高的功耗。128 核 Prodigy 在加載矢量單元的情況下可以達(dá)到近 950W 的功率。即使是 32 核、3.2 GHz 低功耗 SKU 也被指定為 180W——并不比基于 Zen 2 的 Epyc 7502P 好,后者盡管使用了小芯片設(shè)置和較差的工藝節(jié)點(diǎn),但它以類似的 180W TDP 提升到 3.35 GHz。在服務(wù)器中,整型計(jì)算不太可能使 Prodigy 消耗 TDP 數(shù)據(jù)所顯示的那么多功率。但是高 TDP 等級(jí)仍然是一個(gè)問題,因?yàn)槔鋮s系統(tǒng)必須針對(duì)最壞的情況進(jìn)行設(shè)計(jì)。關(guān)于 5.7 GHz就個(gè)人而言,我懷疑 Prodigy 能否實(shí)現(xiàn)其 5.7 GHz 時(shí)鐘目標(biāo)。Tachyum 正在采用一些策略來(lái)幫助在高時(shí)鐘下控制功率和面積。我們目前無(wú)法確切透露那是什么,但我認(rèn)為這還不夠。將兩個(gè) 1024 位向量單元推送到這些時(shí)鐘將是一項(xiàng)令人難以置信的壯舉。流水線長(zhǎng)度看起來(lái)太短了。在2018年, Prodigy 有一個(gè)從取指令到執(zhí)行指令的 9 階段整型流水線。在2022年 Prodigy 增加了一個(gè)用于硬件依賴檢查的階段,使整型流水線達(dá)到 10 個(gè)階段。對(duì)于以 5.7 GHz 為目標(biāo)的設(shè)計(jì)來(lái)說(shuō),這非常短。作為比較,Agner Fog 指出,在英特爾的 Golden Cove 上,錯(cuò)誤預(yù)測(cè)懲罰(對(duì)應(yīng)于流水線長(zhǎng)度)超過 20 個(gè)周期。AMD 的優(yōu)化手冊(cè)稱 Zen 3 的誤判懲罰范圍為 11-18 個(gè)周期,常見情況為 13 個(gè)周期。流水線長(zhǎng)度與 Prodigy 相似的 CPU 無(wú)法達(dá)到 5 GHz。Neoverse N1 有 11 級(jí)流水線,運(yùn)行頻率不高于 3.3 GHz。AMD 的 Phenom 有 12 個(gè)周期的錯(cuò)誤預(yù)測(cè)懲罰,運(yùn)行頻率為 3.7 GHz。
如果我們就 Tachyum 的芯片圖而言,假設(shè)它占據(jù) 500 mm2,單個(gè) Prodigy 內(nèi)核的空間遠(yuǎn)低于 3 mm2,從而引發(fā)熱點(diǎn)問題。
發(fā)熱問題也須考慮。AMD 的 Zen 3 的時(shí)鐘頻率可以超過 5 GHz,但在低線程負(fù)載下面臨冷卻挑戰(zhàn),因?yàn)樗鼈兊牡秃诵拿娣e意味著非常高的熱密度。Tachyum 預(yù)計(jì) Prodigy 將占據(jù)不到 500 平方毫米的空間。Tachyum 發(fā)布的模具平面圖效果圖表明,每個(gè)核心的尺寸小于 3 mm2。Zen 3 核心的面積約為 3.78 平方毫米,包括 L2。Prodigy 核心在某些領(lǐng)域可能不那么復(fù)雜,例如分支預(yù)測(cè)器,但在其他領(lǐng)域(例如向量單元)也更復(fù)雜。我認(rèn)為當(dāng)核心被推到 5.7 GHz 時(shí)很可能會(huì)出現(xiàn)熱點(diǎn)問題。
最后一點(diǎn),考慮策略實(shí)用性的一種方法是查看其他公司采用相同策略的頻率。如果對(duì)于一家小型初創(chuàng)公司來(lái)說(shuō),采用 5 GHz 以上的 1024 位矢量單元的 8 位寬內(nèi)核是可以實(shí)現(xiàn)的,那么 AMD、ARM 和英特爾在過去十年中肯定一直在偷懶。哦,把 Nvidia 也算上——他們的 Kepler、Maxwell 和 Pascal 架構(gòu)有 32 位寬的 FP32 ALU,基本上是 1024 位?;蛘?,要讓一個(gè)廣泛的架構(gòu)達(dá)到如此高的時(shí)鐘頻率真的很難,而且小型初創(chuàng)公司不太可能做到這一點(diǎn)。我并不是說(shuō) Prodigy 不可能達(dá)到 5.7 GHz,因?yàn)?AMD 的 Zen 4 顯然達(dá)到了 5.85 GHz。也許臺(tái)積電的 5nm 工藝就是這么神奇。但是通過巨大的矢量單元、高核心數(shù)和相對(duì)較短的流水線來(lái)實(shí)現(xiàn)這種時(shí)鐘速度看起來(lái)像是一座太遠(yuǎn)的橋梁。因此,讓我們看看如果 Prodigy 未能達(dá)到其時(shí)鐘目標(biāo),它的競(jìng)爭(zhēng)力將如何。
HPC and AI
即使沒有高時(shí)鐘,Prodigy 也有大量的吞吐量,這要?dú)w功于巨大的矢量單元。即使在 3 GHz 下,它的浮點(diǎn)數(shù)處理能力也穩(wěn)居 GPU 領(lǐng)域。與之競(jìng)爭(zhēng)的 CPU 甚至不在同一個(gè)層次。
*假設(shè) Golden Cove 在 Sapphire Rapids 中有 2×512 位向量單元
有趣的是,以較低的時(shí)鐘運(yùn)行還為 Prodigy 提供了更平衡的計(jì)算吞吐量與內(nèi)存帶寬的比率。在 5.7 GHz 時(shí),Prodigy 需要一些技巧來(lái)減少內(nèi)存帶寬瓶頸。在 3 GHz 時(shí),相對(duì)于其內(nèi)存帶寬,它的計(jì)算量仍然很大。但比例不那么不平衡。
*假設(shè) SPR 使用 DDR5-5200
其他 CPU 每個(gè) FLOP 的帶寬更高,但這主要是因?yàn)樗鼈兊耐掏铝恳偷枚唷PU(和 A64FX)將其有利的帶寬與計(jì)算比率歸功于容量有限的緊密集成的內(nèi)存子系統(tǒng)。與其他服務(wù)器芯片一樣,Prodigy 可以配備數(shù)百 GB 的 DRAM。GPU 通常不能。
因此,Prodigy 很有可能成為具有競(jìng)爭(zhēng)力的 HPC 或 AI 芯片,即使它實(shí)現(xiàn)不了它的時(shí)鐘目標(biāo)。除非出現(xiàn)重大缺陷,否則受吞吐量限制的 HPC 和 AI 應(yīng)用程序可以從 Prodigy 的矢量單元中受益。Prodigy 最大的弱點(diǎn),比如軟件生態(tài)系統(tǒng)就顯得不那么重要,因?yàn)檠芯咳藛T和 AI 人員通常開發(fā)專門的系統(tǒng)。HPC 和 AI 代碼也應(yīng)該足夠規(guī)則,以至于 Prodigy 較弱的分支預(yù)測(cè)器不會(huì)阻止它。Server服務(wù)器工作負(fù)載更復(fù)雜。與競(jìng)爭(zhēng)服務(wù)器芯片相比,Prodigy 具有較弱的分支預(yù)測(cè)器和較低的緩存緩存容量。如果沒有高時(shí)鐘,Prodigy 的單核性能可能難以與之競(jìng)爭(zhēng)。這不一定是一個(gè)大問題——ARM 進(jìn)入服務(wù)器領(lǐng)域表明,即使每核性能沒有競(jìng)爭(zhēng)力,高核數(shù)芯片仍有空間(當(dāng)然它必須足夠好用才行)。
但ARM在服務(wù)器市場(chǎng)立足的背后還有其他因素。ARM 的內(nèi)核以低功耗和高密度為目標(biāo)。與英特爾和 AMD 不同,它們不會(huì)嘗試涵蓋廣泛的功率和性能目標(biāo)。這種專業(yè)化讓 ARM 創(chuàng)建了適合云應(yīng)用程序的更高核心數(shù)的芯片,同時(shí)保持在可接受的功率和成本目標(biāo)范圍內(nèi)。該專業(yè)化通過犧牲矢量吞吐量和峰值性能,從而使用較小的矢量單元和密集設(shè)計(jì)那些沒有那么高時(shí)鐘速度的單元。Prodigy 具有比任何 x86 芯片更大的矢量單元和更高的時(shí)鐘,因此它很有可能不會(huì)像 ARM 內(nèi)核那樣縮減到低功耗。
如果 Prodigy 沒有達(dá)到如此高的時(shí)鐘,我認(rèn)為他們沒有明確的方法來(lái)?yè)屨挤?wù)器市場(chǎng)的一部分。他們不太可能在高密度市場(chǎng)上超越 ARM。如果沒有巨大的時(shí)鐘速度優(yōu)勢(shì),它們不太可能在低線程工作負(fù)載中擊敗 x86 內(nèi)核。并且當(dāng) Tachyum 致力于讓 Prodigy 被流片出來(lái)時(shí),沒有人會(huì)坐以待斃。AMD 正在準(zhǔn)備發(fā)布基于 Zen 4 的 Genoa 和 Bergamo。后者將擁有 128 個(gè) Zen 4 核心,并減少緩存設(shè)置,與 Prodigy 的核心數(shù)量相匹配。Ampere Computing 正在開發(fā) Altra 的繼任者,它可能具有超過 128 個(gè)內(nèi)核。Prodigy 當(dāng)然會(huì)保留矢量吞吐量?jī)?yōu)勢(shì),但矢量吞吐量并不是服務(wù)器市場(chǎng)的決定性因素,就像 HPC 和 AI 一樣。
結(jié)論技術(shù)趨勢(shì)通常是循環(huán)的。幾十年前,服務(wù)器、客戶端系統(tǒng)和超級(jí)計(jì)算機(jī)慢慢融合以使用類似的硬件。例如,在 2000 年代后期,AMD 的六核 K10 芯片在客戶端系統(tǒng)中作為 Phenom X6 提供服務(wù),在服務(wù)器和超級(jí)計(jì)算機(jī)中作為 Opteron 2435 提供服務(wù)。但在過去十年中,這種趨勢(shì)一直在緩慢逆轉(zhuǎn)。超級(jí)計(jì)算機(jī)通常使用 GPU 加速來(lái)提高吞吐量,而針對(duì) HPC 的 GPU 架構(gòu)和針對(duì)客戶端平臺(tái)的架構(gòu)之間的差異越來(lái)越大。Ampere 和亞馬遜已經(jīng)為云計(jì)算優(yōu)化了專門的服務(wù)器芯片。英特爾和 AMD 在所有三個(gè)類別中仍然使用相同的架構(gòu),但即使這樣,它們也在定制芯片以適應(yīng)不同的市場(chǎng)。例如,服務(wù)器形式的 Skylake 將額外的 L2 和矢量單元附加到核心上,并使用網(wǎng)狀互連。AMD 計(jì)劃以第二種形式發(fā)布 Zen 4,名為 Zen 4c,它以緩存容量換取核心數(shù)量,應(yīng)該更適合云計(jì)算。
Tachyum 的 Prodigy 代表了逆勢(shì)而上的勇敢嘗試。它將 GPU 的矢量吞吐量與 CPU 的單線程性能相結(jié)合,但代價(jià)是高功耗。然而,我們?nèi)匀粦岩?Tachyum 如何在面臨所有障礙的情況下實(shí)現(xiàn)這一切。我們確實(shí)向 Tachyum 詢問了他們是如何實(shí)現(xiàn) 500mm2 的 CPU 的,雖然我們無(wú)法透露他們告訴我們的內(nèi)容,但我們?nèi)匀粚?duì)他們?cè)?N5 上實(shí)現(xiàn)這一點(diǎn)持懷疑態(tài)度,因?yàn)樗麄儾粌H擁有大量矢量單元,還由于芯片上有大量的 DDR5 和 PCIe 5的 PHY,導(dǎo)致的大規(guī)模模擬電路的數(shù)量。
即使 Prodigy 按計(jì)劃進(jìn)入市場(chǎng),它也將面臨激烈的競(jìng)爭(zhēng)老牌玩家及其專業(yè)產(chǎn)品。使用單一架構(gòu)服務(wù)于不同的細(xì)分市場(chǎng)將使 Tachyum 能夠利用其有限的工程資源擴(kuò)大其業(yè)務(wù)范圍。但是,除了專注于工程工作之外,該策略并沒有太多優(yōu)勢(shì)。你不能僅僅因?yàn)閮烧叨际褂孟嗤男酒妥尫?wù)器充當(dāng) HPC 節(jié)點(diǎn)的雙重職責(zé)。超級(jí)計(jì)算集群具有極高速的網(wǎng)絡(luò)和分布式存儲(chǔ),因此節(jié)點(diǎn)可以一起解決同一個(gè)問題。數(shù)據(jù)中心不會(huì)有同樣的高速網(wǎng)絡(luò),因?yàn)轫憫?yīng)互聯(lián)網(wǎng)請(qǐng)求不需要幾乎一樣多的帶寬。最后,Tachyum將面臨一場(chǎng)艱苦的戰(zhàn)斗,以建立圍繞其ISA的軟件生態(tài)系統(tǒng),同時(shí)在途中遭受二進(jìn)制翻譯處罰。對(duì)于一家小型初創(chuàng)公司來(lái)說(shuō),要處理很多事情,我們祝他們好運(yùn)。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。