AMD 7nm Zen2 架构详解(官方的PPT详细解读)
2019-07-07 07:42:35 pconline本文内容较长、而且涉及的专业名词、术语比较多,阅读也有一定的门槛,但我已经尽可能从简地解释了,对于喜欢DIY、感兴趣半导体技术的粉丝们,不妨找个安静的地方,好好地看一看,应该多少都能有点收获的。
在过去的几年中,AMD一直在研发更高性能更高能效的Zen架构,所以才有2017年锐龙处理器问世时AMD震惊世人的52% IPC性能提升,这种架构级别的提升比起大家调侃的Intel式挤牙膏升级实在太猛了,从性能到能效都是质的变化。
从这点上来说,两年前的第一代锐龙1000系列可以说一鸣惊人,让落后多年的AMD拿到了高性能CPU市场的新门票,从此这个市场不再是Intel的独角戏,DIY玩家期待的双雄争霸局面回来了,CPU市场格局变了,Intel在这两年中接连从4核升级到6核再到8核,不再挤牙膏升级了,这点上确实是AMD的功劳。
不过现在的两代锐龙处理器还是有一点严重不足的——单核性能不足,导致AMD一些游戏及专业应用的性能不如Intel。
从一代锐龙到二代锐龙,AMD将CPU架构从14nm Zen改进到了12nm Zen+,但这依然是小修小补,缩短了与Intel的单核差距,但没有质变,在那样的工艺及架构下已经挖掘不出更高频率的潜力了。
管理学中有个著名的说法——从优秀到卓越,这句话用来形容现在的AMD再合适不过了,14/12nm公司的锐龙处理器是优秀的处理器,但还有一些槽点没能解决,而现在的7nmm Zen 2架构目标是卓越,AMD从追赶者变成领导者的任务就要靠它了。
此前AMD在CPU路线图中对Zen 2架构的概述就是多维度增强Zen架构,从官方定性来看我们可以把Zen 2当作深度改进版的Zen——基本的CPU结构变化不大,但工艺、封装、单核及多核上全面改进。
AMD官方对Zen 2架构的优势主要集中在三方面——性能、工艺及并行,我们的介绍也主要围绕这三部分进行。
第三代锐龙用上7nm工艺:AMD CPU史上首次全面领先Intel
对CPU这种极其先进的逻辑芯片来说,任何重要的进步都离不开制程工艺的升级,14/12nm锐龙上的一些缺点,比如CPU单核频率还不够高等,AMD也不是不清楚,但他们也没办法了,GF的14/12nm工艺决定了上限了,不是想提频就提频的。
好在现在AMD上了7nm,而且代工厂从GF换到了台积电,说起来这件事也有很多波折,去年8月初GF黯然宣布无限期停止7nm及以下工艺的研发、生产,原本是准备GF、台积电两条腿走路的AMD无奈之下决定将CPU及GPU的7nm订单全部交给台积电。
对AMD来说,从原来的两家代工厂变成一家代工厂,实际上风险更大了,而且台积电之前没有过制造高性能X86处理器的经验,不过最终来看台积电财大气粗,在工艺成熟度上比GF要好得多,AMD的7nm CPU及GPU最终还是顺利量产了。
此外,AMD的锐龙3000系列处理器使用的7nm工艺跟台积电为华为、苹果代工移动处理器的工艺也不同,是7nm HPC工艺,专为高性能IP核心优化的,只不过AMD及TSMC对7nm HPC工艺的公开介绍并不多。
从AMD公开的数据来看,7nm工艺带来了明显的计算效率,包括2倍的晶体管密度、功耗降低50%(同性能下),性能提升了25%(同功耗下)。
考虑到AMD这是跟14nm工艺对比的,密度、功耗的变化还不错,但25%的性能提升并不让人满意,这也可以看出摩尔定律到了10nm节点之后芯片性能的提升不那么容易了
只要提起处理器工艺,Intel也是无论如何绕不过去的。公平地说,Intel的10nm工艺技术上并不落伍,晶体管密度等方面相比台积电的7nm工艺甚至还有些优势。在这个问题上,即便是AMD自己都是很清醒的,他们也只是表态7nm工艺追上了与友商的差距。
当然,综合来看,AMD在7nm节点上还是领先的,即便技术上与Intel的10nm不相上下,但是时间进度上AMD赢了,Intel的10nm处理器首发于移动版十代酷睿处理器Ice Lake上,高性能的桌面版、服务器版要等到明年,而AMD现在就开始出货7nm工艺的高性能桌面版处理器了,64核的EYPC罗马处理器也会下半年出货。
正是因为这一点,此前有华尔街分析师称赞AMD在7nm 锐龙3000处理器上打了一个翻身仗,这是十多年来AMD首次在工艺及性能上首次全面超越Intel,绝对是历史性时刻。
第三代锐龙的Chiplets设计:CPU/IO核心分离 解决延迟成关键
尽管AMD成功地在锐龙3000处理器上使用了7nm工艺,但是说它是7nm芯片也有点不准确,实际上锐龙3000是7nm混合12nm工艺,这跟它的模块化设计有关。
在7nm节点,设计一款芯片的费用高达3亿美元,对AMD来说成本也是非常高的,这就需要厂商采用更好的方式来确保芯片的良率,芯片越大良率就越低,芯片越小良率就有可能越高。
在Zen 2架构处理器上,AMD就使用了Chiplets小芯片的设计思路,通过模块化来组合不同核心的处理器。Chiplets设计不同于以往的胶水封装,本质上是把不同工艺、不同架构的芯片电路按需搭配,比单纯的胶水封装要高明,也要复杂。
在去年推出的第一款Zen 2架构的处理器——EPYC罗马上,AMD就率先应用了这种设计方式,8组CPU核心、1组IO核心堆出了64核处理器。在锐龙3000上,桌面版不需要这么多核心,使用的2组CPU核心层、1组IO核心,最多16核32线程。
具体来说,就是图中上面2组CPU核心是7nm工艺制造,因为CPU核心对性能要求高,对功耗也敏感,提升工艺对CPU核心来说大有裨益,好钢要用在刀刃上。
下面的IO核心整合了内存控制器、PCIe控制器等IO单元,这部分电路对性能、功耗要求没那么高,而且IO单元并不容易随着工艺微缩,所以使用的是相对低端的工艺——之前说是14nm,不过锐龙3000上的IO核心是改良版的12nm工艺。
AMD在Zen2上采用这样的设计无疑是很聪明的做法,配置也非常灵活,提升CPU核心数量就堆CPU模块即可,所以锐龙处理器可以从之前的8核16线程轻松变成16核32线程。此外,AMD这样做也需要生产小核心,提高了良率,降低了成本,而且IO核心使用的还是更成熟的12nm工艺,进一步削减了成本。
当然,有得必有失,Chiplets设计的好处多多,但缺点也明显,那就是如何处理好核间的连接,特别是内存主控分离出来之后,内存的延迟理论上要增加,肯定是不如原生多核的,AMD怎么解决这个问题的呢?
首先是改进Infinity Fabric总线(简称IF),IF总线是Zen架构上的基础技术之一,它连接了Zen架构中的CCX模块,现在也用于链接不同的CPU、IO核心模块。
在锐龙3000处理器上,IF总线进化到了第二代,在并行、延迟及能效上全面改进,总线位宽从256b升级到了512b以便支持PCIe 4.0,同时将Fclk与Uclk频率去耦合解锁以提高内存超频性能,并采取多种方式降低内存延迟、提高缓存速度以减少延迟带来的影响。
除了IF总线的改进之外,AMD还发了一个大招——L3缓存翻倍,每个CCX单元的L3缓存容量从之前的8MB提升到了16MB(7nm工艺的密度优势就是任性),这样一来对延迟敏感的应用就可以更多地以来L3缓存而内存,AMD称此举使得等效内存延迟减少了33ns,游戏性能提升了21%。
此外,AMD凭借IO核心分离还提高了内存的频率,之前的锐龙支持的内存频率不过2933MHz,现在可以轻松达到4000+,号称一键超频到4200MHz,高者可达DDR4-5133Mhz。
对于内存频率,如果追求极限低延迟,频率高了也不一定好,这也跟IF总线的工作模式有关,虽然它跟内存频率分离了,但1:1情况下延迟还是最低的,分界点就是DDR4-3733,这时候内存延迟是最低的,而AMD官方推荐的是DDR4-3600 CL16模式,对当前的内存来说这个频率、时序也很轻松能达到。
第三代锐龙的Zen2架构详解:一切为了更高的吞吐量
如果大家还记得锐龙7 1800X首发时的情景,那么对Zen架构的SMT多线程、CCX单元、IF总线等创新应该还有印象,而锐龙3000的Zen2架构也继承了这些优点,只不过Zen2中IO相关的分离了,CPU核心变得更纯粹,总体方向就是提升核心数以加倍多线程性能,同时最大可能提升单核性能。
在锐龙3000中,CPU与IO核心分离之后可以有多种搭配,比如1组CPU搭配1组IO核心,这样最多是8核16线程,还有就是2组CPU核心搭配1组IO核心,这样最多16核32线程,这也是目前锐龙9 12核及16核处理器实现的根基。
在14nm Zen架构中,1个CCX单元的总面积是60mm2,其中CPU核心44mm2,8MB L3缓存是16mm2,算上其他IO、内存主控、IF等单元,8核处理器的核心面积是213mm2。
在Zen 2架构中,一个chiplets芯片的总面积才74mm2,其中CCX+16MB L3缓存的核心面积才31.3mm2,同比减少了47%,一方面是因为7nm工艺的密度优势,一方面也跟Zen2的CCX只有CPU核心有关,减少了IO单元。
这里也可以解释为了降低延迟AMD为什么敢于大幅加倍L3缓存的原因了,每个CCX翻倍到16MB L3缓存后CCX核心面积依然减少一半左右,何乐而不为呢。
整个Zen2架构来说,它继承了SMT多线程技术,同时在分支预测、缓存系统、整数、浮点等单元上做了改进,并加入了新的指令,目的就是进一步降低延迟带来的影响。
在缓存系统上,Zen 2的L3缓存翻倍,L2缓存维持512KB 8-Way不变,L1缓存有所调整,指令缓存容量64KB减少到了32KB,但关联性从4-Way变成了8-Way,而且Micro-Op缓存翻倍,AMD这样做显然是想取得一种性能与节能、面积之间的平衡。
预取单元中,AMD提高了分支预测的精度,加大了BTB(分支目标缓冲器)容量,优化了32KB L1缓存,最主要的则是加入了TAGE分支预测器,最终使得分支预测的误命中率减少了30%,提升了命中精度以减少能耗、提高性能。
解码单元中,主要是改进了micro-op微操作缓存,容量从2K翻倍到4K,可以支持更多的解码操作。
浮点单元是Zen 2架构中变化比较大的部分,在去年的EPYC罗马处理器中AMD就表示浮点性能吞吐量翻倍,原因就在于完全支持了AVX2指令,位宽从128bit提升到了256bit,这样不用再将以往的256bit指令拆分为两个指令用两个周期执行了,实现了浮点性能翻倍。
整数执行单元中,调度器从84个增加到了92个,物理寄存器从168个增加到了180个,从每周期6发射提升到了7发射,总体来说这方面的改进更多地是量变,进一步优化执行单元的效率及执行速度。
载入/存储单元中,同样是提升队列的深度,提升TLB缓存容量,提升带宽,降低延迟,最主要的是带宽从每周期的16B翻倍到了32B字节。
缓存一致性上,前面已经介绍过了L1、L2、L3缓存的变化了,其中L2缓存不变,L3缓存翻倍,L1指令缓存减半,但关联性翻倍。
Zen2架构中还增加了一些新的指令,比如CLWB、WBNOINVD、QOS等,不详细解释了,这些指令主要跟内存、缓存有关,主要目标还是提高缓存性能、降低延迟,它们主要是给EPYC处理器准备的,锐龙3000消费级处理器支持这些指令主要还是沾光。
最后值得一提的是处理器的安全性,由于后发优势,Zen2架构在安全性、漏洞防护等问题上更具优势,Zen架构上就已经免疫了多个Spectre幽灵、Meltown熔断等变种漏洞,Zen2架构上进一步硬件免疫了幽灵漏洞变种,这点对消费级处理器来说影响不大,但对企业级用户来说很重要。
第三代锐龙的终极目标:要多核还要单核 更要能效、低温
不论是7nm工艺还是Chiplets设计,亦或者是Zen 2微内核架构,AMD在霄龙、锐龙处理器上追求的目标不外乎性能、能效,结合之前处理器表现出来的优势及槽点,具体来说就是继续保持多核性能优势、提升单核性能、提高能效、降低功耗及发热,还有就是更低的成本,不过售价这方面还跟市场有关,要看具体产品,这里先不谈了。
在性能这点上,AMD在7nm Zen2上追求的是性能提升,首先是IPC性能,在从推土机架构到Zen架构上,AMD实现了52%的IPC性能提升,不过那个有特殊加成,但从Zen到Zen2上,AMD表示他们也实现了15%的IPC性能提升,这点就难能可贵了,毕竟现在的高性能CPU架构提升越来越难,以往Intel产品提升5%的IPC性能就算不错了。
其次,AMD还要实现更高的频率,锐龙一代、二代处理器在这方面就吃过亏,加速频率也就4.3GHz而已,相比Intel已经实现的5GHz加速频率差了很远,导致AMD在单核性能上吃亏不少,游戏性能也因此落败。
在7nm Zen2上,AMD总算有了突破,锐龙9 3900X 12核处理器的加速频率也达到了4.6GHz,16核的锐龙9 3950X更是达到了4.7GHz频率,而且AMD表示他们的加速频率不单单是追求单核最高频率,可能的情况下更愿意让多个核心达到加速频率,这样一来性能会更强。
综合IPC性能及频率的提升,AMD在锐龙3000上终于实现了单核性能的大进步,官方数据显示单线程性能提升了21%,考虑到锐龙一代、二代上单核性能与Intel酷睿处理器最大的差距也不过20%左右,这次的提升足以让AMD在单核性能上追平甚至超越Intel酷睿。
与此同时,AMD一直有优势的多核性能上还会继续保持,锐龙3000上最大核心数翻倍到了16核32线程,随着核心增加多核性能也基本保持了线性增长,6核12线程的处理器CINBEBCN R20多核跑分是3678,12核24线程的锐龙3000就是7248分,基本上就是同步增长的。
更重要的是,在性能增长的同时AMD反而降低了处理器的功耗,每瓦性能比要比目前的锐龙7 2700X以及Intel的酷睿i7-9700K处理器有了50%到70%的增长,锐龙7 3700X的绝对功耗反而从前两者的195W、157W降至135W,能效表现让人刮目相看。
考虑到锐龙7 2700X以及Intel的酷睿i7-9700K处理器都是14nm工艺水平的,7nm的锐龙3000处理器在能效上有两代工艺的差距,官方称同性能下功耗降低了50%,能效上可以说是降维打击。
伴随着能效的提升,AMD的锐龙3000处理器在发热上也很有优势,Intel的6核、8核酷睿处理器发热之高让很多玩家不爽,但锐龙7 3700X要冷静的多,这个优势在锐龙一代、二代上就已经如此了。
除了硬件上的改进,AMD在优化方面也跟上来,锐龙3000处理器就得到了微软的支持,在最新的Windows 10 5月更新(1903版)上,它也支持了AMD处理器的快速CPU状态切换功能,涉及到一些突发工作负载时,锐龙3000处理器的频率提升时间从30毫秒减少到了1-2毫秒,简单来说就是在需要的时候可以更快速度提升频率,这样就可以提升应用程序的响应速度,AMD表示PCmark 10的启动时间就缩短了6%,Rocket League游戏的启动时间更是减少了15%。
第三代锐龙的完美搭配:X570芯片组+PCIe 4.0带宽
在处理器之外,不得不说的还有全新一代X570芯片组,相比以往的芯片组由祥硕操刀设计,这次的X570是AMD亲自上阵,为的就是实现PCIe 4.0技术支持,而且不惜成本地上了14nm制程工艺。
与PCIe 3.0相比,PCIe 4.0的速率从8GT/s提升到了16GT/s,带宽翻倍提升。主要优点如下:
①速度更快,x16双向带宽达到了32GB/s,是PCIe 3.0的两倍。
②向下兼容,PCIe 4.0也能兼容PCIe 3.0设备。
③更多连接,PCIe 4.0带宽高,1条顶2条,可以连接更多设备而不需要担心性能下降。
PCIe 4.0在消费级平台上目前还是AMD X570/锐龙3000的独家功能,所以群联、慧荣等公司推出的PCIe 4.0主控以及厂商的PCIe 4.0硬盘要想发挥威力,AMD平台是首选,可以将SSD的读写性能提升到5GB/s级别,未来还可以进一步提升到6.5GB/s。
此外,X570平台除了PCIe 4.0之外,其他SATA、USB 3.1 Gen2、NVMe等标准也要比Intel的Z390平台更好,扩展接口数量更多,搭配更灵活,所以在X570平台上,AMD及主板厂商有了打造顶级平台的底气,这一点也是跟以往300、400系芯片组最大的不同,有先进技术就能任性。
当然,考虑到PCIe 4.0目前比较少支持,不追求极限性能的话大家完全可以选择X470、B450等平台,AMD之前也确认过了,除了PCIe 4.0支持之外,其他平台上锐龙3000处理器的性能也是一样的,不会受影响的。
总结:从优秀到卓越,第三代锐龙各种优点“我全都要”
从AMD的7nm Zen2架构设计来看,AMD在这一代处理器上可以说志向远大,不论单核还是多核性能,或者是能效、温度、成本,AMD的目标简直就是下面这张图所展示的那样:
没错,锐龙3000处理器上AMD表现出来的就是各种优势都要占尽,不给友商留活路的感觉,通过先进的7nm工艺、独特的Chiplets小芯片、全面改进的Zen2架构实现了性能、能效的同步增长,而且以往最弱的单核性能这次也追上来了。
对于锐龙3000处理器的性能,AMD的官方测试展示了很多了,不过我们这里不打算详细列举了,上面这张图就是综合代表了,单核、多核性能都要比Intel的酷睿i9处理器要强。