支持四种单比特计算模式的脉动阵列结构及计算模式控制方法与流程

未命名 09-13 阅读:94 评论:0


1.本发明涉及支持四种单比特计算模式的脉动阵列结构及计算模式控制方法,属于脉动阵列结构技术领域。


背景技术:

2.随着人工智能的兴起,深度学习在各个领域中的应用也越来越多。而深度学习中,与矩阵相乘相关的运算使用率极高。目前比较方便快捷的矩阵运算方式是用脉动阵列,而脉动阵列一种实现方案为:使a和b在脉动阵列单元中流动而将结果y存储于脉动阵列单元中。本发明在该方案的基础上进行改进;在矩阵运算中,两个应相乘的矩阵从脉动阵列的不同方向进行输入,最终计算结果存储于脉动阵列单元中。
3.神经网络中经常会进行单比特的矩阵乘法,而单比特的矩阵乘法很多时候并不仅仅局限于常规的乘累加计算,很多时候会将乘法计算替换成同或,异或,与,与非等其他的计算并进行累加;但现有技术中并没有能够同时支持上述四种计算模式的脉动阵列结构。


技术实现要素:

4.本发明的目的在于提供支持四种单比特计算模式的脉动阵列结构及计算模式控制方法,解决现有技术中无法同时支持四种单比特计算模式的问题。
5.为实现以上目的,本发明是采用下述技术方案实现的:
6.第一方面,本发明提供了支持四种单比特计算模式的脉动阵列结构,包括多个互相连接的脉动阵列单元,所述脉动阵列单元包括一个输入寄存器、一个权重寄存器、三个非门、四个三输入与门、一个四输入或门、一个累加器和一个计算结果寄存器,三输入与门包括第一与门、第二与门、第三与门和第四与门;
7.输入寄存器的输出端,直接连接第二与门和第三与门的输入端,通过非门连接第一与门和第四与门的输入端;
8.权重寄存器的输出端,直接连接第二与门和第四与门的输入端,通过非门连接第一与门和第三与门的输入端;
9.还设有发送第一计算模式选择信号的第一发送器,第一发送器的输出端连接至第一与门的输入端;
10.还设有发送第二计算模式选择信号的第二发送器,第二发送器的输出端,直接连接第三与门和第四与门的输入端,通过非门连接第二与门的输入端;
11.四个三输入与门的输出端都连接四输入或门的输入端,四输入或门的输出端连接累加器的输入端,累加器将接收的数据进行计算后将计算结果传送给计算结果寄存器;
12.通过第一发送器发送不同的第一计算模式选择信号和第二发送器发送不同的第二计算模式选择信号,实现对输入寄存器发送的输入数据和权重寄存器发送的权重数据的计算模式的控制,第一计算模式选择信号、第二计算模式选择信号、输入数据和权重数据都
是单比特信号。
13.结合第一方面,进一步的,还包括一个二输入与门,所述二输入与门的输入端连接所述第一发送器和所述第二发送器,所述二输入与门的输出端连接所述输出寄存器的复位输入端,第一发送器和第二发送器每接收到一次复位信号就发送一次第一计算模式选择信号和第二计算模式选择信号,通过所述二输入与门传送给输出寄存器,实现输出寄存器的复位。
14.结合第一方面,进一步的,所述第一发送器的输出端连接所述权重寄存器的复位输入端,第一发送器每接收到一次复位信号就发送一次第一计算模式选择信号给权重寄存器,实现权重寄存器的复位。
15.结合第一方面,进一步的,所述输入寄存器的输出端连接下一个脉动阵列单元中输入寄存器的输入端,实现输入数据在脉动阵列单元中的传送。
16.结合第一方面,进一步的,所述权重寄存器的输出端连接下一个脉动阵列单元中权重寄存器的输入端,实现权重数据在脉动阵列单元中的传送。
17.结合第一方面,进一步的,所述第一发送器的输出端连接下一个脉动阵列单元中第一发送器的输入端,实现第一计算模式选择信号在脉动阵列单元中的传送。
18.结合第一方面,进一步的,所述第二发送器的输出端连接下一个脉动阵列单元中第二发送器的输入端,实现第二计算模式选择信号在脉动阵列单元中的传送。
19.结合第一方面,进一步的,所述脉动阵列单元设有9个,以3行3列的模式进行排列连接。
20.第二方面,本发明还提供了基于第一方面任一项所述脉动阵列结构的计算模式控制方法,包括:
21.当c=0,d=0时,输入数据和权重数据进行单比特与运算;
22.c=0,d=1时,输入数据和权重数据进行单比特异或运算;
23.c=1,d=1时,输入数据和权重数据进行单比特与非运算;
24.c=1,d=0时,输入数据和权重数据进行单比特同或运算;
25.其中,c是第一计算模式选择信号,d是第二计算模式选择信号。
26.与现有技术相比,本发明所达到的有益效果是:
27.本发明提供的支持四种单比特计算模式的脉动阵列结构及计算模式控制方法,在原有脉动阵列的基础上进行了改进,使用不同逻辑门的组合,对单比特计算进行了处理,通过第一计算模式选择信号和第二计算模式选择信号的控制,实现不同的计算模式的控制,使脉动阵列可以更好的支持异或、同或、与和与非四种不同类型的单比特计算模式,从而提高了脉动阵列对于不同计算模式的适用性。
附图说明
28.图1是本发明实施例提供的支持四种单比特计算模式的脉动阵列单元的示意图;
29.图2是本发明实施例提供的支持四种单比特计算模式的脉动阵列结构的示意图;
30.图3是本发明实施例提供的支持四种单比特计算模式的脉动阵列结构的计算示意图。
具体实施方式
31.下面结合附图对本发明作进一步描述,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
32.实施例1
33.如图2所示,本发明实施例提供了支持四种单比特计算模式的脉动阵列结构,包括9个互相连接的脉动阵列单元,图2为脉动阵列单元之间的连接方式,以3
×
3的脉动阵列结构为例,众多脉动阵列单元组成了一个完整的脉动阵列结构。
34.图2中,纵向相邻的两个脉动阵列单元之间的三根线分别用来传输权重数据a、第一计算模式选择信号c和第二计算模式选择信号d,横向相邻的两个脉动阵列单元之间的线用来传输输入数据b。
35.如图1所示,脉动阵列单元包括一个输入寄存器、一个权重寄存器、三个非门、四个三输入与门、一个二输入与门、一个四输入或门、一个累加器和一个计算结果寄存器,三输入与门包括第一与门、第二与门、第三与门和第四与门。
36.输入寄存器的输出端,直接连接第二与门和第三与门的输入端,通过非门连接第一与门和第四与门的输入端;
37.权重寄存器的输出端,直接连接第二与门和第四与门的输入端,通过非门连接第一与门和第三与门的输入端;
38.还设有发送第一计算模式选择信号的第一发送器,第一发送器的输出端连接至第一与门的输入端;
39.还设有发送第二计算模式选择信号的第二发送器,第二发送器的输出端,直接连接第三与门和第四与门的输入端,通过非门连接第二与门的输入端;
40.四个三输入与门的输出端都连接四输入或门的输入端,四输入或门的输出端连接累加器的输入端,累加器将接收的数据进行计算后将计算结果传送给计算结果寄存器;
41.通过第一发送器发送不同的第一计算模式选择信号和第二发送器发送不同的第二计算模式选择信号,实现对输入寄存器发送的输入数据和权重寄存器发送的权重数据的计算模式的控制,第一计算模式选择信号、第二计算模式选择信号、输入数据和权重数据都是单比特信号。
42.通过上述脉动阵列单元的结构,实现:第一与门的输入为~a、~b和c,第二与门的输入为a、b和~d,第三与门的输入为~a、b和d,第四与门的输入为a、~b和d,四个三输入与门的输入连接到一个四输入或门,则四输入或门的输出为(~a)&(~b)&c+a&b&(~d)+(~a)&b&d+a&(~b)&d,该布尔逻辑表达式在c和d取不同值时,可以实现权重数据a与输入数据b进行不同的逻辑运算。
43.具体的逻辑运算包括:
44.当c=0,d=0时,输入数据和权重数据进行单比特与运算;
45.c=0,d=1时,输入数据和权重数据进行单比特异或运算;
46.c=1,d=1时,输入数据和权重数据进行单比特与非运算;
47.c=1,d=0时,输入数据和权重数据进行单比特同或运算。
48.c和d除了作为选择信号之外,还决定了权重寄存器和输入寄存器的复位数据,其中,权重寄存器的复位数据为信号c,输入寄存器复位数据为c&d;通过以下设置实现:
49.二输入与门的输入端连接第一发送器和第二发送器,二输入与门的输出端连接输出寄存器的复位输入端,第一发送器和第二发送器每接收到一次复位信号就发送一次第一计算模式选择信号和第二计算模式选择信号,通过二输入与门传送给输出寄存器,实现输出寄存器的复位。
50.第一发送器的输出端连接权重寄存器的复位输入端,第一发送器每接收到一次复位信号就发送一次第一计算模式选择信号给权重寄存器,实现权重寄存器的复位。
51.如图1所示,输入寄存器的输出端连接下一个脉动阵列单元中输入寄存器的输入端,实现输入数据在脉动阵列单元中的传送;权重寄存器的输出端连接下一个脉动阵列单元中权重寄存器的输入端,实现权重数据在脉动阵列单元中的传送;第一发送器的输出端连接下一个脉动阵列单元中第一发送器的输入端,实现第一计算模式选择信号在脉动阵列单元中的传送;第二发送器的输出端连接下一个脉动阵列单元中第二发送器的输入端,实现第二计算模式选择信号在脉动阵列单元中的传送。
52.脉动阵列的输入方式,以以3
×
3的脉动阵列为例,计算的矩阵乘法为:
53.b11b12b13a11a12a13
54.b21b22b23
×
a21a22a23
55.b31b32b33a31a32a33
56.其中,权重数据矩阵和输入数据矩阵如上式所示,第一计算模式选择信号c和第二计算模式选择信号d同样对权重数据矩阵和输入数据矩阵进行填充形成新的输入阵列,权重数据矩阵使用c来填充,输入数据矩阵使用c&d来填充,如图3所示,c和d在一次计算中保持不变。
57.常规矩阵乘法实现的是乘累加操作,但在实际的单比特神经网络计算中经常需要实现将乘替换成同或,异或,与,与非等运算。本发明便是基于此需要实现不同类型的单比特矩阵计算,可以有效提高脉动阵列对于不同类型的矩阵乘法的适应性。在矩阵运算中,两个应相乘的矩阵从脉动阵列的不同方向进行输入,最终计算结果存储于脉动阵列单元中。
58.实施例2
59.本发明实施例还提供了基于实施例1提供的脉动阵列结构的计算模式控制方法,包括:
60.当c=0,d=0时,输入数据和权重数据进行单比特与运算;
61.c=0,d=1时,输入数据和权重数据进行单比特异或运算;
62.c=1,d=1时,输入数据和权重数据进行单比特与非运算;
63.c=1,d=0时,输入数据和权重数据进行单比特同或运算;
64.其中,c是第一计算模式选择信号,d是第二计算模式选择信号。
65.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

技术特征:
1.支持四种单比特计算模式的脉动阵列结构,其特征在于,包括多个互相连接的脉动阵列单元,所述脉动阵列单元包括一个输入寄存器、一个权重寄存器、三个非门、四个三输入与门、一个四输入或门、一个累加器和一个计算结果寄存器,三输入与门包括第一与门、第二与门、第三与门和第四与门;输入寄存器的输出端,直接连接第二与门和第三与门的输入端,通过非门连接第一与门和第四与门的输入端;权重寄存器的输出端,直接连接第二与门和第四与门的输入端,通过非门连接第一与门和第三与门的输入端;还设有发送第一计算模式选择信号的第一发送器,第一发送器的输出端连接至第一与门的输入端;还设有发送第二计算模式选择信号的第二发送器,第二发送器的输出端,直接连接第三与门和第四与门的输入端,通过非门连接第二与门的输入端;四个三输入与门的输出端都连接四输入或门的输入端,四输入或门的输出端连接累加器的输入端,累加器将接收的数据进行计算后将计算结果传送给计算结果寄存器;通过第一发送器发送不同的第一计算模式选择信号和第二发送器发送不同的第二计算模式选择信号,实现对输入寄存器发送的输入数据和权重寄存器发送的权重数据的计算模式的控制,第一计算模式选择信号、第二计算模式选择信号、输入数据和权重数据都是单比特信号。2.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,还包括一个二输入与门,所述二输入与门的输入端连接所述第一发送器和所述第二发送器,所述二输入与门的输出端连接所述输出寄存器的复位输入端,第一发送器和第二发送器每接收到一次复位信号就发送一次第一计算模式选择信号和第二计算模式选择信号,通过所述二输入与门传送给输出寄存器,实现输出寄存器的复位。3.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,所述第一发送器的输出端连接所述权重寄存器的复位输入端,第一发送器每接收到一次复位信号就发送一次第一计算模式选择信号给权重寄存器,实现权重寄存器的复位。4.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,所述输入寄存器的输出端连接下一个脉动阵列单元中输入寄存器的输入端,实现输入数据在脉动阵列单元中的传送。5.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,所述权重寄存器的输出端连接下一个脉动阵列单元中权重寄存器的输入端,实现权重数据在脉动阵列单元中的传送。6.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,所述第一发送器的输出端连接下一个脉动阵列单元中第一发送器的输入端,实现第一计算模式选择信号在脉动阵列单元中的传送。7.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,所述第二发送器的输出端连接下一个脉动阵列单元中第二发送器的输入端,实现第二计算模式选择信号在脉动阵列单元中的传送。8.根据权利要求1所述的支持四种单比特计算模式的脉动阵列结构,其特征在于,所述
脉动阵列单元设有9个,以3行3列的模式进行排列连接。9.基于权利要求1-8任一项所述脉动阵列结构的计算模式控制方法,其特征在于,包括:当c=0,d=0时,输入数据和权重数据进行单比特与运算;c=0,d=1时,输入数据和权重数据进行单比特异或运算;c=1,d=1时,输入数据和权重数据进行单比特与非运算;c=1,d=0时,输入数据和权重数据进行单比特同或运算;其中,c是第一计算模式选择信号,d是第二计算模式选择信号。

技术总结
本发明公开了支持四种单比特计算模式的脉动阵列结构及计算模式控制方法,属于脉动阵列结构技术领域,在原有脉动阵列的基础上进行了改进,使用不同逻辑门的组合,对单比特计算进行了处理,通过第一计算模式选择信号和第二计算模式选择信号的控制,实现不同的计算模式的控制,使脉动阵列可以更好的支持异或、同或、与和与非四种不同类型的单比特计算模式,从而提高了脉动阵列对于不同计算模式的适用性。提高了脉动阵列对于不同计算模式的适用性。提高了脉动阵列对于不同计算模式的适用性。


技术研发人员:乔树山 张默寒 游恒 尚德龙 周玉梅
受保护的技术使用者:中科南京智能技术研究院
技术研发日:2023.06.09
技术公布日:2023/9/12
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐