GPU(图像处理器)可以进行几乎全部与计算机图形有关的数据运算,在它出现以前,所有的图形处理都是由CPU单独完成。
随着时间的推移,CPU进行各种光影运算的速度变得越来越无法满足游戏等领域的需求,并且大量的图像处理运算占尽了CPU的运算资源,因此GPU的概念才被提出。
GPU实际上是一组图形处理函数的集合,而这些函数是由专用硬件实现的。
例如:GPU描绘3D图形完成如下的工作
顶点处理:这阶段GPU读取描述3D图形外观的顶点数据并根据顶点数据确定3D图形的形状及位置关系,建立起3D图形的矢量模型;工作由硬件实现的顶点着色器完成。
光栅化计算:显示器实际显示的图像是由像素组成的,因此需要矢量模型转换为一系列像素点的过程就称为光栅化。例如,一条数学表示的斜线段,最终被转化成阶梯状的连续像素点。
纹理帖图:顶点单元生成的多边形只构成了3D物体的轮廓,而纹理映射就是对多变形表面的帖图,从而生成“真实”的图形。
像素处理:这阶段GPU完成对像素的计算和处理,从而确定每个像素的最终属性;这些工作由硬件实现的像素着色器完成。
最终输出:光栅操作单元最终完成像素的输出,1帧渲染完毕后,被送到显存帧缓存单元中。
所以,从上图看出GPU比CPU拥有更多的ALU(逻辑运算单元)用于数据处理,而非数据高速缓存和流控制,这样的结构适合对高带宽数据进行超长流水线与并行计算, 所以GPU在处理图形数据和复杂算法方面拥有比CPU更高的效率。