2019.06.17 09:00

AMD Next Horizon Gaming Tech Day:揚眉吐氣 Zen 2 微架構深度解析,同場加映 Matisse 封裝技術

ADVERTISEMENT

透過 Zen 2 微架構改進和 TSMC 7nm 製程,AMD 第三代 Ryzen 桌上型處理器已有競爭對手 Coffee Lake 微架構的單執行緒 IPC 性能,再加上 I/O 晶粒與 CCD 運算晶粒分離的設計,提供多樣化、高彈性的實體核心數量配置,最高甚至可提供 Ryzen 9 3950X 十六核心規格。

6 核心至 16 核心任選

自從 AMD 宣布推出 Zen 微架構 Ryzen 系列處理器,就可以看出 AMD 在製造方面選擇與 Intel 分岔的道路,Intel 至今依舊選擇所有核心擺放在同一晶粒,同時製造、生產(超過實體 28 核心產品採用雙晶粒封裝)。由於 Intel 處理器產品絕大多數依舊掌握在自己的晶圓廠,因此採用此設計合情合理。

另一方面,AMD 早在 Zen 微架構產品推出之前,將晶圓廠切割出去,Zen 微架構也採用小核心晶粒透過拼湊封裝方式,推出超過實體八核心的產品線。此種作法的主要能夠降低生產成本,又能夠因應市場需求快速調整核心數量。

ADVERTISEMENT

Zen 2 微架構實作,AMD 選擇僅提升運算晶粒 CCD 製程至 TSMC 7nm,搭配使用的 I/O 晶粒則採用 14nm(12nm?詳情後述),每個 CCD 包含 2 個 CCX 以及用來與 I/O 晶粒相互連結的 Infinity Fabric,I/O 晶粒則根據不同平台的需求,進行差異化設計。

除了代號 Rome 下一世代伺服器 EPYC 處理器,位居主流消費市場的第三代 Ryzen 桌上型處理器系列同樣採用 Zen 2 微架構,以及 CCD 運算晶粒和 I/O 晶粒分離式的設計,目前預計推出單 CCD 實體六核心 Ryzen 5 3600,直至雙 CCD 實體十六核心 Ryzen 9 3950X 共 5 款不同等級產品。

ADVERTISEMENT

Zen 2 補完 Zen/Zen+

整體而言,Zen 2 微架構主要的進步之處在於填補先前 Zen/Zen+ 微架構的不足,因此要見到 Zen 微架構對比工程機械微架構那般的效能暴漲,坦白說是讀者們多慮了。不過 AMD 依舊創造出 Zen 2 IPC 成長 15% 成績,過去讓人在意的 AVX 256bit 浮點運算效能和記憶體存取延遲,也紛紛在 Zen 2 微架構產品獲得改善。

另一方面,堆疊核心數量則是 AMD 從 Zen 微架構處理器產品以來的強項,第一代產品就逼得 Intel 不得不放棄祖傳許多代的 Core i7 實體四核心設計,推出 Core i7-8700K,接著甚至下放 Core i9 品牌等級至主流消費市場,推出實體八核心 Core i9-9900K,今年下半年甚至還有全數八核心渦輪加速頻率至 5.0GHz 的 Core i9-9900KS。

ADVERTISEMENT

預測更準、單元更多、道路更寬

由於 Zen/Zen+ 架構採用的 GlobalFoundries 14nm/12nm 製程,其電晶體密度表現依舊不敵 Intel 14nm,因此 AMD 在此世代的微架構設計不得不採用一些折衷方案,其中最為明顯的是 256bit 浮點運算,雖然支援 AVX/AVX2 指令集,但卻需要拆成 2 個 128bit 指令,因為浮點運算單元寬度就只有 128bit。(註:AMD 選擇的 GlobalFoundries 12nm 為 14nm 最佳化版本,鰭片式電晶體長得更高、電氣特性更為優秀,但無法在同一面積之內塞入更多電晶體。)

Zen 2 微架構 CCD 改交由台灣 TSMC 7nm 製程製造,一舉追過 Intel 14nm 製程,可以放入許多需要耗費大量電晶體的功能;根據官方數據,轉進 7nm 製程可於相同面積之內塞入 2 倍數量電晶體,能夠以一半的耗電量提供相同效能,或是在相同功耗之下提供 1.25 倍以上效能。

ADVERTISEMENT

Zen 2 微架構具體而言,前端調整分支預測器至 TAGE 形式、L1 快取調整為 32KB 容量 8-way、µOp 微運算快取增至 4096 個條目,連帶 L3 快取增為 Zen/Zen+ 為架構的 2 倍。整數處理單元的重命名暫存器為 180 個、AGU 則為 3 個、每個時脈週期 2 個載入與 1 個儲存工作寬度增為 32Byte,浮點數處理器寬度增至 256bit。

由 AMD 釋出的圖表可得知,L1 分支預測依舊使用 Hashed Perceptron 方式,但是 L2 則進化成 TAGE,至於各階層的 Branch Target Buffer 條目數量均有上升,L0 BTB 從 8 個提升至 16 個、L1 BTB 從 256 個提升至 512 個、L2 BTB 則從 4096 個變為 7168 個,此外 Indirect Target Array 也從 512 個條目翻倍成 1024 個。上述 Zen 2 微架構前端改進,可降低約 30% 分支預測錯誤率。

L1 指令快取變成 32KB,容量少見地縮水,但快取映射組關聯性從 4-way 變成 8-way,變成與 L1 資料快取相同,AMD 表示此舉能夠提升相關連性,並增加預取以及使用效率。

解碼部分最大的變化為 µOp 微運算快取,從原先 2048 個條目增加至 4096 個條目,其餘解碼數量倒是沒有什麼變化,解碼器依舊可以同步解碼 4 條指令並輸出,µOp 微運算快取則可輸出 8 條 macro-OP,AMD 表示 µOp 微運算快取輸出將有更佳的指令融合效果,因此整體而言可增加有效指令輸出量,同一時脈週期最高依然可以配發 6 個整數微運算或是最高配發 4 個浮點數微運算。

整數運算執行區塊,內部仍然使用 4 個 ALU,但前方的 ALU 排程器條目數量從每個 ALU 分配到 14 個條目,變成 16 個條目。AGU 則增加 1 個來到 3 個,前方 AGU 排程器已不再使用每個 AGU 對應 14 個條目的設計,而是所有 3 個 AGU 共享單個排程器 28 個條目。

其餘整數運算共享部分,重命名暫存器條目從 168 個提升至 180 個,且由於 AGU 增加 1 個的關係,每時脈週期可 issue 的指令也從 6 個提升至 7 個,Reorder Buffer 重排序緩衝區條目則是從 192 個增至 224 個。AMD 也在此提升雙執行緒指令排程時的 ALU/AGU 使用公平性,並標記 ALU 令牌以便管理 spinlock 狀態。

這次 Zen 2 微架構浮點運算處理的首要任務為加強 256bit 寬度執行效率,因此所有的變更均圍繞此項目標,不僅是 2 個乘法器和 2 個加法器已可在單一指令完成 256bit,身旁傳輸的管線也從 2 x 128bit 而拓寬變成 2 x 256bit。至於能不能夠如同 Intel 部分微架構可將 2 個 256bit 融合成能夠執行 AVX-512,AMD 沒說意即應不具備此機制。

載入與儲存區塊,同樣因為要支撐更大的吞吐量而拓寬道路,每個時脈週期依舊能夠提供 2 個載入與 1 個儲存動作,載入維持 72 個亂序佇列,儲存佇列從 44 個抬升至 48 個,每個載入或是儲存動作的頻寬也從 16Byte 提升至 32Byte。L2 資料 TLB 如同先前所述,從 1532 個條目增加至 2048 個條目。

其餘部分則沒有太大的變化,AMD 僅公布更快的存取速度,更低的延遲等文字敘述;L3 快取階層不變,依然為 Victim Cache 設計,從 L2 快取排除的指令或是資料會被填入 L3 快取,以待未來再次使用時無須從記憶體當中載入,而 L3 快取容量於 Zen 2 微架構容量加倍,單一實體核心 L3 快取從 8MB 拓展成 16MB。

Zen 2 微架構同時導入 3 個新指令,分別為 CLWB、WBNOINVD、QOS,前 2 者分別可以將處理器核心內部修改過的髒資料回寫,而無須將快取內部資料全數清空,QOS 則是提供快取與記憶體控制,保留更多的快取資源與記憶體頻寬給需要的執行緒。

 

(下一頁:主流市場 Matisse 封裝秘辛)

ADVERTISEMENT