硬件加速
此条目需要补充更多来源。 (2023年10月13日) |
硬件加速是指在计算机中通过把计算量非常大的工作分配给专门的硬件来处理以减轻中央处理器的工作量之技术。尤其是在图像处理中这个技术经常被使用。
例如,雷神之锤3是第一个必须要求硬件加速的3D游戏。Google Chrome浏览器也设置了“硬件加速”功能,用户可根据需求开启或关闭此功能。
技术
中央处理器的结构使得它能够在短时间内完成各种各样不同的指令。它能够处理什么指令主要由软件限制。但是由于中央处理器的结构有些重复任务无法非常有效和迅速地被处理。由于软件的原因处理器优化的可能性有限。
通过使用专门为这样的重复任务设计的特殊硬件元件(芯片或者处理器)可以解决这个问题。这些特殊硬件元件不必像中央处理器那样灵活,因此它们的硬件设计就已经顾及了优化处理这些特殊问题的需要,这样一来中央处理器有时间去处理其它任务。
有些任务能够通过把它们分解为上千小任务非常有效地被解决。比如对一定的频率带做傅里叶变换或者渲染一小块图像。这些小任务可以互相之间不相关地平行计算。通过大量平行计算,即适用大量平行运行的小处理器来处理这些特殊任务总的计算速度可以大大提高。在许多情况下计算速度随平行处理器的数量线性提高。比如在GeForce 200图像卡上192个流处理器平行运行[1]。
从有效利用能源的角度出发这样的平行计算也有意义。能源使用随平行处理器的数量线性提高,而随处理器频率成平方比提高。因此通过平行运算处理器的频率不必过高,使用的能量也比较少。
显示卡
在计算机技术起步的时候屏幕显示是中央处理器的任务。后来一块专门的芯片被用来显示荧光屏上的字符。再后来图像芯片还开始管理自己的显示记忆体和显示颜色。随着图形用户界面的出现显示卡开始处理简单的、一再重复出现的任务,比如画方块、直线和圆。操作系统把这些图像指令传给特殊的显示卡驱动程序,再由这些驱动程序交给显示卡处理。中央处理器虽然也可以在软件状态下处理这些任务,但是这样的话计算机的速度就要慢得多。
1996年出现了所谓的三维显示卡。一开始它们的任务是非常快地把三角形(由多面体组成的三维物体的基本结构)写到显示记忆体中去并为它们覆盖上相应的表面结构(比如3dfx的Voodoo卡[2])。2000年初计算三维模型的任务也转到了显示卡上去了(所谓的T&L元件)。从约2006年开始显示卡也越来越多地开始通过所谓的物理处理器(如NVIDIA PhysX)来计算三维模型的物理运动[3]。