● 四代产品延续同一架构
从AMD Radeon HD 2000开始,直到Radeon HD 5000最后一款产品发布结束,我们看到的GPU单元核心架构始终是一成不变的——一个UDTP线程分配仲裁器、一个几何单元、每个线程处理器包含5个1D ALU、5个1D ALU以VLIW超长指令字打包方式和外界进行通讯。
GPU全局:
Radeon HD 2000标志着AMD也跟随NVIDIA的脚步进入了DirectX 10和统一渲染GPU架构元年。实际上在2005年AMD已经设计出了XBOX使用的统一渲染Xenos处理器。第一代R600处理器包括了前端的UDTP仲裁器、几何处理器、统一执行GS/VS/PS的线程处理器,数量充足的纹理单元和后端单元。
AMD统一渲染架构图示
其中硬件Tessellator单元和统一线程处理器是整个架构的设计亮点,显存控制器从RingBus环形总线发展到CorssBar交叉总线,而纹理和后端部分到今天为止,NVIDIA和AMD方面都没有出现飞跃性的改进。
几何部分:
GPU前端最主要的单元是Command Processor(指令处理器)、Graphics Engine(图形装配引擎)、Ultra-Threaded Dispatch Processor(超线程分配处理器)。
AMD GPU几何处理器
其中Graphics Engine部分的设计,从R600开始到现在,几何处理器之中有很多模块,包括Tessellator(镶嵌器)、Vertex Assembler(顶点装配器)、Geometry Assembler(几何装配器)、Rasterizer(光栅器)、Hierarchial-Z(多级Z缓冲模块)等。
仲裁部分:
AMD在R520时代ATI开始引入Ultra Threaded Dispatch Processor单元,UTDP为不同的shader类型提供了专门的命令队列窗口,这些窗口内塞满了等待执行的线程,每个线程都是若干条对输入数据处理的指令。
Ultra-Threaded Dispatch Processor(PCinlife网站制图)
UTDP属于GPU前端逻辑。Ultra-Threaded Dispatch Processor,也被译为超级线程分配器,如字面意思,负责GPU全局线程分配,既然是“全局”,就应该一个GPU只有一个。
线程处理器:
ATI将这些ALU称作streaming processing unit,因而,ATI宣称R600拥有320个SPU。我们考虑R600的每个流处理器,它每个周期只能执行一条指令,但是流处理器中却拥有5个1D ALU。
R600时代的320个ALU阵列或者说64个线程处理器
ATI为了提高ALU利用率,采用了VLIW体系(Very Large Instruction Word)设计。将多个短指令合并成为一组长的指令交给流处理器去执行。例如,R600可以5条1D指令合并为一组5DVLIW指令。
三秦IT网的官方微信:更多资讯请关注:三秦IT网官方微博