GPU的工作原理是什么?
扫描二维码
随时随地手机看文章
高强度图形是当代计算机系统的标志。今天的计算机,从智能手机到高端台式机,都使用各种复杂的视觉效果来增强用户体验。此外,用户还可以使用计算机玩图形密集型游戏、观看高清视频,以及进行计算机辅助工程设计,所有这些应用程序都需要大量的图形处理。
在早期,计算机中的图形支持非常初级,程序员需要指定屏幕上绘制的每个形状的坐标,例如要绘制一条线,程序员需要明确提供该线的坐标,并指定其颜色。颜色的范围非常有限,而且几乎没有用于卸载图形密集型任务的硬件。由于在屏幕上绘制的每一条线或圆都需要几个汇编语句,因此创建和使用计算机图形的过程非常缓慢。渐渐地,需要在硬件中对图形进行一些支持。
由于GPU和CPU是为两种截然不同的应用程序而设计和优化的,因此它们的体系结构存在显著差异,可以通过比较两种处理器技术专用于高速缓存、控制逻辑和处理逻辑的管芯面积(晶体管计数)的相对数量来看出。
GPU是图形处理单元的缩写,它是一种专门用于处理图形相关的计算的芯片。GPU可以在PC、工作站、游戏主机、手机、平板等多种智能终端设备上运行。
GPU是由数百或数千个小型的处理单元组成,每个处理单元可以执行简单的算术或几何运算。GPU的优势在于它可以同时处理大量的数据,对于图形渲染等需要高速浮点运算的任务,它的效率很高。GPU的缺点是它的功能相对单一,对于复杂的指令和逻辑运算,它的能力不足。
GPU的主要作用是渲染图像、视频和动画,以提高视觉效果和性能。GPU也可以用于其他需要大量并行运算的领域,如科学计算、密码破解、机器学习、加密货币挖掘等。
GPU的设计目标是处理大规模数据并行任务。它们通过让每个处理单元执行相同的指令,并对不同的数据进行处理的方式来实现数据并行性。这种方式使GPU能够同时处理多个数据元素,从而提高计算效率。
GPU的工作过程,它从CPU处获得三维模型,这些模型是用顶点坐标和色彩信息组成的,GPU对这些顶点的位置进行一系列的变换,然后投影到帧缓存上。投影的同时,GPU根据显示器的大小和分辨率对投影结果进行裁减,光栅化,每个帧缓存里的像素或者像素多边形的色彩经过GPU的一系列变换,最后的结果被GPU输出到显示器上。
GPU的工作过程可以分为以下几个阶段:
1、顶点生成
这阶段GPU读取描述3D图形外观的顶点数据并根据顶点数据确定3D图形的形状及位置关系,建立起3D图形的骨架。在支持DX系列规格的GPU中,这些工作由硬件实现的顶点着色器(Vertex Shader)完成。
2、光栅化计算
显示器实际显示的图像是由像素组成的,我们需要将上面生成的图形上的点和线通过一定的算法转换到相应的像素点。把一个矢量图形转换为一系列像素点的过程就称为光栅化。例如,一条数学表示的斜线段,最终被转化成阶梯状的连续像素点。
3、纹理帖图
顶点单元生成的多边形只构成了3D物体的轮廓,而纹理映射(Texture Mapping)工作完成对多边形表面的帖图,通俗的说,就是将多边形的表面贴上相应的图片,从而生成“真实”的图形。TMU(Texture Mapping Unit)即是用来完成此项工作。
4、像素处理
这阶段(在对每个像素进行光栅化处理期间)GPU完成对像素的计算和处理,从而确定每个像素的最终属性。在支持DX8和DX9规格的GPU中,这些工作由硬件实现的像素着色器(Pixel Shader)完成。
5、最终输出
由ROP(光栅化引擎)最终完成像素的输出,1帧渲染完毕后,被送到显存帧缓冲区。