加速器 (Accelerator or Offload Engine) 是一块专用的硬件电路,它可实现各种功能,以便于在执行一组操作时,获得比通用微处理器更高的性能或更好的能效比。 通过软件调用加速器对各种操作加速被称为硬件加速。加速器可以显著地提升特定任务的性能。他们通常是连接到系统的一个单独的组件,但是也会被以 ISA 扩展的形式直接集成到处理器中。
一个独特的加速器子集也称为协处理器。 区别在于加速器如何与主机处理器交互。 想对于协处理器通常连接到主机处理器的内部,然后执行主机处理器传递给其的指令,而通用加速器通常被视为通过接口编程的独立 I / O设备。
加速器的使用不是一个新鲜事。浮点协处理器早在 1980 年代就已经成为加速器适配的早期例子。但是,摩尔定律所实现的更高集成度使公司可以将这些功能集成到主机处理器中,从而使它们没有了用武之地。在此后的几十年中,通用计算机通过登纳德缩放定律和摩尔定律不断提高单核性能。现代 SoC 集成了一系列的加速器,用于诸如加密和压缩之类任务的加速。
但是,到了2000年代后期,登纳德缩放定律崩溃了,单核性能的提高开始减弱。这些缺陷激发了人们对加速器的新兴趣。加速器可以像 ASIC 一样用硅实现,也可以用软硬件实现(Soft hardware is digital logic that is designed to be implemented on reconfigurable hardware such as programmable logic devices instead of being fabricated as an actual integrated circuit. Soft hardware is typically coded in a language like VHDL or Verlog and is designed to be implemented on an FPGA. )。因为这是与执行密集计算任务的算法的软件代码等效的硬件,所以几乎总是比在通用微处理器上优化的代码具有更高的性能或能效(power efficiency)。
加速器通常分为三类(可能有更多):
1.数据驱动的加速器,独立于 CPU,对一组数据进行操作的加速器。
- 向量加速器,用于向量执行大型向量运算的加速器
- AI 加速器,在预测模型(例如人工神经网络)上运行的加速器
2 算法驱动的加速器,在专用硬件上执行特定算法的加速器
- 压缩加速器,使用各种算法执行压缩的加速器
- 加密加速器,执行各种加密操作的加速器
- 加密货币加速器,旨在加速加密货币交易的特殊加密加速器
- 图形加速器,用于处理和创建图像的加速器
- DSP加速器,用于执行处理数字信号算法的加速器
3 可编程加速器,以 FPGA 形式出现的加速器,可以实现任何必要的功能。