支持不同计算模式的单比特脉动阵列结构制造技术

技术编号:38994790 阅读:10 留言:0更新日期:2023-10-07 10:25
本发明专利技术公开一种支持不同计算模式的单比特脉动阵列结构,包括选择电路和呈阵列排布的多个脉动阵列单元。每个脉动阵列单元由一个输入寄存器,一个权重寄存器,三个非门,三个三输入与门,一个三输入或门,一个累加器和一个部分和寄存器组成,所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接。本发明专利技术使用逻辑门对单比特的计算进行了处理,使用计算模式选择信号实现不同的计算方案,从而提高了脉动阵列对于不同计算模式的适应性。了脉动阵列对于不同计算模式的适应性。了脉动阵列对于不同计算模式的适应性。

【技术实现步骤摘要】
支持不同计算模式的单比特脉动阵列结构


[0001]本专利技术涉及人工智能领域,具体为一种支持不同计算模式的单比特脉动阵列结构。

技术介绍

[0002]随着人工智能的兴起,深度学习在各个领域中的应用也越来越多。而深度学习中,与矩阵相乘相关的运算使用率极高。目前比较方便快捷的矩阵运算方式是用脉动阵列,而脉动阵列的基本思路为:在A*B=Y的矩阵乘法运算中,固定矩阵B,使A在脉动阵列单元中流动而连续输出Y;或者是使A和B在脉动阵列单元中流动而将结果Y存储于脉动阵列单元中。本专利技术在前一种方式的基础上进行了改进,即在矩阵运算中,先将矩阵A存储于相应的阵列单元的寄存器中,输入矩阵B,计算结果在阵列单元中流动并经选择电路输出。
[0003]神经网络中经常会进行单比特的矩阵乘法,而单比特的矩阵乘法很多时候并不仅仅局限于常规的乘累加计算,很多时候会将乘法计算替换成同或,异或,与,与非等其他的计算并进行累加。
[0004]因此,亟需一种方案来提高脉动阵列对于不同计算模式的适应性。

技术实现思路

[0005]为克服上述现有技术的不足,本专利技术提供一种支持不同计算模式的单比特脉动阵列结构,用以提高脉动阵列对于不同计算模式的适应性。
[0006]本专利技术是根据如下技术方案实现的:
[0007]支持不同计算模式的单比特脉动阵列结构,包括选择电路和呈阵列排布的多个脉动阵列单元,各所述脉动阵列单元均包括输入寄存器、权重寄存器、部分和寄存器、第一非门、第二非门、第三非门、第一三输入与门、第二三输入与门、第三三输入与门、三输入或门和累加器;
[0008]所述输入寄存器的输出端连接第一非门的输入端,所述权重寄存器的输出端连接第二非门的输入端,所述第三非门的输入端输入内部选择信号;所述部分和寄存器的输入端与上一脉动阵列单元的累加器的输出端连接,所述部分和寄存器的的输出端连接累加器的第一输入端,所述累加器的第二输入端连接三输入或门的输出端,所述三输入或门的三个输入端分别连接第一三输入与门的输出端、第二三输入与门的输出端、第三三输入与门的输出端;所述第一三输入与门的输入端分别连接输入寄存器的输出端、权重寄存器的输出端、第三非门的输出端;所述第二三输入与门的输入端分别连接第二非门的输出端、输入寄存器的输出端及内部选择信号;所述第三三输入与门的输入端分别连接权重寄存器的输出端、第一非门的输出端、第三非门的输出端;
[0009]所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接,根据外部选择信号将所述最后一行脉动阵列单元的累加器的计算结果进行按位取反后输出或直接输出。
[0010]可选地,所述单比特脉动阵列结构还包括选择电路,用于接入外部选择信号。
[0011]可选地,在外部选择信号=0,内部选择信号=0时,所述单比特脉动阵列结构进行单比特与运算。
[0012]可选地,在外部选择信号=0,内部选择信号=1时,所述单比特脉动阵列结构进行单比特异或运算。
[0013]可选地,在外部选择信号=1,内部选择信号=1时,所述单比特脉动阵列结构进行单比特同或运算。
[0014]可选地,在外部选择信号=1,内部选择信号=0时,所述单比特脉动阵列结构进行单比特与非运算。
[0015]可选地,所述的外部选择信号和内部选择信号在同一次计算中保持不变。
[0016]可选地,各行脉动阵列单元呈矩形阵列排布;
[0017]位于同一行的脉动阵列单元,当前列脉动阵列单元的输入寄存器的输出端连接下一列脉动阵列单元的输入寄存器的输入端;
[0018]位于同一列的脉动阵列单元,当前行脉动阵列单元的权重寄存器的输出端连接下一行脉动阵列单元的权重寄存器的输入端,当前行脉动阵列单元的累加器的输出端连接下一行脉动阵列单元的部分和寄存器的输入端。
[0019]与现有技术相比,本专利技术的有益效果在于:
[0020]本专利技术在原有脉动阵列的基础上进行了改动,先将矩阵A存储于相应的阵列单元的寄存器中,输入矩阵B,两个矩阵的计算结果在阵列单元中流动并经选择电路输出,使脉动阵列可以更好地支持异或、同或、与、与非四种不同类型的单比特矩阵乘法计算,可以有效提高脉动阵列对于不同类型的矩阵乘法的适应性。
附图说明
[0021]图1为根据本专利技术实施例的脉动阵列单元结构示意图。
[0022]图2为根据本专利技术实施例的脉动阵列结构示意图。
[0023]图3为根据本专利技术实施例的脉动阵列计算原理示意图。
[0024]图中:1、第一非门;2、第二非门;3、第三非门;4、第一三输入与门;5、第二三输入与门;6、第三三输入与门。
具体实施方式
[0025]以下将结合附图对本专利技术各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本专利技术所保护的范围。
[0026]在本专利技术的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0027]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相
连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0028]针对单比特的矩阵乘法很多时候并不仅仅局限于常规的乘累加计算,而是将乘法计算替换成同或,异或,与,与非等其他的计算并进行累加的需求,本专利技术使用逻辑门对单比特的计算进行了处理,使用计算模式选择信号实现不同的计算方案,从而提高了脉动阵列对于不同计算模式的适应性。
[0029]本专利技术在现有使矩阵A和矩阵B在脉动阵列单元中流动而将结果Y存储于脉动阵列单元中的脉动阵列思路基础上,对传统脉动阵列解结构进行了改进,在矩阵运算中,先将矩阵A存储于相应的阵列单元的寄存器中,输入矩阵B,计算结果在阵列单元中流动并经选择电路输出。
[0030]如图1所示,一种支持不同计算模式的单比特脉动阵列结构,包括选择电路和呈阵列排布的多个脉动阵列单元。每个脉动阵列单元由一个输入寄存器,一个权重寄存器,三个非门,三个三输入与门,一个三输入或门,一个累加器和一个部分和寄存器组成。
[0031]将三个非门分别定义为第一非门、第二非门、第三非门,将三个三输入与门分别定义为第一三输入与门、第二三输入与门、第三三输入与门。
[0032]如图1中所示,所述输入寄存器的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.支持不同计算模式的单比特脉动阵列结构,其特征在于,包括选择电路和呈阵列排布的多个脉动阵列单元,各所述脉动阵列单元均包括输入寄存器、权重寄存器、部分和寄存器、第一非门、第二非门、第三非门、第一三输入与门、第二三输入与门、第三三输入与门、三输入或门和累加器;所述输入寄存器的输出端连接第一非门的输入端,所述权重寄存器的输出端连接第二非门的输入端,所述第三非门的输入端输入内部选择信号;所述部分和寄存器的输入端与上一脉动阵列单元的累加器的输出端连接,所述部分和寄存器的输出端连接累加器的第一输入端,所述累加器的第二输入端连接三输入或门的输出端,所述三输入或门的三个输入端分别连接第一三输入与门的输出端、第二三输入与门的输出端、第三三输入与门的输出端;所述第一三输入与门的输入端分别连接输入寄存器的输出端、权重寄存器的输出端、第三非门的输出端;所述第二三输入与门的输入端分别连接第二非门的输出端、输入寄存器的输出端及内部选择信号;所述第三三输入与门的输入端分别连接权重寄存器的输出端、第一非门的输出端、第三非门的输出端;所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接,根据外部选择信号将所述最后一行脉动阵列单元的累加器的计算结果进行按位取反后输出或直接输出。2.根据权利要求1所述支持不同计算模式的单...

【专利技术属性】
技术研发人员:乔树山张默寒游恒尚德龙周玉梅
申请(专利权)人:中科南京智能技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1