更多

    AMD Threadripper 32 核心從何而來?終極簡單拆解 4 晶片 CCX 架構

    呀粗
    呀粗
    覺得科技很有趣,努力增補電腦知識中。喜歡儲設計精美的電腦產品包裝盒。

    上文提到 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 設計,希望讓大家更易明白。

    Threadripper 32 核心 CPU 的實物,可見它有 4 個晶片。(筆者攝於 Computex 2018)
    Threadripper 32 核心 CPU 的實物,可見它有 4 個晶片。(筆者攝於 Computex 2018 )

    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]

    AMD Threadripper 1950X 開蓋後的樣子。圖片來源:De8auer
    AMD Threadripper 1950X 開蓋後的樣子。圖片來源:De8auer

    [/double_paragraph][double_paragraph]

    其實就等如這張圖片。(圖片取自 EPYC CPU 官網,Threadripper 1950X 沒那麼多 Infinity Fabric。)
    其實就等如這張圖片。(圖片取自 EPYC CPU 官網, Threadripper 1950X 沒那麼多 Infinity Fabric)

    [/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 )的資料,圖中以無限符號表示。

    圖中每一塊晶片,都有 2 個「橙色」CCX。圖片來源:電子發燒友。
    圖中每一塊晶片,都有 2 個「橙色」 CCX 。圖片來源:電子發燒友。
    單一個 CCX 內有 4 個 CPU 核心、L2 Cache 和 L3 Cache。
    單一個 CCX 內有 4 個 CPU 核心、 L2 Cache 和 L3 Cache 。
    不同型號的 Ryzen CPU,每個 CCX 的核心數量都不同。圖片來源:Anergos @ Reddit
    不同型號的 Ryzen CPU ,每個 CCX 的核心數量都不同。圖片來源:Anergos @ Reddit

    為何 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 核啊~

    完整 4 晶片架構大概是這樣,黑色框代表晶片,每個晶片內有 2 個 CCX,湖水綠色是 CPU 核心,紫色是核心的 L2 Cache,橙色是 CCX 的 L3 Cache。32 核心 Threadripper 2990X 據聞用此設計。
    完整 4 晶片架構大概是這樣,黑色框代表晶片,每個晶片內有 2 個 CCX,湖水綠色是 CPU 核心,紫色是核心的 L2 Cache,橙色是 CCX 的 L3 Cache 。 32 核心 Threadripper 2990X 據聞用此設計。
    Threadripper 1950X 把兩個晶片屏蔽,所以總共有 16 個核心。
    Threadripper 1950X 四個晶片中,有兩個是「假的」,所以總共有 16 個核心。
    Threadripper 1950X 實質只有 2 個晶片,只是 AMD 多把兩個「假晶片」放進封裝裡。
    Threadripper 1950X 實質只有 2 個晶片,只是 AMD 多把兩個「假晶片」放進封裝裡。

    那麼 Threadripper 2990X 是怎麼組成的呢?很淺而易見,就是 4 個 Die 都全部啟動,總共有 4 核心 × 2 CCX × 4 Die = 32 核心了~完成解題!當然 32 核心是否稱為 Threadripper 2990X ,以及它是否真的用同一個 CCX 架構,就有待 AMD 發表會時公布啦~

    Source:AMD 官網BenchLifeExtreme Tech

    您會感興趣的內容

    相關文章