CN115906968A - 双有符号操作数非易失性存算一体单元、阵列及运算方法 - Google Patents
双有符号操作数非易失性存算一体单元、阵列及运算方法 Download PDFInfo
- Publication number
- CN115906968A CN115906968A CN202211395177.7A CN202211395177A CN115906968A CN 115906968 A CN115906968 A CN 115906968A CN 202211395177 A CN202211395177 A CN 202211395177A CN 115906968 A CN115906968 A CN 115906968A
- Authority
- CN
- China
- Prior art keywords
- memristor
- current
- source line
- unit
- weight storage
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 33
- 230000009977 dual effect Effects 0.000 claims description 27
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 12
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 6
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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
- Semiconductor Memories (AREA)
Abstract
本发明公开了一种双有符号操作数非易失性存算一体单元、阵列及运算方法,非易失性存算一体单元包括:第一忆阻器单元、第二忆阻器单元与反相器;第一忆阻器单元分别与位线、字线以及源线连接;第二忆阻器单元分别与反相器的输出端、字线以及源线连接;反相器的输入端与位线连接,用于对输入至第二忆阻器单元的电平进行反相;第一忆阻器单元与第二忆阻器单元用于根据权重存储数据与位线输入的输入数据控制源线的电流方向;若源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若源线的电流方向为第二方向时,则乘积结果为‑1,若源线无电流输出,则乘积结果为0。本发明可以同时支持权重和输入均为有符号数时的计算。
Description
技术领域
本发明涉及混合信号集成电路技术领域,尤其涉及的是一种双有符号操作数非易失性存算一体单元、阵列及运算方法。
背景技术
随着人工智能应用迅猛增长,对复杂神经网络的运算能力和处理速度的要求也随之提高。在当前的计算框架上,如何高效率地利用神经学习网络来处理数据,开发新一代高能效神经网络加速器显得尤为重要。传统的冯·诺依曼结构将数据处理和存储分离,在深度学习的运算过程中需要频繁和内存交换数据,消耗大量能量。根据研究显示,数据搬运的能耗是浮点计算的4至1000倍。随着半导体工艺的进步,虽然总体功耗下降,但数据搬运的功耗占比却越来越大。
存算一体架构能够打破存储墙的限制,其核心思想在于将部分或者全部的计算转移至存储模块中,即计算单元和存储单元集成在同一个芯片。随着神经网络技术的快速发展,现在常规使用的激活函数也有很多种形态,包括ELU激活函数,Leaky ReLU激活函数,GELU激活函数等,这些激活函数的输出均具有负数的概率,因此为了提高存内计算芯片的通用性,不仅每一层的权重为常规有符号数,每一层的输入数据也为常规的有符号数,支持负数、零或正数操作。然而,目前基于存算一体架构的芯片仅支持无符号数计算,或者仅能够支持当权重有符号时的计算,即每一层输入数据为零或正数,每一层的权重为常规有符号数,包括负数、零或正数,因此只支持激活函数为ReLU的神经网络,对于输出具有负数的激活函数不支持。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种双有符号操作数非易失性存算一体单元、阵列及运算方法,以解决现有基于存算一体架构的芯片仅支持无符号数计算,或者仅能够支持当权重有符号时的计算,无法实现对于输入和权重均为有符号数时的计算的问题。
本发明的技术方案如下:
一种双有符号操作数非易失性存算一体单元,其包括:第一忆阻器单元、第二忆阻器单元与反相器;其中,
所述第一忆阻器单元分别与位线、字线以及源线连接;
所述第二忆阻器单元分别与所述反相器的输出端、字线以及源线连接;
所述反相器的输入端与所述位线连接,所述反相器用于对输入至所述第二忆阻器单元的电平进行反相;
所述第一忆阻器单元与所述第二忆阻器单元用于根据权重存储数据与位线输入的输入数据控制源线的电流方向;
其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0。
本发明的进一步设置,所述第一忆阻器单元包括:第一忆阻器与第一晶体管;其中,
所述第一忆阻器的一端与所述位线连接,所述第一忆阻器的另一端与所述第一晶体管的漏极连接;
所述第一晶体管的栅极与所述字线连接,所述第一晶体管的源极与所述源线连接。
本发明的进一步设置,所述第二忆阻器单元包括:第二忆阻器与第二晶体管;其中,
所述第二忆阻器的一端与所述第一晶体管的漏极连接,所述第二忆阻器的另一端与所述反相器的输出端连接;
所述第二晶体管的栅极与所述字线连接,所述第二晶体管的源极与所述源线连接。
本发明的进一步设置,其中,所述权重存储数据包括:0、1、与-1;所述输入数据包括:0、1、与-1;
当所述第一忆阻器与所述第二忆阻器存储的权重存储数据为1时,所述第一忆阻器被配置为低组态,所述第二忆阻器被配置为高阻态;
当所述第一忆阻器与所述第二忆阻器存储的权重存储数据为-1时,所述第一忆阻器被配置为高组态,所述第二忆阻器被配置为低阻态;
当所述第一忆阻器与所述第二忆阻器存储的权重存储数据为0时,所述第一忆阻器与所述第二忆阻器均被配置为高阻态。
本发明的进一步设置,当输入的输入数据为1时,所述位线输入高电平,所述第一忆阻器单元接入高电平,所述第二忆阻器单元在所述反相器的作用下接入低电平,所述源线被钳制在一个中间电平;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为-1时,所述第二忆阻器单元产生第一方向的电流,所述源线产生第二方向的电流,此时输入数据与权重存储数据的乘积结果为-1;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为+1时,所述第一忆阻器单元产生第一方向的电流,所述源线产生第一方向的电流,此时输入数据与权重存储数据的乘积结果为+1;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为0时,此时输入数据与权重存储数据的乘积结果为0。
本发明的进一步设置,当输入的输入数据为-1时,所述位线输入低电平,所述第一忆阻器单元接入低电平,所述第二忆阻器单元在所述反相器的作用下接入高电平,所述源线被钳制在一个中间电平;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为-1时,所述第二忆阻器单元产生第二方向的电流,所述源线产生第一方向的电流,此时输入数据与权重存储数据的乘积结果为1;
所述第一忆阻器与所述第二忆阻器存储的权重存储数据为1时,所述第一忆阻器单元产生第二方向的电流,所述源线产生第一方向的电流,此时输入数据与权重存储数据的乘积结果为-1;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为0时,此时输入数据与权重存储数据的乘积结果为0。
本发明的进一步设置,当输入的输入数据为0时,所述字线输入的低电平控制所述第一晶体管与所述第二晶体管关断,所述源线无电流输出,此时输入数据与权重存储数据的乘积结果为0。
基于同样的发明构思,本发明还提供了一种双有符号操作数非易失性存算一体阵列,其包括模数转换单元、电流电压转换器以及阵列设置的如上述所述的双有符号操作数非易失性存算一体单元;
其中,每一列所述双有符号操作数非易失性存算一体单元对应连接一所述电流电压转换单元以及所述模数转换单元。
本发明的进一步设置,每一行所述双有符号操作数非易失性存算一体单元共用一个所述反相器。
基于同样的发明构思,本发明还提供了一种应用于上述所述的双有符号操作数非易失性存算一体阵列的非易失性存算一体阵列运算方法,其包括:
第一忆阻器单元与第二忆阻器单元根据权重存储数据与位线输入的输入数据控制源线的电流方向;其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0;
对各列非易失性存算一体单元产生的电流进行累加并得到累加电流信号;
通过所述电流电压转换器件将所述累加电流信号转换为模拟电压信号;
通过所述模数转换单元对所述模拟电压信号进行转换得到数字运算结果。
本发明所提供的一种双有符号操作数非易失性存算一体单元、阵列及运算方法,非易失性存算一体单元包括:第一忆阻器单元、第二忆阻器单元与反相器;所述第一忆阻器单元分别与位线、字线以及源线连接;所述第二忆阻器单元分别与所述反相器的输出端、字线以及源线连接;所述反相器的输入端与所述位线连接,所述反相器用于对输入至所述第二忆阻器单元的电平进行反相;所述第一忆阻器单元与所述第二忆阻器单元用于根据权重存储数据与位线输入的输入数据控制源线的电流方向;其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0。本发明通过将第一忆阻器单元与第二忆阻器单元分别与位线、字线以及源线连接,能够根据权重存储数据与位线输入的输入数据控制源线的电流方向,并可以根据源线的电流方向得到计算结果,从而可以同时支持权重和输入均为有符号数时的计算,进而能够支持具有负数输出的激活函数。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明中现有存算一体架构电路的电路原理图。
图2是本发明中双有符号操作数非易失性存算一体单元的电路原理图。
图3是本发明中双有符号操作数非易失性存算一体阵列的电路原理图。
图4是本发明中非易失性存算一体阵列运算方法的流程示意图。
附图中各标记:100、第一忆阻器单元;200、第二忆阻器单元;300、电流电压转换器。
具体实施方式
本发明提供一种双有符号操作数非易失性存算一体单元、阵列及运算方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在实施方式和申请专利范围中,除非文中对于冠词有特别限定,否则“一”、“一个”、“所述”和“该”也可包括复数形式。若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
经发明人研究发现,应用于存算一体架构的的非易失性器件主要是ReRAM,MRAM,PCM等。如图1所示,通常存算一体运算阵列采用电流型累加输出方式,根据每个存算单元的阻值(权重)和加载在阻值上的电压(输入)产生相应的电流(乘积),在同列存算单元产生的电流进行求和,然后通过每列的模数转换模块进行量化输出。随着神经网络技术的快速发展,现在常规使用的激活函数也有很多种形态,包括ELU激活函数,Leaky ReLU激活函数,GELU激活函数等,这些激活函数的输出均具有负数的概率,因此为了提高存内计算芯片的通用性,不仅每一层的权重为常规有符号数,每一层的输入数据也为常规的有符号数,支持负数、零或正数操作。然而,目前基于存算一体架构的芯片仅支持无符号数计算,或者仅能够支持当权重有符号时的计算,即每一层输入数据为零或正数,每一层的权重为常规有符号数,包括负数、零或正数,因此只支持激活函数为ReLU的神经网络,对于输出具有负数的激活函数不支持。
针对上述技术问题,本发明提供了一种双有符号操作数非易失性存算一体单元、阵列及运算方法,通过将第一忆阻器单元与第二忆阻器单元分别与位线、字线以及源线连接,能够根据权重存储数据与位线输入的输入数据控制源线的电流方向,并可以根据源线的电流方向得到计算结果,从而可以同时支持权重和输入均为有符号数时的计算,进而能够支持具有负数输出的激活函数。
请同时参阅图2,本发明提供了一种双有符号操作数非易失性存算一体单元的较佳实施例。
如图2所示,本发明提供了一种双有符号操作数非易失性存算一体单元,其包括:第一忆阻器单元100、第二忆阻器单元200与反相器;所述第一忆阻器单元分别与位线、字线以及源线连接;所述第二忆阻器单元分别与所述反相器的输出端、字线以及源线连接;所述反相器的输入端与所述位线连接,所述反相器用于对输入至所述第二忆阻器单元的电平进行反相;所述第一忆阻器单元与所述第二忆阻器单元用于根据权重存储数据与位线输入的输入数据控制源线的电流方向;其中,若所述源线的电流方向(电流ISL的方向)为第一方向时,则输入数据与权重存储数据的乘积(计算结果)为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0。
具体地,所述第一忆阻器单元100与所述第二忆阻器单元200以电阻的形式存储有权重。通过配置所述第一忆阻器与所述第二忆阻器的阻值为高阻态或低阻态可以实现控制源线SL的电流ISL的方向,即第一方向或第二方向,例如,第一方向可以是所述源线SL的电流方向向下的方向,第二方向可以是所述源线SL的电流方向向上的方向。在使用时,所述位线上输入符号位(输入0表示正数,输入1表示负数),所述字线输入数值位,所述源线则被固定在一个固定的电位,为高电平与低电平的一半。所述反相器P能够对流入所述第二忆阻器单元200的电平进行反向,当所述反相器P接入的电平为高电平时,输入所述第二忆阻器单元200的电平为低电平,当所述反相器P接入的电平为低电平时,输入所述第二忆阻器单元200的电平为高电平。
所述第一忆阻器单元100与第二忆阻器单元200分别与位线BL、字线WL以及源线SL连接,能够根据权重存储数据与位线BL输入的输入数据控制源线的电流方向,并可以根据源线SL的电流方向得到计算结果,其中,若所述源线SL的电流方向为第一方向时,则计算结果为+1,若所述源线SL的电流方向为第二方向时,则计算结果为-1,若所述源线SL无电流输出,则计算结果为0。可见,本发明通过将第一忆阻器单元100与第二忆阻器单元200分别与位线BL、字线WL以及源线SL连接,能够根据权重存储数据与位线输入的输入数据控制源线SL的电流方向,并可以根据源线SL的电流方向得到计算结果,从而可以同时支持权重和输入均为有符号数时的计算,进而能够支持具有负数输出的激活函数,相对于仅支持权重为有符号数计算的阵列,本发明的资源和功耗增加都较小,因而能够降低资源与功耗损耗。
请继续参阅图2,在一个实施例的进一步地实施方式中,所述第一忆阻器单元100包括:第一忆阻器R1与第一晶体管Q1;其中,所述第一忆阻器R1的一端与所述位线BL连接,所述第一忆阻器R1的另一端与所述第一晶体管Q1的漏极连接;所述第一晶体管Q1的栅极与所述字线WL连接,所述第一晶体管Q1的源极与所述源线SL连接。
进一步地,所述第二忆阻器单元200包括:第二忆阻器R2与第二晶体管Q2;其中,所述第二忆阻器R2的一端与所述第一晶体管Q1的漏极连接,所述第二忆阻器R2的另一端与所述反相器P的输出端连接;所述第二晶体管Q2的栅极与所述字线WL连接,所述第二晶体管Q2的源极与所述源线SL连接。
具体地,所述第一晶体管Q1与所述第二晶体Q2的栅极均与所述字线WL连接,当所述字线WL输入的电平为高电平时,所述第一晶体管Q1与所述第二晶体管Q2均导通,所述第一忆阻器单元100与所述第二忆阻器单元200根据所述位线BL接入的电平产生高电平或低电平,所述源线SL产生第一方向(向下)的电流或第二方向(向上)的电流。当所述字线WL输入的电平为低电平时,所述第一晶体管Q1与所述第二晶体管Q2均关断,所述源线SL不会产生电流。
请继续参阅图2,在一些实施例中,其中,所述权重存储数据包括:0、1、与-1;所述输入数据包括:0、1、与-1。当所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为1时,所述第一忆阻器R1被配置为低组态(LRS),所述第二忆阻器R2被配置为高阻态(HRS);当所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为-1时,所述第一忆阻器R1被配置为高组态,所述第二忆阻器R2被配置为低阻态;当所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为0时,所述第一忆阻器R1与所述第二忆阻器R2均被配置为高阻态。
具体实施时,请参见下表:
当输入的输入数据为1时,所述位线WL输入高电平,所述第一忆阻器单元100产生接入低电平,所述源线SL被钳制在一个中间电平(由外部电源提供)。
此时,若所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为-1时,此时所述第一忆阻器R1为高阻态,所述第二忆阻器R2为低阻态,所述第二忆阻器单元200产生第一方向(向下)的电流,所述源线SL产生第二方向(方向向上)的电流,此时输入数据与权重存储数据的乘积结果为-1;
若所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为+1时,此时所述第一忆阻器R1为低阻态,第二忆阻器R2为高阻态,所述第一忆阻器单元100产生第一方向(向下)的电流,所述源线SL产生第一方向(正向向下)的电流,此时计算结果为+1;
若所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为0时,第一忆阻器R1与第二忆阻器R2均处于高阻态,因高阻态的阻值非常大,使得所述第一忆阻器单元100与所述第二忆阻器单元200产生的电流非常微弱,近似于0,此时计算结果为0。
当输入的输入数据为-1时,所述位线BL输入低电平,所述第一忆阻器单元100接入低电平,所述第二忆阻器单元200在所述反相器P的反相作用下接入高电平,所述源线SL被钳制在一个中间电平。
此时,若所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为-1时,此时所述第一忆阻器R1为高阻态,所述第二忆阻器R2为低阻态,所述第二忆阻器单元200产生第二方向(向上)的电流,所述源线SL产生第一方向(反相向下)的电流,此时输入数据与权重存储数据的乘积结果为1;
若所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为1时,此时所述第一忆阻器R1处于低阻态,所述第二忆阻器R2处于高阻态,所述第一忆阻器单元100产生第二方向(向上)的电流,所述源线SL产生第一方向(反向向下)的电流,此时输入数据与权重存储数据的乘积结果为-1;
若所述第一忆阻器R1与所述第二忆阻器R2存储的权重存储数据为0时,此时所述第一忆阻器R1与所述第二忆阻器R2均处于高阻态,阻值非常大,在所述第一忆阻器单元100与所述第二忆阻器单元200中产生的电流非常微弱,此时输入数据与权重存储数据的乘积结果为0。
当输入的输入数据为0时,所述字线WL输入的低电平控制所述第一晶体管Q1与所述第二晶体管Q2关断,所述源线SL无电流输出,此时输入数据与权重存储数据的乘积结果为0。
请参阅图3,在一些实施例中,本发明还提供了一种双有符号操作数非易失性存算一体阵列,其包括电流电压转换器300、模数转换单元ADC以及阵列设置的如上述所述的双有符号操作数非易失性存算一体单元。其中,每一列所述双有符号操作数非易失性存算一体单元对应连接一所述电流电压转换器300以及所述模数转换单元ADC。
具体地,所述双有符号操作数非易失性存算一体单元呈阵列设计,每一行非易失性存算一体单元共用一条位线(例如BL[0]-BL[m])与一条字线(例如WL[0]-WL[m]),每一列非易失性存算一体单元共用一条源线(例如SL[0]-SL[n])。在同一列上的电流相互累加,使得在源线上会产生累加电流,累加电流经所述电流电压转换器300后将电流信号转换为模拟电压信号,其后所述模拟电压信号经所述模数转换单元ADC进行模数转化并得到数字运算结果后输出。
请参阅图3,在一个实施例的进一步地实施方式中,每一行所述双有符号操作数非易失性存算一体单元共用一个所述反相器。
具体地,对于非易失性存算一体阵列来说,每一行的输入是相同的,因而同一行的非易失性存算一体单元可以共用一个反相器(例如P[0]-P[m]),即可以将反相器置于每一行非易失性存算一体单元的前面,以减少反相器的数量,从而减少面积和功耗。
请参阅图4,在一些实施例中,本发明还提供了一种应用于上述所述的双有符号操作数非易失性存算一体阵列的非易失性存算一体阵列运算方法,其包括步骤:
S100、第一忆阻器单元与第二忆阻器单元根据权重存储数据与位线输入的输入数据控制源线的电流方向;其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0;具体如一种双有符号操作数非易失性存算一体单元的实施例所述,在此不再赘述。
S200、对各列非易失性存算一体单元产生的电流进行累加并得到累加电流信号;具体如一种双有符号操作数非易失性存算一体阵列的实施例所述,在此不再赘述。
S300、通过所述电流电压转换器将所述累加电流信号转换为模拟电压信号;
S400、通过所述模数转换单元对所述模拟电压信号进行转换得到数字运算结果。具体如一种双有符号操作数非易失性存算一体阵列的实施例所述,在此不再赘述。
综上所述,本发明所提供的一种双有符号操作数非易失性存算一体单元、阵列及运算方法,非易失性存算一体单元包括:第一忆阻器单元、第二忆阻器单元与反相器;其中,所述第一忆阻器单元分别与位线、字线以及源线连接;所述第二忆阻器单元分别与所述反相器的输出端、字线以及源线连接;所述反相器的输入端与所述位线连接,所述反相器用于对输入至所述第二忆阻器单元的电平进行反相;所述第一忆阻器单元与所述第二忆阻器单元用于根据权重存储数据与位线输入的输入数据控制源线的电流方向;其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0。本发明通过将第一忆阻器单元与第二忆阻器单元分别与位线、字线以及源线连接,能够根据权重存储数据与位线输入的输入数据控制源线的电流方向,并可以根据源线的电流方向得到计算结果,从而可以同时支持权重和输入均为有符号数时的计算,进而能够支持具有负数输出的激活函数,相对于仅支持权重为有符号数计算的阵列,本发明的资源和功耗增加都较小,因而能够降低资源与功耗损耗。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种双有符号操作数非易失性存算一体单元,其特征在于,包括:第一忆阻器单元、第二忆阻器单元与反相器;其中,
所述第一忆阻器单元分别与位线、字线以及源线连接;
所述第二忆阻器单元分别与所述反相器的输出端、字线以及源线连接;
所述反相器的输入端与所述位线连接,所述反相器用于对输入至所述第二忆阻器单元的电平进行反相;
所述第一忆阻器单元与所述第二忆阻器单元用于根据权重存储数据与位线输入的输入数据控制源线的电流方向;
其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0。
2.根据权利要求1所述的双有符号操作数非易失性存算一体单元,其特征在于,所述第一忆阻器单元包括:第一忆阻器与第一晶体管;其中,
所述第一忆阻器的一端与所述位线连接,所述第一忆阻器的另一端与所述第一晶体管的漏极连接;
所述第一晶体管的栅极与所述字线连接,所述第一晶体管的源极与所述源线连接。
3.根据权利要求2所述的双有符号操作数非易失性存算一体单元,其特征在于,所述第二忆阻器单元包括:第二忆阻器与第二晶体管;其中,
所述第二忆阻器的一端与所述第一晶体管的漏极连接,所述第二忆阻器的另一端与所述反相器的输出端连接;
所述第二晶体管的栅极与所述字线连接,所述第二晶体管的源极与所述源线连接。
4.根据权利要求3所述的双有符号操作数非易失性存算一体单元,其特征在于,其中,所述权重存储数据包括:0、1、与-1;所述输入数据包括:0、1、与-1;
当所述第一忆阻器与所述第二忆阻器存储的权重存储数据为1时,所述第一忆阻器被配置为低组态,所述第二忆阻器被配置为高阻态;
当所述第一忆阻器与所述第二忆阻器存储的权重存储数据为-1时,所述第一忆阻器被配置为高组态,所述第二忆阻器被配置为低阻态;
当所述第一忆阻器与所述第二忆阻器存储的权重存储数据为0时,所述第一忆阻器与所述第二忆阻器均被配置为高阻态。
5.根据权利要求4所述的双有符号操作数非易失性存算一体单元,其特征在于,当输入的输入数据为1时,所述位线输入高电平,所述第一忆阻器单元接入高电平,所述第二忆阻器单元在所述反相器的作用下接入低电平,所述源线被钳制在一个中间电平;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为-1时,所述第二忆阻器单元产生第一方向的电流,所述源线产生第二方向的电流,此时输入数据与权重存储数据的乘积结果为-1;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为+1时,所述第一忆阻器单元产生第一方向的电流,所述源线产生第一方向的电流,此时输入数据与权重存储数据的乘积结果为+1;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为0时,此时输入数据与权重存储数据的乘积结果为0。
6.根据权利要求4所述的双有符号操作数非易失性存算一体单元,其特征在于,当输入的输入数据为-1时,所述位线输入低电平,所述第一忆阻器单元接入低电平,所述第二忆阻器单元在所述反相器的作用下接入高电平,所述源线被钳制在一个中间电平;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为-1时,所述第二忆阻器单元产生第二方向的电流,所述源线产生第一方向的电流,此时输入数据与权重存储数据的乘积结果为1;
所述第一忆阻器与所述第二忆阻器存储的权重存储数据为1时,所述第一忆阻器单元产生第二方向的电流,所述源线产生第一方向的电流,此时输入数据与权重存储数据的乘积结果为-1;
若所述第一忆阻器与所述第二忆阻器存储的权重存储数据为0时,此时输入数据与权重存储数据的乘积结果为0。
7.根据权利要求4所述的双有符号操作数非易失性存算一体单元,其特征在于,当输入的输入数据为0时,所述字线输入的低电平控制所述第一晶体管与所述第二晶体管关断,所述源线无电流输出,此时输入数据与权重存储数据的乘积结果为0。
8.一种双有符号操作数非易失性存算一体阵列,其特征在于,包括模数转换单元、电流电压转换器以及阵列设置的如权利要求1-7任一项所述的双有符号操作数非易失性存算一体单元;
其中,每一列所述双有符号操作数非易失性存算一体单元对应连接一所述电流电压转换单元以及所述模数转换单元。
9.根据权利要求8所述的双有符号操作数非易失性存算一体阵列,其特征在于,每一行所述非易失性存算一体单元共用一个所述反相器。
10.一种应用于权利要求9所述的双有符号操作数非易失性存算一体阵列的非易失性存算一体阵列运算方法,其特征在于,包括:
第一忆阻器单元与第二忆阻器单元根据权重存储数据与位线输入的输入数据控制源线的电流方向;其中,若所述源线的电流方向为第一方向时,则输入数据与权重存储数据的乘积结果为+1,若所述源线的电流方向为第二方向时,则输入数据与权重存储数据的乘积结果为-1,若所述源线无电流输出,则输入数据与权重存储数据的乘积结果为0;
对各列非易失性存算一体单元产生的电流进行累加并得到累加电流信号;
通过所述电流电压转换器将所述累加电流信号转换为模拟电压信号;
通过所述模数转换单元对所述模拟电压信号进行转换得到数字运算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211395177.7A CN115906968B (zh) | 2022-11-09 | 2022-11-09 | 双有符号操作数非易失性存算一体单元、阵列及运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211395177.7A CN115906968B (zh) | 2022-11-09 | 2022-11-09 | 双有符号操作数非易失性存算一体单元、阵列及运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115906968A true CN115906968A (zh) | 2023-04-04 |
CN115906968B CN115906968B (zh) | 2023-12-08 |
Family
ID=86488856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211395177.7A Active CN115906968B (zh) | 2022-11-09 | 2022-11-09 | 双有符号操作数非易失性存算一体单元、阵列及运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906968B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118333119A (zh) * | 2024-06-13 | 2024-07-12 | 温州核芯智存科技有限公司 | 存算单元、存算方法、存内计算区块及神经网络电路组件 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110182104A1 (en) * | 2010-01-26 | 2011-07-28 | Kim Hyongsuk | Method of implementing memristor-based multilevel memory using reference resistor array |
CN109117945A (zh) * | 2017-06-22 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 处理器及其处理方法、芯片、芯片封装结构及电子装置 |
US20200110991A1 (en) * | 2017-06-19 | 2020-04-09 | Denso Corporation | Method for adjusting output level of multilayer neural network neuron |
CN110991624A (zh) * | 2019-12-31 | 2020-04-10 | 桂林电子科技大学 | 一种变脉宽输入电荷积累型忆阻神经网络电路 |
CN112101549A (zh) * | 2020-09-22 | 2020-12-18 | 清华大学 | 基于忆阻器阵列的神经网络的训练方法和装置 |
CN113077829A (zh) * | 2021-04-20 | 2021-07-06 | 清华大学 | 基于忆阻器阵列的数据处理方法、电子装置 |
WO2022057222A1 (zh) * | 2020-09-15 | 2022-03-24 | 深圳市九天睿芯科技有限公司 | 一种基于电流积分的存内脉冲神经网络 |
CN114298296A (zh) * | 2021-12-30 | 2022-04-08 | 清华大学 | 基于存算一体阵列的卷积神经网络处理方法和装置 |
CN114614865A (zh) * | 2022-03-08 | 2022-06-10 | 清华大学 | 基于忆阻器阵列的预编码装置和信号处理方法 |
CN114626514A (zh) * | 2020-12-11 | 2022-06-14 | 华为技术有限公司 | 一种神经网络计算装置及计算方法 |
CN114662682A (zh) * | 2022-03-25 | 2022-06-24 | 北京大学 | 基于忆阻器的存算一体的计算单元、阵列电路与控制方法 |
CN114861900A (zh) * | 2022-05-27 | 2022-08-05 | 清华大学 | 用于忆阻器阵列的权重更新方法和处理单元 |
CN115019852A (zh) * | 2022-04-24 | 2022-09-06 | 北京大学 | 基于忆阻器的存算一体时序同步计算单元及方法 |
WO2022226751A1 (zh) * | 2021-04-27 | 2022-11-03 | 中国科学院微电子研究所 | 忆阻器、汉明距离计算方法及存算一体集成应用 |
-
2022
- 2022-11-09 CN CN202211395177.7A patent/CN115906968B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110182104A1 (en) * | 2010-01-26 | 2011-07-28 | Kim Hyongsuk | Method of implementing memristor-based multilevel memory using reference resistor array |
US20200110991A1 (en) * | 2017-06-19 | 2020-04-09 | Denso Corporation | Method for adjusting output level of multilayer neural network neuron |
CN109117945A (zh) * | 2017-06-22 | 2019-01-01 | 上海寒武纪信息科技有限公司 | 处理器及其处理方法、芯片、芯片封装结构及电子装置 |
CN110991624A (zh) * | 2019-12-31 | 2020-04-10 | 桂林电子科技大学 | 一种变脉宽输入电荷积累型忆阻神经网络电路 |
WO2022057222A1 (zh) * | 2020-09-15 | 2022-03-24 | 深圳市九天睿芯科技有限公司 | 一种基于电流积分的存内脉冲神经网络 |
CN112101549A (zh) * | 2020-09-22 | 2020-12-18 | 清华大学 | 基于忆阻器阵列的神经网络的训练方法和装置 |
CN114626514A (zh) * | 2020-12-11 | 2022-06-14 | 华为技术有限公司 | 一种神经网络计算装置及计算方法 |
CN113077829A (zh) * | 2021-04-20 | 2021-07-06 | 清华大学 | 基于忆阻器阵列的数据处理方法、电子装置 |
WO2022226751A1 (zh) * | 2021-04-27 | 2022-11-03 | 中国科学院微电子研究所 | 忆阻器、汉明距离计算方法及存算一体集成应用 |
CN114298296A (zh) * | 2021-12-30 | 2022-04-08 | 清华大学 | 基于存算一体阵列的卷积神经网络处理方法和装置 |
CN114614865A (zh) * | 2022-03-08 | 2022-06-10 | 清华大学 | 基于忆阻器阵列的预编码装置和信号处理方法 |
CN114662682A (zh) * | 2022-03-25 | 2022-06-24 | 北京大学 | 基于忆阻器的存算一体的计算单元、阵列电路与控制方法 |
CN115019852A (zh) * | 2022-04-24 | 2022-09-06 | 北京大学 | 基于忆阻器的存算一体时序同步计算单元及方法 |
CN114861900A (zh) * | 2022-05-27 | 2022-08-05 | 清华大学 | 用于忆阻器阵列的权重更新方法和处理单元 |
Non-Patent Citations (6)
Title |
---|
FATEMEH KIANI 等: "All Hardware-Based Two-Layer Perceptron Implemented in Memristor Crossbar Arrays", 《2021 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》, pages 1 - 5 * |
GEORGIOS PAPANDROULIDAKIS 等: "Practical Implementation of Memristor-Based Threshold Logic Gates", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS 》, vol. 66, no. 8, pages 3041, XP011733869, DOI: 10.1109/TCSI.2019.2902475 * |
沈林耀 等: "一种面向忆阻器加速器的神经网络模型压缩框架", 《微电子学与计算机》, vol. 38, no. 8, pages 20 - 27 * |
程晓东 等: "荷控忆阻器等效电路分析模型及其电路特性分析", 《电子测试》, no. 17, pages 58 - 60 * |
赵益波 等: "基于忆阻器卷积神经网络的表情识别", 《电子测量技术》, vol. 45, no. 16, pages 93 - 101 * |
陈鑫辉 等: "基于忆阻器的多模式识别CNN电路设计", 《实验技术与管理》, vol. 39, no. 10, pages 75 - 79 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118333119A (zh) * | 2024-06-13 | 2024-07-12 | 温州核芯智存科技有限公司 | 存算单元、存算方法、存内计算区块及神经网络电路组件 |
Also Published As
Publication number | Publication date |
---|---|
CN115906968B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11501829B2 (en) | Resistive random-access memory for embedded computation | |
CN111985630B (zh) | 运用于类神经网络系统的乘积累加电路的控制电路 | |
CN111652363B (zh) | 存算一体电路 | |
CN114400031B (zh) | 一种补码映射的rram存算一体芯片及电子设备 | |
CN115906968B (zh) | 双有符号操作数非易失性存算一体单元、阵列及运算方法 | |
Singh et al. | Low-power memristor-based computing for edge-ai applications | |
CN115904311A (zh) | 用于多位存储单元中计算的模拟乘法-累加部件 | |
WO2024103480A1 (zh) | 存算一体电路、芯片及电子设备 | |
CN115794728A (zh) | 一种存内计算位线钳位与求和外围电路及其应用 | |
CN115831170A (zh) | 一种高灵活性存储计算阵列 | |
Chen et al. | Rram-based analog in-memory computing | |
US12088264B2 (en) | Voltage amplifier based on cascaded charge pump boosting | |
Wang et al. | Sparsity-aware clamping readout scheme for high parallelism and low power nonvolatile computing-in-memory based on resistive memory | |
US11929141B2 (en) | Sparsity-aware reconfigurable compute-in-memory (CIM) static random access memory (SRAM) | |
CN114496010B (zh) | 一种基于磁性随机存储器的模拟域近存计算阵列结构 | |
CN114759927B (zh) | 一种应用于模拟存内计算的逐次逼近型模数转换器电路 | |
US11756616B2 (en) | Computer and calculation method using memristor array | |
CN116386687B (zh) | 一种平衡电压降影响的存储器阵列 | |
Xiao et al. | An energy efficient time-multiplexing computing-in-memory architecture for edge intelligence | |
Lin et al. | An 11T1C Bit-Level-Sparsity-Aware Computing-in-Memory Macro With Adaptive Conversion Time and Computation Voltage | |
CN117746933A (zh) | 存内计算电路及控制方法、计算芯片和存储器 | |
KR20230146936A (ko) | 스핀 궤도 토크 소자 기반의 프로세싱 인 메모리 장치 | |
CN114759927A (zh) | 一种应用于模拟存内计算的逐次逼近型模数转换器电路 | |
CN118349517A (zh) | 存算一体芯片及其计算方法 | |
CN117521753A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |