上文提到 AMD 可能於 8 月 13 日推出 32 核 Threadripper 2990X ,也是沿用上一代的 4 Die CCX 架構,不過就 4 個 Die 都全部用上,並非如上一代 1950X 般,把 2 個 Die 屏蔽。老實說,小編呀粗不是硬件高手,當我最初聽道 Threadripper 1950X 這個設計時,也摸不著頭腦,究竟為何要關閉其中 2 個 Die 呢?甚或究竟 Die 是甚麼? CCX 又是甚麼東東?以下會嘗試用最簡單淺白的方法,剖析 AMD Ryzen 系列 CPU Zen 架構的 CCX 設計,希望讓大家更易明白。
4 晶片 MCM 設計
由於本篇文章是由 AMD Ryzen Threadripper 2990X 衍生出來,所以不如就用上一代的 Threadripper 1950X 作例子,逐層剝開解析吧。首先把 Threadripper 1950X CPU 「開蓋」,即掀開那個 IHS 銀蓋,再移除錫焊散熱材質,那就會看到很乾淨的 CPU 基板,上面有 4 個晶片,其實就是所謂的 4 個 Silicon Die(姑且稱為 Die 0 、 Die 1 、 Die 2 、 Die 3 吧),亦代表這顆 CPU 是採用 MCM ( Multi-Chip-Module )多晶片封裝設計。 MCM 的好處是,可以將複雜的 CPU 結構分割成多個容易生產的晶片,降低技術難度,提高良率。試想想,如果要造出一個龐大的晶片( Monolithic ),來容納 32 個核心,也很難吧?但如果分成多個晶片製造,每個晶片只有數個核心,就相對較易生產。
[row][double_paragraph]
[/double_paragraph][double_paragraph]
[/double_paragraph] [/row]
CCX CPU Complex
再拆解 Silicon Die ,其實每個 Die 都有 2 個 CCX 模組, CCX 的全寫為 CPU Complex 。說到明 Complex ,當然有少許複雜,於 Threadripper 1950X 而言,它每組 CCX 內都有 4 個 CPU 核心,圖裡會以 Core 0 、 Core 1 、 Core 2 、 Core 3 標示,而不同 CPU 型號的 CCX ,內裡的核心數量都未必一樣喔。然後每個核心都擁有 512KB L2 Cache ,而每個 CCX 則有 8MB L3 Cache 。另外 Die 與 Die 之間、 CCX 與 CCX 之間,都會以 Infinity Fabric 的極高寬頻通道串聯(有網友稱它為膠水),互相傳遞數據、系統記憶體及其他控制器( I/O 、 PCIe )的資料,圖中以無限符號表示。
為何 Threadripper 1950X 關掉兩個晶片?
把 CPU 各部分都解剖後,就可以計一計數了。 Threadripper 1950X CPU 在開蓋後,會見到 4 個晶片,每個晶片有 2 個 CCX,每個 CCX 有 4 個核心,因此有 4 × 2 × 4 = 32 核心?!好啦,終於說到重點了,因為 Threadripper 1950X 定位是 16 核心,所以實質只有 2 個晶片在運作, 4 核心 × 2 CCX × 2 Die = 16 個 CPU 核心。但為甚麼不索性只放兩個 Die 呢?其實這顆 CPU 的封裝基板設計是需要 4 個 Die,如果只放 2 個 Die 的話,你可幻想當風扇等散熱器大力壓著 CPU IHS 時,就會出現「不平衡」的情況,要 4 個 Die 才夠穩定。所以 Threadripper 1950X 初推出時,也有傳言指那兩個「閒置」晶片,其實是有瑕疵、被棄用的 EPYC 晶片,可能有些方法能啟動它們,變成 32 核心 EPYC CPU 。不過其實那兩個「閒置」晶片並非真實的晶片,所以並不能自行升級變 32 核啊~
那麼 Threadripper 2990X 是怎麼組成的呢?很淺而易見,就是 4 個 Die 都全部啟動,總共有 4 核心 × 2 CCX × 4 Die = 32 核心了~完成解題!當然 32 核心是否稱為 Threadripper 2990X ,以及它是否真的用同一個 CCX 架構,就有待 AMD 發表會時公布啦~
Source:AMD 官網、BenchLife、Extreme Tech