AMD掀起3D世界Radeon反击风暴
最早出现统一渲染特性的显示核心是ATi在与AMD合并之前,为微软的次世代游戏机Xbox 360设计的Xeons处理器。Xeons处理器并不是DirectX 10架构体系下的统一渲染架构处理器,而是基于DirectX 9架构的统一渲染架构单元。它并不具备DirectX 10的一些基本特性,比如Geometry Shader。
而AMD-ATi此次推出的R600则是全面支持DirectX 10的统一渲染架构芯片。除了支持前面提到的Geometry Shader外,R600将Vector和Scalar进行了整合,称为Superscalar。Superscalar就像统一渲染架构中的Shader Unite一样,可以根据实际需要进行动态调整,调整Vector和Scalar的比例,始终保持满负荷运作,而不造成资源浪费,从而使得显卡性能进一步提升。这也是AMD-ATi提出的第二代渲染架构中的一个重点。竞争对手的G80不具备这一特性。
下面让我们来看看R600内部的结构。下图为R600的核心架构图。
从图中,我们看到了Ultra-Threaded Dispatch Processor,这个处理器负责整个显示核心内部的线程调度。它的作用是使得所有的Stream Processing Unite在同一时间运行不同的Shader程序,从而实现不同的运算功能。不过这种线程级运算很容易因延迟而变得性能低下。为了解决这一问题,AMD-ATi在设计上引入了虚拟线程技术,该技术可以令Ultra-Threaded Dispatch Processor时时刻刻保持满载状态,而这些线程最终会被送入SIMD(Single-Instruction Multiple-Data)阵列。在这4组SIMD阵列后,各有一组独立的指令处理单元,可以并行完成指令运算。64组,每组5个ALU,共计320个Stream Processer构成了Radeon HD 2900XT的渲染核心。这些Stream Processor与竞争对手的G80一样,同样为Unified Shader。其运作负载由当前渲染帧中的几何与像素运算比例所决定,并且进行动态调整,始终保持满负荷运作,从而达到最佳性能。由于这部分内容各位读者已经十分熟悉,因此不再做过多描述。
此外,Radeon HD 2900XT拥有4组相互独立的Texture Unites,这些Texture Unite可以并行运作,并共享Radeon HD 2900XT特有的L2 Cache中的几何顶点数据。位于整个渲染流程末端的是传统的Render Back-Ends部分,这一部分加入了全新的特性,比如可编程的全屏抗拒齿功能。
基于R600架构体系的另外两款芯片分别是RV630和RV610,分别对应的产品是Radeon HD 2600和Radeon HD 2400系列产品。下面两张核心架构图分别是R630和R610的核心架构。
从架构上来看,RV630和RV610除了在Stream Processor数量上与R600相比大幅减少外,其基本架构完全相同。不过值得一提的是RV630和RV610中加入了UVD核心,UVD是专门用来HD-Video解码的视频核心。可以完全脱离CPU的运算独立进行H.264的解码运算。这项功能在针对游戏设计的Radeon HD 2900XT中是不具备的。
Ultra-Threaded Dispatch Processor
这部分处理单元其实早在Radeon X1000时代已经被提出,其作用是最大化系统线程,从而最大化利用3D显示核心资源和运算能力。由Setup Engine初始化后的3组数据(Vertex、Geometry、Pixel)经由Ultra-Threaded Dispatch Processor传递至SIMD阵列,在这一步骤中Ultra-Threaded Dispatch Processor中的判断引擎,负责数据输送至空闲的Stream Processor。
对于Stream Processor来说,通常只有忙碌与空闲两种状态。而前面提到的判断引擎可以随时得到Stream Processor的运行状态,并动态分配3组数据队列中的指令到正在空闲状态的Stream Processor,从而完成Unified Shader的重要一个特性—动态负载分配,保证Stream Processor处于满负荷运作状态,达到最高性能。此外,判断引擎具有指队列功能,Setup Engine产生的数据在还未到达Stream Processor之前,会在Ultra-Threaded Dispatch Processor部分经由判断引擎生成最优化指令队列。通过这种方式,Setup Engine产生的数据可以以极高的效率到达SIMD部分,进行进一步运算处理。
R600的每一组SIMD阵列配备有两个判定引擎,通过两个判定引擎交替工作可以保证SIMD阵列始终保持运转状态。当一组指令队列被处理完成后,另外一组在待处理的指令队列可以由空闲的判定引擎输入到SIMD阵列中来继续处理。由此得以保证在每个时钟周期中,SIMD阵列均处于运转状态,不会出现空闲。这是另外一种性能最大化的方式。
SIMD阵列
SIMD阵列其实是由Stream Processor组成的,如果按照以往分离式渲染架构来看,这些阵列可以理解为渲染管线,只不过现在他们既要进行顶点(几何)运算,又要进行像素运算。每组Stream Processor中,含有5个功能不同的ALU(逻辑运算器),以及一组寄存器。这组寄存器事实上是由5个ALU共享使用的。它的功能就像是通用寄存器一样,可以用于运行多种不同的运算模式。各个ALU与寄存器之间的读写带宽均为32bit,并且可以组合成64bit或是128bit模式,从而提升浮点运算的精度。此外,为了能够更有效的工作,在Superscalar架构体系下的ALU可以独立工作,以便完成以往Vector和Scalar分离设计时各自负担的工作。
在每组ALU中,还设有一个分支预测单元,用于调整Stream Processor的工作状态。事实上,在渲染过程Stream Processor会遇到两种不同的情况。其一,为运算全新的一组数据;其二,为重复运算刚刚运算完成的数据,用于不同的渲染部分。当Ultra-Threaded Dispatch Processor将数据传输至SIMD阵列后,分支预测单元将根据新输入的数据进行判断,如果是全新数据则使ALU按照新的数据进行读写、运算;如果数据与上一组数据重复,则直接调用上一组数据,免去读写操作等过程,提升ALU的工作效率。
Texture Uinte
R600拥有4组材质单元,每组材质单元每个时钟周期可以完成8次材质寻址运算。同时,R600的材质单元拥有3组不同的Cache。Vertex Cache可以根据不同需求定义成不同模式,以适应未来DirectX 10游戏开发的需要。为SIMD准备的L1 Cache在R600中达到了32Kb,而上一代产品中,L1 Cache仅为8Kb。同时,作为L1 Cache的备份,L2 Cache的容量为256Kb。正如CPU的Cache一样,更大容量的Cache可以保证更高的数据命中率,减少处理器访问内存的几率,从而大大提升整体运算效率与性能。
基于核心内部高大6TB的带宽,R600的材质单元可以轻松的运行64 Pixels级别的HDR运算。同时支持8bit整数运算、10bit整数运算、16bit整数运算、16bit浮点运算。材质运算精度可以完全符合Shader Model 4.0的需求,R600最大支持8192×8192的纹理分辩率,比原先最高2048×2048的分辩率要高出16倍。这是AMD-ATi开发一种新的材质标准格式(9:9:9:5),即为支持Shader Model 4.0规范的RGBE模式。这是一种针对HDR运算的材质格式,其中的“E”为“Exponent”,专门用于HDR运算。
[an error occurred while processing this directive]
而AMD-ATi此次推出的R600则是全面支持DirectX 10的统一渲染架构芯片。除了支持前面提到的Geometry Shader外,R600将Vector和Scalar进行了整合,称为Superscalar。Superscalar就像统一渲染架构中的Shader Unite一样,可以根据实际需要进行动态调整,调整Vector和Scalar的比例,始终保持满负荷运作,而不造成资源浪费,从而使得显卡性能进一步提升。这也是AMD-ATi提出的第二代渲染架构中的一个重点。竞争对手的G80不具备这一特性。
下面让我们来看看R600内部的结构。下图为R600的核心架构图。
从图中,我们看到了Ultra-Threaded Dispatch Processor,这个处理器负责整个显示核心内部的线程调度。它的作用是使得所有的Stream Processing Unite在同一时间运行不同的Shader程序,从而实现不同的运算功能。不过这种线程级运算很容易因延迟而变得性能低下。为了解决这一问题,AMD-ATi在设计上引入了虚拟线程技术,该技术可以令Ultra-Threaded Dispatch Processor时时刻刻保持满载状态,而这些线程最终会被送入SIMD(Single-Instruction Multiple-Data)阵列。在这4组SIMD阵列后,各有一组独立的指令处理单元,可以并行完成指令运算。64组,每组5个ALU,共计320个Stream Processer构成了Radeon HD 2900XT的渲染核心。这些Stream Processor与竞争对手的G80一样,同样为Unified Shader。其运作负载由当前渲染帧中的几何与像素运算比例所决定,并且进行动态调整,始终保持满负荷运作,从而达到最佳性能。由于这部分内容各位读者已经十分熟悉,因此不再做过多描述。
此外,Radeon HD 2900XT拥有4组相互独立的Texture Unites,这些Texture Unite可以并行运作,并共享Radeon HD 2900XT特有的L2 Cache中的几何顶点数据。位于整个渲染流程末端的是传统的Render Back-Ends部分,这一部分加入了全新的特性,比如可编程的全屏抗拒齿功能。
基于R600架构体系的另外两款芯片分别是RV630和RV610,分别对应的产品是Radeon HD 2600和Radeon HD 2400系列产品。下面两张核心架构图分别是R630和R610的核心架构。
从架构上来看,RV630和RV610除了在Stream Processor数量上与R600相比大幅减少外,其基本架构完全相同。不过值得一提的是RV630和RV610中加入了UVD核心,UVD是专门用来HD-Video解码的视频核心。可以完全脱离CPU的运算独立进行H.264的解码运算。这项功能在针对游戏设计的Radeon HD 2900XT中是不具备的。
Ultra-Threaded Dispatch Processor
这部分处理单元其实早在Radeon X1000时代已经被提出,其作用是最大化系统线程,从而最大化利用3D显示核心资源和运算能力。由Setup Engine初始化后的3组数据(Vertex、Geometry、Pixel)经由Ultra-Threaded Dispatch Processor传递至SIMD阵列,在这一步骤中Ultra-Threaded Dispatch Processor中的判断引擎,负责数据输送至空闲的Stream Processor。
对于Stream Processor来说,通常只有忙碌与空闲两种状态。而前面提到的判断引擎可以随时得到Stream Processor的运行状态,并动态分配3组数据队列中的指令到正在空闲状态的Stream Processor,从而完成Unified Shader的重要一个特性—动态负载分配,保证Stream Processor处于满负荷运作状态,达到最高性能。此外,判断引擎具有指队列功能,Setup Engine产生的数据在还未到达Stream Processor之前,会在Ultra-Threaded Dispatch Processor部分经由判断引擎生成最优化指令队列。通过这种方式,Setup Engine产生的数据可以以极高的效率到达SIMD部分,进行进一步运算处理。
R600的每一组SIMD阵列配备有两个判定引擎,通过两个判定引擎交替工作可以保证SIMD阵列始终保持运转状态。当一组指令队列被处理完成后,另外一组在待处理的指令队列可以由空闲的判定引擎输入到SIMD阵列中来继续处理。由此得以保证在每个时钟周期中,SIMD阵列均处于运转状态,不会出现空闲。这是另外一种性能最大化的方式。
SIMD阵列
SIMD阵列其实是由Stream Processor组成的,如果按照以往分离式渲染架构来看,这些阵列可以理解为渲染管线,只不过现在他们既要进行顶点(几何)运算,又要进行像素运算。每组Stream Processor中,含有5个功能不同的ALU(逻辑运算器),以及一组寄存器。这组寄存器事实上是由5个ALU共享使用的。它的功能就像是通用寄存器一样,可以用于运行多种不同的运算模式。各个ALU与寄存器之间的读写带宽均为32bit,并且可以组合成64bit或是128bit模式,从而提升浮点运算的精度。此外,为了能够更有效的工作,在Superscalar架构体系下的ALU可以独立工作,以便完成以往Vector和Scalar分离设计时各自负担的工作。
在每组ALU中,还设有一个分支预测单元,用于调整Stream Processor的工作状态。事实上,在渲染过程Stream Processor会遇到两种不同的情况。其一,为运算全新的一组数据;其二,为重复运算刚刚运算完成的数据,用于不同的渲染部分。当Ultra-Threaded Dispatch Processor将数据传输至SIMD阵列后,分支预测单元将根据新输入的数据进行判断,如果是全新数据则使ALU按照新的数据进行读写、运算;如果数据与上一组数据重复,则直接调用上一组数据,免去读写操作等过程,提升ALU的工作效率。
Texture Uinte
R600拥有4组材质单元,每组材质单元每个时钟周期可以完成8次材质寻址运算。同时,R600的材质单元拥有3组不同的Cache。Vertex Cache可以根据不同需求定义成不同模式,以适应未来DirectX 10游戏开发的需要。为SIMD准备的L1 Cache在R600中达到了32Kb,而上一代产品中,L1 Cache仅为8Kb。同时,作为L1 Cache的备份,L2 Cache的容量为256Kb。正如CPU的Cache一样,更大容量的Cache可以保证更高的数据命中率,减少处理器访问内存的几率,从而大大提升整体运算效率与性能。
基于核心内部高大6TB的带宽,R600的材质单元可以轻松的运行64 Pixels级别的HDR运算。同时支持8bit整数运算、10bit整数运算、16bit整数运算、16bit浮点运算。材质运算精度可以完全符合Shader Model 4.0的需求,R600最大支持8192×8192的纹理分辩率,比原先最高2048×2048的分辩率要高出16倍。这是AMD-ATi开发一种新的材质标准格式(9:9:9:5),即为支持Shader Model 4.0规范的RGBE模式。这是一种针对HDR运算的材质格式,其中的“E”为“Exponent”,专门用于HDR运算。
相关文章
- 更新时间:08/30/2007非主流选手出征挑战移动计算世界
- 更新时间:08/29/2007支持DirectX 10的主流价位显卡









重点专题