CN116820396A - 支持不同计算模式的单比特脉动阵列结构 - Google Patents

支持不同计算模式的单比特脉动阵列结构 Download PDF

Info

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
Application number
CN202310750524.1A
Other languages
English (en)
Inventor
乔树山
张默寒
游恒
尚德龙
周玉梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Nanjing Intelligent Technology Research Institute
Original Assignee
Zhongke Nanjing Intelligent Technology Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Nanjing Intelligent Technology Research Institute filed Critical Zhongke Nanjing Intelligent Technology Research Institute
Priority to CN202310750524.1A priority Critical patent/CN116820396A/zh
Publication of CN116820396A publication Critical patent/CN116820396A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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所述支持不同计算模式的单比特脉动阵列结构,其特征在于,各行脉动阵列单元呈矩形阵列排布;
位于同一行的脉动阵列单元,当前列脉动阵列单元的输入寄存器的输出端连接下一列脉动阵列单元的输入寄存器的输入端;
位于同一列的脉动阵列单元,当前行脉动阵列单元的权重寄存器的输出端连接下一行脉动阵列单元的权重寄存器的输入端,当前行脉动阵列单元的累加器的输出端连接下一行脉动阵列单元的部分和寄存器的输入端。
CN202310750524.1A 2023-06-25 2023-06-25 支持不同计算模式的单比特脉动阵列结构 Pending CN116820396A (zh)

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)

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