当前位置: 华文问答 > 数码

GPU 硬件的发展史是怎样的?

2013-11-07数码

GPU技术的进步至少体现在下列方面: (1)产品功能的扩展, 反映了GPU技术的创新与突破; (2)晶体管数量, 反映芯片的复杂程度和处理能力; (3)总线标准, CPU-GPU之间的传输速度制约着芯片性能的发挥; (4)应用程序接口(application programming interface, API)和渲染模型(shader model), 从开发者和应用角度反映了技术的进步; 等等. 我们综合这些方面, 将GPU技术发展的历程以年代顺序整理为表 2‑1. 其中也包括了GPU诞生以前的图形工作站系统. 纵览此发展历程,可以从并行体系结构的角度将其划分为三个时代:

(1)1995-2000年, 各硬件单元形成一条图形处理流水线, 每个流水级功能固定, 硬化了一些给定的函数. 我们称这个时代为 固定功能架构 (fixed function architecture) 时代. 多条像素流水线对各自的输入数据进行相同的操作, 计算模型是流式计算(stream computing). GPU卸去了CPU的计算负担, 加速了绘制, 对图形学意义重大.

(2)2001-2005年, GPU用可编程的顶点渲染器替换了变换与光照相关的固定单元, 用可编程的像素渲染器替换了纹理采样与混合相关的固定单元. 这两部分是实现图形特效最密集的部分, 使用渲染器大大加强了图形处理的灵活性与表现力. 两个渲染器呈现流处理器(stream processor)
的特点, 然而在物理上是两部分硬件, 不可相互通用. 我们称这个时代为 分离渲染架构 (separated shader architecture) 时代.

(3)2006-今, GPU首次提供几何渲染程序(geometry shader program)功能, 并动态调度统一的渲染硬件(unified shader)来执行顶点、几何、像素程序, 在体系结构上不再是流水线的形式, 而呈现并行机的特征. 我们把这个时代称为 统一渲染架构 (unified shader architecture) 时代. 对指令、纹理、数据精度等各方面的支持进一步完善, 支持整数, 单/双精度浮点数, 但仍不支持递归程序. GPU厂商们开始从硬件和API上提供对GPGPU的专门支持, 且推出专门做通用计算的GPU(如AMD FireStream和NVIDIA Tesla). GPU的服务对象从以图形为主发展为图形和高性能计算并重.