桌面处理器大结局来临!锐龙9 3900X/锐龙7 3700X首发评测
二、技术解析:三代锐龙的花式神奇
有关Zen 2架构的特性、三代锐龙处理器的性能、X570主板和AM4平台的规格,之前我们已经做过全面、深入的解读,这里就不再过度赘述,仅总结一下其中最值得关注的亮点,也是为了展示新平台的提升之巨大。
Zen 2架构是Zen的第三个进化版本,也是第一个大改版,其整体设计目标有三:
一是追求更极致的性能,而且任何一个计算节点都要有更充裕的带宽;二是结合最领先的制造工艺(7nm),在集成度、能效方面实现飞跃;三是灵活的扩展性,可以在既有AM4封装下无缝实现更多核心、更多I/O,并满足各个领域的需求。
从最终的规格和性能表现看,Zen 2完美达成了预期水平,甚至可以说超额完成了任务:IPC架构性能提升达到了约15%,在任何应用上都有显著进步;缓存容量直接翻番,作为最大软肋的内存延迟和游戏性能得到了极大的改观;浮点性能直接翻倍,对于创作性应用来说旧貌换新颜。
Zen 2架构整体设计图和提升概览:可以说,在之前Zen+优化完善增强的基础之上,Zen 2将整个架构的每一个模块、每一处细节都进行了精心的打磨,整体焕然一新。前端、预取、解码、浮点单元、整数执行、载入存储、缓存、安全,Zen 2没有放过任何一个角落。
于是,我们看到了全新的TAGE分支预测器、重塑的一致性缓存体系、翻番的三级缓存、4K指令微操作缓存、全面扩大的整数单元、翻了一番的浮点单元、更高带宽更低延迟的载入存储、更快的安全虚拟化、硬件增强的安全防御、新的缓存与安全指令、强化的Infinity Fabric总线……等等等等。
最值得重点说道的地方有四个地方,一是预取部分,这里是一个架构执行效率和性能高低的关键所在。
三代锐龙采用了chiplet多个小芯片组合的设计方式,而为了协调分散的不同模块,不但彼此之前有加强版的Infinity Fabric总线(高带宽低延迟)、翻番的三级缓存(高命中率),还特别强化了分支预测,尤其是增加了新的TAGE分支预测器,同时加大了BTB(分支目标缓冲器)容量,加大了1K ITA(间接目标阵列),优化了32KB一级缓存,,从而将预测错误率降低了大约30%,使得处理器可以花更少的时间完成前端分派工作,提高效率的同时也能节省功耗。
浮点单元的变化也非常大,吞吐量和性能直接翻了一番,关键就在于浮点和载入存储带宽从128bit翻倍到256bit,支持AVX2指令集,单个周期就可以一次性完成256bit指令,不必再像以前那样拆分成两个128bit指令再耗费两个周期分别执行。
很多人说Zen 2不支持AVX-512,但是一方面512bit指令非常稀少,除了部分专业领域日常应用中是基本没有的,而且执行512bit指令非常耗电,打开之后功耗至少增加20%——不信的话试试用i9-9900K跑几分钟AVX-512满载拷机,不尿崩回来找我。
当然,并不是说AVX-512毫无用处,只是需要分场合、分情况,目前消费级处理器支持它的使用价值还太低,架构设计的时候必须有所取舍,或许随着形势的变化,未来的Zen架构也会加入它。
Zen 2的缓存架构也有极大调整,支持各级缓存一致性,可以大大降低有效延迟,并加入了新的缓存指令。
一级指令缓存从4-way 64KB调整为8-way 32KB,和一级数据缓存保持一致,关联性更强,预取和利用率都得到改进。
二级缓存保持每核心8-way 512KB不变,三级缓存则翻番到了每核心对应4MB(16核心就是64MB),可以很好地提升命中率和游戏性能。
对于多芯片设计,最关键的因素就是能不能保证不同模块之间足够高的带宽和足够低的延迟,AMD为此设计了Infinity Fabric总线(可以视为当年赫赫有名的HyperTransport总线的超级进化版),是如今和未来AMD CPU、GPU、APU的根基。
三代锐龙上,Infinity Fabric总线也进化到了第二代,在扩展性、延迟、能效各个方面都有显著提升。
其中扩展性上,特别针对消费级客户端应用做了优化调整(之前更多还是数据中心上),并且总线宽度从256-bit翻番到512-bit,从而更好地支持PCIe 4.0,能效上则将单位功耗降低了多达27%。
延迟更是多芯片互连的致命所在,一旦处理不好会导致整体效率的低下,包括核心、缓存、内存等各个模块都必须保持最高效率和最低延迟。IF总线如今解绑了Fclk时钟频率、Uclk非核心频率,可让内存运行在更高频率,同时降低了突发负载下的内存延迟,加速了缓存与缓存之间的传输。
说到内存,Zen架构的内存延迟一直是个痛点,但也在不断改进,Zen 2架构更是在内存频率和延迟之间设置了巧妙的平衡,根据实际需要可以有多种选择。
三代锐龙官方支持的标准内存频率为DDR4-3200(前两代分别为DDR4-2667/2933),但可以轻松超到DDR4-4200乃至更高,极限情况下甚至做到过DDR4-5133。
但内存频率并非绝对的越高越好。三代锐龙的IF总线频率与内存频率有两种比例,DDR4-3733及更低频率的时候,二者是1:1,继续提高内存频率,就变成了1:2,IF总线频率反而会降低,所以延迟会反弹增加。
DDR4-3733的时候,内存延迟是最低的只有67ns,提高到DDR4-3866的时候延迟会增加到80ns,之后缓慢降低,但就算到了DDR4-4400延迟依然有75ns,甚至高于DDR4-3200。
AMD推荐三代锐龙搭配的最佳内存频率是DDR4-3600(CL16),这时候综合性能、价格是最为平衡的。除非你需要对内存频率特别敏感的地方,否则不建议超太高。
说到频率,还有锐龙处理器本身的频率。受制于架构和工艺属性,第一代锐龙的频率不算高,自动超频加速最多也不过4.1GHz,二代则来到了4.35GHz,最新的三代凭借架构和工艺的双重改进最高可以跑到4.6GHz。
相比于竞品,这似乎仍然还不是足够高,很多人可是期待5GHz的,但是一方面,Zen 2架构和7nm工艺也都有自己的限制,不可能随拔高频率,否则功耗就吃不消(7nm也还不是专门针对高性能计算的工艺),另一方面即便是现在的频率,也足够对手喝一壶了,尤其是游戏性能。
架构说完了,来看看产品层面。如前所述,三代锐龙(和数据中心上的二代霄龙)采用了chiplet小芯片设计理念,模块化组合不同单元实现不同规格,但比当年的“胶水封装”高明和复杂多了,不只是简单地叠加芯片,而是要把不同工艺、架构、功能的模块按需搭配在一起,还得有利于整体性能发挥。
为什么要这么麻烦而不是单独设计一个芯片?根本原因就是——钱!
随着半导体公司的急剧复杂化,不但设计和量产一种新的制造工艺成本急剧增加,新的处理器也是如此,有说法称在7nm工艺上设计一款芯片的费用超过3亿美元。
即便不差钱真的设计出来,也要面临制造成本、良品率的问题,因为越大、越复杂的芯片越容易有大量缺陷而无法正常使用。
chiplet小芯片设计就可以分担风险,大大降低成本并提高良品率,而且还有更多好处:一是每一个芯片模块可以使用最适合自己的工艺,比如Zen 2 CPU部分使用最好的7nm工艺,尽可能提升性能,I/O输入输出部分则使用足够好的12nm(霄龙里还是14nm),优化电路并控制成本。
二是将I/O部分单独拿出来之后,再结合新的高速低延迟IF总线,可以确保所有核心、缓存通信的一致性,肯定要比全部原生集成要差一些,但是仍然可以有足够好的性能,而且综合设计、制造各方面的因素,这无疑是最佳选择。
三代锐龙处理器内部有两颗(锐龙7 3700X及之下)或三颗(锐龙7 3800X及之上)芯片,其中一颗是I/O Die,基本相当于曾经的北桥芯片,集成内存控制器、IO Hub控制器(包括PCIe/USB/时钟发生器/安全等等),另外一颗或两颗是CPU Die,每一颗里边有两个CCX模块,各有4个物理核心和16MB三级缓存,合计每颗就是8个物理核心和32MB三级缓存。
同时,I/O Die以及每个CPU Die里都有IF总线端口实现高速互通,但注意两个CPU Die之间是没有直接联系的,比如经过IF总线和I/O Die来交流,这样的好处是CPU Die可以根据需要添加或减少,比如霄龙上就有多达八个,从而做到64核心,下一代线程撕裂者应该会有最多四个也就是32核心。
三代锐龙chiplet设计的详细架构图和电路走线图,尤其后者可以清晰地看到I/O Die与CPU Die之间的各种通道,而两个CPU Die之间并无直接关联。
得益于新工艺、新架构和chiplet设计,三代锐龙的每个CPU Die面积只有74平方毫米,制造起来易如反掌,同时里边的每个CCX模块面积仅31.3平方毫米,比二代锐龙缩小了足足47%,从而可以更轻松地做到更多核心。
AMD还宣称,Zen架构的多核扩展性极佳,性能几乎是随着核心数量的增加而线性提升,比如从6核心到12核心,性能就增加了98%!
由于Zen系列架构的设计和以往截然不同,除了硬件本身的优化,也非常需要操作系统、软件程序的支持和优化。
AMD也在持续与微软合作,最新发布的Windows 10 v1903五月更新版就有两项针对锐龙的重要功能,可有效提升性能。
一是拓扑感知,它会指示Windows 10进程计划程序优先在单个CCX(四核心)内生成和分配线程,直到用完这部分之后才会将线程迁移到第二个或者第三个CCX,这将有利于大部分游戏性能的提升。
二是UEFI CPPC2接口(协同电源和性能控制),是一种较新的时钟速度选择方法,对短时间和突发的工作负载特别有益,比如如网页渲染和应用程序启动。
三代锐龙依然是AM4接口,从2016年的第七代APU引入开始已经使用了四年,而且官方一直承诺至少会延续到2020年,目测对应Zen 3架构的第四代锐龙,而再往后由于要支持DDR5内存的缘故,不换就不行了。
从28nm到7nm甚至到7nm+,从4核心4线程到16核心32线程甚至更多,从DDR4-2400到DDR4-3200甚至更高,从12条PCIe 3.0到24条PCIe 4.0甚至更多,一种接口能用这么多年,也是相当的不易和良心。
三代锐龙继续兼容300/400系列主板(入门级的A320除外),不过最佳拍档当然是新的顶级X570,二者组合才能实现PCIe 4.0,以及更多扩展。
三代锐龙处理器本身支持24条PCIe 4.0,保留4条用于连接X570,其余20条中有16条固定给显卡,另外4条可以全部分给NVMe SSD,也可以2条给NVMe、2条做成SATA。
X570芯片组本身支持20条PCIe 4.0,同样保留4条用于连接三代锐龙,其余16条来自四个PHY物理层,可以灵活组合为1条x16、2条x8、4条x4、8条x2、16条x1,任由主板厂商灵活配置,并且分为两部分,其中8条为通用目的可连接网卡、声卡、扩展卡等设备,另外8条还可以配置为8个SATA 6Gbps。
USB接口方面,三代锐龙支持最多4个USB 3.1 10Gbps,X570支持最多8个USB 3.1、4个USB 2.0 480Mbps。
三代锐龙家族型号、定位、规格与价格,大家都比较熟悉了。
本次我们测试的一个是首发旗舰锐龙9 3900X,12核心24线程,对标8核心16线程的酷睿i9-9900K,3999元对4099元。
另一个是锐龙7 3700X,8核心16线程,对标8核心8线程的酷睿i7-9700K/9700F,价格2599元对3099元。