一文看懂AMD的Zen3内核芯片.docx
- 文档编号:1267565
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:10
- 大小:1.97MB
一文看懂AMD的Zen3内核芯片.docx
《一文看懂AMD的Zen3内核芯片.docx》由会员分享,可在线阅读,更多相关《一文看懂AMD的Zen3内核芯片.docx(10页珍藏版)》请在冰豆网上搜索。
一文看懂AMD的Zen3内核芯片
一文看懂AMD的Zen3内核芯片
我们已经很长时间没有看到一个新CPU性能较之上一代能有明显的提升的状况出现,而AMD的Ryzen5000系列产品以及他们的新Zen3内核就做到了这一点。
虽然我们只有很短的时间来使用功能全面的Ryzen5950系统,但这就足够给我们留下了深刻的印象。
LinuxMint20的启动速度是如此之快以至于引人注目,这实际上是我们日常主要系统花费时间的一小部分。
其中大部分取决于PCIe4SSD,但CPU不得不在输入数据时对其进行处理。
在系统上花了几分钟的时间后,我们在技嘉X570AorusMaster主板上搭配了AMDRyzen95950X、三星980ProPCIe4SSD和16GBGSkillTridentZRoyalDDR4-3600内存,该系统在所有内核上均以1.25V的电压在4.5GHz频率运行。
考虑到所有这些,在我们看来,有一件事也很突出,该系统速度非常快。
由于它是目前市场上最高端的游戏PC,因此您希望它能发布出最好的数字,并且对网络的简要了解表明它确实符合SemiAccurate的早期主张,即“AMD应该在现在一切上取胜,而英特尔没有回应”。
唯一真正的问题是它如何到达那里,这是一个漫长的故事。
Ryzen5000Chiplet布局
如果您查看Ryzen5000CPU的高级框图,它们看起来就像基于Zen2的Ryzen3000。
他们有一个或两个CCD,但是基于经过改进的7纳米制程(在Intel语言中为+或++)和一个cIOD。
该cIOD与R3K产品线中的cIOD完全相同,而这颗来自GlobalFoundries12nm的芯片面积为125平方毫、拥有20.9亿个晶体管,整个die几乎没有任何改变。
在CCD方面,几乎所有方面都发生了变化,但现在我们将重点关注在die本身上。
这些变化需要一个新的封装,其接线方式不同,但仅此而已。
每个CCD为80.7平方毫米,包含41.5亿个晶体管。
这意味着单个CCD封装的总硅面积为205.7平方毫米,两个CCDSKU的总硅面积为286.4平方毫米。
更令人印象深刻的是,AMD能够提高DDR4-4000支持的内存速度,而无需更改包含内存控制器的cIOD。
对于基于Milan的服务器产品,这具有一些非常有趣的含义,但这又是另一回事了。
更多缓存:
深入研究CCD,我们会看到一些差异出现,特别是在核心组织层面。
Zen2/RomeCCD逻辑上细分为两个4CCCX,每个CCX具有16MB的L3缓存。
这两个高速缓存片和核心群集没有直接连接,要使核心4与核心5进行通信,它必须离开裸片,转到cOID,然后返回同一CCD上的另一个CCX。
这是巨大的功耗浪费,还增加了延迟,而且通常不是一个好主意。
您唯一能说的好事是,任何两个CCX之间的延迟都相当一致。
Zen2vsZen3的CCX安排
Zen3/Milan通过将CCX升级为具有32MB可直接访问的L3缓存的8C来解决此问题。
每个L3高速缓存块都经过地址切片(addresssliced),但转到另一个CCD仍意味着需要进行一些封装和cIOD traversals,并且链接的负载远小于Zen2设备上的负载。
借助少量的OS调度程序支持或软件优化,这将带来整体性能显著提高。
不利的一面在于,较大的L3意味着延迟从16MBZen2L3中的39个周期增加到Ryzen5000中的46个周期。
总体而言,最坏的情况稍差一些,但平均性能和实际性能要好得多。
Zen3的缓存层次结构
在L1和L2缓存上,Zen3与上一代相比没有太大变化。
L1I$和D$仍然分别为32K,而L2仍为512K,这三个延迟均保持不变。
L3则是高速缓存的“受害者”,因此仅当从L2撤出东西时才填充它,但它具有阴影标签,因此其他内核可以从同一裸片上的L2中拉出而无需掉头到内存控制器。
从核心开始,带宽也得到了改善,该核心现在可以每个周期执行三个负载或两个存储,除非它是一个256b操作,分别最大为2和1。
内存路径始终为32B/周期,但L3写入内存的方式仅为16B/周期。
除此之外,从上表中可以看到,一切变化不大。
一切都相同或更好,并且在实际工作负载中显示出了好处。
进入核心:
Zen3核心是全新的,其整数管道(Integerpipes)从7扩展到10,FP从4扩展到6,并且据称可以更好地利用一切。
AMD将新内核的目标描述为性能,延迟和效率的提升,但净能耗没有增加。
据了解。
其IPC增长了19%,每瓦性能提高了24%,所有这些似乎都表明AMD达到了目标。
Zen2vsZen3框图
一如既往,细节决定成败,但即使从高级的角度来看,很明显内部也发生了很多变化。
在前端,两种架构之间的情况看起来相当相似,但Zen3将Micro-OpQueue分为OpQueue和Dispatch阶段,但实际差异更加细微。
BTB翻倍、分支预测器带宽增加、等待时间减少、准确性增加,并且过渡得到更好的处理。
Zen3前端概述
分支预测器变得更快是不错的,准确性也略有提高,但最大的成功在于延迟。
“无气泡”声明意味着一旦预测到某些结果,该结果就可以在下一个周期使用,而不必等到将结果发送到正确的块时再使用。
这确实很难做到,AMD不会评论确切的方法,但是会花费很多时间。
类似地,从错误预测中恢复所花费的时间也减少了,这同样也是为了降低预测延迟。
Zen3的提取/解码单元
分支预测器每个周期可以将四个操作拉入队列。
AMD改进了处理极端情况和边界过渡的方式,这再次提高了延迟。
那就是说x86可变长度操作数是一个痛苦的事情,即使有了改进,事情也会变得很快复杂。
一旦将其解码并存储在操作缓存中,这些边界是已知的,并且情况变得更加清晰,因此每个周期可以将八个操作分配给该橙色框而没有名称。
所说的半匿名橙色框非常重要,因为Zen2令人头疼的是将I$端和Op-Cache端的操作重新组合在一起,这可能需要花费一些时间才能正确排列所有内容。
Zen3这样做的速度更快,减少了等待时间,并且又是专有的。
最重要的是,这里做出的决策要细得多,因此要好一些,要快一些。
总而言之,总的来说,前端要稍微精确一些,而延迟却要低得多,从而在性能和功耗上取得了巨大的成功。
整数上升:
Zen3的前端每个周期可以发出16条指令,而Zen2中为11条指令。
在几乎不可思议的巧合中,该数字与Zen3中的16条管道非常接近,而Zen2中为11条。
FP则从4增加到6。
从整体芯片的效率可以看出,AMD在这方面似乎已经取得了平衡。
Zen3的整数单元
从上图可以看到,调度程序(scheduler)从92个条目增加到96个条目,更具体地说,是四个24条目调度程序,物理寄存器文件从12个增加到192个,ROB则提高到256个条目,而不是Zen2的224个。
这些数字在效率方面非常有用,他们确保每个单元都有足够的空间来保持最佳状态,但是真正的变化在于管道本身。
如您所见,现在有4个ALU,3个AGU,一个专用分支单元和2个存储单元。
这10个单元中的每个单元(注意,上面的幻灯片中没有全部图示)可以在每个周期内馈送,这是较之Zen2的一个很大改进。
还要注意,管道的排列方式使每个ALU/AGU对都由一个调度程序馈送,但是它们仍然能够独立工作。
这是效率的重要部分,它允许以更少的复杂性进行更多的工作。
如果必须对其进行总结,则会添加管道以避免争用,并且出于类似的原因,它们的排列也更好。
较少的复杂性和布线往往会使事情变得更有效率,这就是重点。
FP单元版本3.000000:
在FP端,延迟也是一个关键的优化领域,这是更广泛的问题。
新的架构仍然有2个Mul和2个Add管道,但是F2I(Float2整数)功能已被分解以分离管道,并且其中一个与存储单元结合在一起。
显然,这可以减少争用,并且由于可以同时送入所有六个管道,因此可以提高吞吐量。
Zen2的5周期FMAC操作减少了一个周期,因此延迟也减少了。
调度程序会随着内部带宽的增长而增加一点,所以一切都很好。
此外,在FP单元闲置时,将数字提升到指数的精灵还有更多舒适的椅子可以坐在那里,因此在需要时它们会很新鲜。
只是检查看看您是否还在关注。
加载和存储:
加载/存储始终是与非技术朋友讨论的有趣话题,AMD这次给我们带来了一些新的东西。
主要的是3个AGU,这意味着它们每个周期可以完成三个加载或两个存储,或者两个(如前所述)为256b,则可以存储两个。
这是双赢,更大的带宽和更大的灵活性,这在现代超优化内核中是罕见的。
还有更好的内存依赖检测,还有四个TLBWalker,总共六个。
其余的改进可以总结为“到处都有更好的情况”。
存储队列增加了33%,达到64个条目,但是大多数其他结构的原始大小或多或少都相同。
跨页面边界的更好的预取在更早的时候就被提出了,而且对存储到加载的前向依赖项也有了更好的预测。
专门被调用的一条指令是REPMOVSB,它对短副本的延迟确实很高。
在Zen3中,在短迭代次数上减少了很多,在中位数上得到了改善,但从长远来看仍然可以正常工作。
同样,在许多地方略微减少延迟会带来很多好处,这就是装入/存储单元的全部更改。
还有很多其他小事情,它们又使Zen3内核比Zen2更快,更高效。
一些指令的执行速度更快,其中一些已在上面提到,还有很多事情,例如执行时的指令排序。
Op缓存之间的延迟要低得多。
最终,所有这些都加起来很大,特别是AMD声称IPC增加19%,每瓦提升24%。
除此之外,还有一些新功能,一些次要功能,一些重要功能。
在安全方面,Zen3现在支持控制流实施技术(Control-FlowEnforcementTechnology:
CET),基本上是用于阻止ROP攻击的影子堆栈。
VAES和VPCLMULQD这两个指令现在具有AVX2支持,这应该可以极大地缓解等待此情况的粉丝的烦恼。
越来越多的粉丝正在等待AMD对MPK的描述,该描述有效地允许了更精细的内存权限。
SemiAccurate询问了有关问题,但AMD没有解释,但我们认为当Milan/Epyc3发布时,他们很快就会解决。
另一个好处是,AMD终于对其基准测试设置进行了可靠的披露。
希望他们GPU方面也能与时俱进。
因为可信任的数字都是信任所必需的。
结论:
最终,我们来到这里,采用Ryzen5000系列的Zen3已经面世,从远处看,它看起来很像Zen2/Ryzen3000。
放大之后,您可以看到CCD上的所有东西都是全新的向上。
IPC提升19%意味着AMD现在赢了一切,所有以前的英特尔据点和重要案例现在都清楚看到了Ryzen的胜利。
是的,在这里和那里还有一些事情,英特尔仍然可以取得奇数胜利,但仅此而已。
当AMD将其产品定价高于英特尔时,您就知道一切都结束了。
从这里我们预计5nmZen4会在一年内上市,并带来实质性的性能优势。
从现在到现在,英特尔都无法与AMD相抗衡。
Zen3明年将表现良好,事实证明它是如此出色。
正如我们之前所说,AMD几乎赢得了一切。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 看懂 AMD Zen3 内核 芯片