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 個核心 。 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 緩存線的方式,這樣的微架構對性能會有怎樣的影響?