Zen微架構

**Zen** 是一種 x86-64 微架構，由 AMD 開發，2016 年發表，取代 Bulldozer 微架構及其改進版本。該微架構是 AMD 重返高效能運算市場的重要產品，與舊有架構相比幾乎完全重新設計並以新工藝製作以提升效能，同時還引入眾多新特性，處理器產品以 SoC 或半 SoC 形態面市。而首款 Zen 微架構的處理器，核心代號「Summit Ridge」，正式品牌名稱為「Ryzen」，而中文名稱為「銳龍」，於 2017 年 3 月 2 日正式上市。外部合作方面，超微以 2.93 億美金賣給中科海光的 x86 架構 CPU 使用，不過預計不會提供後續型號的授權。

## 概覽

首個基於 Zen 微架構的系統展示平台在 2016 年的 E3 消費電子展上現身，而架構的細節，則是到了同年英特爾開發者論壇正舉行時，在其舉行地點對面的街區上公佈。不同於使用將近 6 年的並且在各種小修小補和僅更新了一次製作工藝的 Bulldozer 微架構，Zen 微架構由曾經領隊設計 K6/K7/K8 架構、2012 年回歸 AMD 的 Jim Keller 帶隊操刀另行開發，並且直接使用 14nm 節點 FinFET 製程，著重於提升每個 CPU 核心的效能，最初目標是比當時預期的 Bulldozer 微架構最終形態時每時鐘週期指令數（IPC）高出 40%。此外處理器連接介面、插座、記憶體支援等等都力圖更新到最新規格。除了效能和功能上的提升以外，還試圖以 AMD APU 產品線的經驗將新架構系統平台的體積縮小，令單一一顆 CPU 可以以 SoC 形態出現並支援常見的匯流排規格（包括 PCIe、SATA、USB 等）。加之此前發表的 300 系列晶片組、Socket AM4/Socket FP4 插座、對 DDR4 的支援等，這些使得 AMD 可以令 Zen 微架構只需些少修改即可涵蓋當前的筆電、小尺寸 PC 乃至桌上型電腦、工作站、伺服器（特別是高運算密度的雲端運算平台）等運算系統平台。2017 年中發表的 AMD Epyc 系列，取代 Opteron 成為 AMD 面向企業應用（特別是雲端運算）的企業級 CPU 系列，並且可作為無需南橋晶片的半 SoC 化產品。

## 架構設計

Zen 架構改進如下：

* 32KB 資料第一級快取（L1d）（8 路）、64KB 指令第一級快取（L1i）（4 路），可以直接回寫（write-back），降低延時、加大頻寬，此前的是先通過指針回寫至記憶體再更新一級快取（write through），與 Bulldozer 模組相比增大兩倍頻寬
* 同步多執行緒（SMT），一個 CPU 核心可執行兩個執行緒。該特性此前在 IBM POWER、英特爾（超執行緒）及甲骨文的 SPARC 上提供放棄 Bulldozer 微架構的叢集多執行緒架構（CMT）設計
* 每核心 4 個算術邏輯單元（ALU）和兩個位址生成單元（AGU）/ 載入儲存單元
* 因不再使用 Bulldozer 模組化設計，浮點運算單元（FPU）不再由兩組整數 ALU 叢集共享，改回傳統的 1 顆物理核心 1 組浮點運算單元（每組 4 個 128bit FPU 單元，可組成兩個 256bit FPU 單元來操作）
* 512KiB 二級快取（L2）為每個 CPU 核心獨占，與 Bulldozer 模組相比增大兩倍頻寬
* 三級快取（L3）為每 4 個 CPU 核心組成的 CCX 模組（CPU 核心複合體，其中的 CPU 核心仍可單獨關閉）共享，CCX 之間通過 Infinity Fabric 互聯實現快取一致性，比 Bulldozer 模組快 5 倍
* 大型宏操作快取
* 每個 SMT 核心每時鐘週期能最多分派 6 個微操作（整合 6 個整數操作和 4 個浮點操作）
* 更大的撤回、載入、儲存隊列
* PTE（分頁表條目）接合，可將 4KiB 的分頁表合併至 32KiB 的分頁尺寸上
* 智慧型預取
* 4 個解碼單元，每個時脈週期可以解碼 4 條 x86 指令
* 使用帶 Indirect Target Array 的散佈型感知器的增強型分支預測，類似於 Bobcat 微架構的，AMD 工程師 Mike Clark 稱其可與類神經網路相比；其優勢是對於幽靈漏洞的防範能力較佳。
* 分支預測器在指令 / 資料抓取階段解除耦合
* 為修改堆疊指針而專用的堆疊引擎（堆疊暫存器），類似英特爾 Haswell 微架構 / Broadwell 微架構的設計
* 搬移限制，降低物理資料搬移以降低功耗
* 高效能硬體隨機數產生器，支援 RDSEED。RDSEED 是英特爾在 Boardwell 微架構上實作的硬體隨機數產生器的調取指令
* 支援 x86/AMD64、x87、MMX (+)、SSE/SSE2/SSE3/SSSE3/SSE4.1/SSE4.2/SSE4a、AVX/AVX2、FMA3、CVT16/F16C、AES、SHA、ADX 等指令集，移除 XOP、FMA4、LWP、TBM 等甚少使用的指令集支援
* 支援 SMAP、SMEP、XSAVEC/XSAVES/XRSTORS、XSAVES、CLFLUSHOPT、CLZERO 以及 ADCX 指令集
* 支援 AMD-V、IOMMU 虛擬化技術
* 新的時鐘門控
* 基於 HyperTransport 擴展的高頻寬低延時的 Infinity Fabric 互聯架構，在基於 Zen 的處理器上大量使用的 NUMA 結構之瓶頸可被大幅緩解
* 消費級系統支援雙通道 DDR4-2666 的記憶體組態規格，企業級系統最高支援八通道並且帶 ECC 的 DDR4 記憶體，不支援 DDR3
* AMD SenseMI，使用 AMD Infinity Control Fabric 提供以下功能：
  * Pure Power，取代 Cool & Quiet，監控晶片電壓和時脈，調整處理器的節電狀態
  * Precision Boost，取代 Turbo Core，在熱設計功耗和溫度的限制下在預設時脈之上進行動態加速，對於有負載分配的核心盡可能加速，其餘閒置的 CPU 核心則盡可能進入休眠狀態
  * XFR，全稱 eXtended Frequency Range，動態時脈擴展，在散熱條件允許的情況下盡可能將時脈和電壓（必要時）提升至超過 Precision Boost 所能提供的時脈加速幅度，但是這個功能需要主機板晶片組提供支援，目前僅搭載 X370 和 X300 晶片組的主機板可用
* SoC 設計，提供傳統南橋和北橋晶片的功能（包括 PCIe、SATA/AHCI、NVMe、USB），不過 AMD 還是發表了其委託祥碩設計的 300 系列晶片組
* Socket AM4 插座
* 對 GCC、LLVM 等編譯器做了效能最佳化

## 處理器產品

除了 2017 年 3 月販售的 Ryzen 以外，主流消費級 AMD APU 產品線也更新到 Zen 微架構了，新版 AMD APU 預計 2017 年下半年開賣，而伺服器及工作站用的 Opteron 系列，則是更名為 EPYC，預計 2017 年第二季度以後出貨。

目前出貨的 Zen 微架構的處理器均為 GlobalFoundries 在美國紐約州的 Fab 8 廠製造，製程工藝技術來自 GF 與三星電子旗下晶圓廠合作的 14nm LPP。受制於 GF 的生產能力，AMD 在 2017 年初以一億美元的代價修訂與 GF 的合同，不再排除讓三星、台積電代工製造的可能，不過這將在未來的 7nm 製程節點上開始。

### Ryzen 系列

2017 年 3 月初至 4 月中，Ryzen 7、Ryzen 5 系列處理器正式上市，Ryzen 7 為 8 核心 16 執行緒的桌上型電腦處理器，Ryzen 5 則是有 6 核心 12 執行緒和 4 核心 8 執行緒兩種規格，基準時脈從 3 GHz ~ 3.6 GHz 不等，均支援雙通道 DDR4 記憶體，擁有最多 24 條 PCIe 通道。

早期 Ryzen 系列的 DDR4 記憶體支援度有相容性問題，記憶體只能以較低的速率、時序參數運行。不過隨著 2017 年 3 月、4 月的數次 AGESA 韌體的更新，已經大有改善，最高能支援至 DDR4-3200 規格。

AMD 也發表了極致效能級別的產品 Ryzen ThreadRipper（執行緒撕裂者），由 Epyc 的 NUMA 結構衍生而來，目前最新版本 ThreadRipper PRO 3995WX 最高 64 核心 128 執行緒規格，支援八通道記憶體（由四個雙通道記憶體控制器提供支援）最高可擴充到 2TB。本次也是繼 AMD Quad FX 平台以來第二次面向消費級市場推出 NUMA 結構的電腦系統平台，不過這次 AMD 將多顆處理器整合到一塊處理器基板上，僅需一個處理器插座。

### APU 產品線

2017 年 5 月 17 日 AMD 公佈了行動版 Ryzen 處理器，均為自家的 APU 產品。本次公佈的 CPU 規格是，4 核心 8 執行緒、每核心 512KB 的 L2 Cache、所有 CPU 核心共享 4MB L3 Cache，基準時脈有 1.9 GHz、2 GHz、3 GHz 的組態，最高加速時脈可達 3.3 GHz；而 GPU 則是採用與代號「Vega」GPU 相同的架構，11 組 CU 共 704 個 ALU，核心時脈 800MHz 左右。

### EPYC 系列

2017 年 5 月 17 日 AMD 在財務分析報告會上宣布，基於 Zen 微架構的伺服器 / 工作站用 CPU，另立 Epyc 品牌取代原來 Opteron 品牌。主攻高密度雲端運算等企業應用。

最高規格是核心代號「Naples」的多晶片模組，由 4 顆 8 核心 16 執行緒的處理器晶片做在一塊處理器 PCB 上，所以一共擁有 4×8 個 CPU 核心，4×16 執行緒，晶片之間採用 Infinity Fabric 連接。處理器採用 Socket SP3 LGA 封裝，支援雙處理器，每顆處理器支援八通道 DDR4 記憶體（由每顆晶片提供雙通道支援），每顆處理器擁有高達 64 條 PCIe 3.0 通道，處理器之間也使用 Infinity Fabric 連接。

由於處理器晶片是已經內建 SATA/SATA Express 控制器、USB 控制器、時鐘電路等傳統上由南橋晶片提供的功能，針對高密度伺服器的主機板可更利用海量的 PCIe 通道增加網路處理元器件、RAID 陣列控制器等而無需南橋晶片，必要的也就一顆顯示輸出用 GPU，也是 x86 架構平台首次對伺服器市場推出高度整合化的半 SoC 化處理器。不過，也由於處理器本身的多晶片模組設計，相當於一顆 NUMA 結構的 4 路處理器平台，需要軟體開發做更進一步的針對 NUMA 結構的最佳化調適，尤其於工作站用途時，不過市面上並不缺少 NUMA 的使用範例，Intel 在企業級平台上也是大量使用。

## 效能表現

從多數媒體的首發效能評測而言禪架構比起推土機架構獲得了廣泛的好評，首發產品 Ryzen 7 系列的每個 CPU 核心的效能及多執行緒效能已經達到 Intel Haswell/Boardwell 微架構在同時脈下的水準，能源效率則更佳，多執行緒的需求是 Ryzen 的優勢，其競爭對手的處理器產品採用舊一代的架構時的預設時脈也不會如此高。但不足之處是，一來受制於製造工藝，最高時脈及能源效率不如對手英特爾最新的 Skylake/Kaby Lake 微架構的產品（Intel 的 14 奈米製程，在許多方面表現的都優於其他晶圓廠的 14/16nm 製程），儘管 Skylake/Kaby Lake 微架構同時脈下效能與 Haswell/Boardwell 微架構的相比僅 5% 的效能差別；二來是長久以來 AMD 高效能系統平台的缺席、市佔劣勢，間接導致不少軟體對 AMD 處理器的效能最佳化不良，特別是一些電腦遊戲（一些遊戲效能測試結果顯示似乎這些遊戲並不適應 AMD 的同步多執行緒，出現效能不升反降的情況，以網路遊戲為重災區）。

目前英特爾主要以製造工藝優勢和預設高時脈優勢與 AMD 拉開差距，為維持 x86 處理器的效能領導地位，英特爾推出了 Core i9 系列，市場定位相當於以往的 Core i7 極致版，但規格更為誇張（特別是時脈參數上，儘管耗電和發熱量上也有所增長）。針對企業級市場打造的 EPYC，則在巨量資料處理以及高效能運算上樂勝英特爾的 Xeon 系列，但是在資料庫處理方面則不敵對手。

Ryzen 並沒有熔毀漏洞、幽靈漏洞的問題也比較輕微，競爭對手 Intel 修正這些漏洞所造成的效能損失，讓 Ryzen 在許多需求的競爭力提高。

有第三方 x86-64 指令集程式最佳化指導機構 Anger，推出了針對 Zen 微架構處理器的原始碼最佳化建議指導。

## Zen+

**Zen+** 是 Zen 的改進型微架構，首款基於 Zen + 的處理器於 2018 年 4 月發表。

### 改進之處

Zen + 微架構的處理器使用了 GlobalFoundries 的「12 奈米」LP（Leading Performance）工藝製作，該製程工藝實際上是同廠 14 奈米 LPP 工藝的改良版，重在提高單位面積下電晶體的數量（即同等電路下減少晶片面積），而 Zen + 相較於 Zen 而言沒有大變動，電晶體數量也是幾乎一樣。有第三方媒體對基於 Zen + 的 Ryzen 7 進行實測，發現除了晶片面積有所減少以外，相較於第一代也有小幅的時脈提升及同等效能下功耗的下降，但這個也與 AMD 對 Zen 的電源管理有改善有關，主要是對 AMD SenseMI 電源管理的調整改善，令 CPU 電源管理模組更快響應 CPU 的負荷需要，並且在有負荷時 CPU 核心的時脈比此前 Zen 的更能維持高時脈，特別是 XFR2，還進一步改進了檢測單個 CPU 核心在當前最高工作溫度下的最高時脈的特性。

除了換用更新的製程以及對 CPU 電源管理的改善外，還有：

* 降低對快取、記憶體存取時所需的時鐘週期
* 提升快取頻寬
* 更佳的記憶體相容性以及更高效能參數的記憶體支援（原生支援 DDR4-2933，XMP/AMP 支援下更達 DDR4-3400+）

這些改進使得 Zen + 相較於 Zen 而言同時脈下每時鐘週期能處理多 3% 的指令數量，最高時脈也有 6% 的提升，最終大約取得 10% 左右的效能提升。

配套的晶片組更新至 400 系列，不過原先 300 系列的通過 AGESA EFI 韌體更新後（若廠商提供）也可以使用基於 Zen + 的處理器。

## Zen 2

首批採用 Zen 2 微架構的 CPU 產品於 2019 年 7 月發表，Zen 2 顯著改善了效能。

## Zen 3

首批採用 Zen 3 微架構的 CPU 產品於 2020 年 10 月 8 日發布。

## 相關

* AMD Zen + 架構
* AMD Zen 2 微架構
* AMD Zen 3 微架構
* AMD FCH
* Radeon 500 系列

## 參考文獻

## 外部連結

* 「Zen」 核心架構（頁面存檔備份，存於網際網路檔案館）（簡體中文）
* 【Arstechnica】Zen 架構詳解（頁面存檔備份，存於網際網路檔案館）
* 臥虎藏龍，銳龍 AMD Ryzen 7 1800X 評測匯總（頁面存檔備份，存於網際網路檔案館）（簡體中文）