领域专用硬件加速器目前正在革新整个计算系统领域,从大型数据中心平台到小型物联网(IoT)设备。这些加速器显著提高了硬件系统的能效,这一点在今天尤为重要,尤其是随着技术扩展效益逐渐减小以及神经网络(NN)应用所带来的计算需求不断增加。
然而,这些专用单元本质上比通用核心灵活性差。因此,它们通常出现在异构系统芯片(SoC)中,其中一个通用的主处理器与领域专用引擎相结合。这种方法将两者的优点结合起来:通用核心的灵活性和可编程性与硬件加速器的高能效。 与此同时,硬件加速器的完全定制性为设计师提供了许多自由度。根据设计的不同,加速器可以是可编程的,也可以是非可编程的,具有更多或更少的专用性。它可以作为独立的硬件模块,或者设计为集成到更通用的系统中,甚至直接集成到处理器流水线中。它可以提供更宽或更窄的带宽来与系统的其他组件进行通信。它既可以是一个小型单元,也可以是一个巨大的系统,通过扩展或扩展特定模块来构建。 本论文探索了硬件加速器的各种架构、微架构以及一般的专用化解决方案。首先,我们聚焦于低成本、面积受限的设备,并比较了支持浮点(FP)操作的不同方法:完全基于软件的解决方案、小型多周期浮点单元(FPU)以及高性能流水线FPU。其次,我们分析了两个领域专用的硬件加速器。我们重点关注快速傅里叶变换(FFT)引擎,并比较了独立的缓冲模块与共享内存的无缓冲实现。第三,我们考虑了专用化的另一种途径,通过支持低精度浮点格式和混合精度浮点操作,扩展专用核心集群。第四,我们详细阐述了这一硬件平台,识别了低精度格式引入的一些限制,并进一步增强系统的鲁棒性,使其能够更好地应对破坏性事件。