Loading

《MAC单元设计架构的影响及其在现代计算中的应用:深度综述》 论文翻译

MAC单元设计架构的影响及其在现代计算中的应用:深度综述

SUDHEER VISHWAKARMA, ZAHEER KHAN, JANNE J. LEHTOMÄKI

芬兰奥卢大学

翻译:YIYANG YUAN


摘要

乘累加(Multiply-Accumulate,MAC)单元是现代数字系统的基本计算构建模块,是数字信号处理(DSP)、人工智能(AI)和高性能计算(HPC)的核心。本综述文章对MAC单元进行了深入、结构化的分析,追溯了其从基础架构到前沿创新的演进历程。我们系统地分类并评估了各种乘法器和加法器架构,包括阵列乘法器、Wallace树、Booth编码和Vedic方法,分析了它们在速度、面积和功耗方面的权衡。文章深入探讨了流水线技术、定点与浮点实现以及超大规模集成电路(VLSI)设计技术对MAC性能的影响。我们重点关注了近期突破性架构创新,包括近似MAC、稀疏感知设计、用于二进制和量化神经网络的专用单元,以及存内计算(IMC)范式。文章将这些进步置于Google张量处理单元(TPU)、现场可编程门阵列(FPGA)和NVIDIA张量核心等主流硬件加速器中进行了深入分析。我们识别了持续存在的挑战,包括功耗约束和纳米级技术中的可靠性问题,并概述了光子MAC和自适应位宽缩放等未来趋势,为这一重要领域的未来创新提供了指导。

索引术语 高性能计算、硬件复杂性、数字信号处理、定点和浮点运算、VLSI。


I. 引言

半导体和电子行业通过满足用户需求并增强其实际应用,在现代社会中发挥着至关重要的作用[1]。因此,随着电子产品需求的增加,该行业经历了显著增长[2]。这种演进在便携式通信设备(如笔记本电脑和手机)中尤为明显。这些实时处理系统主要使用乘累加(MAC)单元执行高计算过程[3], [4], [5]。然而,乘法运算在结构上更为复杂,预计比其他算术运算消耗更多功率。MAC模块被用于当前的高性能计算(HPC)设备中,这些设备消耗大量的功率和面积,以其更高的数据吞吐率著称[6], [7]。然而,找到能够降低功耗并提高MAC系统速度的解决方案至关重要。本综述集中于多种MAC及其节能策略。此外,本文为未来研究人员提供了当前MAC模块设计的概览,使他们能够研究低功耗和高速MAC操作。

A. 动机:为什么是MAC单元?

MAC单元是几乎所有现代数字系统中不可或缺的计算单元。其基本操作涉及将两个输入相乘,并将乘积结果加到累加和中[8]。从HPC到超低功耗设备,不同计算范式对更高性能和更高能效的持续需求,不断推动着MAC单元设计的创新[7:1], [9]。在专注学习、机器学习(ML)和人工智能(AI)时代,MAC单元的重要性进一步提升。神经网络(NN)具有大规模矩阵乘法和卷积特征。这些操作都可以分解为大量的MAC操作[7:2], [10]。因此,MAC单元的效率、速度和功耗直接决定了复杂AI模型在实际应用中的整体性能、能耗特征和部署可行性[11]。随着AI模型变得越来越复杂,对能够以前所未有的性能和能效执行这些计算的高度定制MAC单元的需求不断增长,支持了一个繁荣的研究环境[12], [13], [14]。两个输入的MAC方程可以表示为公式(1)。

\[Z = Z + A \times B \tag{1} \]

B. 目标:本综述涵盖的内容

本文提供了MAC单元的深入概述,追溯了其从基础设计到前沿创新的架构演进。它系统地涵盖了其基本原理、设计方法和性能指标,然后深入探讨了最新的架构创新和新兴趋势。范围包括对专用计算范式的详细分析,包括存内计算(IMC)、近似计算和神经形态系统,以及它们对MAC单元设计的影响[15], [16], [17]。我们将仔细研究各种设计方法,突出它们在不同指标上的复杂性能特征,并讨论它们在现代硬件加速器领域的集成。

C. 历史背景与演进


图1: MAC单元相关研究的大致百分比分布

MAC单元的基础可以追溯到贝尔实验室的初始原型,这是一个单芯片,包含了现代数字信号处理(DSP)中的所有功能组件,如并行寻址单元、控制、数据存储器、控制存储器、MAC和I/O[18]。图1展示了MAC单元在各种数据处理领域的大致分布。其在现代数字系统中的广泛采用始于DSP的出现[19]。当需要执行大量重复的乘积和计算时,MAC操作非常高效[20], [21]。随着时间的推移,MAC单元的用途超越了专门的DSP应用,现在也成为通用处理器中的常见组件,突显了其在各种计算范式中的广泛适用性[13:1], [22]。从历史上看,MAC单元为高速计算提供了基础,支持DSP[23]、图像处理[4:1]等应用,以及快速傅里叶变换(FFT)和离散余弦变换(DCT)等计算方法[24]。融合乘加(FMA)硬件[25]在1990年代成为一项重要进步。这种方法在最终舍入之前以完整的内部精度执行计算,产生比执行带有中间舍入步骤的独立乘法和加法操作更准确的结果[26]。

D. 核心概念与AI处理的核心


表1: 不同处理单元和AI加速器中用于MAC密集型用例的MAC单元动态功耗和面积分布

本节建立了对MAC单元的基本理解,详细介绍了其核心功能和基础架构。MAC和FMA广泛用于从通用处理器到高度专用加速器的广泛计算领域[7:3], [10:1], [25:1]。FMA是一种专用的浮点操作,将乘法和加法合并为单个计算步骤。在当代计算环境中,MAC单元的用途已大幅扩展,超越了传统DSP[13:2], [14:1]。现代AI模型(如GPT-3等系统所需的数万亿次MAC操作)所需的大量研究和操作规模,凸显了主导计算负担的关键转变。这表明MAC单元已从主要作为DSP的主力转变为推动AI革命的基础计算原语[13:3], [27], [28]。这重新定义了其角色,从专门的算术单元转变为通用和领域专用加速器中的核心和普遍组件,影响着更广泛计算应用范围内的系统级性能。这一演进还意味着MAC单元研究的未来轨迹将越来越多地受到AI/ML不断演变的需求的影响,包括超低精度算术、数据稀疏性的有效利用以及新数据流架构的开发,而不仅仅受传统DSP要求的约束[10:2], [14:2], [29], [30], [31]。这需要对MAC单元设计采取更加跨学科的方法,整合来自AI算法的见解。计算系统的整体性能,特别是在DSP架构中,深受其MAC单元效率和速度的影响,因为它是基础算术构建模块[19:1], [32]。表1总结了MAC单元在不同处理平台上的面积和功耗分布方面的系统级意义。在MAC密集型信号处理工作负载(如有限脉冲响应(FIR)滤波器和FFT计算)期间,传统DSP核心中的MAC单元通常占整个数据通路面积的30-45%和动态功耗的60-90%,表明其在数学复杂执行中的主导地位[33], [34]。在深度学习(DL)加速器中,MAC阵列约占计算核心面积的60-70%,在卷积和矩阵乘法工作负载下占总功耗的50-80%[35], [36]。同样,专门用于FMA操作的GPU张量核心使用40-65%的有功功率,并将约40-60%的核心面积分配给以MAC为中心的执行单元[8:1], [37]。在IMC加速器之后,它占总面积的70-90%,功耗在30-60%之间[16:1], [17:1]。接下来,我们解释MAC单元的两个主要核心处理阶段:乘法和加法/累加。

1) 乘法阶段

在初始阶段,乘法器计算两个输入数的乘积。例如,两个输入(A有n位,B有m位)相乘,产生一个(n + m)位的乘积[38]。由于整个MAC单元的时序间隔和最大工作频率由乘法器的设计和操作决定[39]。

2) 加法/累加阶段

乘法后,计算出的乘积立即被送到第二阶段。加法器将这个新乘积与累加器寄存器中存储的当前值相加。反馈回路使用累加器寄存器的输出作为加法器的输入之一,这是MAC单元的一个显著特征[1:1], [7:4]。这种反馈机制使得能够在每个时钟周期连续累加连续的乘积,允许累加器维护运行总和。一旦给定计算的完整乘法和加法集合完成,累加器中保存的最终结果通常被传输到单独的结果寄存器[20:1], [40]。这个反馈回路是将简单乘加转换为MAC操作的决定性特征,实现了各种算法至关重要的迭代乘积和计算。没有这种连续反馈,运行总和将需要由外部逻辑或存储器传输来管理,显著降低集成MAC单元的效率[9:1]。

E. 本综述的贡献

本综述从架构角度提供了MAC单元设计的全面详细视图。重点仍然是基本设计原则、创新技术及其对系统级性能的影响。它为AI和DSP硬件设计领域的MAC单元提供了几个重要见解:

1) 结构化和全面的分类


表2: MAC单元设计中乘法器和加法器实现的详细总结

我们提供了MAC单元架构的精心结构和全面分类,从基础、经典设计到高级、应用专用创新[7:5], [41]。这种分层组织有助于理解MAC单元的演进轨迹和多样化设计空间,如表2所示。

2) 最新研究趋势的综合

本综述综合并批判性分析了MAC单元设计的最新研究趋势,特别是在近似计算、稀疏性利用和存内处理等新兴领域[13:4]。这种综合提供了关于这些新范式如何根本性地改变MAC单元架构以满足未来应用需求的重要信息[8:2], [10:3]。

3) 在现代硬件加速器中的情境化

我们广泛地将MAC单元的角色和设计置于现代高性能硬件加速器的更广泛背景中[42]。综述提供了理论进步如何转化为现实世界计算能力的实际理解[43]。它展示了它们在Google张量处理单元(TPU)、NVIDIA张量核心和Intel NNP等系统中的关键集成[8:3], [37:1]。

4) 设计挑战和优化技术的识别

本文系统地识别并详细阐述了MAC单元设计者面临的持续设计挑战,包括功耗约束、数据移动瓶颈、可重构性、可扩展性以及技术缩放的影响[44]。我们详细介绍了每种挑战的普遍和创新优化技术以克服这些障碍。

5) 有前景的未来研究方向概述

最后,综述概述了该领域有前景的未来研究方向和开放问题,包括光子和量子MAC的潜力、硬件-软件协同设计日益增加的重要性以及关于安全性和可靠性的关键关注点。这种前瞻性视角激发了进一步的研究和创新,指导现场可编程门阵列(FPGA)、VLSI研究人员和ML硬件开发者做出有影响力的贡献。


II. 架构实现与设计考量


图2: 带有控制单元和溢出位的MAC单元框图

MAC单元的设计涉及架构选择和优化的复杂相互作用,每一个都影响单元的性能特征。图2显示了具有"n"和"m"位输入的MAC单元架构,带有控制信号。由于多次累加,最终输出有额外的"o"位[38:1], [45]。接下来,我们总结了MAC单元中使用的各种乘法器和加法器。

A. 乘法器架构

MAC单元的乘法器无疑是其最关键的组件,因为其设计显著影响整体速度、芯片面积和功耗[30:1]。选择的具体乘法器通常决定了整个MAC单元的关键延迟,从而确定其最大工作频率和延迟[43:1], [46], [47]。已经为乘法器的实现创建了许多不同的方法和设计,每个都在电路复杂性、功率效率、操作速度、传播延迟和面积占用方面提供独特的权衡[7:6], [20:2]。如前所述,乘法器电路是MAC单元的初始阶段,专注于综合部分积。在后续阶段,加法器电路累加来自部分积生成器(PPG)的输出。各种类型的乘法器和加法器电路可在[5:1], [21:1], [48], [49]和[50]中找到。这些电路各自提供独特的优势,适用于有效执行乘法和加法任务的特定应用。

1) 阵列乘法器


图3:4 × 4乘法器架构:(a) 阵列乘法器[59],8位结果S0...S7通过沿对角线生成并求和1位部分积aibj(其中i = 0, 1, 2, 3且j = 0, 1, 2, 3)获得;该结构相当规整但具有较长的进位路径 (b) Wallace树乘法器[61]:利用半加器和全加器

阵列乘法器是MAC单元内执行乘法步骤的核心组件。阵列乘法器广泛用于ML和DSP应用[51]。4×4阵列乘法器的特点是其规则的模块化结构,如图3(a)所示。该图说明了用于执行二进制乘法的4×4阵列乘法器架构的内部结构和数据流。有两个4位操作数(a0, a1, a2, a3和b0, b1, b2, b3)。每个浅蓝色圆圈表示的1位乘法器(AND门)通过执行a的一位和b的一位(ai · bi)之间的逻辑AND来创建部分积。这些部分积在二维阵列中的排列表示二进制乘法的位置权重[5:2], [52]。连接圆圈的箭头表示进位和和信号的流动。底部的输出S0到S7表示两个4位输入的最终8位乘积。以下公式(2)和(3)是图3(a)中4×4阵列乘法器执行操作的数学表达式。

\[A = \sum_{i=0}^{3} a_i 2^i, \quad B = \sum_{j=0}^{3} b_j 2^j \tag{2} \]

\[C = A \cdot B = \sum_{i=0}^{3} \sum_{j=0}^{3} (a_i \cdot b_j) 2^{i+j} \tag{3} \]

加法器网络用于累加部分积,这些部分积根据其二进制权重\(2^{i+j}\)对齐。由于阵列的规则布局,这种架构易于扩展到更高的位宽。为了确保正确的位权对齐,和水平传播,而进位沿对角线向下传播。4×4乘法器由于其较小的尺寸和较低的功耗,特别适合在MAC单元内实现,尤其是在硬件加速器和位宽有限的嵌入式系统中[51:1]。MAC单元可以通过组装多个4×4乘法器块来构建更大的乘法器(8×8或16×16),从而处理不同的数据大小和处理需求。它们可以进一步分类为波纹进位阵列乘法器(表现出时间复杂性)和进位保存阵列乘法器(提供更高效的时间复杂性)[43:2], [46:1], [53]。

2) Wallace树乘法器

这种架构在MAC单元内执行乘法步骤,并使用进位保存加法器(CSA)减少乘法过程中产生的部分积数量[54], [55]。它比传统乘法器更快[56]。图3(b)旨在加速乘法过程中形成的部分积求和,从而提高速度。它通过最小化部分乘法参数的数量成功降低了执行复杂性[57], [58]。尽管Wallace树乘法器涉及更大的面积占用,但可以提高速度。许多高效、低功耗的MAC单元已使用这种乘法算法设计。这种强大的技术允许在各种计算领域(包括DSP和AI/ML工作负载)实现显著的性能提升[44:1], [59]。

3) Booth乘法器

Booth乘法器经常在数字滤波器、通信系统和FFT中用作MAC单元的乘法核心。它使用radix-4算法减少部分积生成(PPG)[42:1]。与传统乘法器相比,Booth乘法器有效地将部分积数量减半。Booth乘法器对于在许多DSP应用中有效处理有符号整数至关重要。它首先使用二进制补码算术计算两个操作数的乘法。现代DSP和嵌入式系统通常更喜欢使用Booth乘法器进行高速、低功耗MAC实现,因为其复杂的设计集成了Booth乘法与流水线和功率降低技术,以进一步提高性能并降低功耗[44:2], [60]。

4) Vedic乘法器


图4:4 × 4乘法器:(a) Vedic乘法器[64],4位行波进位加法器(RCA)与四个2 × 2 Vedic VM模块产生的部分积相结合,其中包含中间进位C1...C3,并显示了位分组 (b) Baugh-Wooley乘法器[65],其中进位保存树减少部分积,然后最终进位传播生成S1...S7

Vedic乘法器通过充当乘法的高速计算引擎,对MAC单元的性能做出重大贡献[61]。其方法论基于古印度数学概念,即Vedic数学"Urdhva Tiryagbhyam"经文,这是一种以高度并发和并行方式(垂直和交叉)计算部分积及其和的算法[62]。与传统的顺序或阵列系统相比,这种并行架构显著减少了与乘法过程相关的关键路径延迟。图4(a)中使用RCA的Vedic乘法器可以大幅减少部分积数量并加速累加过程[59:1], [63]。

5) Baugh-Wooley乘法器


表3: 在FPGA上使用Vedic、阵列和Booth乘法器实现MAC单元的比较

图4(b)展示了执行4×4乘法的Baugh-Wooley乘法器。虽然Baugh-Wooley乘法算法已针对数字硬件实现进行了优化,但它基于传统的纸笔乘法方法。利用二进制补码表示的特性,该技术的主要思想是更高效地生成部分积及其后续求和[64], [65]。这些属性有助于创建紧凑的电路并简化流水线的实现,有助于提高操作速度[66], [67]。与阵列乘法算法相比,Baugh-Wooley方法通过简化最终加法和部分积创建阶段,减少了硬件复杂性,降低了功耗,并提高了性能。Baugh-Wooley乘法器因其均匀的结构和易于流水线化而受到青睐,表明了对这些因素的设计优先考虑[53:1], [67:1]。表3展示了使用不同乘法器在FPGA板上实现8位、16位和32位MAC单元所使用的资源。硬件开销显著增加,其中Booth架构在FPGA平台上始终表现出最高的LUT利用率和延迟,其中IOB(输入/输出块)表示FPGA芯片上用于与MAC单元接口的物理引脚数量。文献[7:7]中的Vedic实现在硬件和延迟方面表现始终最佳。

6) 串行与并行乘法器


表4: MAC单元中用于执行乘法的不同乘法器的权衡比较,其中H = 最高,M = 中等,L = 较低

MAC单元可以实现为串行或并行,具体取决于设计目标是低功耗和面积(串行)还是高性能和速度(并行)。串行MAC单元逐位处理数据,通常从LSB到MSB,对于N位操作需要多个时钟周期[38:2]。这种设计由于其极低的面积消耗和功耗(源于最小的硬件复杂性和减少的开关活动)而具有高度优势。但这种简单性以低吞吐量和极高的延迟(单个操作需要N个时钟周期)为代价,使其最适合空间和功率有限且速度不是首要优先级的应用,如某些低功耗嵌入式系统或传感器节点[13:5], [68]。相比之下,并行MAC单元通过使用全并行乘法器和加法器同时处理所有输入操作数位,在单个时钟周期内计算整个乘积和。这种架构在经典设计中提供最高的吞吐量和最低的延迟,能够在每个时钟周期完成一个完整的MAC操作[3:1], [69]。它适用于速度最大化至关重要的高性能DSP应用和通用处理器ALU。然而,实现的速度以显著的面积消耗和更高的功耗为代价,这归因于同时乘法和加法操作所需的大量门和晶体管[43:3], [46:2]。我们创建了表4来比较乘法器在速度、面积和功耗方面的差异。

B. 加法器和累加器设计

累加器寄存器的主要功能是存储这个运行总和。其输出连续反馈作为加法器的输入之一,允许每个时钟周期连续累加[26:1], [40:1]。累加器的一个关键设计考虑因素是其位宽,特别是在防止迭代累加期间的数值溢出方面[33:1], [39:1]。溢出位o是防止数值溢出和在长序列迭代累加期间精度损失的关键保障,直接影响广泛计算序列的准确性和可靠性[38:3]。在许多乘积被求和的应用中(如卷积或FIR滤波器),中间和可能变得很大[19:2], [68:1], [70]。如果没有潜在的二进制补码算术回绕,溢出将导致错误结果。这种设计选择对于在多个周期内维护MAC单元输出的数值完整性至关重要,直接影响在累积错误不可接受的应用中系统的整体准确性和鲁棒性。对于加法器组件,速度是一个至关重要的问题,特别是在DSP应用中[71]。并行前缀加法器,如进位选择(CSelA)和超前进位加法器(CLA),是使用的高速加法器架构之一[20:3], [33:2]。

C. 电路复杂性


表5: MAC单元中的加法器电路复杂性

表6: MAC单元中的乘法器电路复杂性

表5和表6展示了MAC单元中使用的加法器和乘法器的比较,突出了成本如何随操作数宽度(c)缩放。RCA作为最简单和面积高效的选项脱颖而出,尽管它遭受最差的延迟,该延迟随"c"线性增加[5:3]。相比之下,并行前缀加法器(PPA)和超前进位加法器(CLA)在面积和布线复杂性之间提供权衡,导致显著减少的延迟,该延迟大致呈对数缩放。进位跳越加法器(CSkA)和进位选择加法器(CSeIA)提供适度的速度改进,伴随着相关的开销。CSA主要用于多操作数归约;虽然每个阶段运行迅速,但仍需要最终的进位传播加法器。从RCA(较低复杂性)到PPA(较高复杂性),布线复杂性和计算阶段数量都在增加,反映了日益非局部的布线架构[72]。

关于乘法器,并行或阵列结构易于布线,但它需要δ(c²)面积并表现出与"c"成正比的延迟。Dadda乘法器是一种基于并行树的乘法器架构,使用优化的压缩器阶段系列来减少部分积。Dadda算法限制每个阶段的行数,以最小化总体减少阶段数,同时保持正确性。它产生接近对数的减少深度,与Wallace树乘法器相当,但需要更少的加法器和更少的硬件开销,代价是有限的阶段组织[57:1], [60:1]。Baugh-Wooley乘法器提供规则的有符号乘法器,具有与阵列相当的面积和布线特征[65:1]。总之,从简单到高级设计的过渡涉及权衡面积、布线复杂性和速度。设计者通常根据其特定的时序目标、硅预算和所需的布局规则性,沿着这个权衡曲线选择一个点[5:4]。

D. MAC单元中的流水线

流水线是一种广泛采用的架构技术,可显著提高数字电路的MAC吞吐量和速度[9:2], [73]。这种技术通过将复杂过程分解为更小的顺序步骤,实现多条指令不同阶段的同时处理。它是一种架构策略,用增加的延迟换取吞吐量的显著提升[9:3], [74]。

单个MAC操作对于资源密集型乘法的复杂性质使流水线成为理想技术。它使这些复杂操作能够被分解,允许高时钟频率和连续数据流,这对于尽可能快地处理连续数据流至关重要[25:2], [75]。

流水线可以增强每个时钟周期执行的MAC单元操作,以每个周期产生新结果,重叠不同操作的各个阶段的完成[3:2]。开发高吞吐量MAC单元是实时信号处理应用卓越性能的先决条件,其中计算速度至关重要。MAC单元的最佳选择是通过仔细考虑目标应用的具体约束和性能目标来确定的,例如移动设备的低功耗或数据中心加速器的最大吞吐量是否至关重要[57:2], [66:1], [42:2]。MAC吞吐量可以从公式(4)、(5)、(6)计算,如果单个MAC单元有两个FL操作(乘法+加法),则可以通过公式(7)计算。单个操作完成的总时间(延迟)可能会增加,但流水线将复杂任务(如乘法)分解为更小的单时钟周期阶段。这有效地缩短了每个阶段内的关键路径,允许更快地执行各个阶段[9:4]。每个流水线阶段内更短的延迟允许单元以更高的整体时钟频率运行。对于一个时钟周期,延迟可以从公式(8)中的\(T_{cyc}\)计算,以秒为单位从公式(9)中的\(T_{latency}\)计算,其中\(D_p\)是流水线深度,\(f_c\)是时钟频率。

流水线的优势:

  • 增加吞吐量
  • 减少延迟(关键路径)
  • 提高时钟频率

\[\text{MAC}_{\text{throughput}} = \frac{\text{Number of MAC operations}}{\text{total time}} \tag{4} \]

\[\text{MAC}_{\text{throughput}} = \frac{\text{MAC}_{\text{ops}}}{T_{\text{total}}} \tag{5} \]

吞吐量(以OPS为单位)变为:

\[\text{MAC}_{\text{throughput}} = \frac{u \cdot N \cdot W \cdot f_c}{I_{ii}} \tag{6} \]

\[\text{FLOPs/s} = 2 \cdot \text{MAC}_{\text{throughput}} \tag{7} \]

\[T_{\text{cyc}} = D_p \tag{8} \]

\[T_{\text{latency}} = \frac{D_p}{f_c} \tag{9} \]

E. 浮点与定点格式的MAC


图5:数值格式在位级别表示的示例。浮点格式显示在上方,包含符号位(0/1),随后是指数位(exp 0, ..., expn−1)和尾数(小数)位(m 0, ..., mx−1)。定点格式显示在下方,包含符号位(0/1),随后是小数位(I L−1, ..., I0)和整数位(I −1, ..., I−M)

表7: IEEE-754浮点和定点格式

现代AI加速器和MAC单元的一个重要趋势是对各种不同数据精度的强大支持。这包括各种整数格式、浮点(FP)格式和TensorFloat-32(TF32),以及新型微缩放(MX)格式。图5解释了使用有符号和无符号FP和定点(FXP)格式的位精度数字表示。FP格式使用指数和尾数来表示数字,而FXP格式是一种表示数字的方法,其中小数(或二进制)点的位置是固定的。这种方法将数字分为整数部分和小数部分。

使用FP或FXP算术实现MAC单元的决定是一个关键的设计选择,对数值精度、动态范围、硬件复杂性、功耗和整体开发工作具有重大影响[32:1], [33:3], [76]。FP和FXP MAC单元之间的基本选择体现了计算精度和动态范围与硬件成本、功耗和开发复杂性之间的平衡。这个决定直接由目标应用的具体数值要求和资源约束决定。从其基于整数的性质开始,FXP算术的硬件简单性直接转化为更低的晶体管数量、更小的芯片面积和更低的功耗[77]。FP算术通过其指数固有地管理动态范围,简化了软件开发并提供卓越的精度。这种能力需要明显更复杂的硬件和更高的功耗[75:1]。

FMA作为FXP特定的优化,进一步突出了这些独特的能力。FXP对于具有可预测数据范围的大批量、成本敏感的嵌入式系统仍然可行且通常是最佳的[33:4]。然而,对于精度和动态范围至关重要的科学模拟、高级AI或高保真多媒体,尽管硬件开销较高,FP是不可或缺的。支持不同数据精度的AI加速器的演进格局表明了向能够适应不同精度需求的灵活MAC单元发展的趋势[38:4]。FXP MAC单元严格对整数执行算术操作,小数点隐式固定在特定位置。它们提供一致的精度,意味着添加固定值将始终产生相同的增量,直到达到数值限制。FXP设计通常涉及较低的硬件成本,消耗更少的功率,并占用更小的硅面积。它们的一致行为使它们不太容易出现可能导致FP算术中毛刺的舍入不一致[78]。一个重要的限制是其受限的动态范围和固定精度,这需要仔细缩放数字以防止计算期间的溢出或下溢。实数算术通常需要更复杂的软件例程,这可能会增加开发时间和工作量。从历史上看,FXP DSP已广泛用于大批量、成本敏感的应用,如传统音频处理[76:1], [79]。FP MAC单元支持整数和实数算术,以标准化科学记数法格式(尾数和指数)表示数字。它们通常以32或64位精度运行[80]。FXP单元提供卓越的精度和显著更宽的动态范围,能够动态表示非常小和非常大的数字。这种动态范围通过减轻对溢出、下溢和复杂舍入误差管理的担忧来简化编程,从而缩短开发周期。此外,它们使FMA操作的实现成为可能,该操作执行单次舍入以提高精度[76:2], [81]。

F. MAC单元的VLSI设计技术


表8: 180 nm和45 nm技术节点下基于CMOS的8位MAC架构性能参数

尽管出现了突破性的计算范式,但优化MAC单元中面积效率、功耗和传播延迟的基础VLSI设计挑战仍然具有深刻的相关性并得到积极解决[82], [83]。大多数电路设计已使用互补金属氧化物半导体(CMOS)的逻辑风格构建,因其可靠的低电压操作而非常具有吸引力。在静态CMOS逻辑中,n沟道金属氧化物半导体(NMOS)和p沟道金属氧化物半导体(PMOS)晶体管协同工作,分别提供强大的下拉和上拉路径。虽然PMOS晶体管不是CMOS的主要组件,但其较差的载流子迁移率需要更大的器件尺寸以匹配NMOS的驱动强度。PMOS经常对电路延迟和功耗产生重大影响。由这些较大的PMOS器件引起的较高节点电容可能导致更长的传播延迟[82:1], [75:2]。随着输入负载在高工作频率下增加,功耗显著增加。从[5:5]和[82:2]可以看出,静态CMOS用于实现MAC单元块。操作数隔离、时钟门控和毛刺优化等标准技术对于实现现实的能效至关重要,特别是随着半导体技术节点的缩小和漏电功率成为更重要的因素[14:3], [84]。这意味着在当代MAC单元研究中采用双轨方法:对新架构的革命性探索和对既定数字设计原则的演进式改进。即使对于最前沿的应用,传统VLSI技术的持续和复杂改进对于开发可制造和商业上可行的MAC单元也是必要的[42:3]。这些进步确保在电路级别直接贡献于MAC单元的整体性能包络,促进整个硬件堆栈的整体进步[44:3], [85]。表8提供了各种8位MAC架构的比较性能分析,评估了180 nm和45 nm CMOS技术节点上的面积、功耗和延迟。数据表明,虽然45 nm节点显著提高了速度并减少了面积,但文献[86]中的架构以比其他设计高得多的面积占用为代价实现了最低的延迟。

G. MAC设计的最新创新

对更高性能、更低功耗和更高效率的不懈追求,由AI和专用计算需求驱动,激发了MAC单元设计的重大创新。这些最新方法超越了传统架构,以应对当代挑战。

1) 近似MAC

近似MAC单元是一种有意向乘累加过程添加受控错误以最小化延迟、复杂性和功耗的硬件,同时保持可接受的精度水平。虽然传统MAC单元计算实际乘法和累加,但近似MAC通过使用操作数特定的近似、进位屏蔽加法器或减少位宽乘法器来简化乘法和加法步骤,从而减少硬件开销。近似计算技术代表了一种转变,允许通过接受输出中小而受控的错误来降低计算成本[85:1]。这种方法利用乘以或加上2的幂可以通过简单的位移操作完成的事实,使其在计算上比完整的MAC单元更便宜。这种方法对于可以容忍错误的应用(如图像和信号处理以及其他ML方法)表现出色[87]。一种常见的策略是用其近似对应物替换传统的精确乘法器和/或加法器。复杂的误差平衡技术可以集成在近似乘法器中,以确保平均计算误差保持接近零[88]。另一种方法涉及选择性地仅近似计算的较低有效位,同时严格保留高有效位以保持关键精度。这种选择性近似是平衡效率和质量的关键[89]。动态可配置设计允许通过根据应用要求实时调整近似水平来实现精度和效率之间的可变权衡[53:2], [90]。

2) 稀疏感知和剪枝MAC


图6:神经网络剪枝操作前后的示例

许多现代DNN在其权重中表现出显著的稀疏性(高百分比的零值),如图6所示。稀疏感知MAC单元利用这一特征,通过检测和跳过"零值"操作来减少计算、功耗和内存带宽。技术包括零跳过/门控和直接操作压缩稀疏数据格式[91]。当与稀疏数据格式结合时,这通过避免不必要的计算和减少内存带宽带来显著的功耗节省和增加的有效吞吐量。然而,这些设计需要额外的控制逻辑用于零检测和数据处理,这可能会增加开销。非结构化稀疏性也可能导致不规则的计算模式,使硬件设计和数据调度复杂化。它们主要用于深度学习推理,特别是对于剪枝NN和大语言模型[92], [93]。在DL中,剪枝MAC单元是通过剪枝程序使用稀疏性的专用实现。通过仔细消除NN中不太重要的权重(参数),模型剪枝使模型变得稀疏并包含许多零值权重。这种稀疏NN模型非常适合剪枝MAC单元,可以避免包括零值权重在内的MAC过程。剪枝MAC单元可以通过消除不必要的计算来减少整体计算工作量,从而提高性能并降低功耗。

3) 位串行和对数MAC

这些创新方法探索替代的数字表示和处理方法,以实现特定应用的特定权衡。位串行MAC一次处理一位数据,通常利用位级流水线或多个并发位串行通道。这种设计提供降低的互连复杂性、更低的面积和功耗,非常适合可重构硬件(如FPGA),平衡资源效率与吞吐量[36:1]。然而,它们通常比完全并行设计产生更高的每次操作延迟,且其吞吐量与时钟频率和位宽直接相关。对数MAC通过其对数表示数字,从而将乘法简化为对数的加法。这提供了宽动态范围和快速乘法[94]。相反,加法和减法变得更加复杂和缓慢,通常需要在反对数和对数之间进行转换,且对数数字系统(LNS)可能精度有限,特别是对于接近零的数字。这些是针对乘法/除法远比加法/减法频繁且动态范围至关重要的应用的利基解决方案[95]。

4) 二进制/量化神经网络MAC

神经网络中向极端量化(1位二进制、2位、4位整数)的趋势推动了针对这些低精度操作优化的高度专用MAC单元的发展。通过将权重和激活限制为小位数,复杂的乘法可以用更简单的位操作(BNN的XNOR/AND)替代,累加变为种群计数[96], [97]。这简化了硬件,降低了功耗,并导致更小的硅面积和更高的吞吐量。减少的内存占用和带宽需求促进了边缘计算AI设备的发展。主要缺点是与全精度网络相比可能损失精度,这通常需要专门的量化感知训练(QAT)技术[98]。为了缓解这一问题,采用QAT技术,使训练变得更具挑战性[99]。

5) 存内计算(IMC)MAC


图7:MC架构中的MAC操作,其中6T SRAM实现每个存储单元[110], [112]

IMC过程中最重要的问题之一是由于MAC阵列的可用性而导致的密集内存访问。这个问题源于CPU和内存之间数据移动相关的延迟和功耗。为了解决这个问题,IMC在内存内执行计算以减少数据传输带来的开销[100]。技术包括模拟/阻性RAM(RRAM)型MAC、SRAM型IMC(将MAC逻辑集成到SRAM阵列中)和近内存处理(将计算单元放置在内存模块附近)[16:2], [101],如图7所示。主要优势是减少数据移动的能量和延迟,这增强了内存受限工作负载和高并行性工作负载的整体吞吐量[102]。然而,IMC面临重大的架构变化、编程模型复杂性以及与高精度和可靠性相关的挑战。这些对于深度学习加速器和图处理很有前景,其中数据移动是主要瓶颈[17:2]。

a: 忆阻器型IMC

IMC的最佳选择之一是忆阻器交叉阵列,它利用基尔霍夫定律和欧姆定律实现有效和高度并行的MAC操作。忆阻器可以存储多位模拟值,为存内模拟计算提供天然优势[103]。它们可以通过响应施加的电压和电流调整其电导来同时处理和保留信息,类似于生物突触。这使得忆阻器型IMC在神经形态计算应用中特别有前景[101:1], [104]。

b: SRAM/DRAM型IMC

传统的数字CMOS存储器(如SRAM和DRAM)也在IMC架构中被积极研究。这些存储阵列适合并行数据处理,因为它们可以重新排列以执行位级(点积乘法)操作[101:2], [105]。与其模拟对应物相比,数字CIM可以充分利用存储阵列而不牺牲精度。它们通常还提供优越的工艺和电压可扩展性以及功耗和面积效率[106]。已引入两级流水线存内计算(CIM)宏来加速变压器前馈网络,在CIM阵列和ReLU电路之间流式传输模拟MAC结果。这种设计实现了高吞吐量和出色的能效,消除了对功耗敏感的ADC和DAC进行内部数据暂存的需要。这代表了向更高效的模拟-数字协同设计迈出的重要一步[94:1], [107], [108]。

H. 关键设计权衡


表9: MAC单元实现中的设计权衡

MAC单元旨在平衡相互冲突的目标,主要是功耗、硅面积和速度。优化这些特征之一通常以牺牲另一个为代价,体现了硬件架构的基本原则[109]。设计者永久面对速度、面积和功耗等竞争目标之间的内在权衡[30:2]。实现减少的延迟(对于高系统时钟速率操作至关重要)通常以增加硅面积和更高的功耗为代价。功耗是便携式电子设备和边缘计算应用的关键设计要求,这些应用需要VLSI设计技术的持续改进[34:1], [82:3], [110]。FMA操作旨在通过执行单次舍入来提高精度;其不加区分的应用仍可能导致数值问题。这强调了硬件效率和精度之间关键且不断演变的权衡[1:2]。对于单个MAC,能量可以由公式(10)表示,对于n个MAC,可以由公式(11)表示。同样,我们通过公式(12)提供了能效,通过公式(13)提供了EDP。

\[E \approx \frac{N}{\text{MAC/s}} \tag{10} \]

\[E \approx n \times \frac{N}{\text{MAC/s}} \tag{11} \]

\[\eta_E = \frac{\text{MAC/s}}{N} \tag{12} \]

\[\text{EDP} = n^2 N \left(\frac{1}{\text{MAC/s}}\right)^2 \tag{13} \]

尽管性能指标对于AI/ML应用的广泛使用仍然至关重要,但它们显著提高了能效(ηE)(以pJ/MAC或TOPS/W为单位)和对各种低精度数据格式的强大支持在MAC单元设计优先级中的重要性。这种重新排序是对移动和嵌入式系统严格能耗预算的直接和必要响应,加上当代NN的巨大计算需求[3:3], [111]。性能优先级的这种重大转变需要开发全新的设计方法和基准标准,明确考虑混合精度算术和每次操作的能量,超越传统的原始时钟频率或仅面积减少等指标。此外,它是探索和实施全新架构方法(近似计算和IMC)的重要推动力。这些范式固有地设计用于满足对能效和精度灵活性的不断演变的需求[112]。表9代表了构建高效MAC单元的权衡比较。

1) 速度与面积

实现高操作速度(通常通过先进的乘法器架构和广泛的流水线)通常需要大量的逻辑电路,如表5和表6所解释,这直接转化为增加的硅面积(A)。相反,优先考虑最小化面积的设计可能采用更简单和更慢的架构方法[1:3], [111:1]。MAC单元的面积效率由公式(14)计算,其中A是面积(以mm²为单位):

\[\eta_A = \frac{\text{MAC/s}}{A} \tag{14} \]

2) 速度与功耗

更快的程序通常需要更多的功率。两种先进的功率管理策略通常用于管理\(\alpha\)和\(P_d\)缩放[32:2], [67:2], [113]。\(\alpha\)选择性地关闭未使用的电路设计的时钟信号,而动态电压缩放调整频率和电压以降低公式(15)和(16)中的功耗。同样,\(FOM\)与\(P_t\)和\(V\)的乘积成反比,如公式(17)所示。

\[P_d \approx \alpha C V^2 f_c \tag{15} \]

\[P_t \approx P_d + P_l \tag{16} \]

\[\text{FOM} = \frac{f_c}{P_t V} \times 100 \tag{17} \]

3) 面积与功耗

通过最小化晶体管数量来减少MAC单元占用的物理面积,通常可以通过减少寄生电容(\(C\))导致功耗(\(P_t\))的相应降低[9:5], [73:1]。

公式中使用的术语:

  • \(f_c\) = 时钟频率
  • \(I_{ii}\) = 启动间隔
  • \(N\) = 并行MAC引擎数量
  • \(n\) = MAC单元数量
  • \(W\) = 每个引擎每个周期的MAC数量(向量宽度)
  • \(u\) ∈ [0, 1] = 利用率因子
  • \(C\) = 电容
  • \(P_t\) = 总功率
  • \(P_d\) = 动态功率
  • \(P_l\) = 漏电功率
  • \(\alpha\) = 时钟门控
  • \(E\) = 能量
  • \(FOM\) = 品质因数
  • \(EDP\) = 能量延迟积
  • \(out[n]\) = 滤波器输出
  • \(H[k]\) = 滤波器系数
  • \(I_{in}\) = 输入样本
  • \(T_{total}\) = 总时间

III. 详细用例与应用

MAC单元已大幅扩展其应用,这在AI加速器、嵌入式系统、IoT、GPU和实时系统中显而易见[8:4], [10:4], [13:6]。MAC单元的基本操作使其在各种计算领域不可或缺。本节探讨其在DSP、AI和图形处理中的具体利用和操作机制。

A. DSP

DSP的核心通常被称为MAC单元。其执行重复乘法和累加操作的能力是执行DSP应用中固有的连续和复杂过程的基础[23:1]。它们是执行卷积、点积和矩阵乘法的基础,这些是DSP和更广泛的科学计算范围的核心[37:2]。本节解释MAC如何在各种类型的DSP应用中使用。

1) CNN

在CNN中,MAC操作被识别为关键操作,主要在卷积层内执行。卷积层在卷积核(或滤波器)和层的输入矩阵之间执行点积。每个卷积神经元处理的所有数据来自其特定的感受野。这个过程涉及将输入特征值乘以相应的滤波器权重,然后对这些乘积求和,这正是MAC操作[39:2]。当核在输入数据上滑动时,这些重复的MAC操作生成一个特征图,表示输入的提取特征。为了加速CNN中的MAC操作,集成电路可以包含LUT来存储预计算乘法结果。如果结果已存在于LUT中,这允许系统绕过乘法器[114]。相反,如果未找到结果,则计算乘法并将其存储在LUT中以供将来使用。这需要专用的硬件加速器,而不是仅依赖通用CPU[8:5]。LUT的集成是对这一挑战的直接响应[8:6], [38:5]。

2) 卷积和数字滤波器


图8:执行MAC操作的数字FIR滤波器框图

许多核心DSP操作,包括卷积和各种形式的数字滤波,固有地结构化为一系列MAC操作,如图8所示。FIR滤波器是一个主要例子,其中输出直接使用MAC操作计算[68:2]。明确表示N个MAC操作的总和。MAC单元的高速能力对于实现高效的实时滤波和其他DSP应用至关重要。DSP明确设计用于快速算术,MAC操作所需时间是实时场景中性能的核心决定因素[70:1], [110:1]。复数在DSP中起着至关重要的作用,提供了表示和操作正弦波形的有效手段,从而促进了信号属性(如幅度和相位)的分析。MAC单元可以专门设计用于处理复数操作,通常集成多个FP乘法器和加法器来计算实部和虚部的结果。例如,T抽头FIR滤波器的输出out[n]由输入样本X[n-k]乘以滤波器核的系数(H)确定,如公式(18)所示。

\[\text{out}[n] = \sum_{k=0}^{T-1} H[k] \cdot X[n-k] \tag{18} \]

许多DSP算法的数学基础(如卷积和FIR滤波器)固有地基于乘积和。MAC单元的设计正是执行这个精确操作(Z → Z + A × B)在单个高度优化的硬件块中。这种直接映射确保了这些算法的主要计算瓶颈正是MAC单元构建用于加速的内容。这种集成设计(其中数据流经过精心优化用于MAC单元)强调了其核心和不可替代的角色。通过将这些重复、计算密集型任务卸载到专用MAC单元获得的效率允许CPU管理其他系统任务,显著增强整体系统性能并启用通用ALU无法实现的实时处理能力[5:6], [69:1]。

3) 变换(FFT、DCT)

DCT和FFT算法在数字通信(DCom)和多媒体处理中严重依赖MAC操作。这些变化涉及复杂的数学,通常分解为使用FFT的一系列蝶形操作或使用DCT的矩阵乘法。这些子操作中的每一个又由多个MAC操作组成。因此,高速MAC单元对于实现实时FFT处理至关重要[24:1]。由于底层MAC操作的速度直接限制了复杂变换(如FFT和DCT)的性能,MAC单元优化对于在多媒体编码和解码以及高速通信等应用中实现实时处理至关重要。将信号分解为其频率成分是FFT和DCT算法的计算基础。例如,FFT的蝶形过程需要复杂的加法和乘法。对于每个复数乘法,两个加法和四个实数乘法直接对应MAC操作。当在许多数据点上迭代执行时,MAC操作的巨大数量成为执行时间的主导因素[115]。

4) 音频和图像处理

MAC单元在许多多媒体应用中至关重要,特别是音频和图像处理。在音频处理中,MAC操作是应用数字滤波器进行均衡和降噪的基础,这可以产生各种音频效果,并执行音频压缩和解压缩算法[4:2]。对于图像处理,MAC单元用于图像滤波(如模糊、锐化和边缘检测)、执行特征提取卷积以及执行各种图像变换。多个MAC块可以堆叠和组合,轻松创建2D图像卷积过程,这是许多图像处理技术的基本组件[11:1], [112:1]。

5) 神经形态计算或脑启发范式

人脑的神经架构和计算机制激发了被称为神经形态计算的突破性范式[116]。其主要目标是利用并行处理、事件驱动计算和突触可塑性来克服传统系统的缺点。复杂NN模型的高效执行需要主要通过MAC单元提供的广泛算术能力。神经形态系统通过硬件实现实现,包括数字、模拟和混合信号电路[15:1], [104:1]。这些架构模仿生物NN的连续模拟性质,利用其固有的鲁棒性和能效。模拟MAC单元可以实现低功耗,并与标准商用CMOS技术兼容[117]。它们可以利用简单的电路元件(如两个串联连接的MOSFET用于模拟乘法和电容器用于电荷积累),以最少的组件实现高效的点积计算。相比之下,数字神经形态系统使用离散数字信号模拟神经过程,在精度和可编程性方面提供优势[118]。

6) DL加速器和推理硬件


图9:通用加速器中使用的MAC单元

蓬勃发展的AI加速领域严重依赖MAC单元。AI加速器专门设计用于高效处理NN等AI工作负载,本质上是集成大量这些单元的高性能并行计算机[8:7], [30:3]。这些加速器背后的设计理念以优化MAC单元为中心,以实现卓越的性能、减少的面积和更低的功耗[10:5], [13:7]。这些加速器设计包含多个计算单元,以适应各种数据格式和微尺度操作,如图9所示。这种集成对于满足不同AI应用的多样化要求至关重要。例如,8位FP并行MAC单元架构在FPGA上为CNN实现时可以提供高计算速度[30:4], [35:1]。在开发AI硬件时,设计者经常面临计算精度和可用硬件资源之间的权衡。对高效和紧凑AI推理硬件的推动已导致向低精度和近似MAC单元的重要趋势[119]。这展示了计算精度与开发实际应用的可行性之间的关键权衡。DNN计算密集,需要数十亿次MAC操作[120]。部署这些模型带来了重大挑战,特别是在具有严格功耗和面积约束的设备上。虽然高精度通常需要高精度,但这会导致过高的硬件成本。研究表明,较低精度格式(如INT-8)可以为许多推理任务实现可接受的精度,同时大幅减少硬件资源。这使创建更小、功耗更低的架构成为可能。文章[77:1]提供跨各种数据格式的位级灵活性,允许设计者根据任务的精度要求和设备的资源预算调整精度。这一趋势标志着对AI部署现实的成熟理解[38:6]。这并不总是关于实现绝对最高的理论精度,而是找到性能、功耗、面积和给定应用的足够精度之间的最佳平衡。这种方法有助于形成多样化的专用AI硬件格局,每个都针对特定的精度和资源预算进行定制[7:8]。

B. GPU和通用(GP)-GPU

GPU在架构上设计用于高度并行处理。MAC单元是其计算能力的核心,实现高效的图形渲染和广泛的通用计算[121]。图形工作负载固有的向量化性质(如同时处理多个颜色分量或顶点坐标)完美利用了MAC单元执行单指令多数据(SIMD)或向量化操作的能力,使其成为GPU性能的基石。图形数据(包括顶点、颜色和法线)固有地表示为向量[108:1]。GPU设计有大量简单处理单元用于大规模并行计算,MAC单元是这些处理元素的核心。GPU的设计从根本上围绕MAC单元的并行处理能力进行优化,创建了一种架构协同,允许GPU实现真实、实时3D图形所需的巨大计算能力。这使得MAC单元不仅仅是组件,而是现代视觉计算的核心架构原则[115:1]。

1) 着色器操作和渲染管线

MAC操作在几乎所有GPU上作为单指令原生支持。其吞吐量通常用作衡量GPU整体指令吞吐量的主要指标[122]。在图形渲染管线中,着色器作为在GPU上执行的专用程序至关重要。它们的主要功能是计算各种视觉元素,包括光强度、阴影深度和颜色梯度。为此,着色器严重依赖MAC操作,有效地组合多个输入以产生精确的输出值。这个过程对于在3D图形中创建逼真的光照效果和颜色表示至关重要,最终增强渲染场景的视觉保真度[123]。

a: 顶点着色器

顶点着色器是图形处理中使用的专用程序,利用MAC操作对3D模型执行几何变换。这些变换包括平移顶点以在空间中重新定位它们、围绕指定轴旋转以改变其方向以及缩放以相应地改变其大小[122:1], [124]。此外,基于顶点的几何形状及其与场景光源的交互,顶点着色器对于计算光照效果至关重要,因为它们能够模拟逼真的照明和着色。这种变换和光照计算的组合是在实时应用中渲染详细和视觉吸引力图形的基础[125], [126]。

b: 像素(片段)着色器

像素着色器的执行严重依赖MAC单元的能力,这对于执行复杂的颜色计算、混合纹理、实现复杂的光照模型以及应用多种后处理效果至关重要[124:1]。例如,调制两种颜色的红、绿、蓝(RGB)通道等颜色分量可以通过单个向量化操作高效执行。这种方法提高了性能并简化了渲染管线,实现更复杂视觉效果的实时渲染[126:1]。

c: 几何着色器

这些着色器也可以利用MAC操作进行场景内几何的动态修改。GPU操作的一个关键特征是其向量化性质,意味着单个操作可以同时在多个数据值上执行。这对于图形中常用的维度向量特别相关,如顶点、颜色和法向量。这种向量化方法与MAC单元的并行执行设计完美对齐[124:2]。

2) 科学和并行计算

GPGPU代表了一种范式,其中GPU及其嵌入式MAC单元的并行处理能力被用于超越传统图形渲染的广泛通用计算[124:3], [126:2]。GPGPU应用通常涉及高度数据并行任务,因此有效地映射到MAC单元的优势[41:1]。此类应用的示例包括:

a: 矩阵乘法

许多科学和ML算法中的核心操作,矩阵乘法固有地是一系列点积,非常适合在MAC单元上高效执行。根据以下表达式,两个不同的矩阵p和q相乘创建一个新矩阵r。

\[r_{ik} = \sum_{j=1}^{3} p_{ij} \cdot q_{jk} \]

\[[r]_{3 \times 2} = \begin{bmatrix} p_{11} & p_{12} & p_{13} \\ p_{21} & p_{22} & p_{23} \\ p_{32} & p_{32} & p_{33} \end{bmatrix}_{3 \times 3} \begin{bmatrix} q_{11} & q_{12} \\ q_{21} & q_{22} \\ q_{31} & q_{33} \end{bmatrix}_{3 \times 2} \]

\[r_{11} = (p_{11} \cdot q_{11}) + (p_{12} \cdot q_{21}) + (p_{13} \cdot q_{31}) \]

b: 物理模拟

流体动力学、分子建模和天气预报中的复杂模拟涉及可以简化为重复MAC操作的迭代计算。为了改进这些模拟,基于忆阻器等尖端器件技术构建的先进MAC架构和加速器可以直接在硬件或存储阵列内实现快速、成本效益高和高度并行的MAC计算,从而最小化传统冯·诺依曼架构典型的数据移动瓶颈。大型物理系统可以从这些专用MAC实现的增强精度和实时性能中受益,使模拟能够大规模执行复杂的高精度计算[127]。

C. 嵌入式系统和边缘AI

MAC单元是为快速扩展的IoT设备生态系统供电的微控制器和专用处理器中的组成部分,包括家庭自动化系统和老年护理解决方案[104:2], [117:1]。这些设备需要高效的处理能力,用于传感器数据收集、本地数据处理以减少对云连接的依赖,以及通过Wi-Fi和蓝牙等协议进行高效通信等任务。IoT设备和创新应用的激增需要高度节能和紧凑的计算单元[29:1]。MAC单元设计用于在嵌入式系统中以低功耗运行并高效处理信息。它们是为设备直接提供不间断智能的组成部分。这种本地处理能力减少了对云基础设施的依赖,增强了数据隐私,并提高了响应性。这一总体趋势是嵌入式应用MAC架构开发中持续小型化和能效感知设计原则的主要驱动力[8:8], [10:6]。

D. 边缘AI的专用集成电路(ASIC)

包含集成MAC单元的ASIC和片上系统(SoC)经过精心设计,以满足边缘计算的具体和不断发展的需求[104:3]。这些高度专用的芯片旨在以最小延迟提供实时数据处理,同时确保敏感信息的强大隐私措施。这使它们成为数据在现场生成和使用的应用的理想选择。为苛刻的AI工作负载量身定制,这些ASIC在计算机视觉(CV)方面表现出色,使视觉数据处理能够用于监控、自动驾驶汽车和智慧城市等应用[128]。自然语言处理(NLP)促进语音识别并支持ML推理,允许复杂模型在有限的硬件资源上高效运行。这些芯片的专业化将使它们能够实现比通用处理器显著增强的性能指标。这包括卓越的处理能力和卓越的每瓦性能,这对于电池供电和节能应用至关重要[8:9], [82:4]。此外,其每美元性能比超过传统处理器,使其成为寻求在网络边缘部署AI解决方案的企业和开发者的成本效益选择。具有集成MAC单元的ASIC和SoC代表了边缘计算的变革性方法,推动各行业的创新[20:4]。

E. FPGA中的MAC

FPGA提供专用硬件IP块,如Xilinx的DSP48E1切片,提供硬件加速和灵活性的独特组合[129]。这些可配置块包含高速乘法器、加法器/减法器和累加器,使设计者能够以内部流水线执行MAC操作,以提高时钟频率和吞吐量。可重构性质提供高灵活性和可重构性,允许快速原型制作和针对特定算法的可定制精度[130], [74:1], [78:1]。然而,由于可编程开销和通常较高的每次操作功耗,FPGA通常表现出比定制ASIC更低的峰值性能和能效。为FPGA设计需要专门的硬件描述语言(HDL)和对硬件架构的深入理解。它们非常适合原型制作AI加速器、定制DSP系统、嵌入式视觉以及需要灵活硬件加速但ASIC开发不合理 justified的应用[92:1], [128:1]。


IV. 对计算效率和系统性能的影响

MAC单元在现代计算架构中的普遍集成对整体计算效率和系统性能产生深远影响[82:5]。

A. 实现并行处理

MAC单元固有地设计用于促进并行处理,使其在现代计算架构中实现高吞吐量不可或缺。MAC单元在多个数据流上同时执行相同操作的能力是数据吞吐量的基本要求,解释了其在并行处理中的效率[73:2], [116:1]。核心架构优势在于单个MAC指令或MAC单元集群可以同时对多个数据元素进行操作。这表明单个时钟周期可以启动或完成向量分量元素上的许多MAC操作。由于其固有的并行性,具有许多MAC单元的GPU在着色器计算和矩阵乘法等任务中表现出色,其中多个数据点独立地经历相同的操作[10:7]。

GPU广泛利用MAC单元执行向量化操作,通常称为SIMD操作。此功能使单个MAC指令能够处理多个数据元素(如分量向量)。这种固有的并行性是GPU在并行计算任务中卓越效率的主要原因。通过高效独立地执行重复算术操作,MAC单元可以显著减少CPU的计算负担[108:2]。这释放中央处理器处理其他系统任务,提高响应性和性能。MAC单元对分布式计算项目的效率做出重大贡献。其在多个处理节点上并行执行计算密集型任务的能力增强了此类系统的整体速度和可扩展性[8:10]。

B. 可重构性和可扩展性

MAC单元适应不同算法、数据类型和精度要求以及高效扩展到更大问题规模的能力对于多功能性和面向未来至关重要。挑战包括固定功能ASIC缺乏灵活性、设计多功能而高效单元的固有复杂性以及扩展大型MAC阵列时管理互连开销[130:1], [131]。优化技术涉及利用FPGA中的可配置DSP切片实现适应性功能[92:2]。设计参数化IP核心用于定制综合,利用脉动阵列进行模块化和可扩展矩阵操作,对大型阵列采用分层设计,强调硬件和软件协同设计以确保高效算法和充分利用可重构或可扩展MAC阵列[132]。

C. 技术缩放和工艺变化

随着半导体技术缩放到纳米尺寸,出现了新的物理挑战,显著影响MAC单元的设计和可靠性[116:2]。这些包括芯片上晶体管特性的变异性增加,导致性能和功率偏差;各种可靠性问题,如软错误、长期老化效应和互连可靠性;以及漏电功率的主导地位日益增长。为了解决这些问题,设计者使用对变化不太敏感的鲁棒设计方法,在关键存储元件中实现错误校正码(ECC)[133],为容错引入冗余(如备用单元),采用自适应体偏置(ABB)来补偿变化或减少漏电,利用统计时序分析(STA),并集成内置自测试(BIST)和自修复机制用于片上诊断和恢复[83:1], [134]。

D. 实时处理和延迟管理

通过流水线引入复杂计算固有地引入时序延迟,通常称为延迟[131:1],如公式(9)所示。虽然流水线显著提高了前文第II-D节所述的吞吐量,但它也可能延长操作完成其通过流水线的旅程所需的总体时间。MAC单元在实时音频处理环境中执行应用效果和滤波器的核心算术[4:3]。具有最小延迟的高性能MAC单元对于这些应用至关重要,以防止可听延迟或时序同步问题。现代系统采用复杂的机制(如插件延迟补偿和低延迟监控模式)来解决这些挑战[11:2]。这些功能帮助同步不同轨道的音频输出,并在录制新轨道时自动绕过引起延迟的插件,确保无缝的实时体验[43:4], [46:3]。在实时系统(如音频制作)中,即使是微小的延迟也可能是可感知的并导致时序问题。这突出了系统的实时能力不仅仅取决于MAC单元的原始速度。因此,系统管理和补偿复杂处理引入的延迟的能力也至关重要[12:1]。MAC单元提供原始计算能力,但系统软件确保结果的及时和同步交付。这强调了有效的实时性能需要一种整体方法,将优化的硬件与智能软件策略集成[11:3]。


V. 未来趋势和研究问题

MAC单元发展的轨迹揭示了几个将继续塑造未来计算范式的关键趋势:

A. 硬件-软件协同设计

由于硬件加速器的复杂性和专业化日益增加,需要一种将硬件和软件串联设计的综合策略,超越传统的顺序过程[8:11], [13:8]。挑战之一是克服低级硬件和高级算法之间的抽象差距。另一种方法是创建优化的编译器和运行时系统,以有效管理数据、最大化利用率并将复杂计算图转换到异构MAC架构[14:4], [43:5], [132:1]。开放问题涉及创建将复杂深度学习模型自动映射和分区到不同MAC阵列的工具,开发抽象硬件复杂性的领域特定语言(DSL)和编译器,设计基于变化工作负载的运行时重构和自适应系统,以及为协同设计的MAC系统构建准确快速的性能建模和仿真工具[27:1], [135]。

B. 安全性和可靠性关注

随着MAC单元成为关键应用的组成部分并处理敏感数据,其安全性和可靠性至关重要。挑战包括对侧信道攻击、硬件木马和故障注入攻击的脆弱性。晶体管中的长期老化效应也会影响可靠性[107:1]。开放问题涉及开发固有地抵抗侧信道和故障注入攻击的弹性MAC设计,将MAC单元集成到安全飞地中以进行敏感计算,实现在线监控和自修复机制以减轻老化和瞬态故障,扩展安全的形式验证,以及开发水印和防伪方法以确保供应链完整性[115:2]。


VI. MAC单元研究建议


图10:高效MAC设计建议

图10说明了从应用到硬件/软件协同设计构建高效MAC的基础模型。设计者应优先深入细致地理解目标工作负载的内在特征,以便为选择或定制最合适的MAC架构提供信息。通用解决方案通常导致次优效率。对于固有地容忍受控错误的应用,近似MAC提供无与伦比的功率和面积减少优势。为确保引入的错误保持在合理的应用级别界限以下,并专注于开发可靠、可量化的误差模型和自适应近似方法,实现效率和质量之间的动态权衡。内存墙仍然是限制MAC密集型系统性能和能效的最重要瓶颈。探索MAC操作的计算架构对于优化和实现未来性能提升至关重要。研究应专注于实际实现、编程模型及其带来的集成挑战。随着NN规模和复杂性的增长,权重和激活中的稀疏性变得越来越普遍。开发更复杂的硬件和软件协同设计技术以有效利用MAC阵列中的结构化和非结构化稀疏性,将是实现下一代AI加速器更高吞吐量和能效的关键差异化因素。MAC单元的安全性、可靠性和超低功耗操作的重要性日益增加。因此,推进弹性设计、安全飞地和自适应容错机制的研究对于培养鲁棒的系统性能至关重要。光子和量子计算范式彻底改变MAC单元设计的长期潜力不应被忽视。在这些领域的持续基础研究可能为未来几代计算硬件解锁前所未有的性能和能效水平。基于对MAC单元设计当前状态和未来轨迹的全面回顾和分析,我们为在AI、DSP和HPC硬件设计领域工作的研究者和设计者提供以下可操作建议。基于本文,我们考虑了设计者在设计MAC单元时面临的一些关键挑战:

  • 应用特定优化
  • 近似计算
  • 能效与功率优化
  • 数据管理
  • 稀疏性与剪枝
  • 计算基底
  • 可靠性与容错
  • 硬件集成
  • 可编程性与可持续性
  • 可扩展性与复杂模型

VII. 结论

本综述全面分析了MAC单元,强调了其在DSP和AI中的关键和不断演变的角色。我们探索了从经典的串行、并行和流水线架构到结合Wallace/Dadda树和Booth乘法器的先进设计的范围,突出了近似MAC、稀疏感知设计、用于二进制/量化NN的专用单元以及IMC MAC的变革性影响等最新创新。这些进步已明显集成到现代加速器中,如Google TPU、NVIDIA张量核心和FPGA,每个都针对特定的计算范式进行了优化。尽管取得了这些重大进展,持续存在的挑战仍然存在,包括严格的功耗和能量约束、数据移动瓶颈以及纳米级技术中可重构性、可扩展性和可靠性的复杂性。解决这些问题需要继续研究先进的优化技术并采取主动方法应对新兴关注点。未来研究应专注于自适应近似计算、PIM/IMC架构的实际实现、异构MAC阵列的复杂硬件-软件协同设计以及关键AI部署的强大安全性和可靠性解决方案。此外,对新型计算基底(如光子和量子计算)的基础探索具有革命性MAC单元设计的长期潜力,确保MAC单元在数据驱动世界中保持计算效率和能力的最前沿。


参考文献


作者简介

SUDHEER VISHWAKARMA 于2017年获得印度勒克瑙Dr. A. P. J. Abdul Kalam技术大学电子与通信工程学士学位,2023年获得印度印多尔东方大学电气工程硕士学位。他目前正在芬兰奥卢大学攻读通信工程博士学位。此外,他于2025年7月至10月在日本东京农业大学进行了研究访问。他于2019年至2021年担任印度理工学院印多尔分校的研究助理。他曾担任印度诺伊达Spectral Design and Test的工程师培训生。他的研究兴趣包括机器学习、AI加速器、FPGA、C/C++编程、VLSI设计、数字CMOS设计和无线通信。

ZAHEER KHAN(IEEE会员)于2007年获得瑞典布罗斯大学学院电气工程硕士学位,2011年获得芬兰奥卢大学电气工程博士学位。他于2011年至2016年担任奥卢大学的研究员/首席研究员,2016年至2017年担任英国利物浦大学的终身讲师。他目前是奥卢大学片上系统(SoC)副教授。他在无线数据处理的片上系统设计方面拥有多年的行业经验。他的研究兴趣包括SoC设计的多核架构的计算机辅助设计和探索、雷达SoC设计、FPGA-SoC上高级信号处理和无线通信算法的实现,以及博弈论在建模分布式无线网络、原型访问协议和无线信号设计中的应用。他于2007年至2008年获得玛丽·居里奖学金。

JANNE J. LEHTOMÄKI(IEEE会员)于2005年获得芬兰奥卢大学博士学位。他目前是奥卢大学无线通信中心的兼职教授。他于2013年秋季学期作为访问学者在美国佐治亚理工学院度过。他专注于频谱测量和太赫兹频段无线通信。他合著的文章获得IEEE WCNC 2012最佳论文奖。他是Physical Communication的编委会成员。他曾担任IEEE WCNC 2017智能频谱国际研讨会总联合主席、IEEE WCNC 2015和2016智能频谱国际研讨会TPC联合主席,以及2015年至2017年ACM NANOCOM的宣传/出版联合主席。他曾担任2014年2月至2017年7月IEICE Transactions on Communications特刊的客座副编辑,以及2016年6月Nano Communication Networks特刊的管理客座编辑。


  1. A. Abdelgawad and M. Bayoumi, "High speed and area-efficient multiply accumulate (MAC) unit for digital signal processing applications," in Proc. IEEE Int. Symp. Circuits Syst. (ISCAS), May 2007, pp. 3199-3202. ↩︎ ↩︎ ↩︎ ↩︎

  2. P. A. Patil and C. Kulkarni, "A survey on multiply accumulate unit," in Proc. 4th Int. Conf. Comput. Commun. Control Autom. (ICCUBEA), Aug. 2018, pp. 1-5. ↩︎

  3. T. T. Hoang, M. Själander, and P. Larsson-Edefors, "A high-speed, energy-efficient two-cycle multiply-accumulate (MAC) architecture and its application to a double-throughput MAC unit," IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 57, no. 12, pp. 3073-3081, Dec. 2010. ↩︎ ↩︎ ↩︎ ↩︎

  4. D. Heckenberg, "Using MAC OS X for real-time image processing," vol. 8, p. 15, Nov. 2003. ↩︎ ↩︎ ↩︎ ↩︎

  5. P. Jebashini, R. Uma, P. Dhavachelv, and H. K. Wye, "A survey and comparative analysis of multiply-accumulate (MAC) block for digital signal processing application on ASIC and FPGA," J. Appl. Sci., vol. 15, no. 7, pp. 934-946, Jun. 2015. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  6. Y. Liao and D. B. Roberts, "A high-performance and low-power 32-bit multiply-accumulate unit with single-instruction-multiple-data (SIMD) feature," IEEE J. Solid-State Circuits, vol. 37, no. 7, pp. 926-931, Jul. 2002. ↩︎

  7. S. S. Alnuaimi, D. Yuvaraj, S. F. Noori, and P. Sudhakaran, "Systematic review on multiply and accumulate unit (MAC) architectures and comparison with various multipliers," Int. Innov. Res. J. Eng. Technol., vol. 9, no. 2, pp. 83-91, Dec. 2023. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  8. T. Mohaidat and K. Khalil, "A survey on neural network hardware accelerators," IEEE Trans. Artif. Intell., vol. 5, no. 8, pp. 3801-3822, Aug. 2024. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  9. A. K. Dhindsa and R. Sarma, "Pipelined and clock gated mac architecture design and implementation," Far East J. Electron. Commun., vol. 2016, pp. 607-621, Nov. 2016. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  10. S. Alam, C. Yakopcic, Q. Wu, M. Barnell, S. Khan, and T. M. Taha, "Survey of deep learning accelerators for edge and emerging computing," Electronics, vol. 13, no. 15, p. 2988, Jul. 2024. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  11. D. Vaithiyanathan, B. P. James, and K. Mariammal, "A high-speed computational pipeline single MAC-based VLSI architecture for real-time signal and image processing," in Proc. 4th Int. Conf. Adv. Electr., Comput., Commun. Sustain. Technol. (ICAECT), Jan. 2024, pp. 1-6. ↩︎ ↩︎ ↩︎ ↩︎

  12. J. Jung, S. Kim, W. Jang, B. Seo, and K. J. Lee, "An energy-efficient, unified CNN accelerator for real-time multi-object semantic segmentation for autonomous vehicle," IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 71, no. 5, pp. 2093-2104, May 2024. ↩︎ ↩︎

  13. C. Silvano et al., "A survey on deep learning hardware accelerators for heterogeneous HPC platforms," ACM Comput. Surv., vol. 57, no. 11, pp. 1-39, Nov. 2025. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  14. J. S. Lee and M. H. Sunwoo, "Design of new DSP instructions and their hardware architecture for high-speed FFT," J. VLSI signal Process. Syst. for signal, image video Technol., vol. 33, no. 3, pp. 247-254, Mar. 2003. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  15. P. K. Saragada, S. Manna, A. Singh, and B. P. Das, "A configurable 10T SRAM-based IMC accelerator with scaled-voltage-based pulse count modulation for MAC and high-throughput XAC," IEEE Trans. Nanotechnol., vol. 22, pp. 222-227, 2023. ↩︎ ↩︎

  16. Y. Wang, H. Tang, Y. Xie, X. Chen, S. Ma, Z. Sun, Q. Sun, L. Chen, H. Zhu, J. Wan, Z. Xu, D. W. Zhang, P. Zhou, and W. Bao, "An in-memory computing architecture based on two-dimensional semiconductors for multiply-accumulate operations," Nature Commun., vol. 12, no. 1, p. 3347, Jun. 2021. ↩︎ ↩︎ ↩︎

  17. N. Verma, H. Jia, H. Valavi, Y. Tang, M. Ozatay, L.-Y. Chen, B. Zhang, and P. Deaville, "In-memory computing: Advances and prospects," IEEE Solid StateCircuits Mag., vol. 11, no. 3, pp. 43-55, Summer. 2019. ↩︎ ↩︎ ↩︎

  18. R. Deka, "A comprehensive study of digital signal processing devices," Microprocessors Microsystems, vol. 19, no. 4, pp. 209-221, Jan. 1995. ↩︎

  19. A. M. George, S. K. John, and S. Kala, "FPGA implementation of an efficient FIR filter using double MAC unit," in Proc. IEEE Int. Symp. Smart Electron. Syst. (iSES), Dec. 2024, pp. 64-68. ↩︎ ↩︎ ↩︎

  20. R. Pawar and D. S. S. Shriramwar, "Review on multiply-accumulate unit," Int. J. Eng. Res. Appl., vol. 7, no. 6, pp. 9-13, Jun. 2017. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  21. A. S. Phuse and P. P. Tasgaonkar, "Design and implementation of different multiplier techniques and efficient MAC unit on FPGA," in Proc. Int. Conf. Signal Inf. Process. (IConSIP), Aug. 2022, pp. 1-5. ↩︎ ↩︎

  22. M. S. Kumar, D. A. Kumar, and P. Samundiswary, "Design and performance analysis of multiply-accumulate (MAC) unit," in Proc. Int. Conf. Circuits, Power Comput. Technol. [ICCPCT-], Mar. 2014, pp. 1084-1089. ↩︎

  23. R. K. Kolagotla, J. Fridman, B. C. Aldrich, M. M. Hoffman, W. C. Anderson, M. S. Allen, D. B. Witt, R. R. Dunton, and L. A. Booth, "High performance dual-MAC DSP architecture," IEEE Signal Process. Mag., vol. 19, no. 4, pp. 42-53, Jul. 2002. ↩︎ ↩︎

  24. T. Tresa, M. A. Shameem, and S. Sreedharan, "High performance MAC unit for FFT implementation," Int. J. Modern Eng. Res., vol. 4, no. 1, pp. 2449-6645, 2014. ↩︎ ↩︎

  25. R. Murillo, D. Mallasen, A. A. D. Barrio, and G. Botella, "Energy-efficient MAC units for fused posit arithmetic," in Proc. IEEE 39th Int. Conf. Comput. Design (ICCD), Oct. 2021, pp. 138-145. ↩︎ ↩︎ ↩︎

  26. D. Zuo, J. Zhu, C. Li, and Y. Ma, "UFO-MAC: A unified framework for optimization of high-performance multipliers and multiply-accumulators," in Proc. 43rd IEEE/ACM Int. Conf. Computer-Aided Design, Oct. 2024, pp. 1-9. ↩︎ ↩︎

  27. N. Nedjah, R. M. da Silva, L. M. Mourelle, and M. V. C. da Silva, "Dynamic MAC-based architecture of artificial neural networks suitable for hardware implementation on FPGAs," Neurocomputing, vol. 72, nos. 10-12, pp. 2171-2179, Jun. 2009. ↩︎ ↩︎

  28. D. K. Kholgh and P. Kostakos, "PAC-GPT: A novel approach to generating synthetic network traffic with GPT-3," IEEE Access, vol. 11, pp. 114936-114951, 2023. ↩︎

  29. G. Devic, M. France-Pillois, J. Salles, G. Sassatelli, and A. Gamatié, "Highly-adaptive mixed-precision MAC unit for smart and low-power edge computing," in Proc. 19th IEEE Int. New Circuits Syst. Conf. (NEWCAS), Jun. 2021, pp. 1-4. ↩︎ ↩︎

  30. H. Lee, J. Park, and S. Kang, "An area-efficient systolic array redundancy architecture for reliable AI accelerator," IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 32, no. 10, pp. 1950-1954, Oct. 2024. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  31. G. S. Lakshmi, S. S. Santosh, P. S. Kiran, and N. Sowmya, "Design of multiply accumulate unit with self-error correction and accumulation modules," Int. J. Eng. Res. Sci. Technol., vol. 21, no. 2, pp. 804-807, 2025. ↩︎

  32. R. Murillo Montero, "Posit arithmetic and its applications," Ph.D. thesis, Fac. Comput. Sci., Universidad Complutense de Madrid, Madrid, Spain, 2025. ↩︎ ↩︎ ↩︎

  33. G. Frantz and R. Simar, "Comparing fixed-and floating-point DSPs: Does your design need a fixed-or floating-point DSP?" Texas Instrum., Dallas, TX, USA, Tech. Rep. SPRY061, 2004. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  34. A. Sen, P. Mitra, and D. Datta, "Low power MAC unit for DSP processor," Int. J. Recent Technol. Eng. (IJRTE), vol. 1, no. 9, pp. 93-95, 2013. ↩︎ ↩︎

  35. J. Lee, C. Kim, S. Kang, D. Shin, S. Kim, and H.-J. Yoo, "UNPU: An energy-efficient deep neural network accelerator with fully variable weight bit precision," IEEE J. Solid-State Circuits, vol. 54, no. 1, pp. 173-185, Jan. 2019. ↩︎ ↩︎

  36. H. Chhajed, G. Raut, N. Dhakad, S. Vishwakarma, and S. K. Vishvakarma, "BitMAC: Bit-serial computation-based efficient multiply-accumulate unit for DNN accelerator," Circuits, Syst., Signal Process., vol. 41, no. 4, pp. 2045-2060, Apr. 2022. ↩︎ ↩︎

  37. M. Bharathi, Y. J. M. Shirur, and P. L. Lahari, "Performance evaluation of distributed arithmetic based MAC structures for DSP applications," in Proc. 7th Int. Conf. Smart Struct. Syst. (ICSSS), Jul. 2020, pp. 1-5. ↩︎ ↩︎ ↩︎

  38. S. Vishwakarma, G. Raut, S. Jaiswal, S. K. Vishvakarma, and D. Ghai, "A precision-aware neuron engine for DNN accelerators," Social Netw. Comput. Sci., vol. 5, no. 5, p. 494, Apr. 2024. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  39. S. Vishwakarma, G. Raut, N. S. Dhakad, S. K. Vishvakarma, and D. Ghai, "A configurable activation function for variable bit-precision DNN hardware accelerators," in Proc. IFIP Int. Internet Things Conf., 2023, pp. 433-441. ↩︎ ↩︎ ↩︎

  40. T. C. Bartee and D. J. Chapman, "Design of an accumulator for a general purpose computer," IEEE Trans. Electron. Comput., vol. EC-14, no. 4, pp. 570-574, Aug. 1965. ↩︎ ↩︎

  41. G. S. Nikolić, B. R. Dimitrijević, T. R. Nikolić, and M. K. Stojcev, "A survey of three types of processing units: CPU, GPU and TPU," in Proc. 57th Int. Scientific Conf. Inf., Commun. Energy Syst. Technol. (ICEST), Jun. 2022, pp. 1-6. ↩︎ ↩︎

  42. K.-J. Cho, K.-C. Lee, J.-G. Chung, and K. K. Parhi, "Design of low-error fixed-width modified booth multiplier," IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 12, no. 5, pp. 522-531, May 2004. ↩︎ ↩︎ ↩︎ ↩︎

  43. W. L. Pang, T. Khatun, S. K. Phang, A. K. Singh, A. S. T. Ng, and K. Y. Chan, "Optimizing multiplier performance through verilog hardware description language design," in Proc. Multimedia Univ. Eng. Conf. (MECON), Jul. 2024, pp. 1-6. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  44. S. Venkatachalam, E. Adams, H. J. Lee, and S.-B. Ko, "Design and analysis of area and power efficient approximate booth multipliers," IEEE Trans. Comput., vol. 68, no. 11, pp. 1697-1703, Nov. 2019. ↩︎ ↩︎ ↩︎ ↩︎

  45. IEEE Standard for Floating-Point Arithmetic, Standard IEEE Std 754-2019, May 2020. ↩︎

  46. S.-S. Ahmadpour, N. J. Navimipour, N. U. Ain, F. Kerestecioglu, S. Yalcin, D. B. Avval, and M. Hosseinzadeh, "Design and implementation of a nano-scale high-speed multiplier for signal processing applications," Nano Commun. Netw., vol. 41, Sep. 2024, Art. no. 100523. ↩︎ ↩︎ ↩︎ ↩︎

  47. K. Yugandhar, V. G. Raja, M. Tejkumar, and D. Siva, "High performance array multiplier using reversible logic structure," in Proc. Int. Conf. Current Trends Converging Technol. (ICCTCT), Mar. 2018, pp. 1-5. ↩︎

  48. V. Kaushik and H. Saini, "A review on comparative performance analysis of different digital multipliers," Adv. Comput. Sci. Technol., vol. 10, no. 5, pp. 1257-1272, 2017. ↩︎

  49. A. K. Uppugunduru, S. V. Bharadwaj, and S. E. Ahmed, "Compressor based hybrid approximate multiplier architectures with efficient error correction logic," Comput. Electr. Eng., vol. 104, Dec. 2022, Art. no. 108407. ↩︎

  50. P. A. I. Khan and R. S. Mishra, "Comparative analysis of different algorithm for design of high-speed multiplier accumulator unit (MAC)," Indian J. Sci. Technol., vol. 9, no. 8, pp. 1-5, Mar. 2016. ↩︎

  51. B. Mukherjee, "A comprehensive review on low power fixed width digital multiplier architectures," J. Mech. Continua Math. Sci., vol. 19, no. 7, pp. 59-76, Jul. 2024. ↩︎ ↩︎

  52. K. A. Vahid, A. Prabhu, A. Farhadi, and M. Rastegari, "Butterfly transform: An efficient FFT based neural architecture design," in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 12021-12030. ↩︎

  53. A. Crimmins and S. L. Alarcon, "Approximate quantum array multiplier," in Proc. IEEE Int. Conf. Quantum Comput. Eng. (QCE), Sep. 2024, pp. 58-66. ↩︎ ↩︎ ↩︎

  54. M. R. Esa, "Design and verification of 4 × 4 Wallace tree multiplier," Int. J. Anal. Experim. Modal Anal., vol. 10, pp. 1-7, Apr. 2020. ↩︎

  55. R. B. S. Kesava, B. L. Rao, K. B. Sindhuri, and N. U. Kumar, "Low power and area efficient Wallace tree multiplier using carry select adder with binary to excess-1 converter," in Proc. Conf. Adv. Signal Process. (CASP), Jun. 2016, pp. 248-253. ↩︎

  56. C. S. Wallace, "A suggestion for a fast multiplier," IEEE Trans. Electron. Comput., vol. EC-13, no. 1, pp. 14-17, Feb. 2006. ↩︎

  57. K. Bhardwaj, P. S. Mane, and J. Henkel, "Power- and area-efficient approximate Wallace tree multiplier for error-resilient systems," in Proc. 15th Int. Symp. Quality Electron. Design, Mar. 2014, pp. 263-269. ↩︎ ↩︎ ↩︎

  58. N. Sureka, R. Porselvi, and K. Kumuthapriya, "An efficient high speed Wallace tree multiplier," in Proc. Int. Conf. Inf. Commun. Embedded Syst. (ICICES), Feb. 2013, pp. 1023-1026. ↩︎

  59. S. S. Kerur, P. Narchi, C. N. Jayashree, and H. M. Kittur, "Implementation of vedic multiplier for digital signal processing," in Proc. Int. Conf. VLSI, 2011, pp. 1-6. ↩︎ ↩︎

  60. S.-R. Kuang and J.-P. Wang, "Design of power-efficient configurable booth multiplier," IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 57, no. 3, pp. 568-580, Mar. 2010. ↩︎ ↩︎

  61. N. Safoev and J.-C. Jeon, "Design and evaluation of cell interaction based vedic multiplier using quantum-dot cellular automata," Electronics, vol. 9, no. 6, p. 1036, Jun. 2020. [Online]. Available: https://www.mdpi.com/2079-9292/9/6/1036 ↩︎

  62. G. G. Kumar and V. Charishma, "Design of high speed vedic multiplier using vedic mathematics techniques," Int. J. Sci. Res. Publications, vol. 2, no. 3, p. 1, 2012. ↩︎

  63. A. S. Krishna Vamsi and S. R. Ramesh, "An efficient design of 16 bit MAC unit using vedic mathematics," in Proc. Int. Conf. Commun. Signal Process. (ICCSP), Apr. 2019, pp. 0319-0322. ↩︎

  64. B. M. Lakshmi and M. Bhavani, "Design and implementation of 16-bit baugh-wooley multiplier," Int. J. Electron. Commun. Eng., vol. 5, no. 12, pp. 1-5, Dec. 2018. ↩︎

  65. C. R. Baugh and B. A. Wooley, "A Two's complement parallel array multiplication algorithm," IEEE Trans. Comput., vol. C-100, no. 12, pp. 1045-1047, Dec. 2006. ↩︎ ↩︎

  66. P. Karuppusamy, "Design and analysis of low-power, high-speed baugh wooley multiplier," J. Electron. Informat., vol. 1, no. 2, pp. 60-70, Dec. 2019. ↩︎ ↩︎

  67. J.-H. Tu and L.-D. Van, "Power-efficient pipelined reconfigurable fixed-width baugh-wooley multipliers," IEEE Trans. Comput., vol. 58, no. 10, pp. 1346-1355, Oct. 2009. ↩︎ ↩︎ ↩︎

  68. B. M. Shankar, M. Ramkumar, and V. Saravanan, "Design of low power area efficient 2D FIR filter using optimized multiplier and adder for speech signal analysis," Circuits, Syst., Signal Process., vol. 44, no. 2, pp. 1138-1163, Feb. 2025. ↩︎ ↩︎ ↩︎

  69. K. Yang, L. Liu, H. Liu, and T. Deng, "A novel parallel processing element architecture for accelerating ODE and AI," Tsinghua Sci. Technol., vol. 30, no. 5, pp. 1954-1964, Oct. 2025. ↩︎ ↩︎

  70. S. Anushka, J. S. Rajesh, K. Harish, R. Nitesh, and N. Aswini, "Optimizing FIR filters for high-speed signal processing," in Proc. Int. Conf. Wireless Commun. Signal Process. Netw. (WiSPNET), Mar. 2025, pp. 1-7. ↩︎ ↩︎

  71. Analog Devices. (2019). A Beginner's Guide to Digital Signal Processing (DSP). [Online]. Available: https://www.analog.com/en/education/education-library/DSP-guide.html ↩︎

  72. V. Vijay, M. Sreevani, E. M. Rekha, K. Moses, C. S. Pittala, K. S. Shaik, C. Koteshwaramma, R. J. Sai, and R. R. Vallabhuni, "A review on n-bit ripple-carry adder, carry-select adder and carry-skip adder," J. VLSI Circuits Syst., vol. 4, no. 1, pp. 27-32, 2022. ↩︎

  73. H. T. Nguyen and S. A. Wichman, "Pipelined multiply-accumulate unit and out-of-order completion logic for a superscalar digital signal processor and method of operation thereof," U.S. Patent 7 231 510, Jun. 12, 2007. ↩︎ ↩︎ ↩︎

  74. K. Sano, Y. Hatsuda, L. Wang, and S. Yamamoto, "Performance evaluation of finite-difference time-domain (FDTD) computation accelerated by FPGA-based custom computing machine," Interdiscipl. Inf. Sci., vol. 15, no. 1, pp. 67-78, 2009. ↩︎ ↩︎

  75. S. M. Cherati, M. Barzegar, and L. Sousa, "MSDF-based MAC for energy-efficient neural networks," IEEE Trans. Very Large Scale Integr. (VLSI) Syst., vol. 33, no. 9, pp. 2370-2381, Sep. 2025. ↩︎ ↩︎ ↩︎

  76. A. Talebi and M. Mousazadeh, "Variable precision, mixed fixed/floating point MAC unit for DNN accelerators," in Proc. Iranian Int. Conf. Microelectron. (IICM), Dec. 2022, pp. 85-89. ↩︎ ↩︎ ↩︎

  77. S.-H. Noh, S. Kim, S. Kim, D. Kim, J. Kung, and Y. Kim, "Jack unit: An area- and energy-efficient multiply-accumulate (MAC) unit supporting diverse data formats," 2025, arXiv:2507.04772. ↩︎ ↩︎

  78. F. Kordi, P. Fortier, and A. Miled, "Optimized fixed point MAC unit for neural network on FPGA," in Proc. Int. Conf. Microelectron. (ICM), Dec. 2024, pp. 1-5. ↩︎ ↩︎

  79. F. Alpay, "Alpay algebra II: Identity as fixed-point emergence in categorical data," 2025, arXiv:2505.17480. ↩︎

  80. S. U. Haq, A. H. El-Maleh, and A. Alsuwaiyan, "Multiple-input floating-point adders: A comprehensive review," IEEE Access, vol. 13, pp. 91012-91024, 2025. ↩︎

  81. H. J. Lee, C. H. Kim, and S. W. Kim, "Design of floating-point MAC unit for computing DNN applications in PIM," in Proc. Int. Conf. Electron., Inf., Commun. (ICEIC), Jan. 2020, pp. 1-7. ↩︎

  82. A. K. Sahu, R. Samanth, T. Mendez, S. G. Nayak, and K. V. Kedlaya, "VLSI design techniques for low power MAC unit: A review," AIP Conf. Proc., vol. 2373, Apr. 2021, Art. no. 050013. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  83. K. Fakir and S. Mande, "Design and implementation of high performance energy efficient MAC unit for emerging applications," in Proc. Int. Conf. Innov. Novelty Eng. Technol. (INNOVA), Dec. 2024, pp. 1-4. ↩︎ ↩︎

  84. A. Laxman, N. S. S. Reddy, and B. R. Naik, "Design and implementation of hybrid logic-based MAC unit using 45 nm technology," E-Prime-Adv. Electr. Eng., Electron. Energy, vol. 6, Mar. 2023, Art. no. 100317. ↩︎

  85. G. Di Meo, G. Saggese, A. G. M. Strollo, and D. De Caro, "Approximate MAC unit using static segmentation," IEEE Trans. Emerg. Topics Comput., vol. 12, no. 4, pp. 968-979, Oct. 2024. ↩︎ ↩︎

  86. A. Venkatachalam, U. Seerengasamy, and A. S. Ponraj, "A scalable automated framework for multiply-accumulate unit design in high-performance computing applications," Sci. Rep., vol. 15, no. 1, p. 42713, Nov. 2025. ↩︎

  87. R. Venkatesan, A. Agarwal, K. Roy, and A. Raghunathan, "MACACO: Modeling and analysis of circuits for approximate computing," in Proc. IEEE/ACM Int. Conf. Comput.-Aided Design (ICCAD), Nov. 2011, pp. 667-673. ↩︎

  88. D. Esposito, A. G. M. Strollo, and M. Alioto, "Low-power approximate MAC unit," in Proc. 13th Conf. Ph.D. Res. Microelectron. Electron. (PRIME), Jun. 2017, pp. 81-84. ↩︎

  89. M. Imani, S. Patil, and T. Š. Rosing, "Approximate computing using multiple-access single-charge associative memory," IEEE Trans. Emerg. Topics Comput., vol. 6, no. 3, pp. 305-316, Jul. 2018. ↩︎

  90. M. Masadeh, O. Hasan, and S. Tahar, "Input-conscious approximate multiply-accumulate (MAC) unit for energy-efficiency," IEEE Access, vol. 7, pp. 147129-147142, 2019. ↩︎

  91. Y. Wang, Y. Qin, D. Deng, J. Wei, Y. Zhou, Y. Fan, T. Chen, H. Sun, L. Liu, S. Wei, and S. Yin, "A 28 nm 27.5 TOPS/W approximate-computing-based transformer processor with asymptotic sparsity speculating and out-of-order computing," in IEEE Int. Solid-State Circuits Conf. (ISSCC) Dig. Tech. Papers, vol. 65, Feb. 2022, pp. 1-3. ↩︎

  92. S. Han, J. Kang, H. Mao, Y. Hu, X. Li, Y. Li, D. Xie, H. Luo, S. Yao, Y. Wang, H. Yang, and W. J. Dally, "ESE: Efficient speech recognition engine with sparse LSTM on FPGA," in Proc. ACM/SIGDA Int. Symp. Field-Program. Gate Arrays, Feb. 2017, pp. 75-84. ↩︎ ↩︎ ↩︎

  93. J. Jang et al., "Sparsity-aware and re-configurable NPU architecture for Samsung flagship mobile SoC," in Proc. ACM/IEEE 48th Annu. Int. Symp. Comput. Archit. (ISCA), Jul. 2021, pp. 15-28. ↩︎

  94. X. Yang and N. Sun, "A 4-bit mixed-signal MAC macro with one-shot ADC conversion," IEEE J. Solid-State Circuits, vol. 58, no. 9, pp. 2648-2658, Sep. 2023. ↩︎ ↩︎

  95. P. Judd, J. Albericio, T. Hetherington, T. M. Aamodt, and A. Moshovos, "Stripes: Bit-serial deep neural network computing," in Proc. 49th Annu. IEEE/ACM Int. Symp. Microarchitecture (MICRO), Feb. 2016, pp. 1-12. ↩︎

  96. Y. Zhang, Z. Zhang, and L. Lew, "PokeBNN: A binary pursuit of lightweight accuracy," in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2022, pp. 12475-12485. ↩︎

  97. J. Bethge, H. Yang, M. Bornstein, and C. Meinel, "BinaryDenseNet: Developing an architecture for binary neural networks," in Proc. IEEE/CVF Int. Conf. Comput. Vis. Workshop (ICCVW), Oct. 2019, pp. 1951-1960. ↩︎

  98. A. Pappalardo, Y. Umuroglu, M. Blott, J. Mitrevski, B. Hawks, N. Tran, V. Loncar, S. Summers, H. Borras, J. Muhizi, M. Trahms, S.-C. Hsu, S. Hauck, and J. Duarte, "QONNX: Representing arbitrary-precision quantized neural networks," 2022, arXiv:2206.07527. ↩︎

  99. X. Zhao, R. Xu, and X. Guo, "Post-training quantization or quantization-aware training? That is the question," in Proc. China Semiconductor Technol. Int. Conf. (CSTIC), China, Jun. 2023, pp. 1-3. ↩︎

  100. X. Si et al., "A local computing cell and 6T SRAM-based computing-in-memory macro with 8-b MAC operation for edge AI chips," IEEE J. Solid-State Circuits, vol. 56, no. 9, pp. 2817-2831, Sep. 2021. ↩︎

  101. S. Yu, H. Jiang, S. Huang, X. Peng, and A. Lu, "Compute-in-memory chips for deep learning: Recent trends and prospects," IEEE Circuits Syst. Mag., vol. 21, no. 3, pp. 31-56, 3rd Quart., 2021. ↩︎ ↩︎ ↩︎

  102. Z. Xuan, C. Liu, Y. Zhang, Y. Li, and Y. Kang, "A brain-inspired ADC-free SRAM-based in-memory computing macro with high-precision MAC for AI application," IEEE Trans. Circuits Syst. II: Exp. Briefs, vol. 70, no. 4, pp. 1276-1280, Apr. 2023. ↩︎

  103. A. Ankit, I. E. Hajj, S. R. Chalamalasetti, G. Ndu, M. Foltin, R. S. Williams, P. Faraboschi, W.-M.-W. Hwu, J. P. Strachan, K. Roy, and D. S. Milojicic, "PUMA: A programmable ultra-efficient memristor-based accelerator for machine learning inference," in Proc. 24th Int. Conf. Architectural Support Program. Lang. Operating Syst., Apr. 2019, pp. 715-731. ↩︎

  104. A. Singh, S. Diware, A. Gebregiorgis, R. Bishnoi, F. Catthoor, R. V. Joshi, and S. Hamdioui, "Low-power memristor-based computing for edge-AI applications," in Proc. IEEE Int. Symp. Circuits Syst. (ISCAS), May 2021, pp. 1-5. ↩︎ ↩︎ ↩︎ ↩︎

  105. H. Kim, T. Yoo, T. T. Kim, and B. Kim, "Colonnade: A reconfigurable SRAM-based digital bit-serial compute-in-memory macro for processing neural networks," IEEE J. Solid-State Circuits, vol. 56, no. 7, pp. 2221-2233, Jul. 2021. ↩︎

  106. J. Lin and J.-S. Yuan, "A scalable and reconfigurable in-memory architecture for ternary deep spiking neural network with ReRAM based neurons," Neurocomputing, vol. 375, pp. 102-112, Jan. 2020. ↩︎

  107. X. Jin, R. Krishnan, and R. Sandhu, "A unified attribute-based access control model covering DAC, MAC and RBAC," in Proc. IFIP Annu. Conf. Data Appl. Secur. Privacy, 2012, pp. 41-55. ↩︎ ↩︎

  108. W. Choi, J. Park, Y. Kim, A. Sabharwal, and H. Lim, "Design and implementation of a full-duplex pipelined MAC protocol for multihop wireless networks," IEEE Access, vol. 5, pp. 14930-14942, 2017. ↩︎ ↩︎ ↩︎

  109. M. Richards and N. Ford, Fundamentals of Software Architecture: An Engineering Approach. Sebastopol, CA, USA: O'Reilly Media, 2020. ↩︎

  110. A. A. Farooqui and V. G. Oklobdzija, "General data-path organization of a MAC unit for VLSI implementation of DSP processors," in Proc. IEEE Int. Symp. Circuits Syst. (ISCAS), vol. 2, Apr. 1998, pp. 260-263. ↩︎ ↩︎

  111. S. Swettha, S. Rashmi, N. S. S. Reddy, and R. Hemalatha, "Area and power efficient MAC unit," in Proc. Conf. Signal Process. Commun. Eng. Syst. (SPACES), Jan. 2018, pp. 202-205. ↩︎ ↩︎

  112. P. Jagadeesh, S. Ravi, and K. H. Mallikarjun, "Design of high performance 64 bit MAC unit," in Proc. Int. Conf. Circuits, Power Comput. Technol. (ICCPCT), Mar. 2013, pp. 782-786. ↩︎ ↩︎

  113. Power Efficiency in OS X: Technology Overview, document L519830A, Apple Inc., Oct. 2013. ↩︎

  114. Y.-H. Chen, T. Krishna, J. S. Emer, and V. Sze, "Eyeriss: An energy-efficient reconfigurable accelerator for deep convolutional neural networks," IEEE J. Solid-State Circuits, vol. 52, no. 1, pp. 127-138, Jan. 2017. ↩︎

  115. S. Wu, Y. Zhai, J. Liu, J. Huang, Z. Jian, H. Dai, S. Di, F. Cappello, and Z. Chen, "TurboFFT: Co-designed high-performance and fault-tolerant fast Fourier transform on GPUs," in Proc. 30th ACM SIGPLAN Annu. Symp. Princ. Pract. Parallel Program., Mar. 2025, pp. 70-84. ↩︎ ↩︎ ↩︎

  116. J. Lee, A. Lu, W. Li, and S. Yu, "NeuroSim V1.4: Extending technology support for digital compute-in-memory toward 1nm node," IEEE Trans. Circuits Syst. I, Reg. Papers, vol. 71, no. 4, pp. 1733-1744, Apr. 2024. ↩︎ ↩︎ ↩︎

  117. M. A.-A. Kaiser, G. Datta, P. A. Beerel, and A. R. Jaiswal, "Toward high-accuracy, programmable extreme-edge intelligence for neuromorphic vision sensors utilizing magnetic domain wall motion-based MTJ," in Proc. 61st ACM/IEEE Design Autom. Conf., Jun. 2024, pp. 1-6. ↩︎ ↩︎

  118. Y. Kim, J. H. Baek, I. H. Im, D. H. Lee, M. H. Park, and H. W. Jang, "Two-terminal neuromorphic devices for spiking neural networks: Neurons, synapses, and array integration," ACS Nano, vol. 18, no. 51, pp. 34531-34571, Dec. 2024. ↩︎

  119. S. Hashemi, R. I. Bahar, and S. Reda, "DRUM: A dynamic range unbiased multiplier for approximate applications," in Proc. IEEE/ACM Int. Conf. Computer-Aided Design (ICCAD), Nov. 2015, pp. 418-425. ↩︎

  120. K. Nepal, Y. Li, R. I. Bahar, and S. Reda, "ABACUS: A technique for automated behavioral synthesis of approximate computing circuits," in Proc. Design, Autom. Test Eur. Conf. Exhib. (DATE), Mar. 2014, pp. 1-6. ↩︎

  121. NVIDIA Corporation. (2023). CUDA Toolkit Documentation 13.0, CUDA C Programming Guide. [Online]. Available: https://docs.nvidia.com/cuda/ ↩︎

  122. F. Goetz, T. Junklewitz, and G. Domik, "Real-time marching cubes on the vertex shader," in Proc. Eurographics, Short Presentations, 2005, pp. 5-8. ↩︎ ↩︎

  123. Apple Inc. (2022). Metal Shading Language Specification, Version 4. [Online]. Available: https://developer.apple.com/metal/metal-shading-language/ ↩︎

  124. E. Angel and D. Shreiner, "Teaching a shader-based introduction to computer graphics," IEEE Comput. Graph. Appl., vol. 31, no. 2, pp. 9-13, Mar. 2011. ↩︎ ↩︎ ↩︎ ↩︎

  125. C. Maughan and M. Wloka, "Vertex shader introduction," NVIDIA Corp., Tech. Rep., 2001. ↩︎

  126. J.-H. Sohn, J.-H. Woo, M.-W. Lee, H.-J. Kim, R. Woo, and H.-J. Yoo, "A 155-mW 50-m vertices/s graphics processor with fixed-point programmable vertex shader for mobile applications," IEEE J. Solid-State Circuits, vol. 41, no. 5, pp. 1081-1091, May 2006. ↩︎ ↩︎ ↩︎

  127. L. Mochurad, O. Kotsiumbas, and I. Protsyk, "A model for weather forecasting based on parallel calculations," in Proc. Int. Conf. Artif. Intell., 2023, pp. 35-46. ↩︎

  128. K. Guo, L. Sui, J. Qiu, J. Yu, J. Wang, S. Yao, S. Han, Y. Wang, and H. Yang, "Angel-eye: A complete design flow for mapping CNN onto embedded FPGA," IEEE Trans. Comput.-Aided Design Integr. Circuits Syst., vol. 37, no. 1, pp. 35-47, Jan. 2018. ↩︎ ↩︎

  129. AMD Xilinx. (2023). UltraScale Architecture DSP Slice User Guide. [Online]. Available: https://docs.xilinx.com/r/en-U.S./ug579-ultrascale-DSP ↩︎

  130. R. Rani, L. K. Singh, and N. Sharma, "FPGA implementation of fast adders using quaternary signed digit number system," in Proc. Int. Conf. Emerg. Trends Electron. Photonic Devices Syst., Dec. 2009, pp. 132-135. ↩︎ ↩︎

  131. R. Kumar and A. Gordon-Ross, "MACS: A highly customizable low-latency communication architecture," IEEE Trans. Parallel Distrib. Syst., vol. 27, no. 1, pp. 237-249, Jan. 2016. ↩︎ ↩︎

  132. L. Bernstein, A. Sludds, R. Hamerly, V. Sze, J. Emer, and D. Englund, "Freely scalable and reconfigurable optical hardware for deep learning," Sci. Rep., vol. 11, no. 1, p. 3144, Feb. 2021. ↩︎ ↩︎

  133. L. Parrini, T. Soliman, B. Hettwer, J. M. Borrmann, S. Singh, A. Bende, V. Rana, F. Merchant, and N. Wehn, "Error detection and correction codes for safe in-memory computations," 2024, arXiv:2404.09818. ↩︎

  134. A. Senobari, J. Vafaei, O. Akbari, C. Hochberger, and M. Shafique, "A quality-aware voltage overscaling framework to improve the energy efficiency and lifetime of TPUs based on statistical error modeling," IEEE Access, vol. 12, pp. 92181-92197, 2024. ↩︎

  135. V. Sakellariou, "AI hardware accelerators for deep neural networks based on the residue number system," Ph.D. dissertation, Dept. Comput. Inf. Eng., Khalifa Univ. Sci., Abu Dhabi, UAE, 2024. ↩︎

posted @ 2026-04-08 17:27  sasasatori  阅读(537)  评论(0)    收藏  举报