大芯片的架構(gòu)設(shè)計對性能有重大影響,與存儲器訪問模式密切相關(guān)。在內(nèi)存訪問模式方面,與傳統(tǒng)的多核處理器設(shè)計考慮將多核集成在單個裸片上訪問內(nèi)存不同,大芯片設(shè)計側(cè)重于多個多核裸片訪問內(nèi)存系統(tǒng)。根據(jù)內(nèi)存訪問模式,大芯片可以分為對稱chiplet架構(gòu)、NUMA(非均勻內(nèi)存訪問)chiplet架構(gòu)、集群chiplet架構(gòu)和異構(gòu)chiplet架構(gòu)。在接下來的章節(jié)中,我們將以利用chiplet技術(shù)構(gòu)建大芯片為例,從性能、可擴(kuò)展性、可靠性、通信等方面討論這些大芯片架構(gòu)的特點。
Symmetric-chiplet architecture
對稱小芯片架構(gòu)(Symmetric-chiplet architecture)。如圖11(a)所示,對稱chiplet架構(gòu)由許多相同的計算chiplet組成,通過路由器網(wǎng)絡(luò)或chiplet間資源(例如中介層)訪問共享的統(tǒng)一存儲器或IO。Chiplet可以設(shè)計為具有本地緩存的多核結(jié)構(gòu),或者具有多個處理元件的NoC結(jié)構(gòu)。統(tǒng)一內(nèi)存可以被所有chiplet平等地訪問,這體現(xiàn)了UMA(統(tǒng)一內(nèi)存訪問)的效果。我們現(xiàn)在討論對稱小芯片架構(gòu)的三個主要優(yōu)點。
首先,對稱chiplet架構(gòu)允許多個chiplet執(zhí)行指令以提供高計算能力。工作負(fù)載可以分成小塊,然后分配給不同的Chiplet,以加快應(yīng)用程序的執(zhí)行速度,同時保持不同Chiplet之間的工作負(fù)載平衡。
其次,這種對稱的chiplet架構(gòu)提供了從不同chiplet到內(nèi)存的統(tǒng)一延遲,無需考慮NUMA等分布式共享內(nèi)存系統(tǒng)中的遠(yuǎn)程訪問或內(nèi)存復(fù)制,從而節(jié)省了由于不必要的數(shù)據(jù)移動而導(dǎo)致的延遲和能耗。
第三,對稱chiplet處理器還提供冗余設(shè)計,其他chiplet可以接管故障chiplet的工作,從而提高系統(tǒng)可靠性。由于共享內(nèi)存,對稱小芯片處理器可以在不增加額外私有內(nèi)存的情況下增加小芯片的數(shù)量。然而,當(dāng)對稱chiplet架構(gòu)繼續(xù)擴(kuò)大chiplet數(shù)量時,互連設(shè)計將受到物理布線的嚴(yán)重限制。解決高帶寬小芯片間通信和內(nèi)存請求沖突也具有挑戰(zhàn)性。請注意,增加Chiplet的數(shù)量可能會增加不同Chiplet對內(nèi)存的請求沖突,這會損害系統(tǒng)性能。平均而言,內(nèi)存帶寬由小芯片劃分。增加小芯片的數(shù)量會減少每個小芯片的分區(qū)內(nèi)存帶寬。工業(yè)界和學(xué)術(shù)界的一些設(shè)計采用了對稱芯片架構(gòu)。Apple M1 Ultra處理器[43]采用小芯片集成設(shè)計,具有兩個相同的M1 Max芯片,具有統(tǒng)一的內(nèi)存架構(gòu)設(shè)計。芯片上的內(nèi)核可以訪問高達(dá)128GB的統(tǒng)一內(nèi)存。Fotouhi [44]提出了一種基于小芯片集成的統(tǒng)一內(nèi)存架構(gòu),以克服距離相關(guān)的功耗和延遲問題。Sharma [45]提出了一種通過板載光學(xué)互連共享統(tǒng)一存儲器的多芯片系統(tǒng)。
NUMA-chiplet architecture
NUMA-chiplet架構(gòu)(NUMA-chiplet architecture)。NUMA小芯片架構(gòu)包含通過點對點網(wǎng)絡(luò)或中央路由器互連的多個小芯片,并且NUMA小芯片架構(gòu)的存儲器系統(tǒng)由所有小芯片共享但分布在架構(gòu)中,如圖11(b)所示。Chiplet可以采用共享緩存的多核設(shè)計,或者通過NoC互連的PE的設(shè)計。而且,每個chiplet可以占用自己的本地存儲器,例如DRAM、HBM等,這是其區(qū)別于對稱chiplet架構(gòu)的最明顯特征。盡管這些連接到不同chiplet的存儲器分布在系統(tǒng)中,但存儲器地址空間是全局共享的。共享內(nèi)存的這種分布式放置會導(dǎo)致NUMA效應(yīng),即訪問遠(yuǎn)程內(nèi)存比訪問本地內(nèi)存慢[46]。NUMA-chiplet架構(gòu)考慮了一些優(yōu)點。從單個chiplet的角度來看,每個chiplet都擁有自己的內(nèi)存,具有相對私有的內(nèi)存帶寬和容量,減少了與其他chiplet的內(nèi)存請求的沖突。此外,芯片與內(nèi)存的緊密放置提供了數(shù)據(jù)移動的低延遲和低功耗。
此外,在NUMA-chiplet架構(gòu)中,通過高帶寬點對點網(wǎng)絡(luò)或路由器互連的多個chiplet可以并行執(zhí)行任務(wù),從而提高系統(tǒng)性能和兼容性。這種NUMA小芯片架構(gòu)具有很高的可擴(kuò)展性,因為每個小芯片都有自己的內(nèi)存。然而,隨著NUMA-chiplet架構(gòu)擴(kuò)展到更多的chiplet,設(shè)計chiplet到chiplet互連網(wǎng)絡(luò)變得具有挑戰(zhàn)性。
此外,隨著chiplet數(shù)量的增加,編程模型的成本和難度也隨之增加。有一些設(shè)計采用NUMAchiplet架構(gòu)。AMD的第一代EPYC處理器將四個相同的小芯片與本地內(nèi)存連接起來[39]。對內(nèi)存的本地訪問和遠(yuǎn)程訪問之間的延遲差異可達(dá)51ns [46]。
在AMD第二代EPYC處理器中,計算Chiplet通過IO Chiplet連接到內(nèi)存,這顯示了NUMA-chiplet架構(gòu)[34]。另一種典型的NUMAchiplet架構(gòu)設(shè)計是Intel Sapphire Rapids [47]。它由四個小芯片組成,通過MDFIO(多芯片結(jié)構(gòu)IO)連接。四個小芯片組織為2x2陣列,每個芯片充當(dāng)NUMA節(jié)點。Zaruba [48]架構(gòu)了4個基于RISC-V處理器的小芯片,每個小芯片都有三個分別與其他三個小芯片的鏈接,以提供非統(tǒng)一的內(nèi)存訪問。
Cluster-chiplet architecture
集群小芯片架構(gòu)(Cluster-chiplet architecture)。如圖11(c)所示,集群chiplet架構(gòu)包含許多chiplet集群,總共有數(shù)千個核心。采用環(huán)形、網(wǎng)狀、一維/二維環(huán)面等高速或高吞吐量網(wǎng)絡(luò)拓?fù)鋪磉B接集群,以滿足此類超大規(guī)模系統(tǒng)的高帶寬和低延遲通信需求。每個集群由許多互連的小芯片和單獨的內(nèi)存組成,并且每個集群都可以運行單獨的操作系統(tǒng)。集群可以通過消息傳遞的方式與其他集群進(jìn)行通信。通過高性能互連實現(xiàn)強大集群互連的集群-chiplet架構(gòu)顯示出高可擴(kuò)展性并提供巨大的計算能力。
作為一種可擴(kuò)展性很強的架構(gòu),clusterchiplet架構(gòu)是許多設(shè)計的基礎(chǔ)。IntAct [30]集成了96個內(nèi)核,這些內(nèi)核在有源中介層上分為6個小芯片。6個小芯片通過NoC連接。Tesla [49]發(fā)布了用于億級計算的Dojo系統(tǒng)微架構(gòu)。在Dojo中,一個訓(xùn)練圖塊由25個D1小芯片組成,這些小芯片排列為5x5矩陣樣式。通過2D網(wǎng)格網(wǎng)絡(luò)互連的許多訓(xùn)練塊可以形成更大的系統(tǒng)。Simba [1]通過MCM集成,利用網(wǎng)狀互連構(gòu)建了6x6小芯片系統(tǒng)。Chiplet內(nèi)的PE使用NoC連接。
Heterogeneous-chiplet architecture
異構(gòu)小芯片架構(gòu)(Heterogeneous-chiplet architecture)。異構(gòu)chiplet架構(gòu)集成了異構(gòu)chiplet,由不同種類的chiplet組成,如圖11(d)所示。同一中介層上的不同種類的chiplet可以與其他種類的chiplet互補,協(xié)同執(zhí)行計算任務(wù)。華為鯤鵬920系列SoC[25]是基于計算chiplet、IOchiplet、AIchiplet等的異構(gòu)系統(tǒng)。Intel Lakefield[50]提出了將計算chiplet堆疊在基礎(chǔ)chiplet上的設(shè)計。計算chiplet集成了許多處理核心,包括CPU、GPU、IPU(基礎(chǔ)設(shè)施處理單元)等,基礎(chǔ)chiplet包含豐富的IO接口,包括PCIe Gen3、USB type-C等。在Ponte Vecchio [51]中,兩個基礎(chǔ)塊使用EMIB(嵌入式多芯片互連橋)互連。計算瓦片和RAMBO瓦片堆疊在每個基礎(chǔ)瓦片上。Intel Meteor Lake處理器[52]集成了GPUtile、CPUtile、IOtile和SoCtile。
hierarchical-chiplet architecture
對于當(dāng)前和未來的億億級計算,我們預(yù)測分層chiplet架構(gòu)(hierarchical-chiplet architecture)將是一種強大而靈活的解決方案。如圖11(e)所示,分層chiplet架構(gòu)被設(shè)計為具有分層互連的許多內(nèi)核和許多chiplet。在chiplet內(nèi)部,內(nèi)核使用超低延遲互連進(jìn)行通信,而chiplet之間則通過先進(jìn)封裝技術(shù)的低延遲互連,從而可以在這種高可擴(kuò)展性系統(tǒng)中降低片上(let)延遲和NUMA效應(yīng)最小化。存儲器層次結(jié)構(gòu)包含核心存儲器、片內(nèi)存儲器和片外存儲器。這三個級別的內(nèi)存在內(nèi)存帶寬、延遲、功耗和成本方面有所不同。
在分層chiplet架構(gòu)的概述中,多個核心通過交叉交換機(jī)連接并共享緩存。這就形成了一個pod結(jié)構(gòu),并且pod通過chiplet內(nèi)網(wǎng)絡(luò)互連。多個pod形成一個chiplet,chiplet通過chiplet間網(wǎng)絡(luò)互連,然后連接到片外存儲器。需要仔細(xì)設(shè)計才能充分利用這種層次結(jié)構(gòu)。合理利用內(nèi)存帶寬來平衡不同計算層次的工作負(fù)載可以顯著提高chiplet系統(tǒng)的效率。正確設(shè)計通信網(wǎng)絡(luò)資源可以確保chiplet協(xié)同執(zhí)行共享內(nèi)存任務(wù)。
VI.構(gòu)建大芯片:我們的實現(xiàn)
為了探索大芯片的設(shè)計和實現(xiàn)技術(shù),我們構(gòu)建并設(shè)計了一個基于16個小芯片的256核處理器系統(tǒng),名為浙江大芯片。在這里,我們介紹了擬議的Big Chip處理器。
浙江大芯片采用可擴(kuò)展的基于tile的架構(gòu),如圖13所示。該處理器由16個chiplet組成,并且有可能擴(kuò)展到100個chiplet。每個chiplet中都有16個CPU處理器,通過片上網(wǎng)絡(luò)(NOC)連接,每個tile完全對稱互連,以實現(xiàn)多個chiplet之間的通信。CPU處理器是基于RISC-V指令集設(shè)計的。此外,該處理器采用統(tǒng)一內(nèi)存系統(tǒng),這意味著任何區(qū)塊上的任何核心都可以直接訪問整個處理器的內(nèi)存。
為了連接多個小芯片,采用了芯片間(D2D)接口。該接口采用基于時分復(fù)用機(jī)制的通道共享技術(shù)進(jìn)行設(shè)計。這種方法減少了芯片間信號的數(shù)量,從而最大限度地減少了I/O bumps和內(nèi)插器布線(interposer wiring)資源的面積開銷,從而顯著降低了基板設(shè)計的復(fù)雜性。小芯片終止于構(gòu)建微型I/Opads的頂部金屬層。浙江大芯處理器采用22 nm CMOS工藝設(shè)計和制造。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229648 -
存儲器
+關(guān)注
關(guān)注
38文章
7484瀏覽量
163760 -
芯片設(shè)計
+關(guān)注
關(guān)注
15文章
1015瀏覽量
54875 -
路由器
+關(guān)注
關(guān)注
22文章
3728瀏覽量
113700 -
chiplet
+關(guān)注
關(guān)注
6文章
431瀏覽量
12584
原文標(biāo)題:大芯片:挑戰(zhàn)、模型與架構(gòu)----構(gòu)建大芯片
文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論