显卡 频道

NVIDIA新杀手 320MB G80首发评测

Unified Shader Architecture统一渲染架构

传统的分离式渲染架构与革新的统一渲染架构

  在G80以往的图形芯片产品中,都采用了和DirectX Shader Model 3.0对应的分离式的渲染架构,如图所示,Vertex Shader顶点处理器和Pixel Shader像素处理器都属于流水线中的先后一部分,NVIDIA的G7x系列和ATI的R5xx系列都是这样的架构。

NVIDIA G70的架构图,代表性产品是GF7600系列和GF7900系列,也是基于Vertex Shader和Pixel Shader分离的架构

ATI R5xx系列的Ring Bus架构图,代表性产品是X1900系列,可以清晰地看到Vertex Shader和Pixel Shader的分离架构

  在这些分离式架构的产品,Vertex Shader和Pixel Shader都占据了核心的大部分晶体管,事实上在以往的图形核心的时钟频率,就等同于它们的频率,如ATI X1950XTX的核心频率为650MHz,实际上就是说X1950XTX的48个像素处理单元和8个顶点处理单元的频率为650MHz。

  说到核心频率,必须注明一下,对于大部分的图形核心产品而言,几乎所有部分都运行在相同的一个频率下面——就是称之为核心频率,而对于NVIDIA而言,早在G70时代起,就将Shader频率和ROP频率分离了,NVIDIA对Shader的频率进行了提升,因此对于G70/G80这些产品而言,需要分别给出核心频率和Shader频率才行——因此我们的测试平台中分别给出了核心、Shader、显存三个频率。


  实际的应用中,图形操作对Vertex Shader和Pixel Shader的资源需求度以及它们的比率都是不停变化的,传统的分离式渲染架构中固定的VS和PS比率不能很好地适应这些变化,运行中总会出现其中一种Shader过载而另一种Shader处于空闲的状态,这时就浪费了GPU的运行效率。为了打破这种陈旧的架构,同时也为了更好地适应DirectX 10带来的Shader Model 4.0,NVIDIA的G80采用了革命性的渲染架构:Unified Shader Architecture统一着色结构,这是一种Direct X 10推荐的渲染架构。

  在这种结构中,G80取消了传统意义的Vertex Shader和Pixel Shader,取而代之的是即能扮演Vertex Shader,又能扮演Pixel Shader,还能担当Geometry Shader(DirectX 10 SM 4.0中出现的一种Shader)以及Physical Shader(笔者的创作,指的是Physical Engine物理引擎)等角色的多用途Shader,这个Shader在G80中的名字就是Streaming Processor(流处理器)。

  G80核心最多具有128个标量着色单元——其中简化版本的G80-100(就是8800GTS)只有96个——因为源于DX10的Stream Output特性,NVIDIA就自然地称之为Streaming Processor(流处理器)。128个流处理器分为8个区,每个区具有16个Streaming Processor以及4个Texture Address Unit(纹理寻址单元) 以及8个Texture Filtering Unit(纹理过滤单元) ,所有的这些单元共享着一个速度非常快、近乎0延迟的L1缓存。最后输出的数据写入一个全局共享的L2缓存,或者继续输出到ROP单元进行操作,或者重新返回流水线进入Streaming Processor。

  整个G80架构提供了128个标量着色单元、64个纹理过滤单元。毫无疑问,这些标量着色单元——Streaming Processor(流处理器)支持SIMD处理。

  由于Streaming Processor(流处理器)的多面手特性,系统就可以根据自由地实际的图形工作负荷分配Vertex Shader、Pixel Shader、Geometry Shader以及Physical Shader资源,这样图形核心的处理能力就可以得到极高的利用效率。而G80的Streaming Processor(流处理器)的频率非常高,如官方规格的8800GTX的SP频率为1350MHz,8800GTS的SP频率为1200MHz,这比以往架构中运行于较低的500MHz~600MHz的Shader频率要高得多了,这也赋予了G80强大的性能,在我们测试的新版320MB 8800GTS中,XFX的产品甚至达到了1500MHz的Shader频率。

0
相关文章