文献标志码:A
DOI: 10.16157/j.issn.0258-7998.223003
中文引用格式:黄焘,闰闰,胡毅,等. 一种高能效基4-Booth编码并行乘法器设计[J]. 电子技术应用,2023,49(4):117-122.
英文引用格式:Huang Tao,Run Run,Hu Yi,et al. An energy efficient radix-4 Booth encoding parallel multiplier design[J]. Application of Electronic Technique,2023,49(4):117-122.
0 引言
自从2012年AlexNet[1]在ImageNet比赛中获得冠军以来,各种结构的卷积神经网络被发明并广泛应用于图像分类、目标识别、语义分割等场景。由于任务复杂度以及对准确率要求的提高,神经网络的计算量也不断提高,从2012年AlexNet[具有次乘法运算量,到2014年VGG-16的次乘法运算量,再到2017年SENet的次乘法运算量。大量的乘法运算使得运行神经网络的硬件消耗巨大能耗,妨碍了神经网络在移动端硬件平台上的实现。Horowitz M 在2014年ISSCC上发表的论文显示,8 bit乘法消耗的能耗是8 bit加法的6.7倍。所以,降低乘法的能耗是降低神经网络加速器能耗的关键。
乘法器实现乘法可以分为如下三步:部分积生成、部分积压缩和部分积最终相加。前人对乘法器能耗优化的研究主要关注点放在第二步,即部分积压缩的优化上,通过使用4-2压缩器或者7-3压缩器]等新型压缩器来降低乘法器能耗。4-2压缩器、7-3压缩器适用于操作数位宽较宽的乘法,例如16 bit或32 bit,而在8 bit乘法器中由于部分积行数较少,因此降低能耗效果甚微。在神经网络的移动端应用中,以神经网络的推理为主,而神经网络的推理过程使用8 bit精度就足够[。所以,通过设计新型压缩器来降低8 bit乘法器的能耗不是一个有效的方法。第三步部分积最终相加实际上是两行部分积相加得到最终乘法结果,对于这一步能耗最低的设计已有定论,使用行波进位加法器能够以最低能耗完成部分积最终相加。第一步生产部分积的方法中,基-4 Booth编码能够减少一半的部分积数量,是高能效乘法器常用的方法。然而,人们采用传统的取反加一的方法来实现基-4 Booth编码中的求相反数,使得部分积多了若干比特的“加一”补偿位。“加一”补偿位不仅增加了部分积的比特总数,需要更多的加法器或压缩器来完成部分积压缩和最终相加,而且这些补偿位出现在每行部分积的最低位,导致部分积压缩和最终相加过程的关键路径长。可见,“加一”补偿位是导致8 bit乘法器能耗高、延时大的主要原因。
本文提出了一种新的高能效基4-Booth编码并行乘法器设计,通过改进基4-Booth编码部分积生成模块,消除了传统方法中的“加一”补偿位,减少了部分积数目,而且使得部分积阵列规整易于压缩,从而降低了乘法器延时和能耗。
本文详细内容请下载:https://www.chinaaet.com/resource/share/2000005294
作者信息:
黄焘,闰闰,胡毅,尹立,谢翔
(清华大学 集成电路学院,北京 100084)