三年架构大革命!R520脱胎换骨全测试
◎ 全新像素渲染管线设计,不靠数量定胜负!
前面介绍了R520核心中的关键,Ultra—Thearding Dispatch Processor,这个单元让R520在像素管线数目不变的情况下提高了效率。那么现在我们就来看看R520新一代的像素渲染管线。
在R520中,16个像素渲染管线是被分成4组的,每组有四个像素渲染管线,这样的设计和我们所熟悉的其他显示芯片也是类似的。
对于每个像素渲染的内部结构,我们看到也是比顶点渲染管线要复杂的多,其中分为三个主要的部分:
- 紫色的是分支处理单元,主要用来处理分支流程。
- 红色的是标量运算单元,这个部分是两级设计结构,所以有两个标量运算单元,用来处理标量数据。这两个标量运算单元能够同时运行,一个处理一个ADD指令再加上一个Input Modifier操作,另外一个执行一个ADD命令或者是MUL命令,或者是MADD命令。
- 棕色的时向量运算单元,我们知道,像素的颜色信息通常是以向量数据存储的,这个单元也分为两个部分,同时能够执行两个三维向量指令。这两个指令包括:一个ADD命令加上一个Input Modifier命令;或者是ADD、MUL、MADD命令中的一个。
◎ R520通用寄存器阵列!显示核心的L2缓存!
在顶点渲染管线下面,我们发现了一个名叫“General Purpers Register Arrays”的区域,直译过来就是通用目的寄存器阵列的意思。
我们看到,整个R520芯片中,很多部分都和它相连着,看来这个区域的作用是相当的大,不但作为像素渲染管线数据的输出对象,还连接着Z缓存,材质缓存等模块。
如此看来,这块区域的左右就有点像是CPU的L2缓存,各种数据都能调用它。
在像素渲染引擎后面就是“Render Back End”了,翻译过来应该称之为渲染后端单元。这个部分是负责图像的后期处理的。
这个部分的功能模块比较多,主要是一些像是Z轴或模板比较的操作,抗锯齿的操作等等。
经过这个模块以后,输出至帧缓冲,就是最后的图像了。
◎ 创新双环形内存总线架构:完全自由缓存映射提高性能
上面介绍的都是R520处理核心方面的一些特型,除了这些,R520在内存管理上也有很大的改进。
在R520身上,ATI引入了双向高速环形内存总线的结构,这样就让R520内部的总线位宽达到了512bit的程度。双向环形总线大大提高了对内存的访问控制。
R520的内存总线是由两个256bit的环状总线组成的,这样数据可以双方向传输,提高了传输的效率。
在总线上,一共有四个RingStop,每个上面有两颗显存,并且连接两个Client Interface,中间由一个“Write Crossbar Switch”控制,这样的设计就能让显存和需要数据的部分最快的进行数据传输。
缓存映射
像CPU一样,图形芯片也不是直接访问显存的,也是通过一块高速缓存充当内存的镜像后访问的。
但是我们知道,缓存由于在芯片内部,所以容量不会太大,R520在缓存和显存的映射上进行了改进。
在原来的时候,采用的是直接映射方式,显存是分块被直接映射到缓存上的,这样如果有数据更新,整个缓存的数据就要清空,重新映射其他的区域,这样就会有大量的失效的情况发生。
在R520中,缓存和显存的映射已经变为完全自由的映射关系,自由度增大,数据刷新只需要更新局部的数据就可以了。
我们来看看ATI提供的内存映射成功率测试:
我们看到,在两个测试中,无论是Z轴数据还是材质数据,X1800XT的缓存失效率都要低于X850的水平。