IBM下一代Z系列處理器''Telum'':或展示了CPU緩存的未來

在上個月舉行的HotChips 33上,IBM公佈了其下一代Z系列處理器“Telum”。這款處理器採用了全新的內核架構,針對AI加速做了優化。其配置了8核16線程,頻率超過5GHz,採用了三星7nm工藝製造,核心面積為530平方毫米,集成了225億個晶體管,擁有全新的分支預測、緩存和多芯片一致性互連。

IBM的Z系列處理器以擁有大型L3緩存而出名,並有單獨的全局L4緩存,可作為多個處理器之間的緩存。不過在Telum上,不但沒有了L4緩存,而且L3緩存也沒有了。要知道無論英特爾還是AMD,現在都儘可能增大L3緩存容量或增加L4緩存以提高性能,比如在AMD採用3D垂直緩存(3D V-Cache)技術的Zen 3架構桌面處理器,為每個CCD帶來額外的64MB 7nm SRAM緩存。

近日,Anandtech發表了一篇 文章 ,討論了Telum的緩存架構。

現代的處理器普遍都有多級緩存,至於為什麼會這樣,可以看我們《 超能課堂(133):為什麼CPU緩存會分為L1、L2、L3? 》簡單瞭解一下。簡單來説,越靠近執行端口的緩存越小但越快(比如L1),緩存越多且越大那麼訪問所需的週期就越長(比如L3)。緩存除了大小,延遲也很重要,通常緩存越大延遲越大,緩存命中率也會更低。

為了更有效利用緩存,芯片設計公司需要分析這款處理器將用於哪方面的工作負載,以提高設計的效率。IBM的產品一般都是大型主機使用,大多是政府或銀行這樣的客户,對安全性和穩定性極高,這些產品都有故障安全和故障轉移功能。

IBM在上一代Z15產品上,基本單元是一個由五個模塊構成的系統,其中四個是計算模塊(CP),一個是控制模塊(SC)。四個計算模塊每個有12個內核和256MB共享的L3緩存,核心頻率為5.2 GHz,面積為696平方毫米。四個計算模塊兩兩配對,各自與控制模塊相連。控制模塊擁有960MB的L4緩存,並與四個計算模塊共享。Z15採用了IBM和GlobalFoundries聯合研發的14nm FinFET SOI特殊工藝製造,L1和L2緩存與核心頻率一樣都是5.2 GHz,L3和L4緩存則是半速的2.6 GHz。

這意味着單個IBM Z15系統是25塊696平方毫米的芯片組成,共有20 x 256MB的L3 緩存,還有5 x 960MB的L4緩存,以全對全拓撲連接。

IBM沒有將新一代產品稱為Z16,而且稱為Telum,可能是因為對緩存的採用了不同的處理方法。Telum採用三星7nm工藝製造,單芯片擁有8個核心,面積為530平方毫米。IBM將兩個芯片封裝在一起,將四個同樣封裝的處理器組成一個單元,然後將四個同樣的單元組成一個系統,整個系統共有32個芯片和256個核心。

IBM為每個核心配置了32MB的L2緩存,這比一般的處理器大得多,而且取消了核心之間共享的L3和L4緩存。一般來説,這樣的設計會使得緩存有很高的訪問延遲。IBM採取的方法是,通過私有物理緩存裏打造共享虛擬緩存的方法解決,意思是將平時需要放置在L3緩存裏的部分標記為L3緩存線存在不同核心空餘的L2緩存裏。L2和L3緩存在物理上是一致的,但是可以根據工作負載的需要,包含來自不同核心的L2和L3緩存線的混合。這意味着一個芯片8個核心裏,8 x 32MB共256MB的L2緩存也可以視為“虛擬”L3緩存。

相似的方法IBM也用在了原來的L4緩存上,L2緩存裏也可以容納L4緩存線。從單個核心的角度來看,在一個基於Telum打造標準的系統,可以訪問32MB的L2緩存,256MB的共享虛擬L3緩存,以及8GB的共享L4緩存。IBM表示,使用這種虛擬緩存的系統,每個核心的緩存相當於Z15的1.5倍,而且還改善了數據訪問的平均延遲,性能提高了40%以上。

在具體運行中如何降低延遲和保證命中率是一個非常複雜的操作,加上功耗、緩存在斷電和空閒等狀態下如何保證單核心工作負載的一致性,這都是IBM需要考慮的問題。可以思考一下,如果AMD使用3D V-Cache技術堆疊的不是L3緩存,而是L2緩存,同樣採取虛擬L3緩存線的方式,這樣的微架構對性能會有怎樣的影響?