论文部分内容阅读
先进技术往往与产品竞争力直接关联,虽然GeForce 7系列的性能非常强大,但Radeon X1000显然有足够的实力与之抗衡。
在图形市场的新一轮对抗中,nVIDIA已然占据领先优势,早在今年6月份,nVIDIA便率先推出代号为G70、拥有24个像素流水线的GeForce 7800GTX显卡,彻底在性能上击败了对手。而ATI对应的R520图形芯片虽然早在今年初就提交OEM厂商进行测试,但它并没有按原计划在今年6、7月份推出,发布日期一直延迟到现在,以至于在新一轮的较量中明显落后于对手;加上ATI大力推广的CrossFire多显卡平台因芯片组存在软肋,在高端平台的竞争力明显不如对手。在如此局面下,用户们苦等数月之后,ATI终于在10月5日发布延误多时的R520系列图形芯片,并将其命名为“Radeon X1000”系列。作为nVIDIA GeForce 7系列的强大对手,Radeon X1000不仅在流水线等方面有了明显提升,而且实现了对Shader Model 3.0的完整支持,改变长久以来在Shader Model指标方面的落后情况。此外,Radeon X1000在硬件规格和功能特性方面都有大量的技术亮点,如采用90纳米工艺制造、引入最高1500MHz的超高速显存、支持ATI独自开发的AVIVO影像处理技术。Radeon X1000系列的出现,意味着图形市场再度形成两强对立的局面,而我们在之前给大家介绍过GeForce 7800GTX的核心架构和技术特点之后,现在也将对Radeon X1000系列作详细的分析,读者可了解到图形领域最尖端技术的发展成果。
Radeon X1000产品线概况
与nVIDIA单单推出GeForce 7800GTX的作法不同,ATI一次性便完成整个Radeon X1000产品线的发布。Radeon X1000家族分为Radeon X1800(包含XT、XL两个型号)、Radeon X1600(包含XT、Pro两个型号)和Radeon X1300(包含Pro、标准版和HyperMemory三个型号)等三大子系列,这三者的开发代号分别为R520、RV530和RV515,其中后两者都是R520的衍生产品,分别针对主流和低端市场。其中,Radeon X1800拥有8个顶点流水线和16个像素流水线—大家应该会注意到一个问题,nVIDIA GeForce 7800GTX虽然也是拥有8个顶点流水线,但它的像素流水线数量达到24个,而在GPU设计标准化的今天,流水线的数量直接决定GPU的性能,Radeon X1800在这方面的劣势无疑非常明显。不过,ATI通过提高芯片工作频率的手段来弥补这一缺陷:Radeon X1800的核心频率高达625MHz,比GeForce 7800GTX的430MHz高出45%之多。其次,Radeon X1800不惜动用1.5GHz频率的超高速显存,在显存带宽指标上拥有明显的优势。通过这样的处理,Radeon X1800完全不会在性能上逊色于对手。但奇怪的是,尽管像素流水线数量较少,Radeon X1800的晶体管总数仍然达到3亿2000万,比GeForce 7800GTX多出1800万,因此我们不排除R520拥有24条像素流水线的可能。在制造工艺上,Radeon X1800同样非常值得称道,它采用台积电(TSMC)的90纳米Low-K半导体技术进行制造,Low-K技术即采用低K值的半导体材料作为集成电路的层间电介质(Inter Layer Dielectrics),它能够有效降低互连线之间的分布电容并避免寄生电容,进而使芯片的工作频率能有10%以上幅度的提升。尽管Low-K技术已经在Intel、IBM的处理器中获得成功应用,但台积电的90纳米Low-K工艺开发进度似乎并不顺利,Radeon X1000系列的发布时间一再延迟,或多或少可能是受此影响。不过还算幸运的是,最终台积电解决了工艺上的问题,Radeon X1000系列实现大规模量产,及时推向市场成为可能。
Radeon X1600系列是X1000家族中的中端产品,我们可以将它视作是Radeon X1800的缩水版本。Radeon X1600只有5条顶点流水线和12条像素流水线,纹理单元方面的规格也明显缩减,而它集成的晶体管总数为1亿5700万,同样采用90纳米Low-K工艺制造。Radeon X1600 XT版的核心频率达到590MHz,并与1.38GHz频率的高速显存搭配,不过Radeon X1600 Pro的核心频率和显存频率分别只有500MHz和780MHz,与XT版的差距非常明显。至于Radeon X1300则属入门级产品,它包含Pro版、标准版与HyperMemory版,三者都只有2条顶点流水线和4条像素流水线,采用90纳米Low-K工艺,它们之间的区别在于GPU核心的工作频率和显存规格—其中,前两者的核心/显存频率规格同为600MHz/800MHz,而HyperMemory版的核心频率只有450MHz,实施板载32MB显存以及共享系统内存的方案,不过为了弥补容量上的不足,Radeon X1300 HyperMemory动用1GHz频率的高速显存,这可在很大程度上提升其效能,增强在低端市场的竞争力。
除了在硬件规格方面存在差异外,Radeon X1800、Radeon X1600和Radeon X1300都共享同样的技术架构,因此三者在功能特性方面也都完全相同,这些特性主要包括以下几个方面:超执行渲染引擎架构。可完整支持Shader Model 3.0的渲染单元,其中像素渲染部分被重新优化,并引入多线程技术提升利用效率;创新的内存架构。引入双向内存读取环路技术来提高显存的利用效率以及降低内存延迟,采用全相联技术提高Cache命中率,并通过改进后的HyperZ压缩技术实现显存资源的更有效利用;高效能的3D影像质量。Radeon X1000通过高动态范围渲染(HDR)、全方位各向异性过滤和自适应抗锯齿(Adaptive Anti-Aliasing)等三项技术实现3D影像画质的提升,并在同时保证系统具有出色的效能;支持ATI的AVIVO技术。该技术不仅能够轻松完成HDTV高清影像的回放,更可帮助用户更容易地进行视频采集、编解码、格式转换等视频处理操作,其中的大部分运算任务都由GPU直接承担,由此明显降低视频处理过程中CPU的占用率。在下面的文字中,我们将向大家重点介绍Radeon X1000系列的以上四项技术亮点。
超执行渲染引擎架构
在Xbox 360游戏机中的R500(Xenos)GPU上,ATI一马当先引入统一渲染架构,GPU中不再存在单独的顶点渲染引擎和像素渲染引擎,代之的是一个通用功能的渲染引擎统一负责。相比传统的分离方案,统一渲染架构优点在于API和程序设计都较为简单,程序员无需在任务的渲染分派上花多少时间,它也代表图形技术发展的未来趋势。不过,Radeon X1000系列并没有采用这套方案,它的渲染架构依然隶属传统,即采用分离的顶点渲染(Vertex Shader)和像素渲染(Pixel Shader)设计。在PC平台中,这显然是唯一的选择,因为目前所有的3D游戏都为该体系编程,太过超前反而将适得其反。
完全支持Shader Model 3.0规范
相比前一代的R420系列GPU(即Radeon X800系列),Radeon X1000除了在流水线数量上增加明显外,规格的演进是主要重点。我们知道,nVIDIA在GeForce 6800(NV40)时代就实现了完善的Shader Model 3.0功能,Shader Model 3.0除了具有大量的先进功能特性外,还引入诸如分支、循环、子程序等动态流控制指令,同时对渲染运算的指令长度不再作出限制,让程序员可以随心所欲编制程序,而且渲染运算的数据精度也从以往的最高24位提升到32位。GeForce 6800超前的规格让它赢得相当多的拥戴者,并在当时的高端显卡竞争中占据优势。虽然在当时,针对Shader Model 3.0设计的3D游戏几乎没有,GeForce 6800在这方面的技术优势并未获得体现。与此同时,ATI的Radeon X800系列无法实现32位精度运算,对Shader Model 3.0的其他功能特性也未见支持,虽然在实际游戏测试中Radeon X800的性能表现同GeForce 6800相当,可Shader Model规格的弱势让它在GeForce 6800面前明显矮了一截。
Radeon X1000的出现为ATI一雪前耻,不仅高端的Radeon X1800系列能够支持Shader Model 3.0,就连最低端的Radeon X1300 HyperMemory都具有完整的Shader Model 3.0功能,在渲染引擎规格方面完全赶上了nVIDIA。虽然GeForce 7800GTX远比GeForce 6800强大,但它也是只能支持到Shader Model 3.0,因此在这一方面,ATI的产品将不再存在劣势。
顶点流水线
Radeon X1800的顶点流水线(Vertex Shader)从Radeon X800系列的6个提升到8个,但两者的结构非常类似,都采用了“128位矢量(Vector)ALU+32位标量(Scalar)ALU”的组合方式(GeForce 7800GTX的顶点着色器为“32位矢量ALU+32位标量ALU”设计,参见图4),这样在一个时钟周期内,Radeon X1800的每个顶点流水线都能完成两条顶点渲染指令,根据“8(顶点流水线)×2(着色指令/每时钟、每个流水线)×625MHz”的公式计算,不难推出Radeon X1800在一秒钟内可以完成100亿条顶点渲染指令,创下该领域的最高纪录。不妨作更进一步的讨论:Radeon X1800的8个顶点流水线每个周期都能完成两次顶点转换操作(即T&L里的Transformantion),那么在一秒钟内Radeon X1800便能够实现12.48亿次顶点转换。与之相比,GeForce 7800GTX每秒钟只能处理9.4亿次顶点转换操作,在这方面明显落后于对手。Radeon X1800之所以拥有如此高的优势,完全得益于625MHz的高频率,虽然GeForce 7800GTX也拥有同样数量的顶点流水线,但它只能工作在430MHz的频率下。
得益于Shader Model 3.0,Radeon X1000的顶点流水线也能够完整支持Vertex Shader 3.0规范(Shader Model 3.0为DirectX 9.0C的流水线规范,它包含Vertex Shader 3.0和Pixel Shader 3.0两个部分,分别对GPU的顶点渲染和像素渲染作出规定),可支持该规范引入的动态流控制指令,并允许无限制的渲染指令长度。换句话说,为Shader Model 3.0编制的新一代3D游戏都能够被Radeon X1000良好支持,而不会出现运行效能低下,或者视觉效果缩水的情况。
如果我们将Radeon X1000的流水线与nVIDIA GeForce 6和GeForce 7作更进一步的对比,便会发现两者并不完全一样,差异最明显的地方在于,GeForce 6和GeForce 7都拥有顶点纹理预取单元(Vertex Texture Fetch),而Radeon X1000的顶点流水线并不存在这样的处理单元,却增加了一个名为“Render to Vertex Buffer(渲染至顶点缓存)”的缓冲。在GeForce 6和GeForce 7 GPU中,顶点纹理预取单元是实现对置换贴图(Displacement Mapping)硬件加速的前提,也是Vertex Model 3.0规范的标准设计之一。ATI对此解释说,微软Vertex Model 3.0只是要求将“顶点纹理预取单元”的功能位设置为“具备”即可,并没有对具体的纹理格式作出界定;而在分离渲染架构的GPU产品中,实现“顶点纹理预取单元”将付出高昂的代价—纹理缓存(Cache)要求动用数量可观的晶体管,芯片面积增大,导致制造成本明显上扬。为了解决这对矛盾,ATI在Radeon X1000系列产品中引入一套名为“Render to Vertex Buffer”的缓存方案,该缓存用于存放顶点渲染所需的浮点数据,并将它实时传送给顶点流水线,以此实现置换贴图的预加速处理。不过实事求是地说,ATI设计Render to Vertex Buffer的主要目的在于降低成本,它的灵活性明显不如标准的“顶点纹理预取单元”。后者可允许纹理动态取样、顶点数据动态变更等操作,而Render to Vertex Buffer只是起到简单的中转存储功能。
像素流水线
同样得益于Shader Model 3.0,Radeon X1000像素流水线可支持32位浮点数据精度运算,更高的数据精度将有效降低运算过程中产生的累积误差,将游戏的画面真实呈现在用户面前。但抛开这项因素不谈,我们发现Radeon X1000的像素流水线与前代R420非常类似:两者的核心部分都是两组32位4路SIMD处理阵列,每个阵列中包含一个32位矢量ALU和一个32位标量ALU,这样每一个像素流水线都拥有四个ALU单元。但与R420不同的是,Radeon X1000的像素流水线还增加了一个用于流控制的分支预测单元,这样Radeon X1000在一个时钟周期内便能够同时处理5条指令,这些指令分别为1条VEC3 ADD指令(Vector ALU1,矢量加法)、1条Scalar ADD指令(Scalar ALU1,标量加法)、1条VEC3 ADD/MUL/MADD指令(Vector ALU2,矢量加、乘、乘-加)、1条Scalar ADD/MUL/MADD指令(Scalar ALU2,标量加、乘、乘-加)以及一条分支预测功能的流控制指令。(MADD、Multiply-ADD, 数学函数中的乘法运算与加法运算,这两种运算在3D图形中最为常用,折射效果、反射效果、模糊效果、光线照明、法线贴图等许多运算都主要依赖乘法和加法操作,MADD效能的高低对整个像素渲染操作有着举足轻重的影响。)此外,ATI向来都采用独立的纹理单元,当遇到纹理操作时,Radeon X1000的像素流水线一共可执行5条像素指令和1条纹理操作指令,这样的规格比起R420来说改善并不算大。
现在,我们将Radeon X1000的像素流水线与nVIDIA GeForce 7800进行对比。GeForce 7800GTX像素流水线的核心部分也是由两个32位精度ALU单元构成,两者的结构不尽相同,但它们均可完成四维向量处理,其中,第一个ALU可在一个周期内实现浮点乘法运算和纹理定址运算,并可附加实现16位浮点法线运算;而第二个ALU功能更为强大,它可在单周期内进行ADD、MUL和MADD指令运算。从整体上说,GeForce 7800的每个像素流水线在一个周期内都能完成16次32位浮点运算,而Radeon X1000最多也只能进行12次32位浮点运算—倘若遭遇连续两条MADD指令或MUL、MADD指令相邻的情况,Radeon X1000便只能完成8次浮点运算,性能仅为GeForce 7800的1/2。另外一个需要考虑的是,GeForce 7800像素流水线的ALU1还可同时处理一条16位法线运算,如果3D游戏大量使用法线贴图技术,那么GeForce 7800将具有十分明显的优势。而Radeon X1000唯一具有优势的地方就在于动态分支指令的处理,这显然得益于流水线内独立的分支预测单元。ATI表示,在遭遇if/end/endif等分支指令时,Radeon X1000只要14个周期,而其他的GPU产品都需要花费20个周期以上才能完成任务。而在实用环境下,动态分支处理如果能运用巧妙将明显提高GPU的渲染效能。例如,如果要对三维对象的阴影作边缘柔和处理,使用动态分支指令便可跳过不需取样的像素,将节省出的大量运算力资源用于有效处理上;既然运算量减少,完成渲染的速度自然就更快。不过该项特性需要游戏的支持,由于历史原因,游戏开发者对此并不是很重视,Radeon X1000在动态指令方面的优势在短时间内可能无法获得体现。
面对像素流水线性能不敌对手的事实,ATI除了依靠高频率优势来缓解问题外,还努力提升流水线的利用效率。Radeon X1000一个非常重要的技术便是引入了“极线程指派处理器(Ultra-Threading Dispatch Processor)”,该技术可有效提高渲染单元的硬件利用效率,达到提高性能的目的。大家对多线程的认识或许更多来自于处理器领域,但事实上,GPU在许多年前就实现多线程处理—每一个顶点流水线、像素流水线处理的基本任务都可看作是一个线程,现代GPU产品都拥有数量众多的顶点流水线和像素流水线,同步执行的线程数量自然颇为庞大。为了管理这些线程,nVIDIA为GeForce 6800/7800两代GPU设计了功能相仿的“渲染指令分派器(Shader Instruction dispatch)”,用于线程指令的管理和分派。而ATI在Radeon X1000系列中引入一项名为极线程分派处理器的分派单元,它在功能上与nVIDIA的技术方案没什么不同,但差别在于ATI对该单元作了高度优化设计。极线程分派处理器的核心是一个中央分派单元(central dispatch unit,CDU),该单元可为一个像素流水线阵列分派高达512个线程,更关键的地方在于,它可以对流水线的运行情况进行实时监测,只要某一组渲染阵列处于等待数据或完成任务的状态,该分派单元便会立即分派新的任务,避免硬件资源的闲置。而为了维持高效的线程切换,ATI还给Radeon X1000设计了一个规模庞大、可同步操作的32位通用寄存器堆栈,堆栈中的寄存器能够存储各个线程的中间数据及运算结果,以保证每一个线程状态都能够在切换过程中完整保留。ATI表示,极线程分派处理器技术可让Radeon X1000系列的像素流水线阵列维持超过90%的利用率,这样即便在处理性能上逊色于对手,但凭借硬件资源利用率方面的优势,Radeon X1000还是能够获得出色的像素渲染性能。
创新的显存架构
对高端显卡来说,显存带宽的重要性不言而喻,尤其是在高分辨率环境下,将反锯齿、异性过滤等提高画面品质的功能开启之后,GPU与显存之间需要交换的数据量极为惊人,因此采用高速的显存系统对图形性能提升的效果向来都是立竿见影。为了让自己的产品能够获得性能优势,nVIDIA与ATI都在这方面竭尽所能,但遗憾的是,高速显存颗粒的价格一向非常昂贵,往往占据显卡总成本相当大的比例,这也是目前高端显卡动辄4、5千元售价的主要原因之一。由于nVIDIA与ATI在显存方面都受制于内存厂商,自身所能涉及的领域便是GPU的显存控制系统。在Radeon X1000系列产品中,ATI采用8×32位结构的显存组织方式,并设计了一个新式的环网总线架构实现显存资源的高效调用。除了这些之外,ATI还通过全相联的Cache技术提高缓存命中率,以及对HyperZ压缩技术进行改良,这些措施虽然着眼点迥异,但都很好地实现了提高显存系统性能的目标。
8×32bit显存结构与双向环路总线
GPU中的显存控制器与CPU中的整合内存控制器是同一个概念,但由于显卡中直接包含了GPU和显存,图形厂商便可自行设计显存控制器方案。nVIDIA在GeForce 3之后的历代GPU产品中,均采用交错式Crossbar内存控制架构,该架构采用基本位宽为32bit的多路并联显存系统,如实现256bit位宽时,显存系统的内部结构便为“8×32bit”方案,而每一个控制单元都能够管理到所有的显存资源,由此构成交错式连接的总线架构。这种方案的优点在于,GPU内任何一个逻辑都可以高效调用到显存资源,同时在交换小容量数据时效率优势非常明显。不妨举一个例子,如果要传输大量32bit容量的小数据块,nVIDIA的Crossbar显存控制器可以实现总线资源的充分利用;而传统的显存控制器都以64bit作为基本传输单位,在处理32bit尺度的小容量数据时,显存总线的利用效率只有50%。从性能角度考虑,Crossbar架构的确非常完美,这也是nVIDIA在GeForce 3时代引入该技术之后,将其沿用至今的最大理由。
相比之下,ATI在该领域长时间都不及对手,虽然它在Radeon 9700(R300)时代便引入256位交错式显存总线,但该显存总线被划分为4×64bit结构,之后ATI所有的256位显存总线都是沿用这项设计。虽然整体带宽指标看不出什么差别,但在实际运行时,ATI的4×64bit显存总线效率明显低于对手,尤其是在传输32bit小容量数据时体现得尤其明显。而Radeon X1000顺应潮流,改用8通道、每通道32bit的显存连接,充分保证内存资源的有效利用;至于在显存类型方面,Radeon X1000可支持DDR2、GDDR3、GDDR4三种类型,其中最高端的Radeon X1800 XT采用三星750MHz物理频率的GDDR3颗粒,实际数据传输频率高达1.5GHz,而整个显存提供的传输带宽也达到惊人的48GBps。
在显存总线设计上,Radeon X1000没有沿用之前的交错式连接方案。ATI认为,随着GPU变得越来越复杂,内部需要连接到显存控制器的逻辑单元也越来越多,如果沿用交错式总线设计,将会导致总线的路由控制变得非常复杂;加之显存工作频率越来越高,对信号同步化要求苛刻,交错连接的方式必然令PCB布线工作变得越来越艰难,而如果在布线方面出问题的话,显卡将难以保证工作的稳定性,所谓的高性能根本就无从谈起。基于上述出发点,ATI决定另起炉灶,它为Radeon X1000设计了一套双向环路显存总线(图8),这套总线包含两条256bit宽度的显存总线,一条用于数据发送、一条用于数据接收,两条总线通过“Ring Stop”数据中转站交联,当显存收到数据读取指令后,将目标数据取出并存放到总线环路上的某个“Ring Stop”中,而客户端就从该“Ring Stop”上直接获取相应的目标数据。虽然这种设计多了数据中转的环节,有可能导致显存延迟时间略略增加,但带来的好处就是总线系统设计简单,对信号同步要求宽松,因此显存总线的工作频率可比常规的交错式总线高出一倍之多,给显卡整体性能带来的增益是非常明显的。ATI对此作了更进一步的解释:该双向环路总线的内存仲裁由驱动程序控制,用户可以通过驱动程序的“CATALYST A.I(智能参数设定)”功能为特定的应用程序设定仲裁优先次序,以便GPU可以优先处理最迫切、对性能影响最明显的数据读写请求。
全相联技术提高Cache命中率
环路总线有效地提高了Radeon X1000的显存带宽,但也带来访问延迟较高的弊端,为了将负面影响降到最低,ATI引入一向名为“全相联Cache”的缓存技术,该技术可有效提升缓存的命中率,以降低GPU的显存存取动作。
我们知道,以往所有GPU都采用直接映射(Direct Map)的方式来管理Cache,即每个Cache入口都与一块专门的显存区直接对应,虽然此种设计可以让Cache的存取动作变得简单,但它存在一个致命的弊端—倘若GPU内某个功能逻辑需要交换两个数据,而这两个数据刚好位于被Cache映射的同一块显存区域内,由此出现的后果便是这两块数据需要不断挤进挤出Cache方能完成交换,读写延迟反而更高。遗憾的是,这种情况在许多高负载应用中均颇为常见,以直接映射机制来管理Cache显然不是最佳方案。有鉴于此,ATI在Radeon X1000的纹理Cache、Z/Stencil Cache和色彩Cache中都引入全相联技术,该技术的特点在于,Cache不再只映射到特定一个或某几个的显存区域,而是可以被映射到任意空闲的区域,这就有效避免了相同地址映射带来的冲突。这项技术同样带来明显的效能提升,尤其是在高分辨率,打开全屏抗锯齿和各向异性过滤特性的游戏环境下,全相联Cache带来的效能增益可比传统方案高出25%。
除此之外,ATI还对Radeon X1000的纹理压缩和色彩压缩技术作出改良。我们知道,最早的纹理压缩技术为S3 Graphics在DirectX6时代提出的S3TC,该技术后来被微软所采用并成为DirectX的纹理压缩格式“DXTC”,此后DXTC便成为所有GPU产品都遵循的公有标准。然而,随着高动态渲染效果的流行,GPU对显存带宽的庞大需求又成为问题,此时DXTC已无法满足实际需求。为此,ATI在Radeon X1000中引入了一项压缩比为2:1的单通道纹理压缩技术,该技术可支持亮度映射图(Luminance Map)、阴影映射图(Shadow Map)和HDR高动态纹理—ATI将其纳入3Dc技术体系(3Dc为ATI在Radeon X800系列引入的Normal map法线贴图压缩技术,类似技术也出现在nVIDIA的GeForce 7系列中)。至于在色彩压缩方面,Radeon X1000同样可在6X反锯齿模式下实现6:1的高压缩比。ATI同时对HyperZ技术进行改良,由于算法获得改进,Radeon X1000能够多剔除掉50%的隐藏面像素操作,大大降低了GPU的运算负担。
通过上述多方面的改良,ATI为Radeon X1000打造出一个超强的显存系统,尤其是针对高端的Radeon X1800拥有1.5GHz的超高速显存,ATI在这方面的技术优势还是非常明显的。
出色的3D影像质量
当速度不再是问题的时候,GPU之间的实力较量就延伸到3D游戏的影像质量。GeForce 6和GeForce 7在这方面的强劲实力大家有目共睹,尤其是“High-Precision Dynamic-Range”高精度动态范围技术的引入让它可表现出一流的画面效果。而在Radeon X1000系列中,ATI则引入三项技术来改善游戏画质,它们包括高动态范围渲染(HDR)、全方位各向异性过滤和自适应抗锯齿(Adaptive Anti-Aliasing)。
在了解高动态范围渲染技术之前,我们先了解相关概念。在3D图形领域,“动态范围”指的是画面最高亮度与最暗部的亮度对比情况,比值越大、动态范围就越高,画面明暗对比越强烈,此谓“高动态范围”。而根据惯例,当明暗比值低于255:1时,称之为“低动态范围(LDR)”,而该指标高于256:1时便纳入高动态范围体系。画面的动态范围越大,对数据精度的要求就越高,例如采用8位整数格式进行运算,最多只能实现256:1的亮度比(或者说是256种灰度);如果采用16位整数,那么可实现65536: 1动态范围,而如果采用16位浮点精度,可表现出的动态范围值高达两万亿比一—即Radeon X1000所具有的处理能力。此外,Radeon X1000还引入10位通道色彩的支持,每种色彩提供1024个灰阶,总计可支持10亿种色彩显示以及4级透明灰阶。尽管今天的LCD显示器普遍无法达到如此之高的显示指标,但Radeon X1000的这些技术措施有力避免了误差累积效应,保障了游戏画面的真实度。
各向异性过滤(Anisotropic Filtering)是纹理过滤的主要技术之一,它的功能是在渲染出的3D对象投射到二维屏幕上时,对纹理图像上的每个像素进行渲染。在具体实现方式上,ATI与nVIDIA曾存在较大的差异,如ATI在Radeon 8500时代只支持对特定角度的多边形作AF过滤,且在开启AF各向异性过滤时,三线性过滤就会自动失效,但ATI的优点在于提供对AF和三线性过滤的优化处理。而nVIDIA同时代的GeForce 3/4虽然对全角度的多边形作AF处理,且允许在开启AF的同时也打开三线性过滤机制,但它没有对此提供优化。在后来的发展中,双方发展方向趋于一致:ATI在Radeon 9700之后提供对45度角多边形作AF处理,且允许三线性过滤功能同步开启;而nVIDIA GeForce FX则引入对AF、三线性过滤作优化机制。此后,双方在该领域的改进此起彼伏,而ATI这一次在Radeon X1000中则引入一项名为“Area Anisotropic Filter”的全角度各向异性过滤机制,对多边形的角度不再有任何限制,该技术还可支持4096×4096像素的大纹理尺寸(nVIDIA很早就对此提供支持)。另外ATI还表示,由于采用先进的算法,在打开全角度各向异性过滤时GPU的性能不会出现太大的下滑。整体而言,Radeon X1000与GeForce 7系列产品在各向异性过滤方面的技术水平基本相当。
抗锯齿是提高游戏画面精细程度的关键技术之一。抗锯齿倍数越高,图像边缘的视觉效果就越平滑,但系统性能的下降程度也越大。为了在效果和性能方面取得平衡,用户在进行游戏前一般都要预先作繁琐的设定,但游戏画面各元素的情况不同,对抗锯齿的需求也有所差异,而传统的抗锯齿模式都是固定倍数取样,适应性较差。为此,nVIDIA在GeForce 7800系列产品中引入自适应抗锯齿技术,可根据画面不同对象的特性采取不同取样方式,实现性能与效果的最佳平衡。而ATI这一次在Radeon X1000产品中也采用类似的自适应抗锯齿技术,在多数情况下,Radeon X1000采取多取样方式作抗锯齿处理,而如果遇到类似铁丝网、植物等边缘锯齿严重的对象时,Radeon X1000就会自行切换到超级取样模式,以获得最佳的画面效果。
AVIVO影像处理技术
视频处理能力一向都是ATI显卡的特长,但自从nVIDIA引入PureVideo视频处理技术后,ATI的优势便不复存在,nVIDIA也藉此有效提升了自身产品在视频娱乐领域的竞争力。为了扭转这种不利的局面,ATI在Radeon X1000产品线中引入一项名为“AVIVO”影像处理技术,该技术除了具有强大的高清影像解码能力外,更将视频转换和视频编码作为重点,功能比PureVideo更为强大。
视频采集、辅助转换及编码支持
与PureVideo不同,ATI AVIVO并不是一项单一的技术或产品,它是一个完整的视频处理平台。该平台由一块AVIVO视频采集卡和一块AVIVO加速显卡组成,前者负责视频的输入,后者负责影像转换和编解码加速工作。目前唯一符合AVIVO标准的采集卡就是ATI自家的Theater 550,而AVIVO显卡则是此次发布的Radeon X1000系列—包括最高端的Radeon X1800XT和最低端的Radeon X1300 HyperMemory都具有完整的AVIVO功能。借助这套系统,用户可以非常方便地进行视频采集、编码、解码、处理及显示操作—这五个步骤被ATI称为“视频管线”。
在AVIVO系统中,Theater 550采集卡负责视频输入的职能。采集卡的主要任务是通过模数转换器将模拟信号转成数字信号,然后借助视频编码器将它压缩成指定格式的数字视频流。ATI的Theater 550可实现MPEG-2格式的硬件编码,这样在转换过程中CPU的负担就能被最大限度减轻。但由于MPEG-2格式压缩比并不高,用户往往会再将数字视频流转成WMV、DiVX、MPEG-4等当前流行的格式,此时AVIVO显卡就派上用场了。
Radeon X1000全系列产品都可直接支持辅助视频编码转换功能,但我们要特别注意的是,最主要的运算工作还是由CPU承担,Radeon X1000显卡只是起到辅助运算的功能,如当系统处理H.264、VC-1、WMV9、WMV9 PMC、MPEG-2、MPEG-4和DivX视频编码转换时,AVIVO GPU可处理其中的部分视频转换操作,CPU资源的紧张情况将由此获得明显减轻。ATI在AVIVO平台的发布会上作了一个生动的演示,当将数字视频编码为H.264格式时,搭载普通显卡的系统CPU占用率高达90%,而改用ATI Radeon X1000系列显卡后,执行同样操作时的CPU占用率只有30%。
高清视频解码及输出能力
在视频解码方面,支持HDTV级高清视频硬件解码已经是新一代显卡的标准。nVIDIA PureVideo在这方面功能强大,它可支持硬件加速HD-MEPG2/WMV-HD/H.264解码、高阶动态自适应交错、全分辨率视频增强、扩展颜色支持、有害剪辑检测等大量的先进技术特性。在播放HDTV高清晰视频时,画面流畅无任何停顿感,CPU的占用率则被控制在40%-60%范围内。而AVIVO在该方面也丝毫不逊色,它除了提供多种HD视频格式的硬件解码外,也增加对H.264解码加速的支持—Blu-ray Disc和HD DVD 两大下一代DVD标准都采纳H.264作为视频编码技术,这样Radeon X1000系列显卡将能够轻松胜任高清Blu-ray Disc或HD DVD光碟的播放—在这些方面,AVIVO与nVIDIA PureVideo可以说表现得旗鼓相当。
在视频质量优化方面,反交错技术被认为必不可少。nVIDIA在PureVideo技术中首次实现“空间-时间反交错处理”优化(Spatial-Temporal de-interlacing),切实提高了反交错处理的视频质量,且效果优于ATI以往的图形产品。而在Radeon X1000身上,ATI引入全新的矢量自适应反交错算法,及时改善了反交错效果不如对手的弊端。
在输出能力方面,AVIVO技术也有长足的进步。Radeon X1000 GPU中都带有两个双连接的TMDS传送器,可支持两个高分辨率显示器的同步输出,这项能力在高端娱乐显卡中可谓首屈一指。另外,Radeon X1000又一项明显改进便是终于引入10bit显示管线,实现了10亿种色彩的输出显示能力。该项特性最早在Matrox的Parhelia系列显卡中实现,后来nVIDIA也及时跟进,但ATI直到Radeon X1000时代才弥补欠缺,所幸今天的主流型LCD并未实现10bit每通道色彩显示,Radeon X1000增加该项特性并不算晚。
总结
毋庸置疑,Radeon X1000在技术上相当值得称道:在核心运算系统,Radeon X1000拥有符合Shader Model 3.0规范并引入多线程技术的超执行渲染架构;在显存系统,Radeon X1000引入创新设计的双向环路显存总线、全相联Cache技术,加上工作频率的优势,使得Radeon X1000在显存方面领先于对手;为了提升3D影像质量,Radeon X1000引入高动态范围渲染(HDR)、全方位各向异性过滤和自适应抗锯齿技术,很好地抵销了对手的技术优势。而在视频娱乐领域,AVIVO平台让Radeon X1000一举获得超强的竞争力。在图形领域,先进技术往往与产品竞争力直接关联,虽然GeForce 7系列的确异常强大,但Radeon X1000显然有足够的实力与之抗衡,这一次,图形市场将迎来实力相当的厮杀—两大阵营各有特长,谁都不可能将对手轻易击倒。在看完上述技术分析之后,如果你对Radeon X1000的实际性能感兴趣,不妨留意《个人电脑》未来几期杂志的内容,我们将在适当的时候对Radeon X1000进行深入评测。
在图形市场的新一轮对抗中,nVIDIA已然占据领先优势,早在今年6月份,nVIDIA便率先推出代号为G70、拥有24个像素流水线的GeForce 7800GTX显卡,彻底在性能上击败了对手。而ATI对应的R520图形芯片虽然早在今年初就提交OEM厂商进行测试,但它并没有按原计划在今年6、7月份推出,发布日期一直延迟到现在,以至于在新一轮的较量中明显落后于对手;加上ATI大力推广的CrossFire多显卡平台因芯片组存在软肋,在高端平台的竞争力明显不如对手。在如此局面下,用户们苦等数月之后,ATI终于在10月5日发布延误多时的R520系列图形芯片,并将其命名为“Radeon X1000”系列。作为nVIDIA GeForce 7系列的强大对手,Radeon X1000不仅在流水线等方面有了明显提升,而且实现了对Shader Model 3.0的完整支持,改变长久以来在Shader Model指标方面的落后情况。此外,Radeon X1000在硬件规格和功能特性方面都有大量的技术亮点,如采用90纳米工艺制造、引入最高1500MHz的超高速显存、支持ATI独自开发的AVIVO影像处理技术。Radeon X1000系列的出现,意味着图形市场再度形成两强对立的局面,而我们在之前给大家介绍过GeForce 7800GTX的核心架构和技术特点之后,现在也将对Radeon X1000系列作详细的分析,读者可了解到图形领域最尖端技术的发展成果。
Radeon X1000产品线概况
与nVIDIA单单推出GeForce 7800GTX的作法不同,ATI一次性便完成整个Radeon X1000产品线的发布。Radeon X1000家族分为Radeon X1800(包含XT、XL两个型号)、Radeon X1600(包含XT、Pro两个型号)和Radeon X1300(包含Pro、标准版和HyperMemory三个型号)等三大子系列,这三者的开发代号分别为R520、RV530和RV515,其中后两者都是R520的衍生产品,分别针对主流和低端市场。其中,Radeon X1800拥有8个顶点流水线和16个像素流水线—大家应该会注意到一个问题,nVIDIA GeForce 7800GTX虽然也是拥有8个顶点流水线,但它的像素流水线数量达到24个,而在GPU设计标准化的今天,流水线的数量直接决定GPU的性能,Radeon X1800在这方面的劣势无疑非常明显。不过,ATI通过提高芯片工作频率的手段来弥补这一缺陷:Radeon X1800的核心频率高达625MHz,比GeForce 7800GTX的430MHz高出45%之多。其次,Radeon X1800不惜动用1.5GHz频率的超高速显存,在显存带宽指标上拥有明显的优势。通过这样的处理,Radeon X1800完全不会在性能上逊色于对手。但奇怪的是,尽管像素流水线数量较少,Radeon X1800的晶体管总数仍然达到3亿2000万,比GeForce 7800GTX多出1800万,因此我们不排除R520拥有24条像素流水线的可能。在制造工艺上,Radeon X1800同样非常值得称道,它采用台积电(TSMC)的90纳米Low-K半导体技术进行制造,Low-K技术即采用低K值的半导体材料作为集成电路的层间电介质(Inter Layer Dielectrics),它能够有效降低互连线之间的分布电容并避免寄生电容,进而使芯片的工作频率能有10%以上幅度的提升。尽管Low-K技术已经在Intel、IBM的处理器中获得成功应用,但台积电的90纳米Low-K工艺开发进度似乎并不顺利,Radeon X1000系列的发布时间一再延迟,或多或少可能是受此影响。不过还算幸运的是,最终台积电解决了工艺上的问题,Radeon X1000系列实现大规模量产,及时推向市场成为可能。
Radeon X1600系列是X1000家族中的中端产品,我们可以将它视作是Radeon X1800的缩水版本。Radeon X1600只有5条顶点流水线和12条像素流水线,纹理单元方面的规格也明显缩减,而它集成的晶体管总数为1亿5700万,同样采用90纳米Low-K工艺制造。Radeon X1600 XT版的核心频率达到590MHz,并与1.38GHz频率的高速显存搭配,不过Radeon X1600 Pro的核心频率和显存频率分别只有500MHz和780MHz,与XT版的差距非常明显。至于Radeon X1300则属入门级产品,它包含Pro版、标准版与HyperMemory版,三者都只有2条顶点流水线和4条像素流水线,采用90纳米Low-K工艺,它们之间的区别在于GPU核心的工作频率和显存规格—其中,前两者的核心/显存频率规格同为600MHz/800MHz,而HyperMemory版的核心频率只有450MHz,实施板载32MB显存以及共享系统内存的方案,不过为了弥补容量上的不足,Radeon X1300 HyperMemory动用1GHz频率的高速显存,这可在很大程度上提升其效能,增强在低端市场的竞争力。
除了在硬件规格方面存在差异外,Radeon X1800、Radeon X1600和Radeon X1300都共享同样的技术架构,因此三者在功能特性方面也都完全相同,这些特性主要包括以下几个方面:超执行渲染引擎架构。可完整支持Shader Model 3.0的渲染单元,其中像素渲染部分被重新优化,并引入多线程技术提升利用效率;创新的内存架构。引入双向内存读取环路技术来提高显存的利用效率以及降低内存延迟,采用全相联技术提高Cache命中率,并通过改进后的HyperZ压缩技术实现显存资源的更有效利用;高效能的3D影像质量。Radeon X1000通过高动态范围渲染(HDR)、全方位各向异性过滤和自适应抗锯齿(Adaptive Anti-Aliasing)等三项技术实现3D影像画质的提升,并在同时保证系统具有出色的效能;支持ATI的AVIVO技术。该技术不仅能够轻松完成HDTV高清影像的回放,更可帮助用户更容易地进行视频采集、编解码、格式转换等视频处理操作,其中的大部分运算任务都由GPU直接承担,由此明显降低视频处理过程中CPU的占用率。在下面的文字中,我们将向大家重点介绍Radeon X1000系列的以上四项技术亮点。
超执行渲染引擎架构
在Xbox 360游戏机中的R500(Xenos)GPU上,ATI一马当先引入统一渲染架构,GPU中不再存在单独的顶点渲染引擎和像素渲染引擎,代之的是一个通用功能的渲染引擎统一负责。相比传统的分离方案,统一渲染架构优点在于API和程序设计都较为简单,程序员无需在任务的渲染分派上花多少时间,它也代表图形技术发展的未来趋势。不过,Radeon X1000系列并没有采用这套方案,它的渲染架构依然隶属传统,即采用分离的顶点渲染(Vertex Shader)和像素渲染(Pixel Shader)设计。在PC平台中,这显然是唯一的选择,因为目前所有的3D游戏都为该体系编程,太过超前反而将适得其反。
完全支持Shader Model 3.0规范
相比前一代的R420系列GPU(即Radeon X800系列),Radeon X1000除了在流水线数量上增加明显外,规格的演进是主要重点。我们知道,nVIDIA在GeForce 6800(NV40)时代就实现了完善的Shader Model 3.0功能,Shader Model 3.0除了具有大量的先进功能特性外,还引入诸如分支、循环、子程序等动态流控制指令,同时对渲染运算的指令长度不再作出限制,让程序员可以随心所欲编制程序,而且渲染运算的数据精度也从以往的最高24位提升到32位。GeForce 6800超前的规格让它赢得相当多的拥戴者,并在当时的高端显卡竞争中占据优势。虽然在当时,针对Shader Model 3.0设计的3D游戏几乎没有,GeForce 6800在这方面的技术优势并未获得体现。与此同时,ATI的Radeon X800系列无法实现32位精度运算,对Shader Model 3.0的其他功能特性也未见支持,虽然在实际游戏测试中Radeon X800的性能表现同GeForce 6800相当,可Shader Model规格的弱势让它在GeForce 6800面前明显矮了一截。
Radeon X1000的出现为ATI一雪前耻,不仅高端的Radeon X1800系列能够支持Shader Model 3.0,就连最低端的Radeon X1300 HyperMemory都具有完整的Shader Model 3.0功能,在渲染引擎规格方面完全赶上了nVIDIA。虽然GeForce 7800GTX远比GeForce 6800强大,但它也是只能支持到Shader Model 3.0,因此在这一方面,ATI的产品将不再存在劣势。
顶点流水线
Radeon X1800的顶点流水线(Vertex Shader)从Radeon X800系列的6个提升到8个,但两者的结构非常类似,都采用了“128位矢量(Vector)ALU+32位标量(Scalar)ALU”的组合方式(GeForce 7800GTX的顶点着色器为“32位矢量ALU+32位标量ALU”设计,参见图4),这样在一个时钟周期内,Radeon X1800的每个顶点流水线都能完成两条顶点渲染指令,根据“8(顶点流水线)×2(着色指令/每时钟、每个流水线)×625MHz”的公式计算,不难推出Radeon X1800在一秒钟内可以完成100亿条顶点渲染指令,创下该领域的最高纪录。不妨作更进一步的讨论:Radeon X1800的8个顶点流水线每个周期都能完成两次顶点转换操作(即T&L里的Transformantion),那么在一秒钟内Radeon X1800便能够实现12.48亿次顶点转换。与之相比,GeForce 7800GTX每秒钟只能处理9.4亿次顶点转换操作,在这方面明显落后于对手。Radeon X1800之所以拥有如此高的优势,完全得益于625MHz的高频率,虽然GeForce 7800GTX也拥有同样数量的顶点流水线,但它只能工作在430MHz的频率下。
得益于Shader Model 3.0,Radeon X1000的顶点流水线也能够完整支持Vertex Shader 3.0规范(Shader Model 3.0为DirectX 9.0C的流水线规范,它包含Vertex Shader 3.0和Pixel Shader 3.0两个部分,分别对GPU的顶点渲染和像素渲染作出规定),可支持该规范引入的动态流控制指令,并允许无限制的渲染指令长度。换句话说,为Shader Model 3.0编制的新一代3D游戏都能够被Radeon X1000良好支持,而不会出现运行效能低下,或者视觉效果缩水的情况。
如果我们将Radeon X1000的流水线与nVIDIA GeForce 6和GeForce 7作更进一步的对比,便会发现两者并不完全一样,差异最明显的地方在于,GeForce 6和GeForce 7都拥有顶点纹理预取单元(Vertex Texture Fetch),而Radeon X1000的顶点流水线并不存在这样的处理单元,却增加了一个名为“Render to Vertex Buffer(渲染至顶点缓存)”的缓冲。在GeForce 6和GeForce 7 GPU中,顶点纹理预取单元是实现对置换贴图(Displacement Mapping)硬件加速的前提,也是Vertex Model 3.0规范的标准设计之一。ATI对此解释说,微软Vertex Model 3.0只是要求将“顶点纹理预取单元”的功能位设置为“具备”即可,并没有对具体的纹理格式作出界定;而在分离渲染架构的GPU产品中,实现“顶点纹理预取单元”将付出高昂的代价—纹理缓存(Cache)要求动用数量可观的晶体管,芯片面积增大,导致制造成本明显上扬。为了解决这对矛盾,ATI在Radeon X1000系列产品中引入一套名为“Render to Vertex Buffer”的缓存方案,该缓存用于存放顶点渲染所需的浮点数据,并将它实时传送给顶点流水线,以此实现置换贴图的预加速处理。不过实事求是地说,ATI设计Render to Vertex Buffer的主要目的在于降低成本,它的灵活性明显不如标准的“顶点纹理预取单元”。后者可允许纹理动态取样、顶点数据动态变更等操作,而Render to Vertex Buffer只是起到简单的中转存储功能。
像素流水线
同样得益于Shader Model 3.0,Radeon X1000像素流水线可支持32位浮点数据精度运算,更高的数据精度将有效降低运算过程中产生的累积误差,将游戏的画面真实呈现在用户面前。但抛开这项因素不谈,我们发现Radeon X1000的像素流水线与前代R420非常类似:两者的核心部分都是两组32位4路SIMD处理阵列,每个阵列中包含一个32位矢量ALU和一个32位标量ALU,这样每一个像素流水线都拥有四个ALU单元。但与R420不同的是,Radeon X1000的像素流水线还增加了一个用于流控制的分支预测单元,这样Radeon X1000在一个时钟周期内便能够同时处理5条指令,这些指令分别为1条VEC3 ADD指令(Vector ALU1,矢量加法)、1条Scalar ADD指令(Scalar ALU1,标量加法)、1条VEC3 ADD/MUL/MADD指令(Vector ALU2,矢量加、乘、乘-加)、1条Scalar ADD/MUL/MADD指令(Scalar ALU2,标量加、乘、乘-加)以及一条分支预测功能的流控制指令。(MADD、Multiply-ADD, 数学函数中的乘法运算与加法运算,这两种运算在3D图形中最为常用,折射效果、反射效果、模糊效果、光线照明、法线贴图等许多运算都主要依赖乘法和加法操作,MADD效能的高低对整个像素渲染操作有着举足轻重的影响。)此外,ATI向来都采用独立的纹理单元,当遇到纹理操作时,Radeon X1000的像素流水线一共可执行5条像素指令和1条纹理操作指令,这样的规格比起R420来说改善并不算大。
现在,我们将Radeon X1000的像素流水线与nVIDIA GeForce 7800进行对比。GeForce 7800GTX像素流水线的核心部分也是由两个32位精度ALU单元构成,两者的结构不尽相同,但它们均可完成四维向量处理,其中,第一个ALU可在一个周期内实现浮点乘法运算和纹理定址运算,并可附加实现16位浮点法线运算;而第二个ALU功能更为强大,它可在单周期内进行ADD、MUL和MADD指令运算。从整体上说,GeForce 7800的每个像素流水线在一个周期内都能完成16次32位浮点运算,而Radeon X1000最多也只能进行12次32位浮点运算—倘若遭遇连续两条MADD指令或MUL、MADD指令相邻的情况,Radeon X1000便只能完成8次浮点运算,性能仅为GeForce 7800的1/2。另外一个需要考虑的是,GeForce 7800像素流水线的ALU1还可同时处理一条16位法线运算,如果3D游戏大量使用法线贴图技术,那么GeForce 7800将具有十分明显的优势。而Radeon X1000唯一具有优势的地方就在于动态分支指令的处理,这显然得益于流水线内独立的分支预测单元。ATI表示,在遭遇if/end/endif等分支指令时,Radeon X1000只要14个周期,而其他的GPU产品都需要花费20个周期以上才能完成任务。而在实用环境下,动态分支处理如果能运用巧妙将明显提高GPU的渲染效能。例如,如果要对三维对象的阴影作边缘柔和处理,使用动态分支指令便可跳过不需取样的像素,将节省出的大量运算力资源用于有效处理上;既然运算量减少,完成渲染的速度自然就更快。不过该项特性需要游戏的支持,由于历史原因,游戏开发者对此并不是很重视,Radeon X1000在动态指令方面的优势在短时间内可能无法获得体现。
面对像素流水线性能不敌对手的事实,ATI除了依靠高频率优势来缓解问题外,还努力提升流水线的利用效率。Radeon X1000一个非常重要的技术便是引入了“极线程指派处理器(Ultra-Threading Dispatch Processor)”,该技术可有效提高渲染单元的硬件利用效率,达到提高性能的目的。大家对多线程的认识或许更多来自于处理器领域,但事实上,GPU在许多年前就实现多线程处理—每一个顶点流水线、像素流水线处理的基本任务都可看作是一个线程,现代GPU产品都拥有数量众多的顶点流水线和像素流水线,同步执行的线程数量自然颇为庞大。为了管理这些线程,nVIDIA为GeForce 6800/7800两代GPU设计了功能相仿的“渲染指令分派器(Shader Instruction dispatch)”,用于线程指令的管理和分派。而ATI在Radeon X1000系列中引入一项名为极线程分派处理器的分派单元,它在功能上与nVIDIA的技术方案没什么不同,但差别在于ATI对该单元作了高度优化设计。极线程分派处理器的核心是一个中央分派单元(central dispatch unit,CDU),该单元可为一个像素流水线阵列分派高达512个线程,更关键的地方在于,它可以对流水线的运行情况进行实时监测,只要某一组渲染阵列处于等待数据或完成任务的状态,该分派单元便会立即分派新的任务,避免硬件资源的闲置。而为了维持高效的线程切换,ATI还给Radeon X1000设计了一个规模庞大、可同步操作的32位通用寄存器堆栈,堆栈中的寄存器能够存储各个线程的中间数据及运算结果,以保证每一个线程状态都能够在切换过程中完整保留。ATI表示,极线程分派处理器技术可让Radeon X1000系列的像素流水线阵列维持超过90%的利用率,这样即便在处理性能上逊色于对手,但凭借硬件资源利用率方面的优势,Radeon X1000还是能够获得出色的像素渲染性能。
创新的显存架构
对高端显卡来说,显存带宽的重要性不言而喻,尤其是在高分辨率环境下,将反锯齿、异性过滤等提高画面品质的功能开启之后,GPU与显存之间需要交换的数据量极为惊人,因此采用高速的显存系统对图形性能提升的效果向来都是立竿见影。为了让自己的产品能够获得性能优势,nVIDIA与ATI都在这方面竭尽所能,但遗憾的是,高速显存颗粒的价格一向非常昂贵,往往占据显卡总成本相当大的比例,这也是目前高端显卡动辄4、5千元售价的主要原因之一。由于nVIDIA与ATI在显存方面都受制于内存厂商,自身所能涉及的领域便是GPU的显存控制系统。在Radeon X1000系列产品中,ATI采用8×32位结构的显存组织方式,并设计了一个新式的环网总线架构实现显存资源的高效调用。除了这些之外,ATI还通过全相联的Cache技术提高缓存命中率,以及对HyperZ压缩技术进行改良,这些措施虽然着眼点迥异,但都很好地实现了提高显存系统性能的目标。
8×32bit显存结构与双向环路总线
GPU中的显存控制器与CPU中的整合内存控制器是同一个概念,但由于显卡中直接包含了GPU和显存,图形厂商便可自行设计显存控制器方案。nVIDIA在GeForce 3之后的历代GPU产品中,均采用交错式Crossbar内存控制架构,该架构采用基本位宽为32bit的多路并联显存系统,如实现256bit位宽时,显存系统的内部结构便为“8×32bit”方案,而每一个控制单元都能够管理到所有的显存资源,由此构成交错式连接的总线架构。这种方案的优点在于,GPU内任何一个逻辑都可以高效调用到显存资源,同时在交换小容量数据时效率优势非常明显。不妨举一个例子,如果要传输大量32bit容量的小数据块,nVIDIA的Crossbar显存控制器可以实现总线资源的充分利用;而传统的显存控制器都以64bit作为基本传输单位,在处理32bit尺度的小容量数据时,显存总线的利用效率只有50%。从性能角度考虑,Crossbar架构的确非常完美,这也是nVIDIA在GeForce 3时代引入该技术之后,将其沿用至今的最大理由。
相比之下,ATI在该领域长时间都不及对手,虽然它在Radeon 9700(R300)时代便引入256位交错式显存总线,但该显存总线被划分为4×64bit结构,之后ATI所有的256位显存总线都是沿用这项设计。虽然整体带宽指标看不出什么差别,但在实际运行时,ATI的4×64bit显存总线效率明显低于对手,尤其是在传输32bit小容量数据时体现得尤其明显。而Radeon X1000顺应潮流,改用8通道、每通道32bit的显存连接,充分保证内存资源的有效利用;至于在显存类型方面,Radeon X1000可支持DDR2、GDDR3、GDDR4三种类型,其中最高端的Radeon X1800 XT采用三星750MHz物理频率的GDDR3颗粒,实际数据传输频率高达1.5GHz,而整个显存提供的传输带宽也达到惊人的48GBps。
在显存总线设计上,Radeon X1000没有沿用之前的交错式连接方案。ATI认为,随着GPU变得越来越复杂,内部需要连接到显存控制器的逻辑单元也越来越多,如果沿用交错式总线设计,将会导致总线的路由控制变得非常复杂;加之显存工作频率越来越高,对信号同步化要求苛刻,交错连接的方式必然令PCB布线工作变得越来越艰难,而如果在布线方面出问题的话,显卡将难以保证工作的稳定性,所谓的高性能根本就无从谈起。基于上述出发点,ATI决定另起炉灶,它为Radeon X1000设计了一套双向环路显存总线(图8),这套总线包含两条256bit宽度的显存总线,一条用于数据发送、一条用于数据接收,两条总线通过“Ring Stop”数据中转站交联,当显存收到数据读取指令后,将目标数据取出并存放到总线环路上的某个“Ring Stop”中,而客户端就从该“Ring Stop”上直接获取相应的目标数据。虽然这种设计多了数据中转的环节,有可能导致显存延迟时间略略增加,但带来的好处就是总线系统设计简单,对信号同步要求宽松,因此显存总线的工作频率可比常规的交错式总线高出一倍之多,给显卡整体性能带来的增益是非常明显的。ATI对此作了更进一步的解释:该双向环路总线的内存仲裁由驱动程序控制,用户可以通过驱动程序的“CATALYST A.I(智能参数设定)”功能为特定的应用程序设定仲裁优先次序,以便GPU可以优先处理最迫切、对性能影响最明显的数据读写请求。
全相联技术提高Cache命中率
环路总线有效地提高了Radeon X1000的显存带宽,但也带来访问延迟较高的弊端,为了将负面影响降到最低,ATI引入一向名为“全相联Cache”的缓存技术,该技术可有效提升缓存的命中率,以降低GPU的显存存取动作。
我们知道,以往所有GPU都采用直接映射(Direct Map)的方式来管理Cache,即每个Cache入口都与一块专门的显存区直接对应,虽然此种设计可以让Cache的存取动作变得简单,但它存在一个致命的弊端—倘若GPU内某个功能逻辑需要交换两个数据,而这两个数据刚好位于被Cache映射的同一块显存区域内,由此出现的后果便是这两块数据需要不断挤进挤出Cache方能完成交换,读写延迟反而更高。遗憾的是,这种情况在许多高负载应用中均颇为常见,以直接映射机制来管理Cache显然不是最佳方案。有鉴于此,ATI在Radeon X1000的纹理Cache、Z/Stencil Cache和色彩Cache中都引入全相联技术,该技术的特点在于,Cache不再只映射到特定一个或某几个的显存区域,而是可以被映射到任意空闲的区域,这就有效避免了相同地址映射带来的冲突。这项技术同样带来明显的效能提升,尤其是在高分辨率,打开全屏抗锯齿和各向异性过滤特性的游戏环境下,全相联Cache带来的效能增益可比传统方案高出25%。
除此之外,ATI还对Radeon X1000的纹理压缩和色彩压缩技术作出改良。我们知道,最早的纹理压缩技术为S3 Graphics在DirectX6时代提出的S3TC,该技术后来被微软所采用并成为DirectX的纹理压缩格式“DXTC”,此后DXTC便成为所有GPU产品都遵循的公有标准。然而,随着高动态渲染效果的流行,GPU对显存带宽的庞大需求又成为问题,此时DXTC已无法满足实际需求。为此,ATI在Radeon X1000中引入了一项压缩比为2:1的单通道纹理压缩技术,该技术可支持亮度映射图(Luminance Map)、阴影映射图(Shadow Map)和HDR高动态纹理—ATI将其纳入3Dc技术体系(3Dc为ATI在Radeon X800系列引入的Normal map法线贴图压缩技术,类似技术也出现在nVIDIA的GeForce 7系列中)。至于在色彩压缩方面,Radeon X1000同样可在6X反锯齿模式下实现6:1的高压缩比。ATI同时对HyperZ技术进行改良,由于算法获得改进,Radeon X1000能够多剔除掉50%的隐藏面像素操作,大大降低了GPU的运算负担。
通过上述多方面的改良,ATI为Radeon X1000打造出一个超强的显存系统,尤其是针对高端的Radeon X1800拥有1.5GHz的超高速显存,ATI在这方面的技术优势还是非常明显的。
出色的3D影像质量
当速度不再是问题的时候,GPU之间的实力较量就延伸到3D游戏的影像质量。GeForce 6和GeForce 7在这方面的强劲实力大家有目共睹,尤其是“High-Precision Dynamic-Range”高精度动态范围技术的引入让它可表现出一流的画面效果。而在Radeon X1000系列中,ATI则引入三项技术来改善游戏画质,它们包括高动态范围渲染(HDR)、全方位各向异性过滤和自适应抗锯齿(Adaptive Anti-Aliasing)。
在了解高动态范围渲染技术之前,我们先了解相关概念。在3D图形领域,“动态范围”指的是画面最高亮度与最暗部的亮度对比情况,比值越大、动态范围就越高,画面明暗对比越强烈,此谓“高动态范围”。而根据惯例,当明暗比值低于255:1时,称之为“低动态范围(LDR)”,而该指标高于256:1时便纳入高动态范围体系。画面的动态范围越大,对数据精度的要求就越高,例如采用8位整数格式进行运算,最多只能实现256:1的亮度比(或者说是256种灰度);如果采用16位整数,那么可实现65536: 1动态范围,而如果采用16位浮点精度,可表现出的动态范围值高达两万亿比一—即Radeon X1000所具有的处理能力。此外,Radeon X1000还引入10位通道色彩的支持,每种色彩提供1024个灰阶,总计可支持10亿种色彩显示以及4级透明灰阶。尽管今天的LCD显示器普遍无法达到如此之高的显示指标,但Radeon X1000的这些技术措施有力避免了误差累积效应,保障了游戏画面的真实度。
各向异性过滤(Anisotropic Filtering)是纹理过滤的主要技术之一,它的功能是在渲染出的3D对象投射到二维屏幕上时,对纹理图像上的每个像素进行渲染。在具体实现方式上,ATI与nVIDIA曾存在较大的差异,如ATI在Radeon 8500时代只支持对特定角度的多边形作AF过滤,且在开启AF各向异性过滤时,三线性过滤就会自动失效,但ATI的优点在于提供对AF和三线性过滤的优化处理。而nVIDIA同时代的GeForce 3/4虽然对全角度的多边形作AF处理,且允许在开启AF的同时也打开三线性过滤机制,但它没有对此提供优化。在后来的发展中,双方发展方向趋于一致:ATI在Radeon 9700之后提供对45度角多边形作AF处理,且允许三线性过滤功能同步开启;而nVIDIA GeForce FX则引入对AF、三线性过滤作优化机制。此后,双方在该领域的改进此起彼伏,而ATI这一次在Radeon X1000中则引入一项名为“Area Anisotropic Filter”的全角度各向异性过滤机制,对多边形的角度不再有任何限制,该技术还可支持4096×4096像素的大纹理尺寸(nVIDIA很早就对此提供支持)。另外ATI还表示,由于采用先进的算法,在打开全角度各向异性过滤时GPU的性能不会出现太大的下滑。整体而言,Radeon X1000与GeForce 7系列产品在各向异性过滤方面的技术水平基本相当。
抗锯齿是提高游戏画面精细程度的关键技术之一。抗锯齿倍数越高,图像边缘的视觉效果就越平滑,但系统性能的下降程度也越大。为了在效果和性能方面取得平衡,用户在进行游戏前一般都要预先作繁琐的设定,但游戏画面各元素的情况不同,对抗锯齿的需求也有所差异,而传统的抗锯齿模式都是固定倍数取样,适应性较差。为此,nVIDIA在GeForce 7800系列产品中引入自适应抗锯齿技术,可根据画面不同对象的特性采取不同取样方式,实现性能与效果的最佳平衡。而ATI这一次在Radeon X1000产品中也采用类似的自适应抗锯齿技术,在多数情况下,Radeon X1000采取多取样方式作抗锯齿处理,而如果遇到类似铁丝网、植物等边缘锯齿严重的对象时,Radeon X1000就会自行切换到超级取样模式,以获得最佳的画面效果。
AVIVO影像处理技术
视频处理能力一向都是ATI显卡的特长,但自从nVIDIA引入PureVideo视频处理技术后,ATI的优势便不复存在,nVIDIA也藉此有效提升了自身产品在视频娱乐领域的竞争力。为了扭转这种不利的局面,ATI在Radeon X1000产品线中引入一项名为“AVIVO”影像处理技术,该技术除了具有强大的高清影像解码能力外,更将视频转换和视频编码作为重点,功能比PureVideo更为强大。
视频采集、辅助转换及编码支持
与PureVideo不同,ATI AVIVO并不是一项单一的技术或产品,它是一个完整的视频处理平台。该平台由一块AVIVO视频采集卡和一块AVIVO加速显卡组成,前者负责视频的输入,后者负责影像转换和编解码加速工作。目前唯一符合AVIVO标准的采集卡就是ATI自家的Theater 550,而AVIVO显卡则是此次发布的Radeon X1000系列—包括最高端的Radeon X1800XT和最低端的Radeon X1300 HyperMemory都具有完整的AVIVO功能。借助这套系统,用户可以非常方便地进行视频采集、编码、解码、处理及显示操作—这五个步骤被ATI称为“视频管线”。
在AVIVO系统中,Theater 550采集卡负责视频输入的职能。采集卡的主要任务是通过模数转换器将模拟信号转成数字信号,然后借助视频编码器将它压缩成指定格式的数字视频流。ATI的Theater 550可实现MPEG-2格式的硬件编码,这样在转换过程中CPU的负担就能被最大限度减轻。但由于MPEG-2格式压缩比并不高,用户往往会再将数字视频流转成WMV、DiVX、MPEG-4等当前流行的格式,此时AVIVO显卡就派上用场了。
Radeon X1000全系列产品都可直接支持辅助视频编码转换功能,但我们要特别注意的是,最主要的运算工作还是由CPU承担,Radeon X1000显卡只是起到辅助运算的功能,如当系统处理H.264、VC-1、WMV9、WMV9 PMC、MPEG-2、MPEG-4和DivX视频编码转换时,AVIVO GPU可处理其中的部分视频转换操作,CPU资源的紧张情况将由此获得明显减轻。ATI在AVIVO平台的发布会上作了一个生动的演示,当将数字视频编码为H.264格式时,搭载普通显卡的系统CPU占用率高达90%,而改用ATI Radeon X1000系列显卡后,执行同样操作时的CPU占用率只有30%。
高清视频解码及输出能力
在视频解码方面,支持HDTV级高清视频硬件解码已经是新一代显卡的标准。nVIDIA PureVideo在这方面功能强大,它可支持硬件加速HD-MEPG2/WMV-HD/H.264解码、高阶动态自适应交错、全分辨率视频增强、扩展颜色支持、有害剪辑检测等大量的先进技术特性。在播放HDTV高清晰视频时,画面流畅无任何停顿感,CPU的占用率则被控制在40%-60%范围内。而AVIVO在该方面也丝毫不逊色,它除了提供多种HD视频格式的硬件解码外,也增加对H.264解码加速的支持—Blu-ray Disc和HD DVD 两大下一代DVD标准都采纳H.264作为视频编码技术,这样Radeon X1000系列显卡将能够轻松胜任高清Blu-ray Disc或HD DVD光碟的播放—在这些方面,AVIVO与nVIDIA PureVideo可以说表现得旗鼓相当。
在视频质量优化方面,反交错技术被认为必不可少。nVIDIA在PureVideo技术中首次实现“空间-时间反交错处理”优化(Spatial-Temporal de-interlacing),切实提高了反交错处理的视频质量,且效果优于ATI以往的图形产品。而在Radeon X1000身上,ATI引入全新的矢量自适应反交错算法,及时改善了反交错效果不如对手的弊端。
在输出能力方面,AVIVO技术也有长足的进步。Radeon X1000 GPU中都带有两个双连接的TMDS传送器,可支持两个高分辨率显示器的同步输出,这项能力在高端娱乐显卡中可谓首屈一指。另外,Radeon X1000又一项明显改进便是终于引入10bit显示管线,实现了10亿种色彩的输出显示能力。该项特性最早在Matrox的Parhelia系列显卡中实现,后来nVIDIA也及时跟进,但ATI直到Radeon X1000时代才弥补欠缺,所幸今天的主流型LCD并未实现10bit每通道色彩显示,Radeon X1000增加该项特性并不算晚。
总结
毋庸置疑,Radeon X1000在技术上相当值得称道:在核心运算系统,Radeon X1000拥有符合Shader Model 3.0规范并引入多线程技术的超执行渲染架构;在显存系统,Radeon X1000引入创新设计的双向环路显存总线、全相联Cache技术,加上工作频率的优势,使得Radeon X1000在显存方面领先于对手;为了提升3D影像质量,Radeon X1000引入高动态范围渲染(HDR)、全方位各向异性过滤和自适应抗锯齿技术,很好地抵销了对手的技术优势。而在视频娱乐领域,AVIVO平台让Radeon X1000一举获得超强的竞争力。在图形领域,先进技术往往与产品竞争力直接关联,虽然GeForce 7系列的确异常强大,但Radeon X1000显然有足够的实力与之抗衡,这一次,图形市场将迎来实力相当的厮杀—两大阵营各有特长,谁都不可能将对手轻易击倒。在看完上述技术分析之后,如果你对Radeon X1000的实际性能感兴趣,不妨留意《个人电脑》未来几期杂志的内容,我们将在适当的时候对Radeon X1000进行深入评测。