AMD APU客观评述:拷问共享内存机制

2011-06-29 17:27  出处:PConline原创  作者:存在主义饼干   责任编辑:mengxiaodong 

GPU抢食CPU性能?

  AMD的融合概念已经喊了好几个年头了,直到现在的APU上才算真正有点融合的意味,CPU和GPU真正开始共享内存,不过就是这一点融合也带来了严重的挑战——如何在资源共享的同时保证二者的性能互不受影响,而不会出现1+1<2的意外情况。

2
Radeon Memory Bus

  从前一节的GPU架构图上我们就已经注意到了,APU中GPU末端与北桥相连,可以通过北桥的直接访问DDR3内存,这 被AMD称为Radeon Mmeory Bus(Radeon内存总线)。这看起来与以往的GPU—北桥—内存的路径并没有不同,但是GPU实际上是可以直接读取内存数据的,延迟要比过往模式要 低。

  除了Radeon Memory Bus之外还有一条“总线”——Fusion Compute Link(简称FCL),这是一条并行总线,类似于(CPU与北桥之间的)HT总线,它可以让GPU高速访问CPU缓存和内存,其效率比通过PCIE总线 访问要高,这也缓解了GPU对带宽的渴求。

  Radenon Memory Bus和FCL总线降低了GPU访问内存的延迟和复杂度,但是APU的问题不在这里,而是总带宽不足。

  之前AMD整合平台集成的显卡位于北桥,也是共享内存设计,但是GPU受限内存带宽的情况并不突出,首先是因为先前的集 显规格较低,譬如HD 4290最多只有80SP,对带宽要求并不高,而且还有SidePort板载显存技术辅助,也可一定程度上降低对内存性能依赖。如今APU里的显卡规格极 速攀升,已经达到了中低端独显的水平,因此对数据带宽的要求也提升了一个量级,与CPU争抢内存带宽的矛盾一下子暴露出来。

  先来看独显的带宽要求,桌面版的HD 5570可以选择搭配900MHz的DDR3或者900-1000MHz的GDDR5显存,前者带宽为900MHz*2*128bit/8=28.8GB /s,搭配GDDR5带宽则有900(1000)MHz*4*128bit/8=57.6GB/s(64GB/s),数据带宽还是很充裕的,那么DDR3 内存能提供多少带宽呢?

2
Radeon Memory Bus

  移动平台的APU支持双通道DDR3 1600MHz模式,内存带宽有1600MHz*128bit/8=25.6GB/s,桌面平台APU支持双通道DDR3 1866,内存带宽则为1866MHz*128bit/8=29.8GB/s,也就是说即使是高配版的APU其总带宽也只有独显搭配DDR3显存时的带 宽,此外还请注意两点,上述25.6GB/s和29.8GB/s只是理论计算出来的,实际内存性能大大低于理论值。第二则是,即使达到理论带宽,GPU和 CPU还是要共享内存带宽的,GPU可用的带宽依然远低于独显。

  内存带宽问题成了APU性能提升的一个瓶颈,虽然现在这还不是一个严重的问题,但是迟早会成为影响APU前进的绊脚石。提升内存带宽可以从以下三个方面着手:

  1. 提升内存频率,这个是最简单直接的方法。目前桌面版的APU已经支持DDR3 1866标准,内存带宽相交当前1333MHz的主流高了40%,不过从1866MHz继续提升内存频率也没那么简单,高频内存售价高,消费者不一定买账。

  2. 提升内存通道,现在的主流是双通道,提至四通道就可以让内存带宽翻倍,极大地缓解GPU的带宽需求。桌面CPU只有Intel的LGA1366平台支持三 通道,大部分仍为双通道模式,这里还有潜力可挖,Intel下一代X79平台就支持四通道内存,AMD的服务器CPU现在就已经支持四通道内存,未来的 APU支持四通道内存并非难事。

  3. 显存做内存,天堑变通途。在DDR3以前,显存和内存是没有区分的,未来也有可能再次走到一起。目前的GDDR5是四倍数率,而DDR3内存是双倍数率, 显存作为内存就可以不做任何改变的情况下带宽翻倍。这项技术实现起来难度比前面两条更大,但是却是一劳永逸,而且GDDR和DDR的技术规格本来是一样 的,变迁的难度主要在成本上,希望技术的进步可以尽快解决这个问题。

解读:

  AMD的融合概念终于在APU身上得到体现,但是也面临着更多的挑战。CPU和GPU开始共享资源,期间必然要面对资源 分配的问题,由于GPU已经整合进CPU内部,板载显存的方式已经不可能,AMD改进了GPU访问缓存和内存的方式,不过DDR3的带宽有限,依然无法匹 敌同等级独显的带宽,这对APU的3D性能有了不利影响。

键盘也能翻页,试试“← →”键
IT热词