在上個月舉行的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緩存線的方式,這樣的微架構對性能會有怎樣的影響?
【來源:超能網】