关于NVIDIA流处理器的叙述——
在DirectX9末期,NVIDIA的Geforce7系列就采用了像素渲染单元和顶点渲染单元工作在不同的频率以满足它们负载量不同的要求。而到了Geforce8更进一步,采用了一种大大不同的做法:Unified Shader Architecture统一着色架构,这是一种DirectX10推荐的渲染架构。
在过往,像素渲染单元和顶点渲染单元都分别负责着不同的数据渲染,比如说像素渲染单元负责着包括RGB(三原色)和这三原色的信息说明等一共四个数据的运算,而顶点渲染单元则是负责三角型顶点的XYZW坐标数据的运算,我们把这些任何一个单独的数据称为标量。因为在以前往往这两种数据都是4个标量为一组的,所以像素渲染单元和顶点渲染单元都被设计成单周期同时执行一组4标量的运算,这就是旧有的SIMD架构,SIMD架构在处理4标量为一组的矢量运算时效率非常高。
![]() |
但随着游戏的复杂化,一组矢量所包含的标量未必一定为4,那么比如在执行只有单一标量的矢量数据时,原来的SIMD架构效率就大打折扣了。虽然近代的ATI使用了“3+1” 的设计,允许一次处理4个矢量运算,或者同时处理一个3矢量运算和一个单标量运算。而NVIDIA的Geforce6和Geforce7系列则除“3+1”外还可以提供一个额外的“2+2”类型运算来提高效率,但由于的单标量运算日益频繁,加上长久以来像素渲染与顶点渲染比重的问题,所以SIMD架构终被取缔,DirectX9时代结束。随之而来的就是统一渲染架构的DirectX10时代。
DirectX10时代的统一渲染架构,NVIDIA采用了全标量流处理器设计,流处理器既可以提供100%的标量运算效率,也能提供100%的矢量运算效率,并且流处理器运行频率是核心频率的一倍!所以无论是4标量的标准SIMD矢量运算还是单标量的矢量运算,NVIDIA的全标量流处理器效率都相当高。