cpu硬件加速是什么
不少网友对CPU还是不是很了解,特别是硬件加速方面的,下面是小编带来的关于cpu硬件加速是什么的内容,欢迎阅读!
cpu硬件加速是什么?
硬件加速英文名Hardware acceleration,硬件解码生效的时候,系统是怎么运转的呢?硬件有三个处理器,CPU、GPU和APU(不是加速处理器是声音处理器)。他们通过PCI/AGP/PCIE总线交换数据。
1、CPU从文件系统里读出原始数据(DirectSHow的源滤镜),分离出压缩的视频数据(分离器)。放在系统内存中。GPU、APU不运行。
2、CPU把压缩音视频数据交给GPU、APU, 这时总线上开始忙了,压缩数据从系统内存拷贝到显卡上的显存里和声卡上的声存里(如果有的话)。
3、CPU要求GPU、APU开始硬件解码,CPU不运行,GPU、APU开始忙。当然CPU会定期查询一下GPU、APU忙的怎么样了。
4、GPU、APU开始用自己的电路解码视频数据(已经在显、声存里了),解压后的数据还是放在显声存里面。
5、音视频数据刚解码完成以后还不能立刻拿去播放,因为还需要后期处理,如deinterlace, 3:2pulldown,多普勒效应,等等。GPU、APU再用自己的后期处理电路来进行处理。
6、后期处理以后的未压缩数据拿去播放, GPU再开始忙视频的缩放,亮度,gamma等事情。CPU还是闲。
7、GPU、APU终于忙完了,下面的视频数据在哪里?通知CPU,GPU、APU先歇会。 CPU又开始忙了,回到第1步。
硬件加速有什么用
硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。计算机显示使用硬件加速会快些,但会在投影仪或截图时发现显示区是黑的,这时就要关闭硬件加速(硬件加速反方向操作)。中央处理器的结构使得它能够在短时间内完成各种各样不同的指令。它能够处理什么指令主要由软件限制。但是由于中央处理器的结构有些重复任务无法非常有效和迅速地被处理。由于软件的原因处理器优化的可能性有限。
通过使用专门为这样的重复任务设计的特殊硬件元件(芯片或者处理器)可以解决这个问题。这些特殊硬件元件不必像中央处理器那样灵活,因此它们的硬件设计就已经顾及了优化处理这些特殊问题的需要,这样一来中央处理器有时间去处理其它任务。
有些任务能够通过把它们分解为上千小任务非常有效地被解决。比如对一定的频率带做傅里叶变换或者渲染一小块图像。这些小任务可以互相之间不相关地平行计算。通过大量平行计算,即适用大量平行运行的小处理器来处理这些特殊任务总的计算速度可以大大提高。在许多情况下计算速度随平行处理器的数量线性提高。比如在GeForce 200图像卡上192个流处理器平行运行。从有效利用能源的角度出发这样的平行计算也有意义。能源使用随平行处理器的数量线性提高,而随处理器频率成平方比提高。因此通过平行运算处理器的频率不必过高,使用的能量也比较少。