AMD Zen

Zen微架构之CPU核心
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微架构最终形态时Instructions per cycle（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化产品。

**架构设计**
Ryzen原生8核心的晶粒
Zen架构改进如下：- 32KB -{zh-cn:一级数据缓存;zh-tw:资料第一级快取}-（L1d）（8路）、64KB -{zh-cn:一级指令缓存;zh-tw:指令第一级快取}-（L1i）（4路），可以直接回写（write-back），降低延时、加大频宽，此前的是先通过指针回写至记忆体再更新一级快取（write through），与Bulldozer模组相比增大两倍频宽- 同步多执行绪（SMT），一个CPU核心可执行两个执行绪。该特性此前在IBM POWER、英特尔（超执行绪）及甲骨文的SPARC上提供放弃Bulldozer微架构的-{zh-cn:集群多线程架构; zh-tw:丛集多执行绪架构; }-（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等编译器做了性能最佳化

**处理器产品**
Zen微架构有两种晶片实作，一种无内建GPU，一种内建GPU，后者用于AMD APU产品线上
用于Epyc时的MCM连接结构
用于Ryzen ThreadRipper时的MCM连接结构
除了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微架构的CPU产品于2019年7月发表，Zen 2显著改善了效能。
首批采用Zen 3微架构的CPU产品于2020年10月8日发布。之后AMD又发布了Zen 4和Zen 5微架构。

**相关**
 AMD FCH- Radeon 500系列

**参考文献**

**外部连结**
  “Zen” 核心架构date=20170221110904 -  【Arstechnica】Zen架构详解date=20180414234428 -  卧虎藏龙，锐龙 AMD Ryzen 7 1800X评测汇总date=20170327171056