精神食粮:这种设计的理由
精神食粮:这种设计的理由
精神食粮:这种设计的理由

回顾 ATI 过去的成就,可让我们了解该公司为何如此设计 R600。R500 系列以 Mike Huston 在史丹福大学 (2003-2004) 与 Folding@Home 的研究,导入着色器 (shader) 的动态分支 (branching) 及汇流运算 (stream computing)技术。在 X1000 系列中,ATI 打造了新的大量/复杂的完全关联快取。 它新增了 Fetch4-这是点取样 (point-sampling) 一个 16 位材质,以执行 Precision Closer Filtering (PCF; 精准渐近过滤) 的 2x2 邻近捉取 (fetch) 效能改良技巧。最后,它打造了一个具备可服务 60-70 客户端的分布式系统的新环圈 (ring) 内存控制器。
从 PC 跨足游戏机的 ATI 为 Xbox 360 开发 Xenos 产品,虽然它并非 DX10,却是具备顶点与像素着色功能的统一 DX9 着色器。这款芯片具有高使用率,并加上汇流功能,以进行后顶点 (after vertex) 处理动作。它也整合了硬件镶嵌 (tessellation) 技术,可以为多边形网目 (poly mesh) 加入更多的多边体,造就出比单纯使用高网目对象与模型方式具备更高输送量 (throughput) 的高网目效果。
新设计-高层次检视
Radeon HD 2900 的 R600架构
我们先以鸟瞰方式检视核心,然后再放大焦点在每个组件上。看着新架构的图,你应该可以看出 ATI 善用前代产品创意的地方。新的派遣 (dispatch) 控制器是以过去的经验,结合 500 系列的像素排程和 Xanos 的顶点加像素 (ertex plus pixel) 排程技术而来。完整的 DX10 需要更多的排程动作,这是因为几何着色器的加入所致。为了处理所有任务,新设计也必须加入虚拟化能力。
之前传闻 ATI 即将推出的绘图处理器会继续内含一向量加纯量 (vector plus scalar) 指令设计。但事实并非如此。ATI 变更其处理器架构为超纯量设计,也就是说纯量指令以 5 个为单位划分为一群组。超微资深工程师 Eric Demers 说明:「我们舍向量加纯量而取超纯量设计在于,超纯量更有效率,因为你可以进一步使用所有 FPU 运算。」
ATI 使用纯量群组以形成超大指令字 (VLIW),但这是否比纯纯量设计来得有效率呢?答案是视情况而定。真正的纯量设计较简单,但层次浅。超纯量的深度亦如其细度 (granularity),但如果指令未能正确馈入,也可能因此堵塞,但这已超出本文讨论范围,我们会另寻机会讨论两种设计的辩证。
ATI 继续使用一超执行绪 (ultra-threaded) 派遣处理器,以保持芯片单元随时处于忙碌的状态。其设计逻辑在于让所有执行绪平行运作,也能使许多不同种类的着色器同时执行。但过程的阻塞只会导致效能变差劲,因此 ATI 将执行绪虚拟化,以提高筹码。任何特定时间中只有数百个执行绪在运作,虚拟化可有效容许不受限制数目的执行绪。然后这些执行绪被馈入单指令多资料 (SIMD) 数组路径中。所有 4 个数组都会接收一组指令,并互相独立。总计会有 64 区块 (block) 的五个一组的汇流处理器,总计为 320 个汇流处理器。
这项架构具备统一的着色器。如同在去年秋季 DX10 报导与G80 发表报导所指出,我们示范了具有统一架构的 DX10 中的统一着色器程序代码如何增加使用率与效能。在例如《上古滚动条:遗忘之都》(Oblivion) 与众多即将出炉的游戏中,画面时间 (frame time) 时会形成相当不同的负载。在画面初期,我们可见到延迟打光 (deferred lighting)、阴影通过 (pass)、角色动画与许多纯顶点处理,可以相较少量的像素处理完成。在画面测试后半,则可见 HDR 通过、色调对映、模糊过滤、调整 (tuning)、网状张开 (bloom) 效果、后制处理及其它显然是像素处理的特效。
图表上的着色器/SP 右边有 4 个群组的材质单元。每个材质单元能捉取具有顶点与材质数据大快取的资料,而且也具备一个新的 L2 资料快取。在着色器下方是 4 个标准后端 (back end),ATI 宣称 Z缓冲效能是前一代 (x1000) 的两倍。
频宽因此大幅改良,双向均为 512 位宽度,这并非在芯片多加一些接脚就可以完成的任务。分配频宽到芯片中所有组件的硬件也不能少。Demers 表示:「这款产品牵涉到许多引线 (wire) 与晶体管。」「这是个重大的设计决策。」说的没错,ATI 有效加倍了频宽。
