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

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 微架構也採用小核心晶粒透過拼湊封裝方式,推出超過實體八核心的產品線。此種作法的主要能夠降低生產成本,又能夠因應市場需求快速調整核心數量。

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 款不同等級產品。

▲ AMD 主流市場採用 Zen 2 微架構的第三代 Ryzen 桌上型處理器系列產品將從 Ryzen 5 3600 實體六核心起跳,直到最高 Ryzen 9 3950X 實體十六核心。入門款式則考量使用者不一定會另外購買獨立顯示卡為訴求,以升級至 Zen+ 微架構的 Ryzen 5 3400G 和 Ryzen 3 3200G 填補空缺。

Zen 2 補完 Zen/Zen+

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

▲ 「Zen」微架構名稱由資深研究員/領銜架構師 Michael Clark 親自挑選,代表著處理器微架構在多方競爭下的平衡--效能,功耗、電晶體數量、指令集……等,這次 AMD Next Horizon Gaming Tech Day 同樣由他主述 Zen 2 微架構改進。

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

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

由於 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 倍以上效能。

▲ AMD 在去年 11 月所舉辦的 Next Horizon 活動當中,揭曉 7nm 製程比對手 14nm 製程在每瓦效能表現上更佳。

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

▲ Zen 2 微架構實體單核心依舊支援 2 個執行緒,並受惠於 7nm 製程增加快取容量或是執行單元、執行單元寬度。

▲ L1 指令快取變成 32KB、8-way,L2 快取沒有變化,L2 資料 TLB 從 Zen/Zen+ 微架構的 1532 個條目增加至 2048 個條目。

由 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 表示此舉能夠提升相關連性,並增加預取以及使用效率。

▲ 擷取指令階段導入 TAGE 形式分支預測器,其餘分支預測縮需的快取條目容量,在 Zen 2 微架構當中同步增長。

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

▲ Zen 2 微架構指令解碼最大的改變在於 µOp 微運算快取條目數量從 2048 個增至 4096 個,µOp 微運算佇列應該還是維持 72 個條目不變。

整數運算執行區塊,內部仍然使用 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 微架構整數運算增加 1 個 AGU 並略微修改前端 AGU 排程器架構,其餘手法為增加緩衝區或是可用硬體資源。

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

▲ 浮點運算處理可說是 Zen 2 微架構大力提升的對象,從 2 個 128bit 寬度乘法器/加法器變成 2 個 256bit 寬度,週遭線路也因此拓寬。

載入與儲存區塊,同樣因為要支撐更大的吞吐量而拓寬道路,每個時脈週期依舊能夠提供 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 微架構 L1 資料快取於每個時脈週期可以執行 2 個 32Byte 載入和 1 個 32Byte 儲存,過往則為 16Byte。(依圖所示,新增的 AGU 似乎專責儲存工作)

▲ 各階快取之間的地位關係在 Zen 2 微架構當中沒有變化,L3 依舊是 Victim Cache 快取設計,被 L2 排除的指令或是資料將填入此處,每個實體核心的 L3 快取容量加倍至 16MB。

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

▲ Zen 2 微架構導入 3 個新指令,分別為 CLWB、WBNOINVD、QOS。

 

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

R.F.
作者

誤入叢林的小白兔,每天爬樓梯到七樓的白癡,幻想自己很瘦的豬,一放假就睡死的bed potato。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則