一种基于忆阻器阵列的矩阵乘法运算电路及其使用方法技术

技术编号:37114570 阅读:18 留言:0更新日期:2023-04-01 05:11
本发明专利技术涉及一种基于忆阻器阵列的矩阵乘法运算电路及其使用方法。其技术方案是:本发明专利技术包括采样延时电路(101)、阻值调节电路(102)、矩阵元素存储模块(103)、一级运算电路(104)、矩阵元素存储及运算模块(105)、二级运算电路(106)、矩阵运算结果存储模块(107)、矩阵电阻(108)和矩阵开关电路(109)。当进行矩阵乘法运算时,矩阵元素存储模块(103)所表示的矩阵与矩阵元素存储及运算模块(105)表示的矩阵完成乘法运算,并将运算结果通过阻值调节电路(102)保存到矩阵运算结果存储模块(107)中,计算过程中省去了存储器和运算器之间进行数据传输的过程。本发明专利技术能对任意二个包含正数和负数元素的实数矩阵进行矩阵乘法运算,且操作简单、运算速度快。运算速度快。运算速度快。

【技术实现步骤摘要】
一种基于忆阻器阵列的矩阵乘法运算电路及其使用方法


[0001]本专利技术属于矩阵乘法运算电路
具体涉及一种基于忆阻器阵列的矩阵乘法运算电路。

技术介绍

[0002]矩阵乘法运算在物理研究、图像处理、线性规划、信号处理等多个领域被广泛应用。矩阵乘法运算速度的提高能使上述多种应用中数据处理的速度得到提升。目前的大规模矩阵乘法运算都是在计算机中通过矩阵乘法运算程序来实现的,但其运算速度受以下两种因素的制约而无法得到有效的提高:一是计算机在执行矩阵乘法运算时,运算器和存储器之间需频繁地进行数据传输,使得大量的时间被消耗在运算器和存储器之间的通信中,运算速度难以得到明显提高。二是计算机程序在同一时刻只能执行两个数据间的运算,这也使得矩阵乘法运算的时间大幅增加。因此,如何解决以上两个问题以提高矩阵乘法运算的速度为本领域技术人员所关注。
[0003]忆阻器阵列是忆阻器的一种组合电路,它能够以电阻的形式存储多个模拟量,且仅需在忆阻器阵列的各行施加电压就能并行完成乘积累加的运算,因此可以避免运算器和存储器之间因进行数据传输而造成的时间消耗。此外,使用忆阻器阵列可以同时实现多组数据的运算,能够解决计算机因依次执行单组数据间的运算而导致的低速问题。在矩阵乘法运算电路中,矩阵元素与忆阻器阵列中的忆阻器具有相同的排列方式,且忆阻器阵列能够在一个计算周期内完成向量与矩阵间的乘法运算,因此,基于忆阻器阵列的电路在矩阵乘法运算电路的研究中具有很大价值。
[0004]Nourazar M等人(Nourazar M,Rashtchi V,Azarpeyvand A,et al.Memristor

based approximate matrix multiplier[J].Analog Integrated Circuits and Signal Processing,2017,93(3):363

373)将数字电路和忆阻器阵列相结合,设计了一种矩阵乘法运算电路。该电路用忆阻器阵列中每个忆阻器的电导值表征矩阵中的一个元素,用施加到忆阻器阵列各行的电压表示与矩阵相乘的向量。进行运算时控制器将表征向量元素的电压施加到忆阻器阵列的对应行,同时读取忆阻器阵列的输出电压作为向量矩阵乘法运算的结果,然后通过多次向量矩阵乘法完成矩阵与矩阵间的乘法运算。虽然该矩阵乘法运算电路可以通过模拟运算大幅提高矩阵乘法的运算效率,但实现过程中的每一次向量矩阵乘法运算都需要控制器执行输入和读取操作,导致矩阵乘法运算的速度受到限制。此外,该电路中各忆阻器的阻值调节方法较为复杂,这也导致更多的时间被消耗在忆阻器的阻值调节过程中。
[0005]Zhang Y等人(Zhang Y,Wang X,Friedman E G.Memristor

based circuit design for multilayer neural networks[J].IEEE Transactions on Circuits and Systems I:Regular Papers,2017,65(2):677

686)用多个忆阻器阵列设计了一种多层人工神经网络硬件电路。该电路用一个忆阻器阵列表示一层神经网络,而神经网络的突触权重则由阵列中各忆阻器的电导值表示。当在忆阻器阵列的各行施加电压后,它的输出电压
就是向量矩阵乘法运算的结果,同时作为下一层神经网络的输入电压施加到下一个忆阻器阵列的各行中,依次完成每层神经网络中的向量矩阵乘法运算。虽然该电路以模拟计算的方式提高了矩阵乘法运算速度,但由于该电路只能执行向量矩阵乘法运算,故每执行一次运算都需要重新施加电压到忆阻器阵列的各行,使得运算的速度难以进一步提高。
[0006]Cai R Z等人(Ruizhe Cai,Ao Ren,Sucheta Soundarajan,Yanzhi Wang.A low

computation

complexity,energy

efficient,and high

performance linear program solver based on primal dual interior point method using memristor crossbars[J].Nano Communication Networks,2018,18:62

71)设计了一种基于忆阻器阵列的线性方程求解器。忆阻器阵列中每个忆阻器的电导值和阵列中各行所施加的电压分别表示方程组系数矩阵中的系数和解向量,然后使用忆阻器阵列进行向量和矩阵的乘法运算,并通过外部控制器进行比较、迭代等操作以得到方程的最优解。虽然整个系统实现了计算过程的模拟运算,但算法的实现需要由外部控制器来完成,因此,该方法的运算速度受到了控制器运算速度的约束。此外,该电路中的忆阻器阵列只能保存正数,无法直接运算含有负数的矩阵。
[0007]冉德成等人(冉德成,吴东,钱磊.面向深度学习推理的矩阵乘法加速器设计[J].计算机工程,2019,45(10):40

45.DOI:10.19678/j.issn.1000

3428.0052372.)设计了一种面向深度学习推理的矩阵乘法运算电路。该电路主要通过多组数字电路模块完成矩阵乘法运算。虽然此方法能够在一定程度上提高矩阵乘法运算的速度,但是其控制功能是通过软件实现的,这使得矩阵运算速度始终受计算机性能的影响,无法获得更大提升。

技术实现思路

[0008]本专利技术旨在克服现有技术的缺陷,目的是提出一种运算速度快且操作简单的基于忆阻器阵列的矩阵乘法运算电路,该电路能够对任意二个包含正数和负数元素的实数矩阵进行矩阵乘法运算。
[0009]为实现上述目的,本专利技术采用的技术方案是:
[0010]为叙述简便起见,先将所述基于忆阻器阵列的矩阵乘法运算电路简称为矩阵乘法运算电路,且对所述矩阵乘法运算电路中的字母所表示的物理意义统一描述如下:
[0011]i、j、k分别为大于等于2的自然数,M、N、L为符合下述相关不等式的自然数:
[0012]1≤i≤M;
[0013]1≤j≤N;
[0014]1≤k≤L。
[0015]所述矩阵乘法运算电路包括M个采样延时电路、2N+L个阻值调节电路、矩阵元素存储模块、N个一级运算电路、矩阵元素存储及运算模块、L个二级运算电路、矩阵运算结果存储模块、矩阵电阻和矩阵开关电路。
[0016]所述矩阵乘法运算电路中:
[0017]第1采样延时电路的端子CLK、
……
、第i采样延时电路的端子CLK、
……
、第M采样延时电路的端子CLK与矩阵乘法运算电路的端子V
CLK1
分别连接;第1采样延时电路的端子D
N
与第2采样延时电路的端子D...

【技术保护点】

【技术特征摘要】
1.一种基于忆阻器阵列的矩阵乘法运算电路,其特征在于:为叙述简便起见,所述基于忆阻器阵列的矩阵乘法运算电路简称为矩阵乘法运算电路,所述矩阵乘法运算电路中的字母所表示的物理意义统一描述如下:i、j、k分别为大于等于2的自然数,M、N、L为符合下述相关不等式的自然数:1≤i≤M,1≤j≤N,1≤k≤L;所述矩阵乘法运算电路包括M个采样延时电路(101)、2N+L个阻值调节电路(102)、矩阵元素存储模块(103)、N个一级运算电路(104)、矩阵元素存储及运算模块(105)、L个二级运算电路(106)、矩阵运算结果存储模块(107)、矩阵电阻(108)和矩阵开关电路(109);所述矩阵乘法运算电路中:第1采样延时电路(101)的端子CLK、......、第i采样延时电路(101)的端子CLK、......、第M采样延时电路(101)的端子CLK与矩阵乘法运算电路的端子V
CLK1
分别连接;第1采样延时电路(101)的端子D
N
与第2采样延时电路(101)的端子D
IN
连接,......,第i

1采样延时电路(101)的端子D
N
与第i采样延时电路(101)的端子D
IN
连接,......,第M

1采样延时电路(101)的端子D
N
与第M采样延时电路(101)的端子D
IN
连接;第1采样延时电路(101)的端子D
IN
与矩阵乘法运算电路的端子V
DIN
连接;第11阻值调节电路(102)的端子CLK、......、第1j阻值调节电路(102)的端子CLK、......、第1N阻值调节电路(102)的端子CLK、第21阻值调节电路(102)的端子CLK、......、第2j阻值调节电路(102)的端子CLK、......、第2N阻值调节电路(102)的端子CLK、第31阻值调节电路(102)的端子CLK、......、第3k阻值调节电路(102)的端子CLK、......、第3l阻值调节电路(102)的端子CLK与矩阵乘法运算电路的端子V
CLK2
分别连接;第11阻值调节电路(102)的端子W0、......、第1j阻值调节电路(102)的端子W0、......、第1N阻值调节电路(102)的端子W0、第21阻值调节电路(102)的端子W0、......、第2j阻值调节电路(102)的端子W0、......、第2N阻值调节电路(102)的端子W0与矩阵乘法运算电路的端子V
W0
分别连接;第31阻值调节电路(102)的端子W0、......、第3k阻值调节电路(102)的端子W0、......、第3L阻值调节电路(102)的端子W0与矩阵开关电路(109)的端子S1分别连接,第31阻值调节电路(102)的端子W0、......、第3k阻值调节电路(102)的端子W0、......、第3L阻值调节电路(102)的端子W0与矩阵电阻(108)的端子R0分别连接;第11阻值调节电路(102)的端子W
REF
、......、第1j阻值调节电路(102)的端子W
REF
、......、第1N阻值调节电路(102)的端子W
REF
、第21阻值调节电路(102)的端子W
REF
、......、第2j阻值调节电路(102)的端子W
REF
、......、第2N阻值调节电路(102)的端子W
REF
、第31阻值调节电路(102)的端子W
REF
、......、第3k阻值调节电路(102)的端子W
REF
......、第3L阻值调节电路(102)的端子W
REF
与矩阵乘法运算电路的端子VW
REF
分别连接;第11阻值调节电路(102)的端子W1、......、第1j阻值调节电路(102)的端子W1、......、第1N阻值调节电路(102)的端子W1、第21阻值调节电路(102)的端子W1、......、第2j阻值调节电路(102)的端子W1、......、第2N阻值调节电路(102)的端子W1、第31阻值调节电路(102)的端子W1、......、第3k阻值调节电路(102)的端子W1......、第3L阻值调节电路(102)的端
子W1第11阻值调节电路(102)的端子W
IN
与矩阵乘法运算电路的端子V
WA1
连接,......,第1j阻值调节电路(102)的端子W
IN
与矩阵乘法运算电路的端子V
WAj
连接,......,第1N阻值调节电路(102)的端子W
IN
与矩阵乘法运算电路的端子V
WAN
连接;第21阻值调节电路(102)的端子W
IN
与矩阵乘法运算电路的端子V
WB1
连接,......,第2j阻值调节电路(102)的端子W
IN
与矩阵乘法运算电路的端子V
WBj
连接,......,第2N阻值调节电路(102)的端子W
IN
与矩阵乘法运算电路的端子V
WBN
连接;第31阻值调节电路(102)的端子W
IN
与第1二级运算电路(106)的端子O
BOUT
连接,......,第3k阻值调节电路(102)的端子W
IN
与第k二级运算电路(106)的端子O
BOUT
连接,......,第3L阻值调节电路(102)中的端子W
IN
与第L二级运算电路(106)的端子O
BOUT
连接;矩阵元素存储模块(103)的端子A
W1
与第11阻值调节电路(102)的端子W
OUT
连接,......,矩阵元素存储模块(103)的端子A
Wj
与第1j阻值调节电路(102)的端子W
OUT
连接,......,矩阵元素存储模块(103)的端子A
WN
与第1N阻值调节电路(102)的端子W
OUT
连接;矩阵元素存储模块(103)的端子A
D1
与第1采样延时电路(101)的端子D
OUT
连接,......,矩阵元素存储模块(103)的端子A
Di
与第i采样延时电路(101)的端子D
OUT
连接,......,矩阵元素存储模块(103)的端子A
DM
与第M采样延时电路(101)的端子D
OUT
连接;矩阵元素存储模块(103)的端子A
OUT1
与第1一级运算电路(104)的端子O
AIN
连接,......,矩阵元素存储模块(103)的端子A
OUTj
与第j一级运算电路(104)的端子O
AIN
连接,......,矩阵元素存储模块(103)的端子A
OUTN
与第N一级运算电路(104)的端子O
AIN
连接;矩阵元素存储模块(103)的端子A
WS1
、......、A
WSi
、......、A
WSM
与矩阵乘法运算电路的端子V
AWS1
、......、V
AWSi
、......、V
AWSM
对应连接;矩阵元素存储模块(103)的端子A1、A
S1
、A
RES
、A
S2
与矩阵乘法运算电路的端子V
A1
、V
S1
、V
RES
、V
S2
对应连接;第1一级运算电路(104)的端子O
ASTD
、......、第j一级运算电路(104)的端子O
ASTD
、......、第N一级运算电路(104)的端子O
ASTD
分别与矩阵乘法运算电路的端子V
ASTD
连接;第1一级运算电路(104)的端子O
AOUT
与矩阵元素存储及运算模块(105)的端子B
IN1
连接,......,第j一级运算电路(104)的端子O
AOUT
与矩阵元素存储及运算模块(105)的端子B
INj
连接、......、第N一级运算电路(104)的端子O
AOUT
与矩阵元素存储及运算模块(105)的端子B
INN
连接;矩阵元素存储及运算模块(105)的端子B
W1
与第21阻值调节电路(102)的端子W
OUT
连接,......,矩阵元素存储及运算模块(105)的端子B
Wj
与第2j阻值调节电路(102)的端子W
OUT
连接,......,矩阵元素存储及运算模块(105)的端子B
WN
与第2N阻值调节电路(102)的端子W
OUT
连接;矩阵元素存储及运算模块(105)的端子B
OUT11
、B
OUT12
与第1二级运算电路(106)的端子O
BIN1
、O
BIN2
对应连接,......,矩阵元素存储及运算模块(105)的端子B
OUTk1
、B
OUTk2
与第k二级运算电路(106)的端子O
BIN1
、O
BIN2
对应连接,......,矩阵元素存储及运算模块(105)的端子B
OUTL1
、B
OUTL2
与第L二级运算电路(106)的端子O
BIN1
、O
BIN2
连接;矩阵元素存储及运算模块(105)的端子B
S1
与矩阵乘法运算电路的端子V
S1
对应连接;第1二级运算电路(106)的端子O
BRES
、O
BSTD
、O
BS1
、O
BS2
、O
BSEL1
、O
BSEL2
与矩阵乘法运算电路的端子V
RES
、V
BSTD
、V
S1
、V
S2
、V
BS11
、V
BS12
对应连接,......,第k二级运算电路(106)的端子O
BRES
、O
BSTD
、O
BS1
、O
BS2
、O
BSEL1
、O
BSEL2
与矩阵乘法运算电路的端子V
RES
、V
BSTD
、V
S1
、V
S2
、V
BSk1
、V
BSk2
对应连
接,......,第L二级运算电路(106)的端子O
BRES
、O
BSTD
、O
BS1
、O
BS2
、O
BSEL1
、O
BSEL2
与矩阵乘法运算电路的端子V
RES
、V
BSTD
、V
S1
、V
S2
、V
BSL1
、V
BSL2
对应连接;矩阵运算结果存储模块(107)的端子C
D1
与第1采样延时电路(101)的端子D
OUT
连接,......,矩阵运算结果存储模块(107)的端子C
Di
与第i采样延时电路(101)的端子D
OUT
连接,......,矩阵运算结果存储模块(107)的端子C
DM
与第M采样延时电路(101)的端子D
OUT
连接;矩阵运算结果存储模块(107)的端子C
W1
与第31阻值调节电路(102)的端子W
OUT
连接,......,矩阵运算结果存储模块(107)的端子C
Wk
与第3k阻值调节电路(102)的端子W
OUT
连接,......,矩阵运算结果存储模块(107)的端子C
WL
与第3L阻值调节电路(102)的端子W
OUT
连接;矩阵运算结果存储模块(107)的端子C
S1
与矩阵乘法运算电路的端子V
CS1
连接,矩阵运算结果存储模块(107)的端子C
S2
与矩阵乘法运算电路的端子V
S2
连接,矩阵运算结果存储模块(107)的端子C
RES
与矩阵乘法运算电路的端子V
RES
连接;矩阵电阻(108)的端子R1与GND连接;矩阵开关电路(109)的端子S0与矩阵乘法运算电路的端子V
s0
连接,矩阵开关电路(109)的端子SEL与矩阵乘法运算电路的端子V
CLK1
连接;所述矩阵乘法运算电路中的M个采样延时电路(101)相同;每个采样延时电路(101)包括第1运算放大器(201)、采样延时NMOS管(202)、第2运算放大器(203)、采样延时PMOS管(204)、第3运算放大器(205)、第2采样延时电阻(206)、第1采样延时电阻(207)、第2电容(208)和第1电容(209);第1运算放大器(201)的端子F
+
与采样延时电路(101)的端子D
IN
连接,第1运算放大器(201)的端子F
O
分别与采样延时NMOS管(202)的漏极和第1运算放大器(201)的端子F

连接;采样延时NMOS管(202)的栅极、采样延时PMOS管(204)的栅极与采样延时电路(101)的端子CLK分别连接,采样延时NMOS管(202)的源极分别与第1电容(209)的端子C0和第2运算放大器(203)的端子F
+
连接;第2运算放大器(203)的端子F
O
分别与采样延时PMOS管(204)的源极和第2运算放大器(203)的端子F

连接;采样延时PMOS管(204)的漏极分别与第2电容(208)的端子C0、采样延时电路(101)的端子D
N
和第3运算放大器(205)的端子F
+
连接;第3运算放大器(205)的端子F

分别与第1采样延时电阻(207)的端子R0和第2采样延时电阻(206)的端子R0连接,第3运算放大器(205)的端子F
O
分别与第2采样延时电阻(206)的端子R1和采样延时电路(101)的端子D
OUT
连接;第1电容(209)的端子C1、第2电容(208)的端子C1和第1采样延时电阻(207)的端子R1与GND分别连接;所述矩阵乘法运算电路中的2N+L个阻值调节电路(102)相同;每个阻值调节电路(102)包括第1计数器(301)、D触发器(302)、第4运算放大器(303)、阻值调节NMOS管(304)、阻值调节PMOS管(305)、阻值调节逻辑非门(306)、第2计数器(307)和模数转换器(308);第1计数器(301)的端子CLK、第2计数器(307)的端子CLK、模数转换器(308)的端子CLK分别与阻值调节电路(102)的端子CLK连接,第1计数器(301)的端子MAX/MIN与第1计数器(301)的端子CTEN、D触发器(302)的端子CLK和第2计数器(307)的端子LOAD分别连接,第1计数器(301)的端子LOAD与第2计数器(307)的端子D/U、D触发器(302)的端子D、阻值调节电路(102)的端子W0分别连接,第1计数器(301)的端子D/U、A0、......、A
i
、......、A7分别与GND连接;D触发器(302)的端子Q
+
与第4运算放大器(303)的端子F

连接,D触发器(302)的端子Q

与第2计数器(307)的端子CTEN连接,D触发器(302)的端子R与阻值调节逻辑非门(306)的端子N
OUT
连接;第4运算放大器(303)的端子F
O
与第4运算放大器(303)的端子F
+
和阻值调节NMOS
管(304)的漏极分别连接;阻值调节NMOS管(304)的源极与阻值调节PMOS管(305)的源极和阻值调节电路(102)的端子W
OUT
分别连接,阻值调节NMOS管(304)的栅极与阻值调节PMOS管(305)的栅极和阻值调节电路(102)的端子W1分别连接;阻值调节PMOS管(305)的漏极与GND连接;阻值调节逻辑非门(306)的端子N
IN
与第2计数器(307)的端子MAX/MIN连接;第2计数器(307)的端子A0、......、A
i
、......、A7与模数转换器(308)的端子D0、......、D
i
、......、D7对应连接;模数转换器(308)的端子V
ADIN
与阻值调节电路(102)的端子W
IN
连接,模数转换器(308)的端子V
ADREF
与阻值调节电路(102)的端子W
REF
连接;所述矩阵乘法运算电路中的矩阵元素存储模块(103)包括2
×
M个元素存储NMOS管(401)、M+1个元素存储选通器(402)、2
×
N个存储开关电路(403)、元素存储逻辑非门(404)和M
×
N个元素存储忆阻器(405);第11元素存储NMOS管(401)的栅极、......、第1i元素存储NMOS管(401)的栅极、......、第1M元素存储NMOS管(401)的栅极与矩阵元素存储模块(103)的端子A
D1
、......、A
Di
、......、A
DM
对应连接,第11元素存储NMOS管(401)的漏极、......、第1i元素存储NMOS管(401)的漏极、......、第1M元素存储NMOS管(401)的漏极分别与矩阵元素存储模块(103)的端子A1连接,第11元素存储NMOS管(401)的源极、......、第1i元素存储NMOS管(401)的源极、......、第1M元素存储NMOS管(401)的源极与第11元素存储选通器(402)的端子0_CHAN、......、第1i元素存储选通器(402)的端子0_CHAN、......、第1M元素存储选通器(402)的端子0_CHAN对应连接;第21元素存储NMOS管(401)的栅极、......、2i元素存储NMOS管(401)的栅极、......、2M元素存储NMOS管(401)的栅极与矩阵元素存储模块(103)的端子A
WS1
、......、A
WSi
、......、A
WSM
对应连接,第21元素存储NMOS管(401)的源极、......、2i元素存储NMOS管(401)的源极、......、2M元素存储NMOS管(401)的源极分别与第2元素存储选通器(402)的端子OUT连接,第21元素存储NMOS管(401)的漏极、......、2i元素存储NMOS管(401)的漏极、......、2M元素存储NM...

【专利技术属性】
技术研发人员:甘朝晖孔德智
申请(专利权)人:武汉科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1