●NVIDIA架构小结
G80以后的处理器核心是Out-of-Order型再加上动的warpscheduling之外又加上,再有一个特征性的要素。
一般的GPU在SIMD实行的各线程尤其SIMD中执行指令。比如如果是进行像素处理,那么在单个线程中SIMD处理构成为1个像素的4组件“RGBA(Red, Green, Blue, Alpha)”。而在被SIMD控制的处理器中,则具有SIMD型运算单元的风格。这里图形处理以及顶点计算和像素都适合SIMD处理的数据格式的缘故。
可是NVIDIA公司的架构则完全分解了SIMD。运算全部为scalar。比如如果在DirectX API上作为颜色数据RGBA需要通过SIMD演算,那么在GPU内部则要分离各个要素“R”“G”“B”“A”。
GPU使用的是顶点型运行单元,这个是一个常识。不过现在的GPU,NVIDIA和AMD(ATI)都不在配备单纯的顶点处理器。这里NVIDIA的意图更为明显,就是完全取消顶点处理器。而对于AMD(ATI)的R600/RV770系列产品,处理器使用的都是VLIW(Very Long Instruction Word)型命令。对于5-way的VLIW处理器,使用用编译进行命令水平的并列化操作。这样SIMD格式以外的指令的执行效率会更好。而对于NVIDIA公司来说完全要scalar操作,这时由于资源不足会使得并列执行的效率降低。
各个GPU指令执行的差别
RV770概要
G80/GT200权衡点就是同样的程序执行的周期会更长,同时指令数增加了。这是由于NVIDIA增加了SIMT(=SPMD),不过通过Streaming Multiprocessor(SM)的数量的提高从而可以弥补并列方面的缺点。而这也导致了GT200的核心尺寸要大了许多。
处理器在架构上的差异与设计思想是紧密相连的。NVIDIA的架构是对非图形处理的应用软件进行了最优化处理,而AMD的架构则更接近于图形处理。当然根据不同的应用软件,也有不适合情况发生。不过对于NVIDIA来说可以确定其重点不是图形处理性能。而这个也反应了计划将CPU和GPU合一的AMD公司在这个方面不同的设计理念。
GPU核心尺寸与生产技术的变迁