CN116820396A - 支持不同计算模式的单比特脉动阵列结构 - Google Patents
支持不同计算模式的单比特脉动阵列结构 Download PDFInfo
- Publication number
- CN116820396A CN116820396A CN202310750524.1A CN202310750524A CN116820396A CN 116820396 A CN116820396 A CN 116820396A CN 202310750524 A CN202310750524 A CN 202310750524A CN 116820396 A CN116820396 A CN 116820396A
- Authority
- CN
- China
- Prior art keywords
- input
- gate
- output end
- systolic array
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 32
- 230000010349 pulsation Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 abstract description 3
- 239000011159 matrix material Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开一种支持不同计算模式的单比特脉动阵列结构,包括选择电路和呈阵列排布的多个脉动阵列单元。每个脉动阵列单元由一个输入寄存器,一个权重寄存器,三个非门,三个三输入与门,一个三输入或门,一个累加器和一个部分和寄存器组成,所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接。本发明使用逻辑门对单比特的计算进行了处理,使用计算模式选择信号实现不同的计算方案,从而提高了脉动阵列对于不同计算模式的适应性。
Description
技术领域
本发明涉及人工智能领域,具体为一种支持不同计算模式的单比特脉动阵列结构。
背景技术
随着人工智能的兴起,深度学习在各个领域中的应用也越来越多。而深度学习中,与矩阵相乘相关的运算使用率极高。目前比较方便快捷的矩阵运算方式是用脉动阵列,而脉动阵列的基本思路为:在A*B=Y的矩阵乘法运算中,固定矩阵B,使A在脉动阵列单元中流动而连续输出Y;或者是使A和B在脉动阵列单元中流动而将结果Y存储于脉动阵列单元中。本发明在前一种方式的基础上进行了改进,即在矩阵运算中,先将矩阵A存储于相应的阵列单元的寄存器中,输入矩阵B,计算结果在阵列单元中流动并经选择电路输出。
神经网络中经常会进行单比特的矩阵乘法,而单比特的矩阵乘法很多时候并不仅仅局限于常规的乘累加计算,很多时候会将乘法计算替换成同或,异或,与,与非等其他的计算并进行累加。
因此,亟需一种方案来提高脉动阵列对于不同计算模式的适应性。
发明内容
为克服上述现有技术的不足,本发明提供一种支持不同计算模式的单比特脉动阵列结构,用以提高脉动阵列对于不同计算模式的适应性。
本发明是根据如下技术方案实现的:
支持不同计算模式的单比特脉动阵列结构,包括选择电路和呈阵列排布的多个脉动阵列单元,各所述脉动阵列单元均包括输入寄存器、权重寄存器、部分和寄存器、第一非门、第二非门、第三非门、第一三输入与门、第二三输入与门、第三三输入与门、三输入或门和累加器;
所述输入寄存器的输出端连接第一非门的输入端,所述权重寄存器的输出端连接第二非门的输入端,所述第三非门的输入端输入内部选择信号;所述部分和寄存器的输入端与上一脉动阵列单元的累加器的输出端连接,所述部分和寄存器的的输出端连接累加器的第一输入端,所述累加器的第二输入端连接三输入或门的输出端,所述三输入或门的三个输入端分别连接第一三输入与门的输出端、第二三输入与门的输出端、第三三输入与门的输出端;所述第一三输入与门的输入端分别连接输入寄存器的输出端、权重寄存器的输出端、第三非门的输出端;所述第二三输入与门的输入端分别连接第二非门的输出端、输入寄存器的输出端及内部选择信号;所述第三三输入与门的输入端分别连接权重寄存器的输出端、第一非门的输出端、第三非门的输出端;
所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接,根据外部选择信号将所述最后一行脉动阵列单元的累加器的计算结果进行按位取反后输出或直接输出。
可选地,所述单比特脉动阵列结构还包括选择电路,用于接入外部选择信号。
可选地,在外部选择信号=0,内部选择信号=0时,所述单比特脉动阵列结构进行单比特与运算。
可选地,在外部选择信号=0,内部选择信号=1时,所述单比特脉动阵列结构进行单比特异或运算。
可选地,在外部选择信号=1,内部选择信号=1时,所述单比特脉动阵列结构进行单比特同或运算。
可选地,在外部选择信号=1,内部选择信号=0时,所述单比特脉动阵列结构进行单比特与非运算。
可选地,所述的外部选择信号和内部选择信号在同一次计算中保持不变。
可选地,各行脉动阵列单元呈矩形阵列排布;
位于同一行的脉动阵列单元,当前列脉动阵列单元的输入寄存器的输出端连接下一列脉动阵列单元的输入寄存器的输入端;
位于同一列的脉动阵列单元,当前行脉动阵列单元的权重寄存器的输出端连接下一行脉动阵列单元的权重寄存器的输入端,当前行脉动阵列单元的累加器的输出端连接下一行脉动阵列单元的部分和寄存器的输入端。
与现有技术相比,本发明的有益效果在于:
本发明在原有脉动阵列的基础上进行了改动,先将矩阵A存储于相应的阵列单元的寄存器中,输入矩阵B,两个矩阵的计算结果在阵列单元中流动并经选择电路输出,使脉动阵列可以更好地支持异或、同或、与、与非四种不同类型的单比特矩阵乘法计算,可以有效提高脉动阵列对于不同类型的矩阵乘法的适应性。
附图说明
图1为根据本发明实施例的脉动阵列单元结构示意图。
图2为根据本发明实施例的脉动阵列结构示意图。
图3为根据本发明实施例的脉动阵列计算原理示意图。
图中:1、第一非门;2、第二非门;3、第三非门;4、第一三输入与门;5、第二三输入与门;6、第三三输入与门。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
针对单比特的矩阵乘法很多时候并不仅仅局限于常规的乘累加计算,而是将乘法计算替换成同或,异或,与,与非等其他的计算并进行累加的需求,本发明使用逻辑门对单比特的计算进行了处理,使用计算模式选择信号实现不同的计算方案,从而提高了脉动阵列对于不同计算模式的适应性。
本发明在现有使矩阵A和矩阵B在脉动阵列单元中流动而将结果Y存储于脉动阵列单元中的脉动阵列思路基础上,对传统脉动阵列解结构进行了改进,在矩阵运算中,先将矩阵A存储于相应的阵列单元的寄存器中,输入矩阵B,计算结果在阵列单元中流动并经选择电路输出。
如图1所示,一种支持不同计算模式的单比特脉动阵列结构,包括选择电路和呈阵列排布的多个脉动阵列单元。每个脉动阵列单元由一个输入寄存器,一个权重寄存器,三个非门,三个三输入与门,一个三输入或门,一个累加器和一个部分和寄存器组成。
将三个非门分别定义为第一非门、第二非门、第三非门,将三个三输入与门分别定义为第一三输入与门、第二三输入与门、第三三输入与门。
如图1中所示,所述输入寄存器的输出端连接第一非门的输入端,所述权重寄存器的输出端连接第二非门的输入端,所述第三非门的输入端输入内部选择信号(即图中的计算模式选择信号D);所述部分和寄存器的输入端与上一脉动阵列单元的累加器的输出端连接,所述部分和寄存器的的输出端连接累加器的第一输入端,所述累加器的第二输入端连接三输入或门的输出端,所述三输入或门的三个输入端分别连接第一三输入与门的输出端、第二三输入与门的输出端、第三三输入与门的输出端;所述第一三输入与门的输入端分别连接输入寄存器的输出端、权重寄存器的输出端、第三非门的输出端;所述第二三输入与门的输入端分别连接第二非门的输出端、输入寄存器的输出端及计算模式选择信号D;所述第三三输入与门的输入端分别连接权重寄存器的输出端、第一非门的输出端、第三非门的输出端;
所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接,根据外部选择信号将所述最后一行脉动阵列单元的累加器的计算结果进行按位取反后输出或直接输出。
各行脉动阵列单元呈矩形阵列排布;位于同一行的脉动阵列单元,当前列脉动阵列单元的输入寄存器的输出端连接下一列脉动阵列单元的输入寄存器的输入端;位于同一列的脉动阵列单元,当前行脉动阵列单元的权重寄存器的输出端连接下一行脉动阵列单元的权重寄存器的输入端,当前行脉动阵列单元的累加器的输出端连接下一行脉动阵列单元的部分和寄存器的输入端。
计算模式选择信号C和D用于选择单比特运算的模式。其中,计算模式选择信号C为外部选择信号,作用于脉动阵列单元之外的选择电路。
作为一种实施方式,设定为C=0,D=0时,所述单比特脉动阵列结构进行单比特与运算;C=0,D=1时,所述单比特脉动阵列结构进行单比特异或运算;C=1,D=1时,所述单比特脉动阵列结构进行单比特同或运算;C=1,D=0时,所述单比特脉动阵列结构进行单比特与非运算;其中计算模式选择信号C并不作用于脉动阵列单元中,而是作用于脉动阵列单元之外的选择电路。计算模式选择信号D作用于脉动阵列单元中。
图2为脉动阵列单元之间的连接方式,以3×3的脉动阵列为例,众多脉动阵列单元组成了一个完整的脉动阵列。纵向相邻的两个脉动阵列单元的三根线用来传输权重数据A,计算模式选择信号D和该阵列单元的部分和。横向相邻的两个脉动阵列单元的线用来传输输入数据B,与上图相对应。
选择电路由按位取反电路和二选一选择器组成,C=1时将累加器的计算结果取反,C=0时则直接输出累加器的计算结果。
下图为脉动阵列的输入方式,仍是以3×3的脉动阵列为例。计算的矩阵乘法为
计算模式选择信号C与D在同一次计算中保持不变。计算时,权重矩阵事先存储于阵列单元的权重寄存器中,输入数据如图3所示方式输入。
常规矩阵乘法实现的是乘累加操作,但在实际的单比特神经网络计算中经常需要实现将乘替换成同或,异或,与,与非等运算。本发明便是基于此需要实现不同类型的单比特矩阵计算,可以有效提高脉动阵列对于不同类型的矩阵乘法的适应性。
本发明对传统脉动阵列解结构进行了改进,使之可以适应四种不同的单比特计算模式的矩阵乘法运算,有利于提高脉动阵列对于不同的计算模式的适应性。
在本说明书的描述中,参考术语“一个实施方式”、“某些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案。
Claims (7)
1.支持不同计算模式的单比特脉动阵列结构,其特征在于,包括选择电路和呈阵列排布的多个脉动阵列单元,各所述脉动阵列单元均包括输入寄存器、权重寄存器、部分和寄存器、第一非门、第二非门、第三非门、第一三输入与门、第二三输入与门、第三三输入与门、三输入或门和累加器;
所述输入寄存器的输出端连接第一非门的输入端,所述权重寄存器的输出端连接第二非门的输入端,所述第三非门的输入端输入内部选择信号;所述部分和寄存器的输入端与上一脉动阵列单元的累加器的输出端连接,所述部分和寄存器的输出端连接累加器的第一输入端,所述累加器的第二输入端连接三输入或门的输出端,所述三输入或门的三个输入端分别连接第一三输入与门的输出端、第二三输入与门的输出端、第三三输入与门的输出端;所述第一三输入与门的输入端分别连接输入寄存器的输出端、权重寄存器的输出端、第三非门的输出端;所述第二三输入与门的输入端分别连接第二非门的输出端、输入寄存器的输出端及内部选择信号;所述第三三输入与门的输入端分别连接权重寄存器的输出端、第一非门的输出端、第三非门的输出端;
所述选择电路与脉动阵列结构中最后一行脉动阵列单元的累加器连接,根据外部选择信号将所述最后一行脉动阵列单元的累加器的计算结果进行按位取反后输出或直接输出。
2.根据权利要求1所述支持不同计算模式的单比特脉动阵列结构,其特征在于,在外部选择信号=0,内部选择信号=0时,所述单比特脉动阵列结构进行单比特与运算。
3.根据权利要求1所述支持不同计算模式的单比特脉动阵列结构,其特征在于,在外部选择信号=0,内部选择信号=1时,所述单比特脉动阵列结构进行单比特异或运算。
4.根据权利要求1所述支持不同计算模式的单比特脉动阵列结构,其特征在于,在外部选择信号=1,内部选择信号=1时,所述单比特脉动阵列结构进行单比特同或运算。
5.根据权利要求1所述支持不同计算模式的单比特脉动阵列结构,其特征在于,在外部选择信号=1,内部选择信号=0时,所述单比特脉动阵列结构进行单比特与非运算。
6.根据权利要求1所述支持不同计算模式的单比特脉动阵列结构,其特征在于,所述外部选择信号和内部选择信号在同一次计算中保持不变。
7.根据权利要求1所述支持不同计算模式的单比特脉动阵列结构,其特征在于,各行脉动阵列单元呈矩形阵列排布;
位于同一行的脉动阵列单元,当前列脉动阵列单元的输入寄存器的输出端连接下一列脉动阵列单元的输入寄存器的输入端;
位于同一列的脉动阵列单元,当前行脉动阵列单元的权重寄存器的输出端连接下一行脉动阵列单元的权重寄存器的输入端,当前行脉动阵列单元的累加器的输出端连接下一行脉动阵列单元的部分和寄存器的输入端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310750524.1A CN116820396A (zh) | 2023-06-25 | 2023-06-25 | 支持不同计算模式的单比特脉动阵列结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310750524.1A CN116820396A (zh) | 2023-06-25 | 2023-06-25 | 支持不同计算模式的单比特脉动阵列结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820396A true CN116820396A (zh) | 2023-09-29 |
Family
ID=88123563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310750524.1A Pending CN116820396A (zh) | 2023-06-25 | 2023-06-25 | 支持不同计算模式的单比特脉动阵列结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820396A (zh) |
-
2023
- 2023-06-25 CN CN202310750524.1A patent/CN116820396A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109800876B (zh) | 一种基于NOR Flash模块的神经网络的数据运算方法 | |
US11409438B2 (en) | Peripheral circuit and system supporting RRAM-based neural network training | |
CN110008440B (zh) | 一种基于模拟矩阵运算单元的卷积运算及其应用 | |
CN108629406B (zh) | 用于卷积神经网络的运算装置 | |
WO2017127086A1 (en) | Analog sub-matrix computing from input matrixes | |
US11494623B2 (en) | Processing element and operating method thereof in neural network | |
US11881872B2 (en) | Computational memory with zero disable and error detection | |
CN110383282A (zh) | 用于混合信号计算的系统和方法 | |
CN111095300A (zh) | 使用半导体存储元件的神经网络运算电路 | |
CN109905115A (zh) | 一种可逆逻辑电路及其操作方法 | |
US4162534A (en) | Parallel alignment network for d-ordered vector elements | |
CN116820396A (zh) | 支持不同计算模式的单比特脉动阵列结构 | |
KR100596123B1 (ko) | 어드레스 디코더 시스템 | |
TWI782573B (zh) | 記憶體內運算器及記憶體內運算方法 | |
CN112913144B (zh) | 用于差分输出电压的模数转换器以及模数转换方法 | |
CN113992535A (zh) | 一种网络可靠性评估方法、装置、电子设备 | |
CN117111882A (zh) | 一种支持两种位宽计算的脉动阵列结构 | |
CN114626517B (zh) | 一种存储双层权重数据的脉动阵列 | |
CN116185338B (zh) | 基于忆阻器的乘法器 | |
EP4180946A1 (en) | Computing device for performing digital pulse-based crossbar operation and method of operating the computing device | |
CN104950319B (zh) | 导航信号抗干扰自适应处理方法及处理装置 | |
US20220222044A1 (en) | Multiplication-and-accumulation circuits and processing-in-memory devices having the same | |
US20230418600A1 (en) | Non-volatile memory die with latch-based multiply-accumulate components | |
CN110262771B (zh) | 一种基于mos晶体管的基本运算电路及其扩展电路 | |
CN111445940B (zh) | 编码型闪存结构及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |