为王位而生 GeForce8800全面解析测试
● 第六章 G80核心架构设计解析
G80是首颗采用统一渲染架构的GPU,同时也是首款支持DirectX 10、Shader Mode 4.0的GPU,有关统一渲染架构相比传统像素顶点分离式架构的优势在前文中已经作了非常详细的分析,而微软DX10 API和SM4.0也在技术层面进行了大量介绍,现在我们就来仔细看看这颗具有革命意义的G80 GPU!
● 第六章 第一节 G80的核心架构图
从NV40到G70,核心结构的改动非常少,最明显的变化就是管线阵容的扩大,而当G80核心架构图公布后,不由得感慨这确实是图形领域的一次革命,我们必须重新审视:
通过对比可以直观的看到,G80的架构和G71有了很大的不同,熟悉的Vertex Shader(顶点)和Pixel Shader(像素)已经不复存在,取而代之的是8组并行的阵列,每组阵列中有16个Stream Processor(流处理器)和8个Texture Filtering Unit(纹理单元),这样G80总共拥有128个流处理器和64个纹理单元。
G80的统一渲染架构就是基于庞大规模的流处理器(Stream processor)来动态分配给各种操作。这样的设计可以让每个处理单元都参与运算,每个流处理器均能够处理顶点、像素和几何操作,可以将其理解为一个通用的浮点处理器,这些浮点处理器都可以随时有计划的编排分组成不同的工作量,从而达到提高GPU效率的目的。
可以看到,NVIDIA在G80核心中依然坚持了“像素”:纹理=2:1的配置。如果按传统管线式的定义来理解G80的话,那么它的规格达到了G71的2.7倍,而且效率更高!
再来看看G80架构的下半部分,拥有6组ROP(Raster Operation Partitions),比G71多了2组,每组ROP可以处理4个像素(相当于24个ROPs),连接64bit显存控制器,这样G80就总共拥有384bit的显存位宽,能够支持GDDR1、GDDR2、GDDR3和GDDR4显存。
8800GTX拥有全规格的G80核心,包括128个流处理器、64个纹理单元,24个光栅单元和384Bit显存。而8800GTS被屏蔽了两组阵列,这样就少了32个流处理器和8个纹理单元,同时闲置了一组ROP,这样光栅单元减少4个,显存位宽减少64bit,因此8800GTS的配置就是96个流处理器、36个纹理单元、20个光栅单元和320Bit显存。
有了庞大的流处理器,现在面临的问题就是如何将这些单元更加有效的利用起来,合理的分配顶点、像素、几何以及其他操作。完成这个任务的就是架构图中右侧的Thread Processor(线程分配器),其道理类似于DX9C当中的动态流控制,可以根据应用程序的反馈调动Setup引擎动态执行各种浮点渲染操作。