从GPU诞生说起:AMD统一渲染架构回顾及展望
  • 朝晖
  • 2011年06月28日 17:40
  • 0
传统GPU管线的的概念和SIMD架构

以上诸多单元协同工作,就形成了渲染管线(Shader Pipeline)的概念。渲染管线也习惯上被成为渲染流水线,从某种程度上来讲,我们可以把它看做工厂里面常见的生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。当然,同样按照工种,还可分为顶点渲染管线(Vertex Shader Pipeline,主要就是指顶点单元)和像素渲染管线(Pixel Shder Pipeline,包括PSU、TMU和ROP/RBE),而我们常说的渲染管线就是指像素渲染管线。

在传统GPU实时渲染的时候,一条管线显然是远远不够的,于是多条管线并行处理的结构诞生了。一般在同等芯片的对比情况下,管线数量越多性能越高;同样管线数量的情况下,新核心的性能要高于于老核心的产品。不过另外一个问题又出现了,传统意义上的像素流水线各个部分单元比例相当,但随着3D图形技术的发展,管线各部分负载的压力开始不均衡起来。

最简单的例子就是,VS很快完成顶点处理的任务,然后发现PS部分还忙得不可开交。由于运算量太大,PS既不能接收VS的新数据,又不能给后面的ROP/RBE输出信号,就造成数据的延迟出现。所以PS成为了管线中的瓶颈;这种情况下,使用更多的PS单元来加强像素和纹理处理工作就成为显卡着重改进的地方。而PS的数量也成了衡量显卡性能的标准之一(针对早期GPU来说)。

从GPU诞生说起:AMD统一渲染架构回顾及展望 VS和PS都是四元组结构

经过上面的介绍,我们知道VS和PS是传统GPU中的两项重要指标,那么VS和PS在架构又有何异同呢?在计算机图形处理中,最常见的像素数据都是由R、G、B(红、绿、蓝)三种颜色构成的,加上它们共有的信息说明(Alpha),用来表示颜色的透明度,加起来总共是四个通道;而顶点数据一般是由X、Y、Z、W四个坐标构成,这样也是四个通道。所以从架构上来看,VS和PS既有相同又有不同之处。相同之处在于,二者处理的都是四元组数据,不同之处在于VS需要比较高的计算精度,而PS计算精度较低。

事实上,在3D图形进行渲染的过程中,VS和PS的主要工作就是进行X、Y、Z、W四个坐标运算和计算除R、G、B、A得出像素颜色。为了一次性处理1个完整的几何转换或像素渲染,GPU的VS和PS从最初就被设计成为同时具备4次运算能力的算数逻辑运算器(ALU)。 而数据的基本单元是Scalar(标量),就是指一个单独的变量,所以GPU的ALU进行一次这种变量操作,被称做1D标量。

从GPU诞生说起:AMD统一渲染架构回顾及展望 SIMD架构示意

与标量对应的是Vector(矢量),一个矢量由N个标量标量组成。所以传统GPU的ALU在一个时钟周期可以同时执行4次标量的并行运算被称做4D Vector(矢量)操作。虽然GPU的ALU指令发射端只有一个,但却可以同时运算4个通道的数据,这就是单指令多数据流(Single Instruction Multiple Data,SIMD)架构。


文章纠错

  • 好文点赞
  • 水文反对

此文章为快科技原创文章,快科技网站保留文章图片及文字内容版权,如需转载此文章请注明出处:快科技

观点发布 网站评论、账号管理说明
热门评论
查看全部评论
相关报道

最热文章排行查看排行详情

邮件订阅

评论0 | 点赞0| 分享0 | 收藏0