【Zen架构探究:性能暴涨52%的秘密】
架构设计,是一款处理器各方面实际表现的根基,直接决定着产品的层次与成败。AMD推土机折戟沉沙,就是因为架构设计不完全合理,不适应当前应用需求。Intel酷睿表现优异,就是因为架构上十分优秀。
AMD Zen,则是另一个优秀的代表作,处处都体现着无数设计师、工程师无上的智慧,堪称技术与艺术的完美结合。
关于AMD Zen架构的设计和特点,之前我们已经陆陆续续介绍过很多次,这里再来一次汇总。
当然了,微处理器架构设计是十分高深的学问,一般人能理解表层毛皮就不错了,这里我们也不会太过深入和专业,就是浮光掠影地大致了解一下,知道它的一些主要特点就行了。
产品设计要遵循一定的原则,一切都以实现特定目标为前提。AMD Zen在设计过程中,重点关注四个方面:
1、性能:增强指令级并行(ILP),改进单线程性能。
2、吞吐力:增强缓存和预取器引擎的数据率,并通过同步多线程(SMT)高性能地处理流水线。
3、效率:低功耗设计理念,智能管理活跃和空闲功耗,释放硅晶片潜力,消除影响能耗的不利元素。
4、伸缩性:模块化的四核心基础结构(CCX),连接新的Infinity Fabric互连总线,从而可以高效地伸缩,集成其他AMD IP模块并与之高效通信。
性能方面,Zen微架构相比AMD此前的桌面设计有着质的飞跃,尤其是指令调度器窗口增大了75%,发射宽度和资源增大了50%,可以让Zen向执行单元调度、发送更多工作。
更进一步地,新的微操作缓存(micro-op cache)可以让Zen在使用频繁访问微操作的时候绕过二级和三级缓存。
Zen还有基于神经网络的分支预测单元,可以更智能地为下一步工作准备合理的指令、路径。
最后,Zen架构还可以使用同步多线程,提高对计算流水线的使用率。
所有这些结合起来,就为Zen出色的单线程能力奠定了基础。
高性能的引擎需要及时、充足的燃料才能发挥最大效率,Zen架构的吞吐能力就做到了这一点,最主要的变化就是重构了缓存层次,每个核心都有自己的64KB一级指令和数据缓存、512KB二级缓存,然后每四个核心共享8MB三级缓存。
这套缓存还有精巧的学习预取器配合,可以高效率地将应用数据送入缓存,以便立即执行。
综合起来,Zen每个核心的缓存带宽是挖掘机的将近5倍。
Zen架构采用了GlobalFoundries新的高能效14nm FinFET制造工艺,而且是专为高密度优化的版本,可以缩小CPU内核面积、降低运行电压。
Zen还集成了AMD最新的低功耗设计理念,比如刚才提到的微操作缓存就能减少对功耗很敏感的偏远缓存,大量的时钟栅极则能将动态功耗降到最低,还有个堆栈引擎,可以降低分派器的累积功耗。
尤为值得一提的是,Zen汲取了AMD APU团队优秀的功耗管理技术,从而让Zen在低功耗移动领域和高端发烧级桌面领域都能应付自如。
Zen架构产品的基础模块叫做CPU Complex(CCX),原生四核心八线程,内置64KB×4=256KB一级指令和数据缓存、512KB×4=2MB二级缓存、8MB三级缓存。
Ryzen 7系列产品就是两个CCX组成的,总计8个核心、16个线程、512KB一级缓存、4MB二级缓存、16MB三级缓存。当然还可以继续向上累加。
CCX中的每个核心都可以单独开关,所以还能变出双核心四线程、六核心十二线程甚至是三核心六线程等不同配置的产品,从而满足桌面、笔记本、服务器、高性能计算等不同领域的需求。
不同的CCX模块之间通过高速的Infinity Fabric总线互通。这是一种弹性的、一致性的界面/总线,可以在CPU内核中高效集成不同IP模块,方便不同CCX、系统缓存和IO/内存、PCI-E控制器之间快速交换数据。
它还给了Zen架构强大的指令与控制能力,建立了敏感的反馈循环机制,可以实时估算、调整核心电压、频率、功耗、频率等等,这也是下一章节要说的SenseMI技术的基础。
如果你对Zen架构的更多细节设计和功耗管理感兴趣,可以参考以下介绍,具体我们就不再展开了。