電腦用chiplet處理器後有哪些變化?

作者 : 黃燁鋒,EE Times China

PC領域chiplet方案的近代應用並不新鮮,借著第14代Core的chiplet方案,有機會瞭解應用於PC處理器的chiplet結構設計未來會向怎樣的方向發展…

似乎PC處理器這兩年競爭的焦點,除了性能、能效這些常規指數,還包括期貨水準.....Intel和AMD現在都熱衷於輪番預告未來產品多麼彪悍。尤其是Intel,第12代Core剛發幾天,第13代Core和第14代Core的消息就不絕於耳了。 最近的Technology Tour 2022上,Intel又分享了有關第13代Core (Raptor Lake) CPU最高頻率可上達6GHz,以及超頻記錄達8GHz的消息——這應該是針對即將上市AMD Ryzen 7000的5.7GHz,此種操作方式也算是市場「資訊戰」了。 不過畢竟過不了多久第13代Core就要發佈了,真正「展望」作品應該是第14代Core (Meteor Lake)。今年中的Intel Vision大會上,Intel就展示了第14代Core處理器的真容:讓人們知道其chiplet方案怎麼做,以及Intel 4製程正式提槍上馬。 這些未來產品消息放的釋放,更多的應該還是為了穩住市場和投資者,尤其是Intel著眼戰未來技術的現狀。上個月的Hot Chips 34上,Intel詳述了Meteor Lake的部分細節資訊:尤其是這代晶片採用的chiplet方案。借著第14代Core的chiplet方案,也有機會瞭解應用於PC處理器的chiplet結構設計未來會向怎樣的方向發展。 AMD、蘋果已在用chiplet PC領域chiplet方案的近代應用並不新鮮,為普羅大眾所知的是用在Mac Studio上的蘋果M1 Ultra——。這顆晶片差不多是把兩顆M1 Max加在一起,屬於比較典型的基於chiplet的晶片。所謂的chiplet結構,也就是把幾顆die封裝到一起構成一顆晶片的方案。這種晶片的每一片die,就是一個chiplet,chiplet的本質也就是一種多die解決方案。 chiplet出現的原因莫過於(1)單die越來越大,大到微影設備即將無法處理(超過reticle limit限制);(2)尺寸縮減的多die有利於提升產品良率,縮減成本;(3)應用端的運算力需求仍在不斷增加,chiplet式的設計也有利於堆運算力,在產品組合上也更為靈活。     AMD則是在PC市場上更早應用chiplet方案的先鋒,比如在Ryzen 3000系列CPU上,每4個CPU核心組成一個CCX,兩個CCX構成一個CCD——也就是一片die/chiplet。多個CCD,外加I/O die,就構成了完整的晶片。這算是近些年PC處理器核心數飆升的某一個原因,畢竟藉由增加CCD來增加處理器核心比以前容易多了。這年頭,16核處理器已經不罕見了。 其實基於前文chiplet技術很不嚴謹的定義,當年的IntelPentium D膠水雙核心處理器(2005年)似乎也可以被稱做chiplet。嚴謹一點,若說chiplet要求先進封裝(或至少不是PCB等級的電路連接),那麼近代Intel在自家處理器上採用chiplet方案的處理器應該是Kaby Lake-G,第8代Core產品中的某一個偏門系列,將AMD的iGPU (核顯)與Intel的CPU藉由2.5D先進封裝製程,放到同一顆晶片上。 Meteor Lake的chiplet 不過像Kaby Lake-G這樣的產品,怎麼說都只是試驗和先進封裝製程的練手。Intel始終也沒有像AMD那樣,透過chiplet來堆CPU核心。似乎從直覺來看,隨著當代PC處理器核心數增多、I/O能力增強、核顯性能內卷,眼見著die size越來越大,還不得不給更多的運算力,再不用chiplet是真的不行了。 先前第14代Core的die shot公佈時,我們也都知道了這代產品終於要開始用chiplet方案。但很顯然,Meteor Lake基於chiplet的晶片架構與AMD仍然大相徑庭。     Meteor Lake總共4片die,Intel稱其為tile,分別是CPU Tile、SoC Tile、Graphics Tile和IOE Tile (IO extender)。CPU Tile裡面主要就是CPU核心與cache,而Graphics Tile自然就是核顯部分了,SoC Tile包含先前SA (System Agent)的絕大部分功能,IOE Tile則連接到SoC Tile。所有的tile都放到一片base die上,這種chiplet式的方案自然就極大提升了處理器產品面向不同市場的靈活性。 比如說要是很看重PCIe連接數量,那麼SoC Tile可以做擴展;針對筆記本設備時,SoC Tile還可以加上影像處理單元之類的部分;而CPU Tile則能夠根據場景需要來設計不同的核心數組合;GPU die則針對不同的圖形運算力需求。     很容易發現,Meteor Lake的chiplet「切分」方式,和AMD Ryzen的chiplet相當不一樣。可能很多人會認為,AMD的CCD + I/O die的設計更靈活,但AMD在行動平台上受制於功耗仍然採用單die方案;而且從die間通訊和封裝的角度來看,AMD所用的chiplet方案並不能算先進封裝——而是直接從PCB基板走線——這種方案成本更低,但對通訊效率和功耗而言都不是什麼好事。 Intel雖未詳談Meteor Lake封裝,但大致也不離文章裡談到的主流技術。基於2.5D/3D封裝,則Meteor Lake的封裝成本自然就會高於AMD現階段的方案,更靠近蘋果M1 Ultra (雖然還是不同的)。從擴展靈活性的角度來看,如果CPU要增加更多核心,那麼CPU Tile需要更大的die size,則base die的這種矽仲介或矽橋也要跟著變大。 不過2.5D/3D先進封裝能夠獲得更高的IO密度、功耗也會更低。這對小尺寸封裝,以及電池驅動的功耗敏感型設備來說會很有價值。 Die間互連與通訊 AMD先前提到Zen架構的die-to-die Infinity Fabric連結功耗水準為2 pJ/bit;Zen 2的Infinity Fabric這一數值降低了大約27%。Chips and Cheese在近期的技術文章中提到,有理由認為AMD的die間傳輸功耗應該和Intel Haswell (第4代Core)的OPIO (一般是片上處理器die和PCH die的連接)類似。     上面這張來自Intel的PPT基本能闡明這一點。Intel將Meteor Lake的die-to-die link稱作FDI (Foveros Die Interconnect)。而FDI的die間通訊功耗水準為0.2~0.3pJ/bit。這張圖中的延遲資料比較模糊,只說是小於10ns。AMD那種相對簡單粗暴的連接方式,先前公佈的延遲資料也是差不多的水準。 AMD說Zen 2架構的這種die間連接延遲為13個FCLK (Infinity Fabric)時脈週期,即不到9ns;如果推升DDR記憶體頻率和FLCK的頻率,則Ryzen 3000系列處理器的13個FCLK週期可低至7.22ns,所以Intel這邊的延遲資料就顯得並不算多好。 另外表中的頻寬資料也不算明朗,2 GT/s沒有說明每次傳輸的寬度。Chips and Cheese評論說,有可能頻寬也就是OPIO或IFOP (Infinity Fabric On Package)的水準。     通訊協議方面,Intel表示CPU與SoC Tile採用IDI (In-Die Interface)協議,Graphics Tile到SoC Tile則採用iCXL協議(對於現在很夯的CXL的一個內部實施方案,和IDI應該有諸多相似之處),SoC與IOE Tile連接是透過IOSF (Integrated On-chip System Fabric)和DisplayPort——可見IOE Tile上估計是有PCIe控制器和DisplayPort PHY。 這裡的IDI,最早出現於Intel Nehalem架構(2008年,初代Core i5/i7),用於把CPU核心連接到uncore的Global Queue和L3;後續IDI就成為Intel處理器ring bus匯流排的主要協定了,當然後續有不斷更新。總的來說,IDI是一種處理mesh和ring匯流排通訊的內部協定。 值得一提的是,先前Intel處理器的核顯也採用IDI協定與L3 cache連接。Core處理器從Sandy Bridge (第6代Core)開始就把核顯掛在環形匯流排上,LLC (也就是L3 cache)也與核顯共用(如下圖)。換句話說,核顯和CPU一樣都能用L3資源。     不過從Meteor Lake的die shot來看,Graphics Tile和CPU Tile離得比較遠,所以過去的這種設計應當也就不復存在了,也就是說核顯可能就不再共用L3 cache了。這麼做對核顯效率會有影響嗎?Chips and Cheese評論說或許也未必,因為一方面匯流排上的stop變少,這利於降低延遲、提升資料傳輸的能效;另外這可能也有機會讓ring頻率變高,達成CPU核心更高的L3性能;還有就是核顯和CPU隔開,便於將整個CPU Tile設定在低功耗狀態,降低功耗。 Chips and Cheese對此還特別提到了一點,就是一般核顯的LLC命中率極低。比如Arm架構普遍會用到的SLC (System Level Cache)也為GPU服務,8MB SLC就只有28%的命中率。AMD的GPU Infinity Cache命中率也很低。Intel這邊的情況也沒好到哪裡去。所以有沒有必要再共用L3,原本就很值得懷疑。 與此同時,Intel處理器現在的Xe核顯配備了更大的專用cache,相比AMD這邊的Vega和RDNA 2核顯都更大。若這種設計持續,則Meteor Lake的核顯應該就有足夠的cache資源,不需要多依賴L3,那麼當前的這種設計也就比較好理解了。  

(來源:Lecomptoir via Chips and Cheese)

  雖然單純從實體層面的die shot來觀察,我們普遍都覺得Meteor Lake即便用了chiplet的方案,耦合度依然比較高,但Chips and Cheese認為其靈活度相比AMD的方案更高,更為分散化(disaggregation)。而且FDI連接在達成與AMD IFOP相似性能的同時,功耗更低。 所以這種連接並不用於性能敏感路徑。SoC到IOE Tile連結處理DisplayPort和PCIe資料;核顯記憶體訪問則主要由核顯的專用cache進行——核顯到SoC連結用於處理GPU的cache未命中請求;CPU的L3主要獲取記憶體訪問,即藉由CPU到SoC Tile。 Chips and Cheese認為SoC很可能在CPU Tile上有掛一個ring stop,跨die連結只留意發往SoC的IDI packets,而「熱」資料則僅在CPU Tile內部ring stop上傳遞。從die shot來看,在CPU Tile的效率核(E-core) ring stop和這片die的邊緣之間有這麼一個部分,猜測「這個位於CPU Tile的部分會有不少發往SoC Tile請求的佇列和仲裁邏輯。」 明年電腦全面走向chiplet Intel在Hot Chips上再次明確了第14代Core Meteor Lake明年發佈——上個月有傳言說提到台積電N3製程遭遇不確定性,可能對Meteor Lake的發佈產生影響,不過最近的消息則指出,Meteor Lake的Graphics Tile實際上用的是台積電N5製程。另外除了CPU Tile基於Intel 4製程外,傳言IOE Tile和SoC Tile都基於台積電N6製程(還有個base die是基於Intel的22FFL製程)。 無論桌上型電腦還是筆電的Meteor Lake處理器,預計都會採用這種chiplet方案。畢竟像Intel這種方案的特色就是針對不同場景的彈性化選擇。未來AMD也有概率會採用類似的方案,因為先前AMD就提到以後15~45W TDP的處理器也將應用chiplet結構,這對其現有IFOP而言在功耗上是個挑戰。 這算是個新的技術戰場,我們也很期待看到在PC處理器具備相當的性能與功耗彈性擴展空間以後,又會賦予PC設備怎樣的體驗提升。 本文原刊登於EE Times China網站      

發表評論