进一步提升竞争力,深入AMD Raven Ridge APU架构

百家 作者:微型计算机 2018-10-25 14:52:33

AMD是业内唯一一家能够同时提供高性能CPU和GPU的厂商,旗下APU产品更是以独特的产品构思和应用体验得到了一大批用户的青睐。在进入Zen架构的时代后,AMD的APU经历了翻天覆地的变化,架构设计和实际体验相对前代产品有了长足的进步。在之前的文章和资料中,AMD对APU的内部结构和设计介绍的非常少,往往只是泛泛而谈。这一次在专业的Hot Chip 30会议上,AMD展示了大量的APU内部设计的内容,本文就和大家一起来深入了解一下。


AMD最早于2017年底推出了基于“Zen”架构的APU处理器。在2018年,新的APU产品进一步扩大了其市场范围,它不再单纯地被作为一个产品线,而是逐渐日常化,变成了传统的Athlon或者Ryzen的一部分。从架构上来看,新的APU依旧是一个完整的片上系统解决方案,其特点还是把传统的CPU和GPU集中在一起,至于其他的部分,在Hot Chip 30会议中,AMD的首席架构师Dan Bouvier进行了进一步的讲解。


Raven Ridge架构总览


Raven Ridge作为一个完整的SoC方案,内部集成了相当多的功能模块。包括有AMD Zen架构的4核心CPU、Vega架构的GPU、内存控制器、PCIe GPP单元、USB单元、NVMe和SATA、显示控制模块、平台安全处理器、多媒体模块以及传感器模块等。此外,不同的模块都挂接在AMD的Infinity Fabric总线上,并通过总线进行数据沟通。


和之前数代APU采用小改的方案不同的是,新的Raven Ridge在内部结构的设计上是全新的,这个全新设计的优势在于后期还可以对SoC上的组件进行修改。在Raven Ridge中,新引入了全新的显示引擎、和处理器相关的音频以及全新I/O子系统,包括USB 3.1和USB-C接口等。


▲Raven Ridge芯片核心和布局情况


核心部分


Raven Ridge的核心是一整个芯片,这也是SoC设计的重要目标。典型的一颗Raven Ridge芯片的面积达到209.78平方毫米,封装了49.4亿个晶体管,采用了格罗方德的14nm工艺制造。相比上代28nm的产品,新的Raven Ridge在增加了18.4亿晶体管的基础上,芯片面积大约是上代产品的0.84倍。更小的核心面积也能有效地降低生产成本,在这一点上新工艺是值得信赖的。


在最主要的CPU和GPU方面,Raven Ridge采用了一个Zen架构的处理器核心,也就是一个CCX,包含了4个物理核心,不过在缓存上进行了一些削减。Ryzen处理器的CCX的L3缓存为8MB,但是在Raven Ridge中,AMD只为CCX配备了4MB的缓存。缓存的削减会带来一定的性能损失,不过只要设计得当,在一般应用中体现的可能不会特别明显。


Raven Ridge芯片核心和布局情况


通常,相比无缓存设计,缓存的容量太小也没有帮助,容量的数值需要达到某一个关键数值,才会带来显著的性能提升,但是在关键数值之上继续增加缓存容量,得到的提升将会越来越少。想必AMD对Raven Ridge的4MB L3缓存做出了大量的实验,在性能和成本之间做出了平衡。另外值得一提的是,目前已经发现了3种Zen架构的CCX方案,其中一种为4核心、配备8MB缓存;另一种则是Raven Ridge的方案,也是4核心但是配备4MB缓存;最后一种则很少见,双核心配备4MB缓存。


相比上代Bristol Ridge而言,新的Raven Ridge加入了L3缓存,不但有助于提高CPU核心性能,还有助于降低系统级数据流量,因为缓存的加入使得处理器不需要频繁通知总线调用数据,这对APU来说相当重要,因为GPU对总线带宽极为敏感,降低了CPU对总线带宽的需求,在一定程度上也有助于GPU部分的性能提升。


新出现的Vega GPU


Raven Ridge的GPU部分采用的是AMD最新的GPU架构—Vega。虽然相比之前的架构,Vega也算不上AMD全新的GPU架构,但对APU来说,能和AMD最新的桌面显卡采用同样的GPU架构还是不多见的。相应的,Raven Ridge的GPU相比桌面产品依旧做出了一些缩减,在Raven Ridge中,GPU部分设计了11个CU单元和一个1MB的L2缓存,后者专用于计算和纹理数据的存放。


11个CU单元对应着704个着色器引擎(每个CU单元有64个着色器引擎)、44个TMU(纹理单元)和16个ROP。AMD声称Raven Ridge的GPU最高频率能够达到1200MHz,这将使得处理器的最大理论性能达到845FLOPS(双精度)或者1690FLOPS(单精度)或者3379FLOPS(半精度)。值得一提的是,目前市场上已经出现频率更高的Raven Ridge产品,因此性能还会更强一些。


供电部分的改进


AMD在之前的Bristol Ridge上采用了三个独立的供电网络,分别为SoC、GPU和CPU供电。这种配置方式意味着CPU和GPU在最差的情况下功耗可能过载(比如GPU和CPU同时满载的情况),这种情况意味着电源效率的降低。为了改善这一点,Raven Ridge中,CPU和GPU采用了一个单独电压轨道(即单独的Vdd),并且引入了在Zeppelin上相似的设计,真正的VDD(RVDD)从VRM单元接入芯片,然后再分布至各个内核。Raven Ridge中的CPU和GPU使用了一个Vdd后,不再会出现由于系统满载导致电源效率下降、功耗失控的情况出现。


▲Raven Ridge(左)和Zeppelin芯片比较


另外,在控制方面,每个Zen核心和Vega计算单元都有自己的本地低压差稳压器,它将RVDD作为输入形成自己的电压域。AMD还透露,在封装层面,RVDD由平台电压调节器控制,粒度为6.125mV,LDO则为每个内核提供更为精细的2~3mV的电压调节粒度,相应的,这些调节和粒度设定也会被用在内置的Vega GPU上。


在AMD将CPU和GPU两个电压轨合二为一后,由于减少了一个电压轨道,因此封装所需要的引脚变得更少,这是AMD可以在Raven Ridge上采用更小巧的BGA封装的关键因素之一。从AMD的报告中可以看到,单电压轨需要36%的调节器面积,同时电流增加了28%。换句话来说,通过共享的电压轨,所需的总封装级电流降低,但是CPU和GPU所允许的最大峰值电流反而增加了。


双供电轨道和单一供电轨道在电能效率上的对比


在内核供电方面,分布的LDO使得处理器可以更为精确地控制芯片的电源状态。Raven Ridge的电源管理状态控制借由此技术得到了增强。对于CCX中的四个核心而言,每个核心都可以由自己的电源调节器供电,每个核心可以独立断电(CC6),输入PC6(CPUOFF)意味着也可以降低高速缓存的功率。在GPU方面,响应时间可以实现小于100us的核心快速关闭功能,以及图形模块的完全功率门控(高达95%)。


CCX的不同供电层示意图


除了电源管理外,Raven Ridge的改进还包括核心温度控制方面。Raven Ridge在这部分功能上采用了Bristol Ridge上就已存在的STAPM技术,全称是Skin Temperature Aware Power Management,可被翻译为表面温度感知电源管理技术。在STAPM下,可以在温度可控的情况下临时提高核心频率。


Raven Ridge拥有的STAPM技术


换句话来说,可以根据处理器表面温度和环境温度之间的差异,以便在设备温度相对较低、不超过设定的表面温度的情况下,临时提供短暂的频率上升,进一步提升性能表现。这项技术主要改善了一些突发的工作负载表现,其行为类似于很多已有的电源管理机制,比如英特尔的TVB。


最后,AMD还提出了“25×20”的能源效率倡议。“25×20”是一个在2014年就提出的节能倡议,其目标是2020年达到当时产品25倍的电力效率。这样惊人的增长需要通过工艺进步、计算性能、电力设计、电源管理和闲置优化等不同的方法来综合实现。


Raven Ridge在待机供电上的改进


AMD在处理器设计上践行“25×20”倡议


在“25×20”方面AMD宣称已经取得了重大进展,AMD展示的信息显示,2017年到2018年他们在能源上的改进将会非常明显,目前还不清楚AMD宣称的“2018 Raven Ridge”是否就是今天的产品,但是其数据来源显示这里的信息来自于即将推出的Raven Ridge APU,属于AMD内部机密。因此我们可以期待AMD将带来怎样的惊喜。


Infinity Fabric总线


Raven Ridge 内部采用了Infinity Fabric总线,Infinity Fabric的特点在于高速、高带宽和低延迟,能够连接不同种类的计算核心和组件。Infinity Fabric的协议核心是Coherent HyperTransport,AMD宣称可扩展数据结构SDF在数据连接方面上采用的是可扩展数据接口SDP,SDP被定义为芯片上所有IP连接的标准端口。这样定义的目标是维持SDP的一致性来简化验证和周转时间,因为在设计中,不同的组件是由不同的组设计的,因此确保所有的组都能够遵守相同的底层协议是非常重要的,这将极大地减少开发时间。


Raven Ridge内部交通层连接方式


Raven Ridge内部通信层布局方式


顺便说一句,目前SDP的大部分内容和AMD开发的原始Coherent HyperTransport(cHT)接口完全相同,cHT是著名的HyperTransport总线的专用扩展。以前AMD曾使用过cHT来实现对Athlon 64FX和Opteron处理器的一致性支持,现在只是将其拿出来用在新的芯片中,并加以改善而已。Infinity Fabric的传输层由四个交叉开关组成,每个周期可以实现5次传输。CCX/GPU接口和存储控制器在高速一致性缓存上分别属于主设备和从设备。


Raven Ridge 内部采用了Infinity Fabric总线


由于Infinity Fabric总线的加入,因此,在大多数时候Raven Ridge和标准的Zeppelin非常相似,只是增加了GPU、多媒体中心和显示控制器而已。和Zeppelin一样,Raven Ridge中使用的Infinity Fabric总线宽度为32 byte,频率为1.6GHz(MEMCLK),带宽为51.2GB/s。


值得一提的是,在Raven Ridge中,CCX和Zeppelin中一样,采用了单个总线连接SDF Plane(也就是通过高速缓存一致性主控CCM和传输层进行连接),但是考虑到GPU对数据带宽的渴求,在Raven Ridge中使用了两条总线连接SDF Plane和GPU,以实现双倍带宽。


即使GPU使用了双总线、双带宽,但是依旧不够用。因为AMD设计了一些优化措施来降低带宽不足的影响。包括对延迟的信息进行处理以降低延迟损失,允许丢弃一些无关数据等。其他的还包括1MB L2 GPU专用的缓存和对三角形信息的无损压缩等,都可以有助于提高带宽效率。


在能耗方面,Infinity Fabric总线也经过特殊的设计。因为传输层本身被设计为适用于双区域功率门控,因此在某些低功耗情况下,芯片的一部分区域可以被关闭以节约能耗。比在视频回放时,只需要调用多媒体和显示等部件,诸如CPU、GPU和I/O等部件不会一直工作,因此可以关闭它们节约电能。


Raven Ridge加入了双区域功率门控,一部分可以关闭以节约能耗。


除了上文的总线方案外,AMD还介绍了有关QoS的内容,也就是Quality of Service,这指的是在一个信息网络中,能够实现质量更高的数据通讯的方法。


作为一个SoC产品,Raven Ridge在QoS上也需要谨慎处理。在实际产品上,Raven Ridge的传输层每个端点都可以接受传输请求并排队,每个队列都支持多个虚拟信道和共享请求池。这些队列支持三种请求类:非实时请求、软实时请求和硬实时请求。队列使用选择仲裁器来处理请求,选择仲裁器基于请求时间进行排序来分配虚拟通道等。另外,通过端到端的虚拟通道,也可以实现通道的优先性升级。


AMD为处理器加入了QoS,能够改善内部通讯。


AMD还给出了一个在1080p分辨率下运行游戏《中土:暗影魔多》的频率和帧速率的图表,这个游戏带来了巨大的内存流量。在比较中,Raven Ridge和上代Bristol Ridge都采用了8CU的设计,但是其性能表现的差异非常巨大,尤其是在高频范围中,GPU能够获得更充足的带宽带来了更高的性能。


Raven Ridge:AMD的强力出击


从本文的解读以及本刊之前的文章对Raven Ridge产品的介绍来看,Raven Ridge通过大幅度改进底层设计,引入Zen架构CPU和Vega GPU,以及全新的工艺、总线、设计等,大幅度提高了APU的性能功耗比,使得APU的竞争力大增,不但成功在主流市场夺得一片份额,还进驻了移动产品,成为AMD近期来相当成功的产品之一。


在这一代APU成功之后,下一代产品可能会采用全新的7nm工艺,引入Zen 2架构的CPU和新的GPU。新的处理器可能在架构上不会有如此大的改革,但进一步更新的工艺和CPU、GPU的架构改进,将带给人们更多遐想的空间。 


关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接