“在经过数月的延迟后,这款代号R600的RADEON HD 2900XT终于正式发布了,面对这款架构全面革新的产品,PCINLIFE经过精心的策划完成了这篇测试报告,希望以深入浅出的方式为大家全面展现RADEON X2900 XT的实力。”

在R5XX的时候,ATI开始引入Ultra Threaded Dispatch Processor的概念,但是具体的细节我们并不清楚,而现在R600的Ultra Threaded Dispatch Processor架构AMD终于予以了公开。
UTDP为不同的shader类型提供了专门的命令队列窗口,这些窗口内塞满了等待执行的线程,每个线程都是若干条对输入数据处理的指令。
R600有4个SIMD单元矩阵,每个SIMD矩阵都有两个仲裁器,根据若干条件交错地给SIMD矩阵递交下一次执行的线程。
此外,R600的纹理单元矩阵(里面包含有16个TMU)也都有两个专门的仲裁器,专门用于确定纹理处理和顶点拾取的线程。
按照AMD的介绍,线程在执行中的时候如果命令队列窗口出现了优先度更加高的线程,那么这个执行中的较低优先度线程可以在任何情况下被崩掉,放在临时的UTDP专用的cache中,待优先度较高的线程执行完后继续执行。
这些仲裁器会尝试让命令队列窗口中的线程等待时间最小化,一旦有一个SIMD单元矩阵空闲,仲裁器就会把命令队列窗口中等待时间最长的线程发送过去。
UTDP的每个仲裁器和SIMD矩阵或者纹理单元矩阵之间都有一个序列器,用于排列线程中的指令优先顺序。
所有的GPU(G80、Xenos、R5xx、R600等)采用的多线程技术都是FGMT(细粒度多线程),而多线程一般分为三种,除FGMT,还有CGMT(粗粒度多线程,Intel 90nm双核Itaium II采用)、SMT(同时多线程)。
和Intel Petium 4 HT、IBM Power5采用的SMT是让处理器超标量流水线的各个运算器同时充盈着不相依指令流的目的不同的是,GPU采用FGMT的目的只是为了掩藏发生内存存取动作(例如纹理拾取)数百个周期的延迟,让空闲的单元(例如SIMD矩阵)能尽快执行不相依的指令。
同一超标量流水线上,FGMT只会有一条线程在实际执行,而SMT只要是符合不相依并且有空闲的单元,同一个超标量流水线上通常都至少有两条线程在并行执行。
一般来说,FGMT是最适合于GPU的多线程方案,成本较低,而且能很好地解决执行内存存取时的资源空闲问题。