完美DX10!ATI新王者HD2900XT权威评测
● 第二章/第二节/第三小节:ATI的第一代统一渲染架构:XENOS
这一节,我们主要回顾下ATI第一代统一渲染架构:用于XBOX360的XENOS的图形核心。
ATI从2003年9月与MICROSOFT签订协议,为新一代游戏主机XBOX360开发图形核心,由此开始,ATI正式着手研发第一代基于统一渲染架构的图形核心:XENOS。XENOS(研发代号C1)的研制工作于2005年底结束,也成为世界上第一个的统一渲染架构的图形核心
Xenos一共由两个图形运算核心构成,主内核拥有2亿3200万晶体管,核心频率为500MHz,拥有48个Unified Shader。Daughter Die附内核拥有1亿晶体管,由NEC 90nm工艺制造,负责处理所有采样运算,包括色彩读写、混合,多重采样AA,Z轴运算等。
Xenos核心的特点如下:
(1)是世界上首个基于统一渲染架构的图形核心,可以支持更加优化、效率更高的图形算法。
(2)具有硬件线程分派单元,可以充分提高shader单元的利用效率,配合unified shaders使核心的Shader负载更加平衡。
(3)具有智能的内嵌式存储器,可以提供高到320M/S的带宽,具有专门的逻辑控制单元以及加速反锯齿、 alpha blending等操作。
(4)可以和把数据直接读取或写入到CPU的缓存,更加高效的处理流式指令。
(5)Xenos有自己专门的编译器。
点击查看大图
● Xenos的统一渲染架构:
统一渲染架构,从硬件的角度来说,就是指不再有Vertex、Pixel Shader单元的划分,显示核心不再为Shader类型不同而配置不同类型的Shader单元,在统一渲染架构中这两种Shader单元被统一为Unified Shader,所有的Unified Shader单元都可根据需要需要进行处理,不管和是Pixel Shader类型还是Vertex Shader类型。
Xenos具备48个“4D+1D”(矢量+标量)的Unified Shader,其ALU单元为SIMD结构,每16个着色单元被合并为一个着色矩阵,调配哪几组Shader单元负责处理何种指令或者进行什么类型的计算,则由一个被称为thread arbiter(线程仲裁器)的部分来控制。不过,在Xenos中每个矩阵内部同一周期内只能执行同一类别的指令,要么Pixel Shader要么是Vertex Shader,虽然不太灵活,但还是实现了统一着色架构,大大提高了Shader单元的负载平衡。
Xenos具备三组线程控制器,最大可以支持64个并行的线程,可以充分提高shader单元的利用效率,有效掩盖了着色管线的延迟问题。其统一渲染架构具备三组渲染单元(每个渲染单元具备16个Shader单元,总共具备16x3=48个Shader单元),也就是说每一组渲染单元都将具有一组独立的线程控制器,而更多的仲裁器显然可以更加优化Shader指令的分派,根据ATI的测试表明,在通用图形计算中,Xenos的shader array可以达到95%的利用率。
虽然没有引入Geometry Shader,但是Xenos中增加了一个Geometry Tessellation Unit镶嵌处理单元,可以对输入的三角形,矩形、正方形进行分割处理。不过,Xenos的Tessellation单元为固定功能的单元,不具有可编程性,也可看作是Geometry Shader的一个雏形,而Tessellation后来也成为DirectX 10中引入的Geometry Shader的功能之一。由于没有Geometry Shader,Xenos自身并不能生成多边形。不过Xenos中的MEMEXPORT、CPU streaming 技术可以实现类似于DirectX 10中的stream-out功能,所以,Xenos可以把数据发送给CPU的cache,然后通过复用实现生成多边形的目的。值得一提是MEMEXPORT可以直接和系统存储器交换向量数据,它的引入也提高了Xenos的通用计算性能以及可编程性(即扩展了shader program 的长度)。
同时,Xenos的数据流控制效率更高,ATI还为vertex、pixel计算引入了统一指令集,可以更快速的执行一些复杂的图形算法,如高次表面和全局照明等等。
Xenos还拥有16个纹理拾取单元(过滤纹理单元,带LOD)和16个顶点拾取单元(无过滤/点取样单元)。如果需要还可以增加若干的附属纹理处理单元。所有这些元件都是由纹理处理阵列控制,且每一个纹理单元都有自己的纹理地址处理器。每一个过滤纹理单元都具备双线性取样能力,并可以支持三线性或更高的排列过滤技术(如Anisotropic Filtering,各向异性过滤)。由于XBOX36O采用了是UMA控制器类型,因此整个RAM系统都将支持纹理取样。为了弥补10MB eDRAM在进行反锯齿的时候容量不足的问题,Xenos以Tile Rendering 的方式来实现 FSAA。 此外,Xenos也支持Multiple Render Targets (多目标渲染)、Hierarchical Stencil Buffer(层次模板缓冲)、Alpha-to-Mask等主流技术。