CN117789791A - 可配置多比特的存算一体阵列、存算一体芯片及电子设备 - Google Patents

可配置多比特的存算一体阵列、存算一体芯片及电子设备 Download PDF

Info

Publication number
CN117789791A
CN117789791A CN202311826440.8A CN202311826440A CN117789791A CN 117789791 A CN117789791 A CN 117789791A CN 202311826440 A CN202311826440 A CN 202311826440A CN 117789791 A CN117789791 A CN 117789791A
Authority
CN
China
Prior art keywords
unit
weight
level data
low
switch unit
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
CN202311826440.8A
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202311826440.8A priority Critical patent/CN117789791A/zh
Publication of CN117789791A publication Critical patent/CN117789791A/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

  • Semiconductor Memories (AREA)

Abstract

本发明提供一种可配置多比特的存算一体阵列、存算一体芯片及电子设备,当存算单元被配置为低阻态权重结构时,存算单元的输入为低电平数据信号或高电平数据信号,输出均为低阻态;当存算单元被配置为高阻态权重结构时,存算单元的输入为低电平数据信号,输出为低阻态;输入为高电平数据信号,输出为高阻态,从而实现0,1之间的乘法逻辑,结合阵列控制逻辑和多比特的数据输出单元,实现多比特计算。

Description

可配置多比特的存算一体阵列、存算一体芯片及电子设备
技术领域
本发明实施例涉及集成电路技术领域,尤其涉及一种可配置多比特的存算一体阵列、存算一体芯片及电子设备。
背景技术
在后摩尔时代,由于数据密集型应用的爆炸式增长,传统的冯·诺伊曼体系结构中存储与计算的分离的结构导致数据存取开销远超数据处理开销,带来“存储墙”和功耗瓶颈。近年来,存内计算(CIM)是一项能够打破“存储墙”的新兴技术。所谓的CIM是指将存储与计算结合,从而减少了处理单元和存算单元之间频繁的数据传输导致的功耗开销。
到目前为止,由于存内计算的发展前景,几乎所有种类的内存介质都被用于CIM研究,包括Flash、DRAM、SRAM、RRAM、MRAM、PCM、FeRAM等。磁阻随机存取存储器(Magnetoresistive Random Access Memory,MRAM)是一种非易失存储器件,具有优越的读写速度特性和可靠性,在CIM研究中具有广阔的应用前景。然而,现有技术中,特别是基于串联阵列的MRAMCIM芯片,通常仅支持二值神经网络,这限制了它的适用性。
发明内容
本发明提供一种可配置多比特的存算一体阵列、存算一体芯片及电子设备,实现存算一体芯片的0,1之间的乘法逻辑的补充,实现多比特计算。
第一方面,本发明提供一种可配置多比特的存算一体阵列,包括:多个存算单元、输入信号单元、位线和数据输出单元;
所述存算单元阵列排布,每列的所述存算单元串联连接;每列首个所述存算单元的第一端与所述位线连接;所述位线用于输入参考电压信号;
同一行中的所述存算单元的信号输入端与对应当前行的所述输入信号单元的信号输出端连接;所述输入信号单元用于向每行所述存算单元的输出低电平数据信号或高电平数据信号;
所述数据输出单元与每列末尾所述存算单元的第二端连接;所述数据输出单元用于对每列所述存算单元的输出信号进行后处理运算;
其中,所述存算单元被配置为低阻态权重结构或高阻态权重结构;当所述存算单元被配置为所述低阻态权重结构,所述存算单元的信号输入端接收到所述低电平数据信号或所述高电平数据信号时,所述存算单元的输出均为低阻态;当所述存算单元被配置为所述高阻态权重结构时,若所述存算单元的信号输入端接收到所述低电平数据信号,则所述存算单元输出为低阻态,若所述存算单元的信号输入端接收到所述高电平数据信号,则所述存算单元输出为高阻态。
可选的,所述低阻态权重结构包括第一权重单元、第二权重单元、第一开关单元和第二开关单元;所述第一权重单元被配置为低阻态,所述第二权重单元被配置为低阻态;
所述第一权重单元的第一端作为所述存算单元的第一端,所述第一权重单元的第二端与所述第一开关单元的第一端连接,所述第一开关单元的第二端作为所述存算单元的第二端;所述第一开关单元的控制端与所述输入信号单元的信号输出端连接;所述第一开关单元用于根据所述低电平数据信号为截止状态,根据所述高电平数据信号为导通状态;
所述第二权重单元的第一端与所述第一权重单元的第一端连接,所述第二权重单元的第二端与所述第二开关单元的第一端连接,所述第二开关单元的第二端与所述第一开关单元的第二端连接;所述第二开关单元的控制端与所述输入信号单元的信号输出端连接;所述第二开关单元用于根据所述低电平数据信号为导通状态,根据所述高电平数据信号为截止状态。
可选的,所述高阻态权重结构包括第三权重单元、第四权重单元、第三开关单元和第四开关单元;所述第三权重单元被配置为高阻态,所述第四权重单元被配置为低阻态;
所述第三权重单元的第一端作为所述存算单元的第一端,所述第三权重单元的第二端与所述第三开关单元的第一端连接,所述第三开关单元的第二端作为所述存算单元的第二端连接;所述第三开关单元的控制端与所述输入信号单元的信号输出端连接;所述第三开关单元用于根据所述低电平数据信号为截止状态,根据所述高电平数据信号为导通状态;
所述第四权重单元的第一端与所述第三权重单元的第一端连接,所述第四权重单元的第二端与所述第四开关单元的第一端连接,所述第四开关单元的第二端与所述第三开关单元的第二端连接;所述第四开关单元的控制端与所述输入信号单元的信号输出端连接;所述第四开关单元用于根据所述低电平数据信号为导通状态,根据所述高电平数据信号为截止状态。
可选的,所述第一开关单元和所述第三开关单元为NMOS开关管;所述第二开关单元和所述第四开关单元为PMOS开关管。
可选的,对应每一行的所述输入信号单元的信号输出端包括第一输出端和第二输出端;所述第一输出端输出低电平数据,所述第二输出端输出高电平数据形成所述低电平数据信号;所述第一输出端输出高电平数据,所述第二输出端输出低电平数据形成所述高电平数据信号;
所述低阻态权重结构包括第一权重单元、第二权重单元和第一开关单元和第二开关单元;所述第一权重单元被配置为低阻态,所述第二权重单元被配置为低阻态;
所述第一权重单元的第一端作为所述存算单元的第一端连接,所述第一权重单元的第二端与所述第一开关单元的第一端连接,所述第一开关单元的第二端作为所述存算单元的第二端;所述第一开关单元的控制端与所述第一输出端连接;
所述第二权重单元的第一端与所述第一权重单元的第一端连接,所述第二权重单元的第二端与所述第二开关单元的第一端连接,所述第二开关单元的第二端与所述第一开关单元的第二端连接;所述第二开关单元的控制端与所述第二输出端连接;
所述第一开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态;所述第二开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态。
可选的,所述高阻态权重结构包括第三权重单元、第四权重单元和第三开关单元和第四开关单元;所述第三权重单元被配置为高阻态,所述第四权重单元被配置为低阻态;
所述第三权重单元的第一端作为所述存算单元的第一端,所述第三权重单元的第二端与所述第三开关单元的第一端连接,所述第三开关单元的第二端作为所述存算单元的第二端;所述第三开关单元的控制端与所述第一输出端连接;
所述第四权重单元的第一端与所述第三权重单元的第一端连接,所述第四权重单元的第二端与所述第四开关单元的第一端连接,所述第四开关单元的第二端与所述第三开关单元的第二端连接;所述第四开关单元的控制端与所述第二输出端连接;
所述第三开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态;所述第四开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态。
可选的,所述第一开关单元、所述第二开关单元、所述第三开关单元和所述第四开关单元均为NMOS开关管。
可选的,所述第一权重单元、所述第二权重单元、所述第四权重单元和所述第三权重单元为磁阻随机存取存储器。
第二方面,本发明提供一种存算一体芯片,包括本发明任意实施例所述的可配置多比特的存算一体阵列。
第三方面,本发明一种电子设备,包括本发明任意实施例所述的存算一体芯片。
本发明实施例提供的技术方案,通过存算单元阵列排布,每列串联连接多个存算单元,多列的存算单元构成存算一体阵列,每个存算单元被配置为低阻态权重结构或高阻态权重结构,每一行的存算单元接入输入信号单元,输入信号单元向每行的存算单元发送低电平数据信号或高电平数据信号,当存算单元被配置为低阻态权重结构时,存算单元的输入为低电平数据信号(对应0)或高电平数据信号(对应1),输出均为低阻态RL(对应0);当存算单元被配置为高阻态权重结构时,存算单元的输入为低电平数据信号(对应0),输出为高阻态RH(对应1);输入为高电平数据信号(对应1),输出为高阻态RH(对应1),从而实现0,1之间的乘法逻辑,实现多比特计算。由于每列的存算单元之间串联连接,数据输出单元可以根据每列的输出端的电阻、电流等参数映射得到每列的输出结果,对输出结果进行后处理运算得到最终的输出数据。
附图说明
图1为相关技术的提供的一种交叉阵列的CIM芯片的结构示意图;
图2为相关技术的权重组合的结构示意图;
图3为本发明实施例提供一种可配置多比特的存算一体阵列的结构示意图;
图4为本发明实施例提供又一种可配置多比特的存算一体阵列的结构示意图;
图5为本发明实施例提供又一种可配置多比特的存算一体阵列的结构示意图;
图6为本发明实施例提供一种低阻态权重结构的结构示意图;
图7为本发明实施例提供又一种低阻态权重结构的权重设计示意图;
图8为本发明实施例提供一种高阻态权重结构的结构示意图;
图9为本发明实施例提供又一种高阻态权重结构的权重设计示意图;
图10为本发明实施例提供又一种可配置多比特的存算一体阵列的结构示意图;
图11为本发明实施例提供又一种低阻态权重结构的权重设计示意图;
图12为本发明实施例提供又一种高阻态权重结构的权重设计示意图;
图13为本发明实施例提供一种非线性修调输出电路的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
磁随机存取存储器(MRAM)通常为两层铁磁层(自由层和参考层)中间加一层隧穿势垒层构成磁隧道结(magnetic tunnel junction,MTJ)的形式。当电流从参考层输入时,电子自旋极化方向与参考层磁化方向相同的电子将穿过参考层进入隧穿层。当自由层与参考层磁化方向不同时,这些自旋极化电子隧穿后基于自旋转移力矩作用于自由层,从而将自由层磁化方向翻转到与参考层平行的方向。通过改变电流极性,即电流从自由层输入,即可实现自由层与参考层磁化方向的反平行排布。
MRAM具有优越的读写速度特性和可靠性,在CIM研究中具有广阔的应用前景。然而,由于磁隧道结(MTJ)电阻较低,传统的交叉阵列具有相当大的功耗。为了解决这一问题,图1为相关技术的提供的一种交叉阵列的CIM芯片的结构示意图,图2为相关技术的权重组合的结构示意图,参见图1和图2,交叉阵列可以包括多个行线IN0、IN1、IN2、……INm,多个列线以及形成在行线和列线之间的交叉点对应设置MRAM单元110。根据MRAM单元110所储存的数据,MRAM单元110可以具有不同的权重。当输入IN为-1、权重为-1时,输出为高阻态RH(对应1);当输入IN为-1、权重为1时,输出为低阻态RL(对应-1);当输入IN为1、权重为-1时,输出为低阻态RL(对应-1);当输入IN为1、权重为1时,输出为高阻态RH(对应1)。将多比特输入转化为二进制码输入,由于MRAM单元110之间串联连接,输出端每列的等效电阻为该列所有单元电阻之和,从而实现乘加的功能,而总体阵列则实现向量与矩阵的点乘运算。但这种芯片存算单元的设计只能针对-1与1之间的二值乘法,也只能支持二值神经网络,并且由于单个MRAM单元110只能够存储二个状态,对应为1bit,在存算一体阵列中不能实现多bit权重的电阻映射,这也大大限制了它的适用性。
有鉴于此,图3为本发明实施例提供一种可配置多比特的存算一体阵列的结构示意图,参见图3,包括:多个存算单元310、输入信号单元320、位线330和数据输出单元340;
存算单元310阵列排布,每列的存算单元310串联连接;每列首个存算单元310的第一端与位线330连接;位线330用于输入参考电压信号;
同一行中的存算单元310的信号输入端与对应当前行的输入信号单元320的信号输出端连接;输入信号单元320用于向每行存算单元310的输出低电平数据信号或高电平数据信号;
数据输出单元340与每列末尾存算单元310的第二端连接;数据输出单元340用于对每列存算单元310的输出信号进行后处理运算;
其中,存算单元310被配置为低阻态权重结构或高阻态权重结构;当存算单元310被配置为低阻态权重结构,存算单元310的信号输入端接收到低电平数据信号或高电平数据信号时,存算单元310的输出均为低阻态;当存算单元310被配置为高阻态权重结构时,若存算单元310的信号输入端接收到低电平数据信号,则存算单元310输出为低阻态,若存算单元310的信号输入端接收到高电平数据信号,则存算单元310输出为高阻态。
具体的,存算一体阵列结构包括多个行方向上的信号线IN0、IN1、IN2、……INm,输入信号单元320的信号输出端通过每行的信号线与存算单元310对应连接,而每一行上的n个存算单元可以作为一个n位的输入权重,n为大于或等于1的整数。例如,以四列为例,每行中的第一列BL0为二进制数值中最高位的权重,第四列BL3为二进制数值中最低位的权重,其他列可以依次定义输入权重。当然也可以第一列BL0为二进制数值中最低位的权重,第四列BL3为二进制数值中最高位的权重。
输入信号单元320通过每行的信号线向每行的存算单元310发送数据信号,数据信号包括低电平数据信号和高电平数据信号,由于多比特的乘法需要实现0,1之间的乘法逻辑,因此,低电平数据信号可以代表为“0”,高电平数据信号可以代表为“1”。输入信号单元320的信号输出端通过顺序由低位到高位或由高位到低位输入低电平数据信号或高电平数据信号组成一个多位的输入数据。每个存算单元310根据处理数据被配置为低阻态权重结构(对应0)或高阻态权重结构(对应1),每个存算单元310的权重结构可以通过烧写电路,将权重数据烧写到存算单元310中,从而实现阵列的可编程。其中,当存算单元310被配置为低阻态权重结构(对应0)时,存算单元310的输入为低电平数据信号(对应0)或高电平数据信号(对应1),输出均为低阻态RL(对应0);当存算单元310被配置为高阻态权重结构(对应1)时,存算单元310的输入为低电平数据信号(对应0),输出为低阻态RL(对应0);输入为高电平数据信号(对应1),输出为高阻态RH(对应1),从而实现每个存算单元0,1之间的乘法逻辑。由于每列的存算单元310之间串联连接,数据输出单元340可以根据每列的输出端的电阻、电流等参数映射得到每列的输出结果,对输出结果进行后处理运算得到最终的输出数据。而针对每列则可以对应定义为最低位至最高位的二进制数值权重。
为了便于理解,图4为本发明实施例提供又一种可配置多比特的存算一体阵列的结构示意图,参见图4,在本发明实施例中以1*4的4bit向量乘以一个4*1的4bit向量为例,计算:的向量乘加逻辑;
根据阵列的对存算单元310进行配置,例如,每列中第一列BL0为二进制数值中最高位的权重,第四列BL3为二进制数值中最低位的权重,其他列为依次定义。当然也可以第一列BL0为二进制数值中最低位的权重,第四列BL3为二进制数值中最高位的权重。本发明实施例中,以每列中第一列BL0为二进制数值中最高位的权重,第四列BL3为二进制数值中最低位的权重为例,各个存算单元310被配置为如图4中所示的低阻态权重结构或高阻态权重结构,输入信号单元320对信号线IN0、IN1、IN2、IN3分别输出高电平数据信号、高电平数据信号、低电平数据信号和高电平数据信号组成一个多位的输入数据,即(1,1,0,1)。根据低阻态权重结构和高阻态权重结构中0,1之间的乘法逻辑,可以得到每个存算单元310的输出状态。由于每列的存算单元310之间串联连接,输出端每列的等效电阻为该列所有存算单元310电阻之和,根据每列的等效电阻,则可以相应输出电流。数据输出单元340可以根据每列的输出端的电流映射得到每列的输出结果,再对每列的输出结果进行后处理运算得到最终的输出数据。
本发明实施例提供的技术方案,通过存算单元阵列排布,每列串联连接多个存算单元,多列的存算单元构成存算一体阵列,每个存算单元被配置为低阻态权重结构或高阻态权重结构,每一行的存算单元接入输入信号单元,输入信号单元向每行的存算单元发送低电平数据信号或高电平数据信号,当存算单元被配置为低阻态权重结构时,存算单元的输入为低电平数据信号(对应0)或高电平数据信号(对应1),输出均为低阻态RL(对应0);当存算单元被配置为高阻态权重结构时,存算单元的输入为低电平数据信号(对应0),输出为低阻态RL(对应0),输入为高电平数据信号(对应1),输出为高阻态RH(对应1),从而实现0,1之间的乘法逻辑。由于每列的存算单元之间串联连接,数据输出单元可以根据每列的输出端的电阻、电流等参数映射得到每列的输出结果,对输出结果进行后处理运算得到最终的输出数据,实现多比特计算。
在一些实施例中,对应每一行的输入信号单元320的信号输出可以采用同样的输入信号,也就是说,输入信号单元320的信号输出端输出低电平数据形成低电平数据信号,或输出高电平数据形成高电平数据信号,每一行对应的信号输出端分别记为INO、IN1、IN2、……INm。图5为本发明实施例提供又一种可配置多比特的存算一体阵列的结构示意图,图6为本发明实施例提供一种低阻态权重结构的结构示意图,图7为本发明实施例提供又一种低阻态权重结构的权重设计示意图,参见图5-7,低阻态权重结构包括第一权重单元311、第二权重单元312、第一开关单元313和第二开关单元314;第一权重单元311被配置为低阻态,第二权重单元312被配置为低阻态;
第一权重单元311的第一端作为存算单元310的第一端,第一权重单元311的第二端与第一开关单元313的第一端连接,第一开关单元313的第二端作为存算单元310的第二端;第一开关单元313的控制端与输入信号单元320的信号输出端连接;第一开关单元313用于根据低电平数据信号为截止状态,根据高电平数据信号为导通状态;
第二权重单元312的第一端与第一权重单元311的第一端连接,第二权重单元312的第二端与第二开关单元314的第一端连接,第二开关单元314的第二端与第一开关单元313的第二端连接;第二开关单元314的控制端与输入信号单元320的信号输出端连接;第二开关单元314用于根据低电平数据信号为导通状态,根据高电平数据信号为截止状态。
具体的,第一权重单元311和第二权重单元312均被配置为低阻态,例如,第一权重单元311和第二权重单元312采用磁阻随机存取存储器(MRAM),从而通过改变电流极性,可以配置第一权重单元311和第二权重单元312的状态。
第一权重单元311和第一开关单元313、第二权重单元312和第二开关单元314在电路上为并联连接,输入信号单元320的信号输出端分别与第一开关单元313和第二开关单元314的控制端连接。第一开关单元313根据输入信号单元320输出的低电平数据信号截止,第二开关单元314根据输入信号单元320输出的低电平数据信号导通;第一开关单元313根据输入信号单元320输出的高电平数据信号导通,第二开关单元314根据输入信号单元320输出的高电平数据信号截止,从而实现在低阻态权重结构下输入信号单元320输出的低电平数据信号或高电平数据信号,存算单元310输出均为低阻态。其中,第一开关单元313和第二开关单元314可以为mos开关管,示例性的,第一开关单元313为NMOS开关管,第二开关单元314为PMOS开关管,因此,第一开关单元313的控制端接入低电平数据信号(对应0)时为截止状态,接入高电平数据信号(对应1)时为导通状态。第二开关单元314的控制端接入低电平数据信号(对应0)时为导通状态,接入高电平数据信号(对应1)时为截止状态。
示例性,低阻态权重结构下的存算单元310的工作原理为:低电平数据信号可以代表为“0”,高电平数据信号可以代表为“1”。第一权重单元311被配置为低阻态,第二权重单元312被配置为低阻态,即存算单元310的权重为0。当输入信号单元320输出的低电平数据信号(对应0),第一开关单元313截止,第二开关单元314导通,因此,低阻态权重结构下的存算单元310输出为第二权重单元312的低阻态RL(对应0),也就是说,此时对应为输入为0,存算单元310的权重为0,输出为0。当输入信号单元320输出的高电平数据信号(对应1),第一开关单元313导通,第二开关单元314截止,因此,低阻态权重结构下的存算单元310输出为第一权重单元311的低阻态RL(对应0),也就是说,此时对应为输入为1,存算单元310的权重为0,输出为0,实现了0,1之间的乘法逻辑。
基于上述实施例,图8为本发明实施例提供一种高阻态权重结构的结构示意图,图9为本发明实施例提供又一种高阻态权重结构的权重设计示意图,参见图8-9,高阻态权重结构包括第三权重单元321、第四权重单元322、第三开关单元323和第四开关单元324;第三权重单元321被配置为高阻态,第四权重单元322被配置为低阻态;
第三权重单元321的第一端作为存算单元310的第一端,第三权重单元321的第二端与第三开关单元323的第一端连接,第三开关单元323的第二端作为存算单元310的第二端连接;第三开关单元323的控制端与输入信号单元320的信号输出端连接;第三开关单元323用于根据低电平数据信号为截止状态,根据高电平数据信号为导通状态;
第四权重单元322的第一端与第三权重单元321的第一端连接,第四权重单元322的第二端与第四开关单元324的第一端连接,第四开关单元324的第二端与第三开关单元323的第二端连接;第四开关单元324的控制端与输入信号单元320的信号输出端连接;第四开关单元324用于根据低电平数据信号为导通状态,根据高电平数据信号为截止状态。
具体的,第三权重单元321被配置为高阻态,第四权重单元322均被配置为低阻态,例如,第三权重单元321和第四权重单元322采用磁阻随机存取存储器(MRAM),从而通过改变电流极性,可以配置第三权重单元321和第四权重单元322的状态。
第三权重单元321和第三开关单元323、第四权重单元322和第四开关单元324在电路上为并联连接,输入信号单元320的信号输出端分别与第三开关单元323和第四开关单元324的控制端连接。第三开关单元323根据输入信号单元320输出的低电平数据信号截止,第四开关单元324根据输入信号单元320输出的低电平数据信号导通,从而实现在高低阻态权重结构下输入信号单元320输出为低电平数据信号,存算单元310输出低阻态。
第三开关单元323根据输入信号单元320输出的高电平数据信号导通,第四开关单元324根据输入信号单元320输出的高电平数据信号截止,输出低阻态,从而实现在高低阻态权重结构下输入信号单元320输出为高电平数据信号,存算单元310输出高阻态。其中,第三开关单元323和第四开关单元324可以为mos开关管,示例性的,第三开关单元323为NMOS开关管,第四开关单元324为PMOS开关管,因此,第三开关单元323的控制端接入低电平数据信号(对应0)时为截止状态,接入高电平数据信号(对应1)时为导通状态。第四开关单元324的控制端接入低电平数据信号(对应0)时为导通状态,接入高电平数据信号(对应1)时为截止状态。
示例性,高阻态权重结构下的存算单元310的工作原理为:低电平数据信号可以代表为“0”,高电平数据信号可以代表为“1”。第三权重单元321被配置为高阻态,第四权重单元322被配置为低阻态,即存算单元310的权重为1。当输入信号单元320输出的低电平数据信号(对应0),第三开关单元323截止,第四开关单元324导通,因此,高阻态权重结构下的存算单元310输出为第四权重单元322的低阻态RL(对应0),也就是说,此时对应为输入为0,存算单元310的权重为1,输出为0。当输入信号单元320输出的高电平数据信号(对应1),第三开关单元323导通,第四开关单元324截止,因此,高阻态权重结构下的存算单元310输出为第三权重单元321的高阻态RH(对应1),也就是说,此时对应为输入为1,存算单元310的权重为1,输出也为1,实现了0,1之间的乘法逻辑。
基于上述实施例,在存算一体阵列中,存算单元310需要烧写成低阻态权重结构或高阻态权重结构,而在低阻态权重结构和高阻态权重结构中的始终存在一个权重单元一直为低阻态,在低阻态权重结构和高阻态权重结构重新烧写转换时不需要再次烧写权重。这就意味着当权重结构更新时,存算一体阵列中超过一半的权重不需要更改,从而显著减少了与权重更新相关的延迟。此外,由于写入权重需要较大的操作电流,因此它会对设备的耐久性产生不利影响。本发明实施例还可以通过交替更新权重单元的权重来实现双倍等效耐久性。
在一些实施例中,对应每一行的输入信号单元320的信号输出可以采用共享互补的输入信号,也就是说,输入信号单元320的信号输出端包括第一输出端和第二输出端;每一行对应的第一输出端和第二输出端分别记为INO(0)、INO(1);IN1(0)、IN1(1);IN2(0)、IN2(1)……INm(0)、INm(1)。当第一输出端输出低电平数据时,第二输出端互补输出高电平数据,第一输出端和第二输出端的输出信号形成低电平数据信号;当第一输出端输出高电平数据时,第二输出端互补输出低电平数据,第一输出端和第二输出端的输出信号形成高电平数据信号。图10为本发明实施例提供又一种可配置多比特的存算一体阵列的结构示意图,图11为本发明实施例提供一种低阻态权重结构的权重设计示意图,参见图10-11,低阻态权重结构包括第一权重单元311、第二权重单元312和第一开关单元313和第二开关单元314;第一权重单元311被配置为低阻态,第二权重单元312被配置为低阻态;
第一权重单元311的第一端作为存算单元310的第一端连接,第一权重单元311的第二端与第一开关单元313的第一端连接,第一开关单元313的第二端作为存算单元310的第二端;第一开关单元313的控制端与第一输出端连接;
第二权重单元312的第一端与第一权重单元311的第一端连接,第二权重单元312的第二端与第二开关单元314的第一端连接,第二开关单元314的第二端与第一开关单元313的第二端连接;第二开关单元314的控制端与第二输出端连接;
第一开关单元313用于根据低电平数据为截止状态,根据高电平数据为导通状态;第二开关单元314用于根据低电平数据为截止状态,根据高电平数据为导通状态。
具体的,第一权重单元311和第二权重单元312均被配置为低阻态,例如,第一权重单元311和第二权重单元312采用磁阻随机存取存储器(MRAM),从而通过改变电流极性,可以配置第一权重单元311和第二权重单元312的状态。
第一权重单元311和第一开关单元313、第二权重单元312和第二开关单元314两者在电路上为并联连接,输入信号单元320的第一输出端与第一开关单元313的控制端连接,输入信号单元320的第二输出端与第二开关单元314的控制端连接。第一开关单元313在第一输出端输出低电平数据时截止,此时,第二输出端输出高电平数据,第二开关单元314导通。第一开关单元313在第一输出端输出高电平数据时导通,此时,第二输出端输出低电平数据,第二开关单元314截止。从而实现在低阻态权重结构下输入信号单元320输出的低电平数据信号或高电平数据信号,存算单元310输出均为低阻态。其中,第一开关单元313和第二开关单元314可以为MOS开关管,示例性的,第一开关单元313和第二开关单元314均为NMOS开关管,采用相同的开关管,可以降低存算单元310的制备过程中产品之间的差异带来的数据影响。其中,第一开关单元313和第二开关单元314的控制端即为存算单元的信号输入端。
示例性,低阻态权重结构下的存算单元310的工作原理为:当第一输出端输出低电平数据时,第二输出端互补输出高电平数据,第一输出端和第二输出端的输出信号形成低电平数据信号;第一权重单元311被配置为低阻态,第二权重单元312被配置为低阻态,即存算单元310的权重为0。当第一输出端输出低电平数据时,第二输出端互补输出高电平数据,第一开关单元313截止,第二开关单元314导通,因此,低阻态权重结构下的存算单元310输出为第二权重单元312的低阻态RL(对应0),也就是说,此时对应为输入为0,存算单元310的权重为0,输出为0。当第一输出端输出高电平数据时,第二输出端互补输出低电平数据,第一输出端和第二输出端的输出信号形成高电平数据信号,此时第一开关单元313导通,第二开关单元314截止,因此,低阻态权重结构下的存算单元310输出为第一权重单元311的低阻态RL(对应0),也就是说,此时对应为输入为1,存算单元310的权重为0,输出为0,实现了0,1之间的乘法逻辑。
图12为本发明实施例提供一种高阻态权重结构的权重设计示意图,参见图12,高阻态权重结构包括第三权重单元321、第四权重单元322和第三开关单元323和第四开关单元324;第三权重单元321被配置为高阻态,第四权重单元322被配置为低阻态;
第三权重单元321的第一端作为存算单元310的第一端,第三权重单元321的第二端与第三开关单元323的第一端连接,第三开关单元323的第二端作为存算单元310的第二端;第三开关单元323的控制端与第一输出端连接;
第四权重单元322的第一端与第三权重单元321的第一端连接,第四权重单元322的第二端与第四开关单元324的第一端连接,第四开关单元324的第二端与第三开关单元323的第二端连接;第四开关单元324的控制端与第二输出端连接;
第三开关单元323用于根据低电平数据为截止状态,根据高电平数据为导通状态;第四开关单元324用于根据低电平数据为截止状态,根据高电平数据为导通状态。
具体的,第三权重单元321被配置为高阻态,第四权重单元322均被配置为低阻态,例如,第三权重单元321和第四权重单元322采用磁阻随机存取存储器(MRAM),从而通过改变电流极性,可以配置第三权重单元321和第四权重单元322的状态。
第三权重单元321和第三开关单元323、第四权重单元322和第四开关单元324在电路上为并联连接,输入信号单元320的第一输出端与第三开关单元323的控制端连接,输入信号单元320的第二输出端与第四开关单元324的控制端连接。第三开关单元323在第一输出端输出低电平数据时截止,此时,第二输出端输出高电平数据,第四开关单元324导通。从而实现在高低阻态权重结构下输入信号单元320输出为低电平数据信号,存算单元310输出低阻态。
第三开关单元323在第一输出端输出高电平数据时导通,此时,第二输出端输出低电平数据,第四开关单元324截止,从而实现在高低阻态权重结构下输入信号单元320输出为高电平数据信号,存算单元310输出高阻态。其中,第三开关单元323和第四开关单元324可以为MOS开关管,示例性的,第三开关单元323和第四开关单元324为NMOS开关管。其中,第三开关单元323和第四开关单元324的控制端即为存算单元的信号输入端。
示例性,高阻态权重结构下的存算单元310的工作原理为:当第一输出端输出低电平数据时,第二输出端互补输出高电平数据,第一输出端和第二输出端的输出信号形成低电平数据信号;第三权重单元321被配置为高阻态,第四权重单元322被配置为低阻态,即存算单元310的权重为1。当第一输出端输出低电平数据时,第二输出端互补输出高电平数据,第三开关单元323截止,第四开关单元324导通,因此,高阻态权重结构下的存算单元310输出为第二权重单元312的低阻态RL(对应0),也就是说,此时对应为输入为0,存算单元310的权重为1,输出为0。当第一输出端输出高电平数据时,第二输出端互补输出低电平数据,第三开关单元323导通,第四开关单元324截止,因此,高阻态权重结构下的存算单元310输出为第三权重单元321的高阻态RH(对应1),也就是说,此时对应为输入为1,存算单元310的权重为1,输出也为1,实现了0,1之间的乘法逻辑。
在一些实施例中,数据输出单元340可以采用电流转换电压的模块和模数转换模块,在阵列中每一列的计算的等效电阻不同,因而输出的电流不同。首先将每一列的输出电流经过一个电流转换电压的模块。假设阵列输入电流转电压模块的电流为I,那么输出的电压值则为I*R。之后通过一个模数转换模块,将输出的电压值转换成数字码值,之后再通过移位相加的方法来得到最终的输出结果。
在一些实施例中,图13为本发明实施例提供一种输出电路的结构示意图,参见图13,数据输出单元340可以采用充电单元120+统计单元110+输出单元130的结构,充电单元120用于根据存算阵列输出的电流信号进行充电;统计单元110用于根据充电单元120的电压获得当前列充电单元120的完成充电的时间参数值,输出单元130用于根据每列的时间参数值移位相加得到特定位的多比特数据,输出单元130还用于根据得到的其他特定位的多比特数据进行移位相加后得到最终输出数据。
具体的,存算阵列中每列的输出端与一个充电单元120的第一端连接,充电单元120的第二端接地;一个统计单元110的第一端与对应列的充电单元120的第一端连接,统计单元110的第二端与输出单元130的输入端连接。
在存算阵列中根据权重计算后得到的每一列等效电阻不同,因而每列输出的电流不同。每一列的输出连接一个充电单元120,对充电单元120进行充电,由于充电电流不同,所以每个充电单元120充至预设电压的时间参数值也是不同的。示例性的,充电单元120可以为充电电容,当充电单元120充电至预设电压后,统计单元110可以根据当前的充电单元120的电压进行统计得到充电单元120完成充电的时间参数值,例如,统计单元110可由比较器和计数器组成,在每列输出电流信号后计数器开始计时,充电单元120进行充电,通过比较器将充电电压与预设电压对比,当充电电压达到预设电压后计数器··计时结束,从而可以统计得到时间参数值。
输出单元130将每列的输出数据移位相加得到特定位的多比特数据,其中,特定位是指输出数据的数据位,再将数据位由低至高的输出数据移位相加后得到最终的输出数据。
为了便于理解,本发明实施例示例性的计算:
则,
a=1101*1000+1011*1011+0110*0000+0101*0101;
结合图4,在本发明实施例中根据阵列的对存算单元310进行配置,例如,每列中第一列BL0为二进制数值中最高位的权重,第四列BL3为二进制数值中最低位的权重,其他列为依次定义。当然也可以第一列BL0为二进制数值中最低位的权重,第四列BL3为二进制数值中最高位的权重。本发明实施例中,以每列中第一列BL0为二进制数值中最高位的权重,第四列BL3为二进制数值中最低位的权重为例,各个存算单元310被配置为如图4中所示的低阻态权重或高阻态权重。对于输入向量,先输入向量中的最低位乘数计算最低位加和,即/>即1*4的4bit向量乘以一个4*1的4bit向量,则针对每列的等效电阻的电流输出,对充电单元进行充电,统计单元可以统计出每列的时间参数值,例如第一列BL0的时间参数值为10,第二列BL1的时间参数值为01,第三列BL2的时间参数值为01,第四列BL3的时间参数值为10,输出单元130则根据每列数值中的数据位进行移位相加,即移位相加结果为11000,得到最低位的加和。依次再输入/> 直至最高位/>得到4个特定位的输出数据后,将每一位得到的结果进行移位相加,得到最终的输出数据。需要说明的是,本发明实施例中对存算一体阵列的行列参数仅做示意,并不具体限定,存算一体阵列可以进行拓展,例如n列、m行,n、m均为大于等于1的整数。
本发明实施例中,通过将存算阵列中每列的输出端与一个充电单元连接,计算后得到的每一列等效电阻不同,统计单元对充电单元的充电时间进行统计得到时间参数值,输出单元将每列的输出数据移位相加得到特定位的多比特数据,其中,特定位是指输出数据的数据位,再将数据位由低至高的输出数据移位相加后得到最终的输出数据。
本发明实施例还提供一种存算一体芯片,因其包括本发明实施例任意的可配置多比特的存算一体阵列,因此具有相同的有益效果,在此不再赘述。
本发明实施例还提供一种电子设备,该电子设备可以包括上述的存算一体芯片,因其包括本发明实施例任意的可配置多比特的存算一体阵列,因此具有相同的有益效果,在此不再赘述。电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种可配置多比特的存算一体阵列,其特征在于,包括:多个存算单元、输入信号单元、位线和数据输出单元;
所述存算单元阵列排布,每列的所述存算单元串联连接;每列首个所述存算单元的第一端与所述位线连接;所述位线用于输入参考电压信号;
同一行中的所述存算单元的信号输入端与对应当前行的所述输入信号单元的信号输出端连接;所述输入信号单元用于向每行所述存算单元输出低电平数据信号或高电平数据信号;
所述数据输出单元与每列末尾所述存算单元的第二端连接;所述数据输出单元用于对每列所述存算单元的输出信号进行后处理运算;
其中,所述存算单元被配置为低阻态权重结构或高阻态权重结构;当所述存算单元被配置为所述低阻态权重结构,所述存算单元的信号输入端接收到所述低电平数据信号或所述高电平数据信号时,所述存算单元的输出均为低阻态;当所述存算单元被配置为所述高阻态权重结构时,若所述存算单元的信号输入端接收到所述低电平数据信号,则所述存算单元输出为低阻态,若所述存算单元的信号输入端接收到所述高电平数据信号,则所述存算单元输出为高阻态。
2.根据权利要求1所述的可配置多比特的存算一体阵列,其特征在于,所述低阻态权重结构包括第一权重单元、第二权重单元、第一开关单元和第二开关单元;所述第一权重单元被配置为低阻态,所述第二权重单元被配置为低阻态;
所述第一权重单元的第一端作为所述存算单元的第一端,所述第一权重单元的第二端与所述第一开关单元的第一端连接,所述第一开关单元的第二端作为所述存算单元的第二端;所述第一开关单元的控制端与所述输入信号单元的信号输出端连接;所述第一开关单元用于根据所述低电平数据信号为截止状态,根据所述高电平数据信号为导通状态;
所述第二权重单元的第一端与所述第一权重单元的第一端连接,所述第二权重单元的第二端与所述第二开关单元的第一端连接,所述第二开关单元的第二端与所述第一开关单元的第二端连接;所述第二开关单元的控制端与所述输入信号单元的信号输出端连接;所述第二开关单元用于根据所述低电平数据信号为导通状态,根据所述高电平数据信号为截止状态。
3.根据权利要求2所述的可配置多比特的存算一体阵列,其特征在于,所述高阻态权重结构包括第三权重单元、第四权重单元、第三开关单元和第四开关单元;所述第三权重单元被配置为高阻态,所述第四权重单元被配置为低阻态;
所述第三权重单元的第一端作为所述存算单元的第一端,所述第三权重单元的第二端与所述第三开关单元的第一端连接,所述第三开关单元的第二端作为所述存算单元的第二端连接;所述第三开关单元的控制端与所述输入信号单元的信号输出端连接;所述第三开关单元用于根据所述低电平数据信号为截止状态,根据所述高电平数据信号为导通状态;
所述第四权重单元的第一端与所述第三权重单元的第一端连接,所述第四权重单元的第二端与所述第四开关单元的第一端连接,所述第四开关单元的第二端与所述第三开关单元的第二端连接;所述第四开关单元的控制端与所述输入信号单元的信号输出端连接;所述第四开关单元用于根据所述低电平数据信号为导通状态,根据所述高电平数据信号为截止状态。
4.根据权利要求3所述的可配置多比特的存算一体阵列,其特征在于,所述第一开关单元和所述第三开关单元为NMOS开关管;所述第二开关单元和所述第四开关单元为PMOS开关管。
5.根据权利要求1所述的可配置多比特的存算一体阵列,其特征在于,对应每一行的所述输入信号单元的信号输出端包括第一输出端和第二输出端;所述第一输出端输出低电平数据,所述第二输出端输出高电平数据形成所述低电平数据信号;所述第一输出端输出高电平数据,所述第二输出端输出低电平数据形成所述高电平数据信号;
所述低阻态权重结构包括第一权重单元、第二权重单元和第一开关单元和第二开关单元;所述第一权重单元被配置为低阻态,所述第二权重单元被配置为低阻态;
所述第一权重单元的第一端作为所述存算单元的第一端,所述第一权重单元的第二端与所述第一开关单元的第一端连接,所述第一开关单元的第二端作为所述存算单元的第二端;所述第一开关单元的控制端与所述第一输出端连接;
所述第二权重单元的第一端与所述第一权重单元的第一端连接,所述第二权重单元的第二端与所述第二开关单元的第一端连接,所述第二开关单元的第二端与所述第一开关单元的第二端连接;所述第二开关单元的控制端与所述第二输出端连接;
所述第一开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态;所述第二开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态。
6.根据权利要求5所述的可配置多比特的存算一体阵列,其特征在于,所述高阻态权重结构包括第三权重单元、第四权重单元和第三开关单元和第四开关单元;所述第三权重单元被配置为高阻态,所述第四权重单元被配置为低阻态;
所述第三权重单元的第一端作为所述存算单元的第一端,所述第三权重单元的第二端与所述第三开关单元的第一端连接,所述第三开关单元的第二端作为所述存算单元的第二端;所述第三开关单元的控制端与所述第一输出端连接;
所述第四权重单元的第一端与所述第三权重单元的第一端连接,所述第四权重单元的第二端与所述第四开关单元的第一端连接,所述第四开关单元的第二端与所述第三开关单元的第二端连接;所述第四开关单元的控制端与所述第二输出端连接;
所述第三开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态;所述第四开关单元用于根据所述低电平数据为截止状态,根据所述高电平数据为导通状态。
7.根据权利要求6所述的可配置多比特的存算一体阵列,其特征在于,所述第一开关单元、所述第二开关单元、所述第三开关单元和所述第四开关单元均为NMOS开关管。
8.根据权利要求3或6所述的可配置多比特的存算一体阵列,其特征在于,所述第一权重单元、所述第二权重单元、所述第四权重单元和所述第三权重单元为磁阻随机存取存储器。
9.一种存算一体芯片,其特征在于,包括权利要求1-8任一项所述的可配置多比特的存算一体阵列。
10.一种电子设备,其特征在于,包括权利要求9所述的存算一体芯片。
CN202311826440.8A 2023-12-27 2023-12-27 可配置多比特的存算一体阵列、存算一体芯片及电子设备 Pending CN117789791A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311826440.8A CN117789791A (zh) 2023-12-27 2023-12-27 可配置多比特的存算一体阵列、存算一体芯片及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311826440.8A CN117789791A (zh) 2023-12-27 2023-12-27 可配置多比特的存算一体阵列、存算一体芯片及电子设备

Publications (1)

Publication Number Publication Date
CN117789791A true CN117789791A (zh) 2024-03-29

Family

ID=90396004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311826440.8A Pending CN117789791A (zh) 2023-12-27 2023-12-27 可配置多比特的存算一体阵列、存算一体芯片及电子设备

Country Status (1)

Country Link
CN (1) CN117789791A (zh)

Similar Documents

Publication Publication Date Title
CN112581996B (zh) 基于磁性随机存储器的时域存内计算阵列结构
US11501829B2 (en) Resistive random-access memory for embedded computation
CN111652363B (zh) 存算一体电路
US20180144240A1 (en) Semiconductor cell configured to perform logic operations
EP3671748A1 (en) In-memory computing for machine learning
US11151439B2 (en) Computing in-memory system and method based on skyrmion racetrack memory
CN109817255B (zh) 权重单元、集成电路和执行乘法及累加运算的方法
CN113314163B (zh) 存储器器件、计算器件以及计算方法
TW202147320A (zh) 低功率記憶體內計算位元格
KR102555621B1 (ko) 메모리 내의 컴퓨팅 회로 및 방법
CN108154225B (zh) 一种使用模拟计算的神经网络芯片
CN114974337B (zh) 一种基于自旋磁随机存储器的时间域存内计算电路
CN116860696A (zh) 一种基于非易失性存储器的存内计算电路
Wang et al. Hybrid VC-MTJ/CMOS non-volatile stochastic logic for efficient computing
CN114496010A (zh) 一种基于磁性随机存储器的模拟域近存计算阵列结构
US12046283B2 (en) Compute-in-memory array and module, and data computing method
CN115390789A (zh) 基于磁隧道结计算单元的模拟域全精度存内计算电路及方法
US7242174B1 (en) Digital sensing circuit
CN117157636A (zh) 存算一体装置、系统及其操作方法
CN117789791A (zh) 可配置多比特的存算一体阵列、存算一体芯片及电子设备
US20200302996A1 (en) Read and Logic Operation Methods for Voltage-Divider Bit-Cell Memory Devices
CN112951290B (zh) 一种基于非易失性随机存储器的内存计算电路及装置
CN113222131B (zh) 基于1t1r的可实现带符号权重系数的突触阵列电路
CN114627937A (zh) 基于非易失存储器件的存内计算电路和方法
CN118072779B (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