AMD 7nm Zen2架构详解:从优秀到卓越
不知不觉中amd的锐龙处理器上市2年半了,2017年横空出世的zen架构也发展了两代了,如今上市的是第三代锐龙——锐龙ryzen 3000系列了,回头再看的时候发现当前的主力锐龙ryzen 7 2700x开始陆续下架了,正如很多人不记得锐龙7 1800x处理器下架一样。
管理学中有个著名的说法——从优秀到卓越,这句话用来形容现在的amd再合适不过了。
基于7nm工艺打造的第三代锐龙,相信很多人都很感兴趣它频率、核心、性能都大幅提升的背后,是有哪些架构的革新与调整,今天就拿着amd官方的ppt,给大家深入浅出地讲一讲吧——
本文内容较长、而且涉及的专业名词、术语比较多,阅读也有一定的门槛,但我已经尽可能从简地解释了,对于喜欢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处理器要强。
amd官方的ppt并不能代表实际的性能如此,最终的表现如何还要看测试, amd“全都要”的目标到底能实现多少。完全评测也会在7月7日的晚上9点解禁,来太平洋电脑网打开看详细的对比数据吧。
上一篇: Shell语法
下一篇: 微信半小时封禁3000万帐号