热点推荐
ZOL首页 > 显卡 > 行情 > 谁是谁非 冷眼看FERMI/RV870真假DX11之争

谁是谁非 冷眼看FERMI/RV870真假DX11之争


CBSi中国·ZOL 2010年05月10日 00:32 评论

引言

  不少玩家依稀还记得当年Intel与AMD关于真假双核CPU、真假四核CPU的口水战,由于实现的方式不同,其性能效率亦有高低之分,从而引发了关于真假双核/四核的争议。而当时间来到2010年,NVIDIA的GF100与AMD的RV870围绕着真假DirectX 11架构显卡出现了争议,网友关于真假DX11显卡的口水大战亦在升温。

一、FERMI亮剑对撼RV870,引发真假DX11之战

  2010年3月26日,NVIDIA正式发布基于Fermi架构的GTX480/GTX470显卡,标志着NVIDIA正式进入DirectX 11时代。在规格方面,GF100核心拥有史无前例的30亿个晶体管,相比AMD同样支持DirectX 11的RV870的21亿个晶体管,整整多出了近50%,在性能部分,GF100的整体性能表现亦要比RV870平均高出不少。

  GTX480/GTX470的发布点燃了玩家们的极度热情,同时基于DirectX 11而全新设计的FERMI架构亦令人对AMD支持DirectX 11的RV870核心产生了怀疑。基于RV870核心的HD5870/5850是业内首款DirectX 11显卡,发布时间要比FERMI早半年左右,这也令其赚尽了眼球与市场先机。但是RV870却有一点硬伤无法解决,其架构并非全新设计,而是廷用了R600、RV670和RV770的架构,通过简单扩充DX10的规模来部分支持DX11。


谁是谁非 冷眼看FERMI/RV870真假DX11之争

  AMD这种方法可以在最短时间内推出支持DX11的产品。但是其弊端亦是显而易见的。因为目前GPU的瓶颈主要在于显卡的几何性能的提升。在GPU的发展过程中,GPU的渲染能力提升非常迅速,但是几何性能的增长却非常缓慢。在DX11之前,这个问题并不会有太大的影响,但在DX11时代下,新增的Tessellation技术对GPU几何图形处理能力提出了新的要求,此时如果继续沿用上代架构显然会制约DX11性能,成为新的瓶颈。因此NV选择了将整个GPU架构推倒重来,完全针对Tessellation技术而优化设计,确保拥有最强的DX11性能,而AMD则是用新瓶装旧酒的方式来实现对DX11的支持。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  事实上,这个问题在RV870发布时已经有人提出质疑,但因为缺乏同类DX11显卡产品的对比,所以无法加已佐证。而FERMI的正式发布,令不少玩家重新关注起RV870是否为真正DirectX 11显卡的问题。这不由令人想起了当年Intel与AMD的真假双核、四核之争。那么,到底什么样的架构才是真正的DirectX 11架构,而基于RV870核心的HD5870/5850又是否可以算是真正的DirectX 11显卡呢?

二、架构之争,Tessellation执行效率谁更强?

  Tessellation曲面细分是DirectX 11的灵魂所在。从架构上来看,GF100与GT200最大的不同其实就是PolyMorph Engine,即多形体引擎。每个SM都拥有一个多形体引擎,GF100核心总共有多达16个。PolyMorph Engine再加上其专有的顶点拾取单元、镶嵌器以及并行光栅化引擎,其主要作用就是用于处理Tessellation运算,由于Tessellation是DX11最主要特征,因此我们可以将这一部分称其为DX11处理单元,GF100拥有16个DX11处理单元。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  简单地说,GF100是用PolyMorph Engine将Tessellation运算独立了出来。GPU的流处理器不再执行Tessellation运算,这样一来可以大大降低光栅化单元等串行工作的资源压力,同时保持较高的Tessellation性能。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  相比之下,AMD的RV870采用的架构设计了两个Rasterizer(光栅器)和Hierarchial-Z(多级Z缓冲模块)来满足庞大规模流处理器并行处理的需要,但Tessellator(镶嵌器)、Vertex Assembler(顶点装配器)、Geometry Assembler(几何装配器)都只有一个。也就是说Tessellation运算的工作也是由Stream processor来执行。这样会带来一个问题就是令Stream processor 的压力大大增加,造成效率过低的现象。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  形象地说,GF100是采用了分流的设计,流处理器做流处理器的运算,而PolyMorph Engine则专门做Tessellation运算;但RV870则是没有分,所有工作都排在了一起,难免会出现塞车的情况,效率过低。这也是为何在所有的Tessellation运算测试中,一遇到细分级别过高的时候,HD5870马上就会变成幻灯片,而GTX480/470依然能流畅自如的原因所在。

三、DirectX Compute谁更有优势?

  DirectX Compute可以说是DirectX 11的精髓,微软的DirectX Compute为全新的GPU运算应用程序编程接口(API),它与OpenCL一样,为开发人员提供了并行计算的API。无论OpenCL还是DirectX Compute都是可以通过NVIDIA CUDA并行计算架构上运行。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  在Windows7里,其最重要的一个组成部分就是针对GPU支持的运算应用程序的DirectX Compute API。这种API使用户可以享受非凡的视觉体验和互动体验,比如高质量视频、照片等娱乐方式、方便快速与设备互动、反应更快更灵敏的电脑、逼真的游戏效果等。Windows7的协同处理环境(CPU+GPU)如何处理主要运行序列代码的应用程序,如电子邮件、办公室应用程序(比如Word)、基本网页浏览等。在这种情况下,大部分应用程序处理工作由CPU进行,而GPU则将图像显示在屏幕上;而在Windows7的协同处理环境(CPU+GPU)下处理需要并行运算的应用程序时(如视频播放、视频编辑、视频转换、3D网页浏览、电脑游戏等),DirectX Compute可以利用GPU的运算力量,大大提高了应用程序处理速度。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  从DirectX Compute的原理可以看到,其实现与NVIDIA的CUDA技术如出一辙,也就是说,支持CUDA技术的GF100可以完美地支持DirectX 11这一精髓技术。相比之下,AMD在通用计算方面的表现一直乏善可陈。事实上ATI是最先提出GPGPU的概念,Folding@Home和AVIVO是当年的代表作,但在被AMD收购后GPGPU理念搁浅。而目前AMD自家开发的Stream是完全开放的,但由于资源有限,对程序员帮助不大,因此未能得到大量使用。虽然Stream亦能支持DirectX Compute,但并不完美。

四、Compute Shader,PhysX与CUDA成先行者

  在DirectX 11新技术中,Compute Shader是非常重要的一环。很多游戏开发者都对DX11新增的Compute Shader(计算着色器,通常简称为CS)特性啧啧称赞。CS的这一渲染管线能够进行更多的通用目的运算。与DirectX Compute不同是,Compute Shader是硬件层面的,而DirectX Compute则是软件层面的。

  在DirectX11以及CS的帮助下,游戏开发者便可以使用更为复杂的数据结构,并在这些数据结构中运行更多的通用算法。与其他完整的可编程的DX10和DX11管线阶段一样,CS将会共享一套物质资源。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  事实上,NVIDIA的CUDA和Physx这两项技术的原理就是使用显卡的流处理器来进行通用计算,其中CUDA更偏向于大规模重复性计算,Physx则偏向游戏物理计算。AMD显卡目前对通用计算的支持程度一直不高,最明显的就是在3D MARK Vantage里面NV显卡使用Physx辅助CPU进行物理计算,得分普遍高于AMD同级别显卡,这让广大A-fan十分不悦。微软看到了这一情况,并且感到通用计算将在未来的游戏里面发挥越来越大的作用,于是在DX11中,微软为了规范windows平台上显卡的通用计算标准,推出了Compute Shader技术。

  CUDA 和Compute Shader相比,既有相同的地方,又有不同的地方。CUDA在和Compute Shader在提供计算API的同时,CUDA还提供了面向US架构的逻辑抽象工具,让编程人员可以从相对容易的角度写GPGPU程序。相比之下,虽然AMD想凭借Compute Shader技术来打破NV在通用计算及物理计算上的绝对优势,但从目前的来看,这种情况暂时不可能出现。NVIDIA的CUDA和Physx已经得到了非常广泛的支持与应用,成熟度非常高,这是AMD所无法比拟的。

五、L2 cache设计谁家更合理?

  不知道以后消费者在购买显卡的时候,除了频率、显存规格之外,是否还会再像CPU一样,考虑上缓存的因素。但实际情况上,缓存设计已经开始成为了GPU发展的方向。在RV870与Fermi上,我们都看到了一级缓存与二级缓存的设计。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  对于GPU而言,最佳化的内存层次方案就是同时提供 shared memory 和 cache,并允许程序员选择对它们的划分,Fermi的内存层次就采用了这样的设计。Fermi的每个 SM 都有 64KB 可配置为 48KB shared memory + 16KB L1 cache 或者 16KB shared memory + 48KB L1 cache 的高速片上RAM。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  对于以前的GPU,如果寄存器发生溢出的话就会直接溢出片外的DRAM里,这就会大幅度地增加存取时延。有了L1 cache后,即使临时寄存器使用量增加,程序的性能表现也不至于容易出现暴起暴落的现象。AMD RV870提供了32KB的Local Data Store,作用类似于NVIDIA传统的shared memory,但是目前的资料来看这个LDS并不具备配置为硬件cache的能力。

  Fermi提供了768kB的一体化L2 cache,这个L2 cache为所有的Load/Store以及纹理请求提供高速缓存,对所有的SM来说L2 cache上的数据都是连贯一致的,从L2 cache读取到的数据就是最新的数据。而AMD的RV870提供了 64KB Global Data Shared,本质上是一个可读写的cache,可用于各个SIMD Core之间的数据交换。而RV870的L2 cache则不能提供Fermi L2 Cache共享内核间数据的特性。

  有了Fermi的L2 cache设计后,就能实现GPU的高速、高效横跨数据共享。对于那些无法预知数据地址的算法,例如物理解算器、光线追踪以及稀疏矩阵乘法可以从Fermi的内存层次设计显著获益。而对于需要多个 SM 读取相同数据的滤镜以及卷积核(convolution kernel)等算法同样能因为这个设计而获益。

六、游戏更真实,谁家支持光线追踪?

  Ray tracing光线追踪是DX11游戏中非常重要的技术。当光线透射到物体表面时,光会被吸收或反射和折射,特别是当光被折射到不同方向时,光谱就会发生变化,光线在经过一系列的衰减最后进入人的眼睛。光线追踪就是要计算出光线发出后经过一系列衰减再进入人眼时的情况,这种技术非常有助于提高游戏场景的真实感。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  光线追踪在电影制作中被广泛运用,但是PC游戏要求实时渲染,光线追踪所需的运算量极其庞大,这么多年来,CPU或GPU都无法胜任这项工作。但是无论是光线追踪本身还是它与光栅化的结合都被视为图形处理的未来发展趋势。

谁是谁非 冷眼看FERMI/RV870真假DX11之争

  现在,随着GF100的问世,交互式光线追踪首次在标准PC上成为可能。GF100在设计期间就专门将光线追踪考虑在内,它是首款在硬件上支持循环的GPU,能执行高线的光线追踪和其它图形算法。GF100的L1和L2高速缓存大幅提升了光线追踪的效率,在L2缓存的帮助下,经常读取的资料就可以存放在L2 Cache内,加快显卡提取资料数据。GF100不仅在光线追踪中有不错的表现,在路径追踪(Path tracing)等高级全局照明算法中也有表现不凡。路径追踪采用大量光线来收集场景中的环境光照信息。GF100的路径追踪性能是GT200的四倍。

  相比之下,AMD的RV870缺失这一设计,其根本无法达到光线追踪的硬件要求,执行效率要比GF100相差非常多。

总结

谁是谁非 冷眼看FERMI/RV870真假DX11之争

谁是谁非 冷眼看FERMI/RV870真假DX11之争
GTX480/470是成熟的DX11显卡

  从以上DX11五大新技术指标来看,FERMI完全具备了DX11的新技术特性。反观RV870,其虽然也具备了一些DX11的技术特性,但是其支持并不完美。客观地来讲,无论GF100还是RV870,都属于DX11显卡的范筹。两者的区别在于,RV870只是一款入门级的DX11显卡,拥有部分DX11特性,而GF100则是成熟的DX11显卡,拥有DX11的全部特性,在未来真正的DX11游戏与应用下,GF100的优势会得到进一步的体现。

给文章打分 5分为满分(共0人参与) 查看排行>>
频道热词:华硕主板  Intel  AMD  
视觉焦点
TOP10周热门显卡排行榜
  • 热门
  • 新品