"AMD和NVIDIA两家公司GPU架构由分到合发展综述.pdf"
本文综述了AMD和NVIDIA两家公司GPU架构的发展历史,从DirectX 9.0发布后,AMD和NVIDIA在GPU架构上的设计思路逐渐走向两个极端。NVIDIA一直用优秀的架构设计来避免GPU面积、功耗及成本等制造工艺带来的种种问题;AMD利用芯片制程方面的优势来弥补SIMD架构所带来的指令执行效率低下的劣势。
DirectX 5.0以前的DirectX版本还是探索成型阶段,直至1998年推出的DirectX 6.0因引入双线性过滤、三线性过滤等开始得到大多数厂商的认可,之后的DirectX才逐渐进入成熟阶段。DirectX的不断改善,可编程性不断加强,市场上出现了一大批拥有强大计算能力、能从事非图形方面应用的处理器——图形处理器通用计算(General Purpose Computing on the GPU,GPGPU),简称图形处理器(GPU)。
GPU架构的发展史,可以追溯到DirectX 7.0版本,NVIDIA凭借GeForce2 GTS架构赢得胜利。DirectX 8.0版本中,着色器模型(shader model,SM)被加入到GPU中,替代了传统的固定渲染管线,SM的3D图形学计算能力及自身的可编程性,使得图像效果不再受显卡的固定渲染管线限制。Shader的提出让GPU成了真正的可编程处理器。
AMD凭借灵活的规格和优秀的性价比生产出了一系列经典显卡如Radeon 8550,这些经典显卡为AMD赢得中低市场,扭转了ATI在DirectX 7的不利局面。面对竞争对手AMD的步步紧逼,在DirectX 8.1推出后,NVIDIA后期发行了反击产品GeForce4 Ti,NVIDIA首次以高端产品低成本化举措大获成功。
DirectX 9更加侧重Shader单元的性能:像素着色器(Pixel Shader,PS)单元的渲染精度已达到浮点精度,传统的硬件T&L单元被取消;全新的顶点着色器(Vertex Shader,VS)增加了流程控制和更多的常量,每个程序的着色指令增加到了1 024条。如果说DirectX 8中的Shader单元还是个简单尝试的话,那么DirectX 9中的Shader则成了标准配置。
到了DirectX 9.0C时期,NVIDIA吸取上一代产品的教训,投入史上最大的一笔研发经费后研制出GeForce 6800,合理的架构及完全贴合Direct 9.0C的Vertex Shader 3.0和Pixel Shader 3.0规范让AMD败阵下来。
在DirectX 9.0C时期,GPU架构的发展已经到达了一个新的高度,NVIDIA和AMD两家公司的GPU架构设计思路也开始逐渐收敛,两家公司的GPU产品也开始具有更多的相似之处。这是因为DirectX 9.0C的发布,让GPU架构的设计思路更加侧重可编程性和功耗控制,两家公司也开始逐渐意识到,GPU架构的设计思路应该更加侧重于可编程性和功耗控制,而不仅仅是性能的提高。
AMD和NVIDIA两家公司GPU架构的发展史,是一个不断探索和竞争的过程,两家公司的GPU架构设计思路不断演变和完善,推动了GPU技术的发展和进步。