2017-03-29
AMD Zen微架構詳解!!
Ryzen 7 1800X 八核心處理器測試
文: John Lam / 評測中心


基於全新 Zen 微架構、 AMD Ryzen 7 處理器強勢登場, CPU 內部設計完全推倒重來,大幅改良 Front-End 、運算單元及 Cache 架構,更加入 SMT 同步多線程技術,整體性能提升達 52% ,相較對手同級產品售價便宜一半。 HKEPC 編輯部針對 AMD Zen 微架構進行詳細剖析,並找來全新 Ryzen 7 1800X 處理器,與上代 AMD FX-9590 、對手 INTEL Core i7-6900K 、 7700K 進行詳細測試。



SMT 同步多線程架構


自 Bulldozer 微架構開始, AMD 一直沿用的 CMT 叢集多線程架構,採用 Dual Core 模組化設計,內建 2 個 x86 具排程的整數運算叢集,因此被介定為 2 個邏輯處理器,其他單元包括前端引擎、浮點單元、預測分支單元及緩存均為共享,意念上 CMT 架構能精簡處理一些冗贅單元,達成高密度的單晶片多核心設計。

 

可惜 Bulldozer 微架構並未為 AMD 帶來優勢,無論性能和功耗表現均嚴重落後競爭對手、市場反應慘淡,由於作業系統及程式沒有對 CMT 作出優化,加上 2 顆整數運算叢集各自獨立,資源不作共享導致經常出現單元閒置造成浪費,只有在較多核心、執行多線程運算下才勉強追貼對手,在單線程運算下性能更連舊架構 K10 也不如。

 

ZenZen

 

緊接推出的 Piledriver 、 Steamroller 與 Excavator 微架構在性能與功耗表現雖有上升,但卻無法追上 INTEL 的步伐, CMT 叢集多線程架構成為了性能提升瓶頸,迫使 AMD 推倒重來由零開始研發全新架構。

 

Zen 微架構是 AMD 首個採用 SMT 同步多線程技術的處理器,除了可以在單一 CPU 核心上同時執行 2 個線程,更擁有指令層級並列性超純量技術提升單一線程執行效率,核心內所有單元均可運作於 1T SMT 模式, AMD 更針對不同單元的特性優化線程管理策略,提升 SMT 同步多線程運算性能,相較 INTEL Hyper-Threading 技術更先進。

 

Zen  

 

Zen 微架構的 SMT 管理策略,主要採用「搶佔式分享」作為線程資源分配方法,圖中被標示為紅色的架構,只要尚有閒置的資源就可被線程佔用直至完全滿載,盡量提升 SMT 同步多線程的運算吞吐量。

 

只有部份需順序運作的單元,在 SMT 模式下要透過「時間片分享」方式進行資源分配,按時間切片平均劃分給不同線程,令順序運作的單元也能在單一週期處理兩個線程,當中包括 μOps Queue 、 Retire Queue 及 Store Queue 單元。

 

值得注意的是,在 SMT 模式下如果核心只執行單一線程,「時間片分享」可能會造成運算瓶頸,因為資源被時間切片後並無法 100% 回收重用,導致部份單元出現閒置浪費。

 

Zen

AMD Ryzen 7 1800X 處理器內建 8 核心、可同時處理 16 個線程

 

為優化 SMT 同步多線程性能, AMD Zen 微架構增設「算法優先機制」,應用於 Branch Prediction 單元、 Integer Rename 單元及 Floating Point Rename 單元中,針對線程的數據流作出分析,判定哪個線程先被分配較具效率,有效降低分支失誤及避免不必要延遲。

 

此外, AMD 針對 Load Queue 單元、 L0/L1/L2 Instruction TLB 單元、 L1/L2 Data TLB 單元,加入「 標籤優先機制」分配優先工作,對延遲敏感的操作線程,例如 I/O 操作、影像實時串流、觸屏輸入反應等低延遲工作,可取得載入隊列的優先權,以及優先查找虛擬內存地址轉換。

 

Zen