AMD 七月初廣邀全球媒體前往美國洛杉磯參加 TECH DAY 盛會,就是為了要向全世界展示其最新 ZEN 5 架構,以及探討 AMD XDNA 架構下,將如何運用 AI 帶來更多的便利性。不過玩家們想了解更多的莫過於 RYZEN 9000 桌上型處理器,於是 AMD 再度釋出更多關於 AMD TECH DAY 的更新影片與 PPT 資訊,詳談 ZEN 5 架構細節。由於 CPU 架構複雜,筆者能力有限,如有錯漏請大家以 AMD 官方再釋出之資訊為準。
ZEN 5 為往後發展打好基礎
AMD 強調 ZEN 5 是新的運算基礎 (FOUNDATION),強調優異功耗表現 (POWER EFFICIENCY),在這個前提下,透過架構增強,盡可能提高單核性能和多核性能。ZEN 5 也引進 512-BIT 的 AVX 512,作為針對競品的一大優勢;COMPACT 設計的 ZEN 5 繼續存在 (ZEN 5C),進一步壓榨 POWER EFFICIENCY。
ZEN 5 微架構總覽
引入新一代分支預測 (BRANCH PREDICTOR),解碼能力和運算能力也有進步。
- 各種 CACHE (I-CACHE / OP-CACHE / D-CACHE / L2-CACHE) 的 WAY 和 WIDTH 被擴大,每周期能處理的能力因而上升。
- FETCH/DECODE PIPE 有 2 個 (DUAL),指令執行能力增強了不少。
- DATAPATH 增強至完整 512-BIT,AVX512。
- 每核心雙線程。
分支預測和提取的最佳化
- 透過準確的分支預測,達到條件分支指令的 0 週期懲罰。這表示即使分支預測錯誤,CPU 也不需要清空管線並重新提取指令,進而提升效能。
- L2 容量 16K 的 L1 分支目標緩衝區 (BTB) 和更大的 TAGE 預測器,更大的 BTB 可以儲存更多分支指令的結果,而更大的 TAGE 預測器則可以提升預測的準確率,進而減少分支預測錯誤的發生機率。
- 更大的返回位址堆疊 (52 個項目),更大的返回位址堆疊可以儲存更多函數呼叫的返回位址,進而提升函數呼叫和返回的效率。
Zen 5 的分支預測單元每個週期可以產生 2 個分支預測結果,讓 CPU 可以更早地開始提取正確的指令。 - 分支預測單元每個週期最多可以查看 3 個可能的指令提取位置,進而提升分支預測的準確率。
- 記憶體管理,指令提取單元會積極地預先提取指令,即使是在 L2 快取遺失或需要進行頁表漫遊的情況下,也可以盡可能地降低延遲。
- 2048 個項目的 L2 指令轉譯後緩衝區 (ITLB),更大的 ITLB 可以儲存更多頁表項目,進而減少頁表漫遊的發生機率。
- 指令快取延遲和頻寬,每個週期 64 位元的提取,指令快取每個週期可以提供 64 位元的指令,進而滿足指令提取單元的頻寬需求。
- Zen 5 具有 2 個獨立的指令提取串流,可以同時提取來自不同分支的指令。
新解碼改進功能
- 關聯性提升 33% (16 路),運算快取具有更高的關聯性,這表示它可以儲存來自更多不同記憶體位址的指令,進而減少快取遺失。
- 運算快取項目現在可以儲存多達 6 個融合指令,讓 CPU 可以從快取中提取和解碼更多指令。
- 2 個運算快取管線 x 每個管線 6 個指令 => 每個週期 12 個指令,透過兩個運算快取管線,每個週期可以提取和解碼多達 12 個指令,提升前端的指令輸送量。
- 2 個管線支援平行獨立的指令串流,有 2 個獨立的解碼管線,可以同時解碼來自不同指令串流的指令。在 SMT 工作負載中,每個執行緒都可以使用專用的解碼管線。
- 每個解碼管線每個週期可以解碼多達 4 個指令,總輸送量為每個週期 8 個指令。
- SMT 模式中,每個執行緒都可以使用專用的解碼管線,確保執行緒之間不會互相競爭解碼資源。
- 解碼後的指令會以 8 個寬度發送到整數和浮點執行單元,讓 CPU 可以同時發出更多指令以供執行。
整數執行進步
- 將發送、重新命名和退出單元的頻寬從每週期增加到 8 個巨集指令,這種更寬的頻寬使 CPU 能夠同時處理更多指令。
- 整數排程器經過重新設計,使其更加統一且對稱。排程器現在使用單一 AGE 矩陣來追蹤指令的優先順序,簡化了指令選擇過程並提升了效率。
- 擁有 6 個 ALU (算術邏輯單元) 和 4 個 AGU (位址產生單元),ALU 負責執行算術和邏輯運算,而 AGU 則負責計算記憶體位址。
- 負載 / 存放單元已擴展為每週期可處理 4 個記憶體位址,這種更寬的頻寬有助於提升資料密集型工作負載的效能。
- 更大的執行視窗,Zen 5 增加了排程器、物理暫存器檔案和重新排序緩衝區 (ROB) 的大小。更大的執行視窗使 CPU 能夠同時追蹤和處理更多指令,進而提升整體效能,尤其是在處理複雜工作負載時。
負載 / 存放操作方面
- 更大的 L1 資料快取和更高的頻寬,配備了 48KB 的 12 路組關聯式 L1 資料快取,這種更大的快取有助於減少 CPU 必須從較慢的記憶體層級 L2 或主記憶體中提取資料的次數。
- 更多負載 / 存放管線 Zen 5 擁有 4 條負載 / 存放管線,可以同時處理 4 次負載操作或 2 次存放操作,這種並行處理能力有助於加速資料密集型的工作負載。針對 AVX512 優化的負載 / 存放管線,4 條整數負載管線可以配對成 2 條 FP 管線,以便有效率地處理 AVX512 指令。
- 更大的轉譯後緩衝區 (TLB),具有更大的 L1 和 L2 資料 TLB,分別包含 96 個和 4096 個 DTLB,更大的 TLB 可以減少 CPU 執行位址轉換的次數,降低記憶體訪問的延遲。
- 更大的處理中視窗,透過擴展負載和存放佇列以及存放合併緩衝區,可以同時追蹤和處理更多處理中的負載和存放操作,有助於提升記憶體系統的效率,特別是在處理大量資料時。
- 增強的資料預取,引進了新的 2D 步幅預取器,並改進了現有的串流和區域預取器。這些預取器會分析記憶體訪問模式,並預測性地將資料載入快取,在 CPU 需要時可以立即使用。
FP / 向量數學單元執行
- AVX512 的導入與完整的 512 位元資料路徑,這讓 Zen 5 處理器可以同時處理更多的資料提升效能。
- 頻寬增加和延遲降低,Zen 5 的 FP 單元透過 4 個執行管線、2 個負載 / 存放 / 整數暫存器管線,每個週期 2 個 512 位元負載和一個 512 位元存放的能力,實現了更高的頻寬和更低的延遲。
- FADD 操作的加速,Zen 5 將 FADD 操作最佳化為 2 個週期內完成,延遲更低,有助於加快許多 FP 運算。
- 執行視窗的擴展:透過擴展排程器、實體暫存器檔案和重新排序緩衝區,Zen 5 的 FP 單元可以一次處理更多指令,從而提升整體效率和效能。
新" Zen 5"指令集
- MOVDIRI / MOVD64B - 以直接存放的方式移動 4、8 或 64 位元組,繞過快取記憶體。
- VP2INTERSECT [DQ] - AVX512 向量一對交集到一對遮罩暫存器。
- VNNI / VEX - 將 AVX512 指令擴展到 VEX 編碼。
- PREFETCH - 將指令行軟體預取到快取記憶體階層中。
核心 / 虛擬化 / 服務品質 (Qos)
- PMC 虛擬化 - 為訪客與虛擬機器管理程式提供安全性,隔離 PMC / 訪客。
- 異構電路拓撲。
ZEN 5 和 ZEN 4 微架構差異?
AMD 比較 ZEN 5 和 ZEN 4 在微架構上的分別,資料影片中 AMD 強調各項架構細節的容量 / 數量增加,應該加多少 / 延遲問題也需要重新平衝,ZEN 5 將是全新的 ZEN 架構基礎,作為往後 ZEN 架構的藍圖。
ZEN 4C 相當成功,AMD 繼續發展 COMPACT 系列核心;ZEN 5C 繼續以 POWER EFFICIENCY 作為優先設計目標,ZEN 5C 在 IPC 不變的前題下,壓縮 DIE 面積和運行頻率。傳統的 ZEN 5 核心比較大,頻率更進取,每核心 L3 CACHE 更大,延遲表現也更強;ZEN 5C 縮短各核心之間的距離,換取更好的功耗表現。當混合 ZEN 5 和 ZEN 5C,而且在 IPC 一樣的時候,AMD 已小心處理所謂 SCHEDULING MISTAKE 的問題,新的 SOC 設計提高處理 MISTAKE 的速度。
在 CORE COMPLEX 裡,AMD 把 L2 從 8-WAY 提高至 16-WAY,從 32B / CYCLE 提升至 64B / CYCLE,核心之間的溝通效率進一步提高。
AMD 也介紹了現時兩種 SOC 設計,以及將來可預見的新 SOC 做法。 STRIX POINT 為了 EFFICIENCY,選擇把 CACHE 容量縮小;GRANITE RIDGE 則為了運算能力和反應時間而增強 CACHE 設計。
- 整體更小,但更巨大 CCXs 單元。
- 同質或異質指令集。
- 資料中心到嵌入式。
AMD 坦承 ZEN 5 的 I/O DIE 設計並沒有太大改變,因為如果也把 I/O DIE 的規模增大,就會影響到 ZEN 5 核心的架構提升 (包括 DIE 面積),也將影響上市日期。AMD 有充份信心現在的 I/O DIE 可滿足使用者需求;內置顯示輸出方面,AMD 繼續提供足以 LIGHT UP 顯示器的 CU 核心。下圖的 USB3.3 TYPE-C 只是打錯字,仍然是 USB 3.2 GEN 2,也就是 10 Gbps。
- STRIX POINT 的 I/O PCI-E GEN4 數量從以往的 20 組降至 16 組的原因,與功耗目標有關。
- RDNA 3.5 更像是增強效率 (EFFICIENCY) 的改版,而非全新架構設計。
- XDNA 2 帶來全新的 AI 標準化,世界首個 WIN23 READY NPU X86 處理器。
本次說明影片時長約莫一小時,兩位 AMD 工程師不斷介紹 ZEN 5 架構的細節和規格,甚至輕鬆找出初版 PPT 的一些錯字,反映這些架構改進和新設計,都經過不斷嘗試和分析研究才決定下來。有時候我們很容易拋出一個看似簡單的問題,啊為什麼 ZEN 5 的 I/O DIE 的 USB-C 還是 10 Gbps 而非 APU 那樣提升至 40 Gbps,可是 AMD 背後其實有着更多考量和條件要滿足,每一部份如何配合其他部份,當中的平衡,一些目標例如功耗優先 POWER EFFICIENCY 要如何管理等等,都需要經過大量測試和驗證。AMD 明言,要是大改 I/O DIE,基本上不可能在七月底上市了!ZEN 5 在運算能力 / 吞吐量 / CACHE (WAY / WIDTH) 等等都有明顯進步,將成為日後發展的新地基。
在 QA 環節,AMD 進一步解釋,我們整理如下列:
- AVX512 仍然可以分拆為 256 模式。
- AVX512 運算時的核心頻率會因為功耗目標而有所調整,但當沒有功耗限制時,將不會像 INTEL 那樣仍然出現降頻情況。
- AMD 之所以能夠做到這一點,是因為擁有更均衡的架構設計,AMD 直言 INTEL 有點太早引進 AVX512 了
- 筆者補充一點,INTEL 本來沒打算在 12 /13 /14TH DESKTOP 引入 AVX512,只是忘記從 QS 拿掉 AVX512,導致早期市售版仍然支援 AVX512。
- IHS 頂蓋設計、導熱物料等等,整體物理散熱架構沒有明顯改變。
- FABRIC READ 32 / WRITE 16 的設計並沒有改變,WRITE 不是 32 的原因仍然與功耗設計有關,AMD 經大量測試和分析後發現 READ WRITE 之間的比率大概是 3:1,最後決定 WRITE 有 16 已足夠,也貼合實際使用需求。
- READ WRITE 一般都是不斷共同進行,很少會只 WRITE 不 READ (跑分軟體)。
- ZEN 5 與 ZEN 5C 的物理大小仍然是非常大,PPT 圖片不按比例沒有參考價值。
- ZEN 5 並沒有類似 INTEL 的 THREAD DIRECTOR 硬體設計來分配核心,AMD 與 OS 之間的溝通有自己的機制,做法完全不同於 THREAD DIRECTOR。
延伸閱讀
AMD TECH DAY 2024 洛杉磯,RYZEN 9000 系列處理器 7 月 31 正式發售
AMD COMPUTEX 2024! RYZEN 9000、RYZEN AI 300、X870 / X870E 正式公布