基於全新 Zen 微架構、 AMD Ryzen 7 處理器強勢登場, CPU 內部設計完全推倒重來,大幅改良 Front-End 、運算單元及 Cache 架構,更加入 SMT 同步多線程技術,整體性能提升達 52% ,相較對手同級產品售價便宜一半。 HKEPC 編輯部針對 AMD Zen 微架構進行詳細剖析,並找來全新 Ryzen 7 1800X 處理器,與上代 AMD FX-9590 、對手 INTEL Core i7-6900K 、 7700K 進行詳細測試。
全新 AMD Zen 微架構
AMD Zen 微架構 8 核心 Die Shot
x86 架構處理器市場中,唯一能抗衡 INTEL 就只剩下 AMD 了, 曾經 AMD 給予過 INTEL 極大壓力, 1998 年憑著 K7 微架構 Athlon 處理器得到 DIY 玩家的喜愛,緊接於 2003 年搶先推出具備 64Bit 技術的 K8 微架構,憑著 Athlon 64 處理器出色的運算性能,力壓 INTEL Pentium 4 搶下逾 30% 市佔,聲勢一時無兩。
可惜好景不常, 2007 年 AMD K10 微架構計劃慘遭滑鐵盧, Phenom 處理器效能不彰且時脈難以提升,緊接 2011 年 AMD Bulldozer 微架構更是慘不忍睹,效能被 INTEL 處理器大幅拋離,功耗更高得離譜,使得 x86 處理器的市場份額大幅流失,市場佔有率跌至 1 成。
全新 AMD Zen 微架構 Block Diagram
吸收慘痛教訓後, AMD 決定推倒重來研發新一代「 Zen 」微架構 ( 代號 Family 17H) ,採用「 Clean-Sheet 」設計不沿用舊有微架構再作改良,取消 CMT 叢集多線程技術,主要改進及全新設計包括︰
→ 取消 Dual Core 共享設計
→ 改用 SMT 同步多線程架構
→ 4-Wide x86 Front-End
→ 加入 μOps Cache 緩存
→ 強化內核並行運算能力
→ 支援更多擴展指令集
→ 改用 Write-Back L1 Data Cache
→ 改用 Inclusive L2 緩存設計
→ 全新 CCX 模組 L3 緩存設計
→ 大幅改良預測分支
→ 全新 Clock Gating 設計
整體而言, AMD Zen 微架構相較上代 Excavator 微架構, IPC 性能提升平均達 ~ 52% , 而且功耗表現更理想,整體性能已追上 INTEL Haswell 微架構,只有時脈提升能力與浮點處理表現有所不及。在市場戰略上, AMD Zen 處理器將以性價比及多核優勢作賣點,相同 CPU 核心數規格售價較 INTEL 便宜,相同價位下其 CPU 核心更多、性能更高,是近十年來 AMD 處理器首次追貼對手,有望打破 INTEL 市場壟斷局面。
全新的 Front End 引擎
全新的 AMD Zen 微架構,放棄舊有 Excavator 微架構的 Dual Core 模組設計,回復至每個 CPU Core 均擁有專屬的 Front-End 引擎,擁有 1 組耦預測分支單元,透過內部演算法預測將被執行的指令,並尋找下個直接及間接目標,提早填充至 Request Queue 單元,有助降低運算延遲並優化記憶體系統並行性能。
AMD 擴大了 Zen 微架構的 Branch Target Buffer 緩存,增設雙重預測分支能力,用作提升分支命中率, TLB 翻譯後備緩衝器的條目數量大幅提升,能儲存更多虛擬記憶體轉換成物理定址結果,降低預測分支單元的載入延遲。
AMD Zen 微架構的前端指令提取設計
所有最近執行過的 x86 指令,都會獲得一個 Micro-Tags 標記,解碼後的 μOps 指令會被放進 μOps Cache 緩存單元,當遇上頻繁使用的 x86 指令時,無需再經 Decoder 單元進行解碼,直接由 μOps Cache 緩存單元提取 μOps 指令,大幅提升 Front-End 引擎指令的吞吐量。
據 AMD 指出, Zen 微架構的 μOps Cache 緩存相當巨大,能夠儲存 2048 個 μOps 指令,而且命中率相當頻繁,為 Front-End 引擎提供更高的 x86 指令吞吐量。
AMD Zen 微架構的 Front End 引擎
指令解碼方面, Front-End 引擎建有 1 組 4-Wide x86 Decoder ,每個週期可處理 4 個 x86 指令,相較 Bulldozor 微架構的雙核心共享 1 組 Decoder ,以及 Streamroller 微架構改為雙核心、各帶 1 個 Decoder 但前端資源仍為共享, Zen 微架構在指令並行性能及預測分支能力上明顯提升。此外, AMD Zen 微架構加入 Fast Path 設計, Decoder 單元可以將某些 x86 操作指令,融合成 1 個 μOps 指令,例如 TEST/CMP 、 JL/JNGE 、 JGE/JNL 、 JLE/JNG 及 JG/JNLE ,令運算效率進一步提升。
經解碼或緩存命中的 μOps 指令,會被傳送至 μOps Queue 列隊單元等待分配, AMD Zen 微架構針對 Dispatch 調度單元作出強化,每週期可處理 6 個 μOps 指令調度,最高可同時處理 6 個 INT 整數或 4 個浮點 μOps 指令的調度組合。
AMD Zen 微架構全新的 Front-End 引擎設計,相較上代 Excavator 微架構有更強大的指令級並行處理能力,有利於 SMT 同步多線程架構,相較 INTEL 則只能處理 4 個整數或浮點 μOps 指令, AND Zen 微架構吞吐量方面更具優勢。在地址操作方面, AMD Zen 每個週期只能處理 2 個 AGU 指令, INTEL 則可處理 4 個 AGU 指令。