CN110569962B - 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法 - Google Patents

一种基于1t1r存储器阵列的卷积计算加速器及其操作方法 Download PDF

Info

Publication number
CN110569962B
CN110569962B CN201910728983.3A CN201910728983A CN110569962B CN 110569962 B CN110569962 B CN 110569962B CN 201910728983 A CN201910728983 A CN 201910728983A CN 110569962 B CN110569962 B CN 110569962B
Authority
CN
China
Prior art keywords
convolution
memory array
voltage
convolved
resistance change
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
Application number
CN201910728983.3A
Other languages
English (en)
Other versions
CN110569962A (zh
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910728983.3A priority Critical patent/CN110569962B/zh
Publication of CN110569962A publication Critical patent/CN110569962A/zh
Application granted granted Critical
Publication of CN110569962B publication Critical patent/CN110569962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Semiconductor Memories (AREA)

Abstract

本发明公开了一种基于1T1R存储器阵列的卷积计算加速器及其操作方法,卷积计算加速器采用1T1R存储器阵列结构,解决了阵列中的漏电流问题;通过根据所输入的进行卷积运算的数在1T1R存储器阵列的字线、位线、选择线上输入不同的电压,实现“与”逻辑运算和总电流读取,完成了卷积计算中的乘法运算和加法运算步骤,从而实现卷积运算并简化了计算过程;本发明通过并行实现二值乘法运算,一步完成了卷积核对所有数据的乘法运算,并且运算结果也可以并行读取,极大地提高了处理效率。另外本发明通过采用1T1R存储器阵列,实现了存储与计算的融合,大幅节约了能耗和计算时间,解决现有技术中由于计算架构中存储与计算分离而导致的延时较大的问题。

Description

一种基于1T1R存储器阵列的卷积计算加速器及其操作方法
技术领域
本发明属于数字电路领域,更具体地,涉及一种基于1T1R存储器阵列的卷积计算加速器及其操作方法。
背景技术
卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被大量应用于计算机视觉、自然语言处理等领域。卷积神经网络结构包括输入层、隐含层和输出层,其中隐含层又包括卷积层、池化层和全连接层。相较于一般的全连接神经网络,卷积神经网络内的稀疏连接提高了网络结构的稳定性,同时减少了权重参数的总量,有利于神经网络的快速学习,并在计算时减少内存开销。
将输入层和卷积层的数据二值化,比起直接利用原始数据进行卷积计算,计算量更小,计算结果的准确性更高,故研究二值化数据的卷积运算有着非常重要的意义。
传统的卷积计算加速器是基于CMOS器件的卷积计算,采用的是冯·诺伊曼计算架构,因架构中存储与计算分离,数据需要在存储器与处理器之间频繁传输,产生巨大的功耗和延时。随着CMOS器件性能日益优化,总线上的数据传输问题日益严重,极大地限制了计算机的计算性能,即冯·诺伊曼瓶颈。
因此,提出一种功耗和延时较小的卷积计算加速器及其操作方法是亟需解决的问题。
发明内容
针对现有技术的缺陷,本发明的目的在于提出一种基于1T1R存储器阵列的卷积计算加速器及其操作方法,旨在解决现有技术中由于计算架构中存储与计算分离而导致的延时较大的问题。
为实现上述目的,本发明一方面提供了一种基于1T1R存储器阵列的卷积计算加速器,包括1T1R存储器阵列、控制器;
其中,控制器分别与1T1R存储器阵列的字线、位线、选择线相连;
1T1R存储器阵列用于根据控制器输入的电压改变阵列中阻变单元的阻态,从而实现输入数值之间的卷积运算;
控制器用于根据进行卷积运算的数在1T1R存储器阵列的输入端输入不同的电压。
进一步优选地,进行卷积运算的数包括卷积核、待卷积数;卷积核与待卷积数均为二值数,卷积核为多行一列结构,待卷积数为多行多列结构,且卷积核的行数与待卷积数的行数相等,卷积核的行数小于或等于1T1R存储器阵列的选择线数目,待卷积数的列数小于或等于1T1R存储器阵列的位线数目。
进一步优选地,1T1R存储器阵列中包含阻变单元,所述阻变单元具有第一阈值和第二阈值,其中,第一阈值是使阻变单元从高阻态转变为低阻态的电压阈值,第二阈值是使阻变单元从低阻态转变为高阻态的反向电压阈值。
本发明另一方面提供了一种基于1T1R存储器阵列的卷积计算加速器操作方法,包括以下步骤:
S1、根据输入的待卷积数分别控制1T1R存储器阵列中不同行和列对应的选择线、字线、位线上的电压,将m行n列待卷积数存储到1T1R存储器阵列中,其中m和n均为大于等于1的整数;
S2、将存入数据的阻变单元所在的位线分别接地,在存入数据的阻变单元所在的字线上分别施加大于等于第二阈值绝对值的电压,根据输入的卷积核控制存入数据的阻变单元所在选择线上的电压,实现卷积核与待卷积数在列上的乘法运算;
S3、在存入数据的阻变单元所在的选择线上分别施加大于晶体管开启电压的电压,在存入数据的阻变单元所在的字线上分别施加小于第一阈值的电压,检测存入数据的阻变单元所在列上每一列的总电流;
S4、将所得每一列上的总电流与参考电流比较,获得每一列的运算结果之和,从而完成卷积运算。其中,参考电流为阻变单元处于低阻态时的读取电流。
进一步优选地,阵列中未存入数据的阻变单元所在的选择线、字线和位线全部悬空。
进一步优选地,当阻变单元的阻态为高阻态时,阻变单元存储的数据为“0”;当阻变单元的阻态为低阻态时,阻变单元存储的数据为“1”。
进一步优选地,步骤S1中所述的方法包括:
(1)在第m1行选择线上施加大于晶体管开启电压的电压,将第m1行的字线接地,并在第n1列的位线上施加大于等于第一阈值的正向电压,从而在1T1R存储器阵列的第m1行n1列(1≤m1≤m,1≤n1≤n)写入数据1;
(2)在m1行选择线上施加大于晶体管开启电压的电压,在第m1行的字线上施加大于等于第二阈值绝对值的电压,并将第n1列的位线接地,从而在1T1R存储器阵列的第m1行n1列(1≤m1≤m,1≤n1≤n)写入数据0。
进一步优选地,步骤S2中根据输入的卷积核控制存入数据的阻变单元所在选择线上的电压,实现卷积核与待卷积数在列上的乘法运算的方法包括:
(1)当卷积核中的数为0时,在其对应行所在选择线上施加大于晶体管开启电压的电压;
(2)当卷积核中的数为1时,将其对应行所在的选择线接地。
进一步优选地,步骤S2所得的乘法运算结果以阻变单元的阻态形式即时存储在1T1R阵列的阻变单元中。
进一步优选地,计算存入数据的阻变单元所在列上的总电流与参考电流的比值作为每一列的运算结果之和。
通过本发明所构思的以上技术方案,与现有技术相比,能够取得以下有益效果:
1、本发明提供了一种基于1T1R存储器阵列的卷积计算加速器,采用1T1R存储器阵列结构,通过晶体管断开状态几乎无电流通过的特点,解决了阵列中的漏电流问题,另外通过1T1R存储器阵列中阻变单元的阻态来存储计算结果,并且实现了存储与计算的融合,大幅节约了能耗和计算时间,解决了现有技术中由于计算架构中存储与计算分离而导致的延时较大的问题。
2、本发明提供了一种基于1T1R存储器阵列的卷积计算加速器操作方法,利用“与”逻辑运算和总电流读取的方式,代替卷积计算中最关键的乘法运算和加法运算步骤,实现了卷积计算,并简化了计算过程。依靠1T1R阵列的结构特点,一步完成卷积核对所有数据的乘法运算,运算结果可以并行读取,极大地提高了处理效率,整个操作实现了存储与计算的融合,大幅节约了能耗和计算时间。
附图说明
图1是本发明所提供的基于1T1R存储器阵列的卷积计算加速器结构示意图;
图2是本发明所提供的阻变单元电流-电压关系示意图;
图3是本发明实施例所提供的阻变单元写入数据的电压控制示意图;其中,图(a)为存储单元中写入数据“1”的电压控制示意图,图(b)为存储单元中写入数据“0”的电压控制示意图;
图4是本发明所提供的在1T1R阵列中完成“与”操作的示意图;其中,图(a)为控制数据“0”与数据“0”进行“与”操作的示意图,图(b)为控制数据“0”与数据“1”进行“与”操作的示意图,图(c)为控制数据“1”与数据“0”进行“与”操作的示意图,图(d)为控制数据“1”与数据(1)进行“与”操作的示意图;
图5是本发明实施例所提供的在1T1R阵列中一步完成多个阻变单元“与”操作的示意图;
图6是本发明实施例所提供的对卷积核与待卷积数完成“与”运算以后的结果按列进行求和的操作示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了实现上述目的,本发明提供了一种基于1T1R存储器阵列的卷积计算加速器,包括1T1R存储器阵列、控制器;
其中,控制器分别与1T1R存储器阵列的字线WL、位线BL、选择线SL相连;
1T1R存储器阵列用于根据控制器输入的电压改变阵列中阻变单元的阻态,从而实现卷积运算;具体的,如图1所示为1T1R存储器阵列,由晶体管T和阻变单元R组成,其中,晶体管为NMOS管,包括栅极、源极和漏极,晶体管的漏极与阻变单元的负极相连。在1T1R存储器阵列中每一行的所有晶体管的源极连接在一起,构成阵列的字线WL;每一列的所有阻变单元的正极连接在一起,构成阵列的位线BL;每一行的所有晶体管的栅极连接在一起,构成阵列的选择线SL。通过在相应的选择线、字线和位线上施加电压,可选取阵列中的一个或几个阻变单元进行操作。
具体的,阻变单元具有第一阈值和第二阈值,其中,第一阈值是使阻变单元从高阻态转变为低阻态的电压阈值,第二阈值是使阻变单元从低阻态转变为高阻态的反向电压阈值。如图2所示为双极性阻变单元的代表性伏安特性曲线示意图,由图可知,当加在阻变单元两端的正向电压大于或等于第一阈值时,阻变单元从高阻态变为低阻态;当加在阻变单元的反向电压大于或等于第二阈值时,阻变单元从低阻态变为高阻态。以Ti/HfO2(10nm)/TiN阻变单元为例,其第一阈值取值为0.8V,第二阈值取值为-1V。图中,Vset、Vreset、Vread均为操作电压,其中电压Vset大于等于第一阈值,电压Vreset大于等于第二阈值的绝对值,电压Vread为小于第一阈值的正向电压。
控制器用于根据进行卷积运算的数在1T1R存储器阵列的输入端输入不同的电压。
具体的,进行卷积运算的数包括卷积核、待卷积数;其中,卷积核与待卷积数均为二值数,卷积核为多行一列结构,待卷积数为多行多列结构,且卷积核的行数与待卷积数的行数相等,卷积核的行数小于或等于1T1R存储器阵列的选择线数目,待卷积数的列数小于或等于1T1R存储器阵列的位线数目。
本发明另一方面提供了一种基于1T1R存储器阵列的卷积计算加速器操作方法,包括以下步骤:
S1、根据输入的待卷积数分别控制1T1R存储器阵列中不同行和列对应的选择线、字线、位线上的电压,将m行n列待卷积数存储到1T1R存储器阵列中,其中m和n均为大于等于1的整数;
实施例1、
在阻变单元中写入待卷积数,具体的,如图3所示,其中图(a)为存储单元中写入数据“1”的电压控制示意图,当在存储单元中写入数据“1”时,在晶体管栅极施加大于晶体管开启电压的电压VG,使晶体管源极和漏极导通,目前比较成熟的晶体管开启电压为0.7V左右。本发明中施加在栅极的操作电压VG为大于0.7V的电压。另外,晶体管源极接地(GND),同时在阻变单元的正极施加大于等于第一阈值的正向电压Vset,并将阵列中未存入数据的单元所在的选择线、字线和位线全部悬空。根据晶体管的导通特性,漏极和源极电压近似相等,所以漏极近似为接地,此时阻变单元两端压降近似为Vset,使器件发生set操作,变成低阻,即写入数据“1”,此时存储单元处于低阻态。当在存储单元中写入数据“0”时,如图3中的(b)图所示为存储单元中写入数据“0”的电压控制示意图,在晶体管栅极施加大于晶体管开启电压的电压VG,使晶体管源极和漏极导通;晶体管源极施加大于等于第二阈值绝对值的电压Vreset,同时阻变单元的正极接地(GND)。根据晶体管的导通特性,漏极和源极电压近似相等,近似为Vreset,此时阻变单元两端压降近似为Vreset,使器件发生reset操作,变成高阻,即写入数据“0”,此时存储单元处于高阻态。
具体的,当在1T1R存储器阵列的第m1行n1列(1≤m1≤m,1≤n1≤n)写入数据1时,在第m1行选择线SL上施加大于晶体管开启电压的电压VG,使第m1行的字线WL接地,并在第n1列的位线BL上施加大于等于第一阈值的正向电压Vset,将阵列中未存入数据的单元所在的选择线、字线和位线全部悬空,此时第m1行n1列的阻变单元两端压降近似为Vset,使器件发生set操作,变成低阻,写入数据“1”,此时存储单元处于低阻态。当在1T1R存储器阵列的第m1行n1列(1≤m1≤m,1≤n1≤n)写入数据0时,在m1行选择线SL上施加大于晶体管开启电压的电压VG,在第m1行的字线WL上施加大于等于第二阈值绝对值的电压Vreset,并将第n1列的位线BL接地,此时第m1行n1列的阻变单元两端的压降近似为Vreset,使器件发生reset操作,变成高阻,写入数据“0”,此时存储单元处于高阻态。
进一步的,待卷积数串行输入到1T1R存储器阵列中,每输入完一个待卷积数后,若下一个输入的待卷积数与其处于同一行上,则输入完上一个待卷积数后将其所在的位线BL悬空,再输入下一个待卷积数;若下一个输入的待卷积数与其处于同一列上,则输入完上一个待卷积数后将其所在的字线WL悬空,再输入下一个待卷积数。
S2、将存入数据的阻变单元所在的位线分别接地,在存入数据的阻变单元所在的字线上分别施加大于等于第二阈值绝对值的电压,根据输入的卷积核控制存入数据的阻变单元所在选择线上的电压,实现卷积核与待卷积数在列上的乘法运算;
具体的,二值信息的乘法运算可以看作是“与”运算,即0×0=0,0×1=0,1×0=0,1×1=1,而卷积计算过程包含乘法和加法两个步骤,这里“与”运算可用于二值卷积计算中的乘法运算部分。如图4所示为在1T1R阵列中完成“与”操作的示意图,将存入数据的阻变单元所在的位线BL分别接地(GND),在存入数据的阻变单元所在的字线WL上分别施加大于等于第二阈值绝对值的电压Vreset,并将阵列中未存入数据的单元所在的选择线、字线和位线全部悬空,在存入数据的阻变单元所在的选择线SL上分别施加每一行卷积核p所对应的电压。
具体的,当p为0时,在所在选择线SL上施加大于晶体管开启电压的电压VG,晶体管漏极和源极导通,漏极电压为Vreset,此时阻变单元两端电压近似为Vreset,若此时阻变单元处于高阻态,则当前输入待卷积数q为0,由于Vreset不会使阻变单元发生阻变,结果仍为高阻态,对应输出为0,逻辑计算结果直接存储在阻变单元中,如图4中的(a)图所示;若此时阻变单元处于低阻态,则当前输入待卷积数q为1,由于此时Vreset会使阻变单元发生阻变,所以器件最终阻态为高阻态,对应输出为0,如图4中的(b)图所示。综上所述,当p=0,q=0时,输出q’=0;当p=0,q=1时,输出q’=0。
当p为1时,将所在选择线SL接地(GND),晶体管漏极和源极不导通,此时电路处于断路状态,所在字线WL上的电压Vreset无法对阻变单元造成影响,若此时阻变单元处于高阻态,则当前输入待卷积数q为0,输出仍为0,如图4中的(c)图所示;若此时阻变单元处于低阻态,则当前输入待卷积数q为1,输出仍为1,如图4中的(d)图所示。综上所述,当p=1,q=0时,输出q’=0;当p=1,q=1时,输出q’=1。
从以上几种情况综合来看正好对应“与”逻辑的输入和输出情况,故S2中所述的方法实现了“与”逻辑运算,实现卷积核与待卷积数在列上的乘法运算。
实施例2、
在1T1R阵列中一步完成多个阻变单元“与”操作,如对卷积核[0 1 1]和待卷积数
Figure BDA0002159888310000091
进行“与”操作时,如图5所示,首先将卷积核[0 1 1]转换为3行1列的结构
Figure BDA0002159888310000092
将待卷积数转换为3行2列的结构
Figure BDA0002159888310000093
使卷积核的行数与待卷积数的行数相等,然后将待卷积数分别以阻变单元阻态的形式写入到1T1R存储器阵列的前三行前两列中,在前三行所在的字线上分别施加大于等于第二阈值绝对值的电压Vreset,将前两列所在的位线接地(GND),阵列中未存入数据的阻变单元所在的选择线、字线和位线全部悬空。根据卷积核在前三行的选择线上施加电压,其中,0代表大于晶体管开启电压的电压VG,1代表接地电压GND,在卷积核0对应的行所在的选择线上施加大于晶体管开启电压的电压VG,将卷积核1对应的行所在的选择线接地(GND),此时卷积核分别与每一列的待卷积数进行“与”运算,具体的在待卷积数的第一列上,卷积核中的数“0”与待卷积数“1”进行“与”操作得到结果“0”,卷积核中的数“1”与待卷积数“1”进行“与”操作得到结果“1”,卷积核中的数“1”与待卷积数“0”进行“与”操作得到结果“0”;第二列同理进行,最终得到卷积核与待卷积数在列上的乘法运算结果
Figure BDA0002159888310000101
并以阻态的形式存储在相应的阻变单元中。由于所有操作电压为同时施加,所以卷积核会对6个阻变单元同时进行“与”运算,而且是一步完成。
S3、在存入数据的阻变单元所在的选择线上分别施加大于晶体管开启电压的电压,在存入数据的阻变单元所在的字线上分别施加小于第一阈值的电压,检测存入数据的阻变单元所在列上每一列的总电流;
具体的,实现卷积计算过程中的加法部分,在存入数据的阻变单元所在的选择线上施加大于晶体管开启电压的电压VG,在存入数据的阻变单元所在的字线上施加小于第一阈值的电压Vread,将存入数据的阻变单元所在的位线接地(GND);将阵列中未存入数据的单元所在的选择线、字线和位线全部悬空。检测存入数据的阻变单元的每一列上的总电流IBL
S4、将所得每一列上的总电流与参考电流比较,获得每一列的运算结果之和,从而完成卷积运算。其中,参考电流为阻变单元处于低阻态时的读取电流。
具体的,将存入数据的阻变单元每一列上的总电流IBL与参考电流比较,即可获得每一列的运算结果之和。具体的,参考电流为阻变单元处于低阻态时的读取电流,利用阻变单元高阻态远大于低阻态这一特点,在相同读取电压下,低阻态的电流会远大于高阻态的电流,所以每一列的总电流主要由低阻态单元的个数决定。
实施例3、
对实施例2中卷积核与待卷积数完成乘法运算以后的结果按列进行求和,如图6所示,在存入数据的阻变单元所在的选择线上施加大于晶体管开启电压的电压VG,在存入数据的阻变单元所在的字线上施加小于第一阈值的电压Vread,将存入数据的阻变单元所在的位线接地(GND);将阵列中未存入数据的单元所在的选择线、字线和位线全部悬空。计算存入数据的阻变单元所在列上的总电流与参考电流的比值作为每一列的运算结果之和,这里参考电流即为阻变单元处于低阻态时的读取电流,即低阻态读取电流。具体的,卷积核与待卷积数完成乘法运算以后所得的第一列的结果为
Figure BDA0002159888310000111
对应两个高阻态阻变单元和一个低阻态阻变单元,由于低阻态时的电流远大于高阻态时的电流,所以第一列的总电流IBL1近似为一倍的低阻态读取电流,所以第一列的结果求和为1;卷积核与待卷积数完成乘法运算以后所得的第一列的结果为
Figure BDA0002159888310000112
对应一个高阻态单元和两个低阻态单元;由于低阻态的电流远大于高阻态的电流,所以第二列的总电流IBL2近似为两倍的低阻态读取电流,所以第二列的结果求和为2。综上可得,卷积运算所得的结果为[12]。
本发明提供了一种高效的二值化卷积计算加速器及其操作方法。加速器采用1T1R阵列结构,解决了阵列中的漏电流问题;利用“与”逻辑运算和总电流读取的方式,代替卷积计算中最关键的乘法运算和加法运算步骤,实现了卷积计算,并简化了计算过程;依靠1T1R阵列的结构特点,一步完成卷积核对所有数据的乘法运算,运算结果可以并行读取,极大地提高了处理效率;整个操作实现了存储与计算的融合,大幅节约了能耗和计算时间。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于1T1R存储器阵列的卷积计算加速器,其特征在于,包括1T1R存储器阵列和控制器;
所述控制器分别与所述1T1R存储器阵列的字线、位线以及选择线相连;所述1T1R存储器阵列中包含阻变单元,所述阻变单元具有第一阈值和第二阈值,其中,所述第一阈值是使阻变单元从高阻态转变为低阻态的电压阈值,所述第二阈值是使阻变单元从低阻态转变为高阻态的反向电压阈值;
所述1T1R存储器阵列用于根据控制器输入的电压改变阵列中阻变单元的阻态,从而实现输入数值之间的卷积运算;
所述控制器用于根据进行卷积运算的数在1T1R存储器阵列的输入端输入不同的电压;
所述进行卷积运算的数包括卷积核和待卷积数;所述卷积核与所述待卷积数均为二值数,所述卷积核为多行一列结构,所述待卷积数为多行多列结构,且所述卷积核的行数与所述待卷积数的行数相等,所述卷积核的行数小于或等于所述1T1R存储器阵列的选择线数目,所述待卷积数的列数小于或等于所述1T1R存储器阵列的位线数目。
2.一种权利要求1所述的基于1T1R存储器阵列的卷积计算加速器的操作方法,其特征在于,包括以下步骤:
S1、根据输入的待卷积数分别控制1T1R存储器阵列中不同行和列对应的选择线、字线、位线上的电压,将m行n列的待卷积数存储到1T1R存储器阵列中,其中m和n均为大于或等于1的整数;
S2、将存入数据的阻变单元所在的位线分别接地,在存入数据的阻变单元所在的字线上分别施加大于或等于第二阈值绝对值的电压,根据输入的卷积核控制存入数据的阻变单元所在选择线上的电压,实现卷积核与待卷积数在列上的乘法运算;
S3、在存入数据的阻变单元所在的选择线上分别施加大于晶体管开启电压的电压,在存入数据的阻变单元所在的字线上分别施加小于第一阈值的电压,检测存入数据的阻变单元所在列上每一列的总电流;
S4、将所得每一列上的总电流与参考电流比较,获得每一列的运算结果之和,从而完成卷积运算;其中,参考电流为阻变单元处于低阻态时的读取电流。
3.根据权利要求2所述的卷积计算加速器的操作方法,其特征在于,1T1R存储器阵列中未存入数据的阻变单元所在的选择线、字线和位线全部悬空。
4.根据权利要求2所述的卷积计算加速器的操作方法,其特征在于,当阻变单元的阻态为高阻态时,阻变单元存储的数据为“0”;当阻变单元的阻态为低阻态时,阻变单元存储的数据为“1”。
5.根据权利要求2-4任意一项所述的卷积计算加速器的操作方法,其特征在于,步骤S1中所述的方法包括:
(1)在第m1行选择线上施加大于晶体管开启电压的电压,将第m1行的字线接地,并在第n1列的位线上施加大于或等于第一阈值的电压,从而在1T1R存储器阵列的第m1行n1列写入数据1;
(2)在m1行选择线上施加大于晶体管开启电压的电压,在第m1行的字线上施加大于或等于第二阈值绝对值的电压,并将第n1列的位线接地,从而在1T1R存储器阵列的第m1行n1列写入数据0;
其中,m1=1,2,…,m,n1=1,2,…,n。
6.根据权利要求2-4任意一项所述的卷积计算加速器的操作方法,其特征在于,根据输入的卷积核控制存入数据的阻变单元所在选择线上的电压,实现卷积核与待卷积数在列上的乘法运算的方法包括:
(1)当卷积核中的数为0时,在其对应行所在选择线上施加大于晶体管开启电压的电压;
(2)当卷积核中的数为1时,将其对应行所在的选择线接地。
7.根据权利要求2-4任意一项所述的卷积计算加速器的操作方法,其特征在于,步骤S2中所得的乘法运算结果以阻变单元的阻态形式即时存储在1T1R阵列的阻变单元中。
8.根据权利要求2-4任意一项所述的卷积计算加速器的操作方法,其特征在于,计算存入数据的阻变单元所在列上的总电流与参考电流的比值作为每一列的运算结果之和。
CN201910728983.3A 2019-08-08 2019-08-08 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法 Active CN110569962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910728983.3A CN110569962B (zh) 2019-08-08 2019-08-08 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910728983.3A CN110569962B (zh) 2019-08-08 2019-08-08 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法

Publications (2)

Publication Number Publication Date
CN110569962A CN110569962A (zh) 2019-12-13
CN110569962B true CN110569962B (zh) 2022-02-15

Family

ID=68774738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910728983.3A Active CN110569962B (zh) 2019-08-08 2019-08-08 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法

Country Status (1)

Country Link
CN (1) CN110569962B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111191776A (zh) * 2019-12-19 2020-05-22 浙江大学 存储计算阵列及模组、数据计算方法
US11663455B2 (en) * 2020-02-12 2023-05-30 Ememory Technology Inc. Resistive random-access memory cell and associated cell array structure
US11309028B2 (en) * 2020-09-03 2022-04-19 Macronix International Co., Ltd. Inference operation method and controlling circuit of 3D NAND artificial intelligence accelerator
CN113077829B (zh) * 2021-04-20 2023-04-28 清华大学 基于忆阻器阵列的数据处理方法、电子装置
CN115879530B (zh) * 2023-03-02 2023-05-05 湖北大学 一种面向rram存内计算系统阵列结构优化的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106373611A (zh) * 2016-09-29 2017-02-01 华中科技大学 一种存储与计算阵列结构及其操作方法
CN109635941A (zh) * 2018-11-06 2019-04-16 华中科技大学 一种基于1t1r存储器件的最大池化处理器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017139342A1 (en) * 2016-02-08 2017-08-17 Spero Devices, Inc. Analog co-processor
CN106530210B (zh) * 2016-10-31 2019-09-06 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
US10366752B2 (en) * 2016-12-11 2019-07-30 Technion Research & Development Foundation Ltd. Programming for electronic memories

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106373611A (zh) * 2016-09-29 2017-02-01 华中科技大学 一种存储与计算阵列结构及其操作方法
CN109635941A (zh) * 2018-11-06 2019-04-16 华中科技大学 一种基于1t1r存储器件的最大池化处理器

Also Published As

Publication number Publication date
CN110569962A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110569962B (zh) 一种基于1t1r存储器阵列的卷积计算加速器及其操作方法
Sun et al. Fully parallel RRAM synaptic array for implementing binary neural network with (+ 1,− 1) weights and (+ 1, 0) neurons
Chen et al. Technology-design co-optimization of resistive cross-point array for accelerating learning algorithms on chip
WO2021088248A1 (zh) 基于忆阻器的神经网络的并行加速方法及处理器、装置
US11151439B2 (en) Computing in-memory system and method based on skyrmion racetrack memory
US11544540B2 (en) Systems and methods for neural network training and deployment for hardware accelerators
TWI699711B (zh) 記憶體裝置及其製造方法
US20220375508A1 (en) Compute in memory (cim) memory array
Burr et al. Ohm's law+ kirchhoff's current law= better ai: Neural-network processing done in memory with analog circuits will save energy
US20240304230A1 (en) Device and method for performing matrix operation
US11309026B2 (en) Convolution operation method based on NOR flash array
Yang et al. Essence: Exploiting structured stochastic gradient pruning for endurance-aware reram-based in-memory training systems
Sim et al. LUPIS: Latch-up based ultra efficient processing in-memory system
Gi et al. Fundamental issues of implementing hardware neural networks using memristor
Doevenspeck et al. Noise tolerant ternary weight deep neural networks for analog in-memory inference
CN109521995B (zh) 一种内嵌于忆阻器阵列的逻辑运算装置的计算方法
Ahn et al. Maximizing parallel activation of word-lines in MRAM-based binary neural network accelerators
CN116935929A (zh) 互补式存储电路及存储器
CN115019854B (zh) 基于忆阻器的存算一体存算单元和存算阵列
Zhang et al. Xbm: A crossbar column-wise binary mask learning method for efficient multiple task adaption
CN113222131B (zh) 基于1t1r的可实现带符号权重系数的突触阵列电路
CN108154226B (zh) 一种使用模拟计算的神经网络芯片
CN114898792A (zh) 多比特存内内积暨异或单元、异或向量及操作方法
US20240037394A1 (en) System and method for neural network multiple task adaptation
Chong et al. Recovering Accuracy of RRAM-based CIM for Binarized Neural Network via Chip-in-the-loop Training

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