CN113870921B - 一种忆阻器阵列上符号数映射方法 - Google Patents
一种忆阻器阵列上符号数映射方法 Download PDFInfo
- Publication number
- CN113870921B CN113870921B CN202111456209.5A CN202111456209A CN113870921B CN 113870921 B CN113870921 B CN 113870921B CN 202111456209 A CN202111456209 A CN 202111456209A CN 113870921 B CN113870921 B CN 113870921B
- Authority
- CN
- China
- Prior art keywords
- memristor
- bit
- mapping
- multivalued
- binary
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
Abstract
本发明公开了一种忆阻器阵列上符号数映射方法,该映射方法将有符号数以补码的表达形式直接映射在忆阻器阵列上,并依据不同映射数的位宽以及忆阻器精度获得映射方案。首先,需要确认当前忆阻器类型器件为二值还是多值,如果是多值器件需再确认单元精度;然后,确定所映射符号数的位宽,并将符号数转为补码形式下的二进制数;最后,得出该符号数映射方案。本发明适用于神经网络计算,该方法映射符号数所占用忆阻器资源消耗小,通用性强,数值覆盖范围和实际表达范围一样。
Description
技术领域
本发明涉及新型智能计算领域,尤其是涉及一种忆阻器阵列上符号数映射方法。
背景技术
当前对于忆阻器的研究越来越广泛,涉及的领域也各式各样,如安全、数学、人工智能领域。在人工智能领域,忆阻器常常被用来作为神经网络计算的工具与媒介,其高读写速度、低功耗、高并行度的特性被充分的体现出。忆阻器,记忆电阻器(Memristor)是表示磁通与电荷关系的电路器件,与电阻不同,忆阻的阻值是由流经它的电荷确定,通过测定忆阻的阻值,便可知道流经它的电荷量,从而有记忆电荷的作用。并且,基于忆阻的随机存储器的集成度、功耗、读写速度都要比传统的随机存储器优越。此外,忆阻是硬件实现人工神经网络突触的最好方式。由于忆阻的非线性性质,可以产生混沌电路,从而在保密通信中也有很多应用。
阻变忆阻器(Resistive Random Access Memory,ReRAM)作为忆阻器中研究较为广泛的一种,可以根据其上下两级施加的不同电压可以变换其电导值,根据这个特性,ReRAM可以作为实现存储器和处理器一体化“存算一体”芯片的基本单元。
ReRAM器件构成的阵列,可以将矩阵中对应的元素值对应ReRAM器件的电导值。由欧姆定律可以得到,器件输出的电流值就是电压值和电导值的乘积计算结果;又根据基尔霍夫定律,则各列的总的输出电流就应该等于该行中每一个器件电流之和,通过乘累加计算,即完成了卷积运算,整个计算过程不需要数据的搬移,在电导和电压施加的一个瞬间就可以完成卷积运算。极大降低了传统矩阵运算的复杂度,降低了系统的功耗。
但是,在通过忆阻器做矩阵计算的过程中,对于神经网络权重值的映射,现有技术中一方面,会采用将有符号数以无符号数值映射在一个正忆阻器阵列和一个负忆阻器阵列上,然后对于计算结果做差,得到最终值,但该方法会占用较多忆阻器的资源,在数值表达范围上,也会损失一个最小负数值。另一方面,是通过改变器件或者增加模拟电路,来实现对于符号数的映射,该方法比较复杂,且降低了通用性。
发明内容
为解决现有技术的不足,将有符号数以补码的表达形式,直接映射在忆阻器阵列上,并依据不同映射数的位宽以及忆阻器精度,获得映射方案,实现降低忆阻器资源占用,避免损失一个最小负数值,提高通用性的目的,本发明采用如下的技术方案:
一种忆阻器阵列上符号数映射方法,包括如下步骤:
S1,获取忆阻器类型;
S2,当忆阻器是多值器件时,获取其单元精度m;
S3,获取待映射符号数的位宽N;
S4,将待映射符号数转为二进制补码形式;
S5,将二进制的N位符号数,映射在1+n个多值忆阻器上,其中最高位为符号位,由
一个多值忆阻器存储,当不为整数时,剩余的多值忆阻器数量向上取整,并
将多出的空位用符号位补全,放到原符号位后,并存储到n个多值忆阻器中。
进一步地,S5包括如下步骤:
S51,第一个多值忆阻器存放符号位;
S54,将补全位用符号位补全(即补全的数值与符号位相同)后,存入第二个多值忆阻器中,依次存储剩余的符号数(当第二个多值忆阻器的存储空间仍有剩余时,需先存满第二个多值忆阻器,再按次序存储后续的多值存储器)。
进一步地,当忆阻器为二值时,n=N-1个二值忆阻器,分别储存二进制符号数的第N-1位至0位。
进一步地,将忆阻器中的映射值作为权重值W,与输入数据进行计算,得到输出数
据。由于每个忆阻器拥有的电导值为,对应其权重值,施加电压,对
应输入特征值,依据欧姆定律,每个单元流出,该电流即输入特征值(即输入值)与权重值的(即映射在忆阻器上的值)乘积。
进一步地,在多值忆阻器阵列中,依据基尔霍夫电流定律,每一列流出的总电流是
一列中各个多值忆阻器RERAM流出电流的总合,,,,即对应矩阵乘加的结果值,其中
表示符号位多值忆阻器的数据,表示其他多值忆阻器的数据,例如,用于卷积的运算时,
便可减少卷积计算所需的忆阻器的数量。
进一步地,待映射符号数为十进制时,将十进制数转为二进制数。
进一步地,符号位为正负符号,0表示正,1表示负。
本发明的优势和有益效果在于:
本发明实现的符号数映射方式,可以将有符号数直接以补码的表达形式,直接映射在忆阻器阵列上,并依据不同映射数的位宽以及忆阻器精度,获得映射方案,具有映射符号数占用忆阻器资源消耗小,通用性强,数值覆盖范围和实际表达范围一样的特征。
附图说明
图1是本发明的方法流程图。
图2是本发明中忆阻器阵列映射示意图。
图3是本发明中10位符号数映射到多值4比特忆阻器示意图。
图4是本发明中符号数映射到二值忆阻器示意图。
图5是本发明中符号数映射到多值2比特忆阻器示意图。
图6是本发明中二值忆阻器占用数量图。
图7是本发明中精度为2比特的多值忆阻器占用数量图。
图8是本发明中精度为3比特的多值忆阻器占用数量图。
图9是本发明中精度为5比特的多值忆阻器占用数量图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
如图1所示,一种忆阻器阵列上符号数映射方法,包括如下步骤:
(1)首先,需要确认当前忆阻器器件类型为二值还是多值;
(2)如果是多值器件需再确认单元精度;
(3)然后,确定所映射符号数的位宽;
(4)将所映射符号数转为二进制补码形式;
(5)最后,得出该符号数映射方案。各个步骤具体的实施,依据器件的特性以及所映射值的位宽确认。
如图2、图3所示,在尺寸为A*B的忆阻器阵列上,一个N位的有符号数值W将会被映
射在1+n个忆阻器上。当忆阻器为二值时,,其中1个忆阻器单元储存数值W的最高
位,代表其符号(即符号位忆阻器),剩余n个忆阻器分别储存数值W的第N-1位至0位。当忆阻
器为多值时,,m为忆阻器单元的精度,当不为整数,需要向上取整,其中1个
忆阻器单元储存数值W的最高位,代表其符号(即符号位忆阻器),剩余忆阻器分别储存数值
W的第N-1位至0位,依据不同的m值存入m位到忆阻器中,如果不为整数,在符号位忆阻器
后的第一个忆阻器需要补全p个符号位(即补全的P与符号位相同)。如N=10位的二进制符号
数映射到多值4比特忆阻器(每个可存4比特的忆阻器)上,N-1为9,不为整数,余q=1,需
要在W的第N位与N-1位之间补p=m-q=3个第N位(此时,第N位是1,则补全位是111),使得为整数。
在忆阻器阵列中,每个忆阻器拥有的电导值为,对应其权重值,施加电
压,对应输入特征值,依据欧姆定律,每个cell流出,该电流就是
输入特征值(即输入值)与权重值的(即映射在忆阻器上的值)乘积。同时,依据基
尔霍夫电流定律,每一列流出的总电流是一列中各个忆阻器RERAM流出电流的总合,,即对应矩阵乘加的结果值。上述变量m’,;上述变量n’,。如图4所示,所映射值W为4位,映射目标为二值忆阻器,目标值将会被映射到4
个忆阻器上,分别为、、、。如十进制数6,映射到为0,为1,为1,为0;
十进制数3,映射到为0,为0,为1,为1;十进制数-4,映射到为1,为1,为
0,为0;十进制数-7,映射到为1,为0,为0,为1。在实际计算过程中,为一
个符号标志位值,实际值是乘上系数,-可以视为无符号数,实际值分别乘上系数、、。即。
实例1:
实例2:
实例3:
如图5所示,所映射值W为N=4位,映射目标为多值2比特忆阻器(m=2),将十进制数转
成二进制数,然后目标值将会被映射到3个忆阻器上,分别为,,。如十进制数6,映
射到为0,为1,为2;十进制数3,映射到为0,为0,为3;十进制数-4,映射到为1,为1,为0;十进制数-7,映射到为1,为0,为1。在实际计算过程中,
为一个符号标志位值只会位0或1,可以当作一个二值忆阻器来看待,实际值是乘上系数,-可以视为无符号数,实际值分别乘上系数、。即。
实例4:
实例5:
实例6:
如图6所示,当映射的器件为二值忆阻器时,在所映射符号数位宽范围为1-16为的情况下,该映射方法占用忆阻器的数量比普通正负阵列映射方法的占用忆阻器数量少0%-50%。如图7-图9所示,当映射的器件为多值忆阻器时,在所映射符号数位宽范围为1-16为的情况下,虽然随着忆阻器器件精度的变化占用忆阻器的数量也在变化,但是该映射方法占用忆阻器的数量还是比普通正负阵列映射方法的占用忆阻器数量少0%-40%。结合图6-9所示,在同一种忆阻器器件特性下,随着所映射符号数位宽的增长,该映射方法对于忆阻器的占用更少。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (8)
1.一种忆阻器阵列上符号数映射方法,其特征在于包括如下步骤:
S1,获取忆阻器类型;
S2,当忆阻器是多值器件时,获取其单元精度m;
S3,获取待映射符号数的位宽N;
S4,将待映射符号数转为二进制补码形式;
S5,将二进制的N位符号数,映射在1+n个多值忆阻器上,其中最高位为符号位,由一个
多值忆阻器存储,当不为整数时,剩余的多值忆阻器数量向上取整,并将多
出的空位用符号位补全,放到原符号位后,并存储到n个多值忆阻器中;包括如下步骤:
S51,第一个多值忆阻器存放符号位;
S53,计算p=m-q个补全位;
S54,将补全位用符号位补全后,存入第二个多值忆阻器中,依次存储剩余的符号数。
3.根据权利要求1所述的一种忆阻器阵列上符号数映射方法,其特征在于当忆阻器为二值时,n=N-1个二值忆阻器,分别储存二进制符号数的第N-1位至0位。
7.根据权利要求1所述的一种忆阻器阵列上符号数映射方法,其特征在于所述待映射符号数为十进制时,将十进制数转为二进制数。
8.根据权利要求1所述的一种忆阻器阵列上符号数映射方法,其特征在于所述符号位为正负符号,0表示正,1表示负。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111456209.5A CN113870921B (zh) | 2021-12-02 | 2021-12-02 | 一种忆阻器阵列上符号数映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111456209.5A CN113870921B (zh) | 2021-12-02 | 2021-12-02 | 一种忆阻器阵列上符号数映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113870921A CN113870921A (zh) | 2021-12-31 |
CN113870921B true CN113870921B (zh) | 2022-03-18 |
Family
ID=78985543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111456209.5A Active CN113870921B (zh) | 2021-12-02 | 2021-12-02 | 一种忆阻器阵列上符号数映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113870921B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114781634B (zh) * | 2022-06-21 | 2022-11-04 | 之江实验室 | 一种基于忆阻器的神经网络阵列的自动映射方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60232125D1 (de) * | 2001-09-21 | 2009-06-10 | Ricoh Kk | Multi-Level Datenverarbeitung für die Aufzeichnung |
JP4027778B2 (ja) * | 2002-10-30 | 2007-12-26 | 株式会社リコー | 多値データ処理方法及び装置 |
US9489977B1 (en) * | 2015-06-23 | 2016-11-08 | Kabushiki Kaisha Toshiba | Storage device, controller, and recording and reproducing method |
US10326473B2 (en) * | 2017-04-13 | 2019-06-18 | Sk Hynix Inc | Symbol-based coding for NAND flash devices |
CN109213430B (zh) * | 2017-06-30 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 存储管理方法和系统 |
-
2021
- 2021-12-02 CN CN202111456209.5A patent/CN113870921B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113870921A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533668B (zh) | 用于计算神经网络的节点值的硬件加速器和方法 | |
TWI744899B (zh) | 運用於類神經網路系統的乘積累加電路之相關控制電路 | |
US20230113231A1 (en) | Methods and systems of operating a neural circuit in a non-volatile memory based neural-array | |
CN107636640A (zh) | 具有求反指示符的点积引擎 | |
CN113870921B (zh) | 一种忆阻器阵列上符号数映射方法 | |
US11018186B2 (en) | Multi-level memristor elements | |
US11886987B2 (en) | Non-volatile memory-based compact mixed-signal multiply-accumulate engine | |
CN113011574B (zh) | 一种卷积神经网络系统、忆阻器阵列和卷积神经网络 | |
US20220179658A1 (en) | Refactoring Mac Operations | |
CN114499538A (zh) | 多比特输入数据编码方法、装置、电子设备及存储介质 | |
KR20220044643A (ko) | 외부 자기장 프로그래밍 보조가 있는 초저전력 추론 엔진 | |
CN115858235A (zh) | 循环冗余检验处理方法及装置、电路、电子设备和介质 | |
Shi et al. | Adaptive quantization as a device-algorithm co-design approach to improve the performance of in-memory unsupervised learning with SNNs | |
CN116468090A (zh) | 一种基于忆阻器实现的硬件卷积神经网络模型 | |
CN113516234B (zh) | 一种缓解忆阻加速器非理想因素的方法及装置 | |
JP2020013455A (ja) | 畳み込みニューラルネットワークの層において畳み込み演算処理を行なう情報処理装置 | |
CN114816335A (zh) | 一种忆阻器阵列符号数乘法实现方法、装置及设备 | |
CN113705784A (zh) | 一种基于矩阵共享的神经网络权重编码方法及硬件系统 | |
US20220012586A1 (en) | Input mapping to reduce non-ideal effect of compute-in-memory | |
CN114153420A (zh) | 存储器内运算方法及装置 | |
CN114168107A (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
CN115099396B (zh) | 基于忆阻器阵列的全权重映射方法及装置 | |
JP7279293B2 (ja) | メモリデバイスおよびその動作方法 | |
CN116524977A (zh) | 存储器系统和存储器阵列的操作方法 | |
TW202341150A (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 |