文獻標志碼: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編碼部分積生成模塊,消除了傳統方法中的“加一”補償位,減少了部分積數目,而且使得部分積陣列規整易于壓縮,從而降低了乘法器延時和能耗。
本文詳細內容請下載:http://www.j7575.cn/resource/share/2000005294
作者信息:
黃燾,閏閏,胡毅,尹立,謝翔
(清華大學 集成電路學院,北京 100084)