CN117809721A - 新兴非易失存算一体系统及其电压降影响补偿方法、电路 - Google Patents
新兴非易失存算一体系统及其电压降影响补偿方法、电路 Download PDFInfo
- Publication number
- CN117809721A CN117809721A CN202311790349.5A CN202311790349A CN117809721A CN 117809721 A CN117809721 A CN 117809721A CN 202311790349 A CN202311790349 A CN 202311790349A CN 117809721 A CN117809721 A CN 117809721A
- Authority
- CN
- China
- Prior art keywords
- input
- multiplier
- output
- voltage drop
- column
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 95
- 230000000694 effects Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003071 parasitic effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
Landscapes
- Read Only Memory (AREA)
Abstract
本发明公开了新兴非易失存算一体系统及其电压降影响补偿方法、电路,属于存算一体技术领域,方法包括:对于当前被激活的计算单元OUx,计算其左侧互连线电阻Rl以及其下侧互连线电阻Rd所引起的电压降对OUx中各列输出结果造成的误差ΔOj并进行补偿;对于OUx中的第q列,误差为其中,阵列在逻辑上被划分为大小为a×b的计算单元;a和b分别表示计算单元包含的行数和列数;Oj和Oq分别表示计算单元OUx中第j列和第q列的输出结果,Gq表示计算单元OUx中第q列eNVM单元的电导之和,s表示输入数据中“1”的数量。补偿电路实现了补偿计算并进行了流水化。本发明能够计算不同位置OU所受到的电压降影响并进行补偿,提高计算准确度。
Description
技术领域
本发明属于存算一体技术领域,更具体地,涉及新兴非易失存算一体系统及其电压降影响补偿方法、电路。
背景技术
新兴非易失存算一体系统,即基于新兴非易失存储器件(Emerging nonvolatilememory,eNVM)的存算一体(Processing in memory,PIM)系统可进行数据存储和计算操作,目前获得了越来越广泛的应用,其计算和存储的核心结构如图1所示,主要包括由eNVM单元组成的阵列,与字线相连的开关电路和字线驱动器,与源线相连的开关电路和源线驱动器,以及与位线相连的开关电路和模数转换器;其中,由eNVM单元组成的阵列是完成存算一体的主要结构,最终各位线上的计算结果经模数转换器转换后输出。此外,新兴非易失存算一体系统还包括处理单元(Processingelement,PE)级缓存和控制器。
新兴非易失存算一体系统的计算受到eNVM单元本身编程周期间变化性(Cycletocycle variation,C2C variation)的影响以及模数转换器(Analog to digitalconverter,ADC)转换开销的限制,表现为计算准确度低、计算开销大。
编程周期间变化性影响是eNVM单元固有的属性,是指eNVM单元的写入阻值具有变化性,即将同一个单元多次编程为相同的数据,每次编程后,该单元的电阻值均不完全相同,具有较小的差异值,该差异值呈对数正态分布。C2C variation对eNVM阵列的计算结果具有累积性的影响。对于阵列的某一列,假设有n个单元,开始时需要将所有eNVM单元编程为数值“1”,也即低电阻状态(Low resistance state,LRS),对于其中的任意一个eNVM单元,由于C2C variation现象的影响,其电导值为Gmax+ΔG,其中,Gmax表示eNVM单元在低阻态下的电导值,ΔG表示由于C2C variation导致的电导变化量。假设该单元被激活参与计算,并且输入数据为“1”,此时该单元两端会添加大小为V的电压,因此该单元计算的输出电流为V*(Gmax+ΔG)。对于该列上的所有单元,其电导值均有一定概率被编程为Gmax+ΔG,如果这些单元的输入数据也为“1”,该列理论输出电流经ADC转换后的结果为n,但是最终该列输出电流为n*V*(Gmax+ΔG),这个电流可能比(n+1)*V*Gmax,也即理论结果为n+1对应的电流还要大,这就会导致ADC错误的将该列计算结果转换成n+1而非n。
ADC转换开销是指ADC转换输出结果时会存在一定开销。对于128×128的阵列大小,8位ADC需要在1个计算周期内转换128列的输出结果,现有工作表明这在实践中是不可行的。
为了解决上述两个问题,现有工作多将阵列在逻辑上进一步划分为多个计算单元(Operation unit,OU),以计算单元为粒度计算,由此能够限制每次计算激活的行、列数目,使得eNVM单元的计算结果不受其编程周期间变化性的影响。同时,现有工作通过使用更多但更小、采样率更高的ADC来转换每个OU的输出结果,在相同ADC面积开销的前提下,减小ADC转换开销。
然而本发明发现,以OU为粒度计算受到互连线寄生电阻带来的严重的电压降(IRdrop)影响,电压降影响会导致在新兴非易失存算一体系统上进行计算的准确度下降40%以上。针对电压降影响计算结果准确性的问题,现有工作提出利用补偿模块对整个阵列受到的电压降影响进行缓解,然而,本发明进一步发现,以OU为粒度进行计算,计算单元受到的电压降影响与整个阵列受到的影响不同,并且这个影响具有OU差异性,也即是说,不同位置的OU所受到的电压降影响不同。图2展示了该差异性,图2中,(a)表示电压降对阵列中不同位置的计算单元两端电压的影响,(b)表示电压降对整个阵列的影响,图中的横、纵坐标分别表示阵列中的位线序号和字线序号。因此,现有的补偿方法并不能准确地补偿各个OU所受到的电压降影响,理论上分析,在现有的补偿方案的基础上,可通过调节补偿模块以适应OU之间的电压降差异性,但是,在实际计算过程中,若采用该方法,则需要频繁调节补偿模块,这会引入显著的开销。此外,现有的补偿电压降影响的方案多针对神经网络等特定应用提出,具有应用局限性。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了新兴非易失存算一体系统及其电压降影响补偿方法、电路,其目的在于,充分考虑电压降影响的OU差异性,计算不同位置OU所受到的电压降影响并进行补偿,以提高新兴非易失存算一体系统的计算准确度。
为实现上述目的,按照本发明的一个方面,提供了一种新兴非易失存算一体系统的电压降影响补偿方法,新兴非易失存算一体系统中,阵列在逻辑上被划分为大小为a*b的计算单元;电压降影响补偿方法包括:
对于当前被激活的计算单元OUx,计算其左侧互连线电阻Rl以及其下侧互连线电阻Rd所引起的电压降对计算单元OUx中各列输出结果造成的误差ΔOj,并按照所计算的误差对计算单元OUx中各列输出结果进行补偿;
对于计算单元OUx中的第q列,该误差的计算公式如下:
其中,a和b分别表示计算单元包含的行数和列数;Oj表示计算单元OUx中第j列的输出结果,Oq表示计算单元OUx中第q列的输出结果,Gq表示计算单元OUx中第q列eNVM单元的电导之和,s表示输入数据中“1”的数量。
进一步地,
R1=b·c·Rw
Rd=a·r·Rw
其中,r和c分别表示计算单元OUx的行号和列号;Rw表示每一段互连线电阻的大小。
进一步地,
Gq=xq·Gmax+(a-xq)·Gmin
其中,xq表示计算单元OUx中第q列中低阻态的eNVM单元的数目,Gmax和Gmin分别表示eNVM单元在低阻态和高阻态下的电导值。
进一步地,
其中,Gmax表示eNVM单元在低阻态下的电导值,Rw表示每一段互连线电阻的大小;δ表示使得eNVM单元的计算结果不受其编程周期间变化性影响时,计算单元所包含行数的最大值;min()表示求最小值。
按照本发明的又一个方面,提供了一种新兴非易失存算一体系统的电压降影响补偿设备,包括:
计算机可读存储介质,用于存储计算机程序;
以及处理器,用于读取计算机可读存储介质中的计算机程序,执行本发明提供的新兴非易失存算一体系统的电压降影响补偿方法。
按照本发明的又一个方面,提供了一种新兴非易失存算一体系统的电压降影响补偿电路,新兴非易失存算一体系统中,阵列在逻辑上被划分为大小为a*b的计算单元,a和b分别表示计算单元所包含的行数和列数;电压降影响补偿电路包括:
乘法器M1,其第一输入端用于接收参数a,其第二输入端用于接收当前被激活的计算单元OUx的列号r,其用于计算a·r;
乘法器M2,其第一输入端用于接收每一段互连线电阻的大小Rw,其第二输入端连接至乘法器M1的输出端,其用于计算OUx下侧互连线电阻为Rd=a·r·Rw;
乘法器M3,其第一输入端用于接收参数b,其第二输入端用于接收计算单元OUx的列号c,其用于计算b·c;
乘法器M4,其第一输入端用于接收每一段互连线电阻的大小Rw,其第二输入端连接至乘法器M3的输出端,其用于计算OUx左侧互连线电阻为Rl=b·c·Rw;
乘法器M5,其第一输入端用于接收计算单元OUx中第q列的输出结果Oq,其第二输入端连接至乘法器M3的输出端,其用于计算Oq·Rd;
累加器Acc,其输入端连接用于接收计算单元OUx中各列的输出结果Oj,其用于计算
除法器D,其第一输入端连接至累加器的输出端,其第二输入端用于接收参数s,其用于计算s表示输入数据中“1”的数量;
乘法器M6,其第一输入端连接至除法器D的输出端,其第二输入端连接至乘法器M4的输出端,其用于计算
加法器A1,其第一输入端连接至乘法器M6的输出端,其第二输入端连接至乘法器M5的输出端,其用于计算
乘法器M7,其第一输入端用于接收计算单元OUx中第q列中低阻态的eNVM单元的数目xq,其第二输入端用于接收eNVM单元处于低阻态下的电导值Gmax,其用于计算xq·Gmax;
减法器S,其第一输入端用于接收参数a,其第二输入端用于接收计算单元OUx中第q列中低阻态的eNVM单元的数目xq,其用于计算a-xq;
乘法器M8,其第一输入端用于接收eNVM单元在高阻态下的电导值Gmin,其第二输入端连接至减法器S的输出端,其用于计算(a-xq)·Gmin;
加法器A2,其第一输入端连接至乘法器M8的输出端,其第二输出端连接至乘法器M7的输出端,其用于计算计算单元OUx中第q列eNVM单元的电导之和Gq=xq·Gmax+(a-xq)·Gmin;
乘法器M9,其第一输入端连接至加法器A1的输出端,其第二输入端连接至加法器A2的输出端,其用于计算OUx左侧互连线电阻R1以及下侧互连线电阻Rd所引起的电压降对计算单元OUx中第q列的输出结果Oq造成的误差
加法器A3,其第一输入端用于接收计算单元OUx中第q列的输出结果Oq,其第二输入端连接至乘法器A9的输出端,其用于执行Oq+ΔOq,以对计算单元OUx中第q列的输出结果Oq进行补偿。
进一步地,本发明所提供的新兴非易失存算一体系统的电压降影响补偿电路,为流水线结构,被划分为了6个流水线阶段,其中:
乘法器M1、乘法器M3、累加器Acc、乘法器M7以及减法器S被划分至第1个流水线阶段;
乘法器M2、乘法器M4、除法器D以及乘法器M8被划分至第2个流水线阶段;
乘法器M5、乘法器M6以及加法器A2被划分至第3个流水线阶段;
加法器A1被划分至第4个流水线阶段;
乘法器M9被划分至第5个流水线阶段;
加法器A3被划分至第6个流水线阶段。
按照本发明的又一个方面,提供了一种新兴非易失存算一体系统,其模数转换器及移位累加器之间包括本发明提供的新兴非易失存算一体系统的电压降影响补偿电路。
进一步地,本发明提供的新兴非易失存算一体系统,还包括输入计数器,用于采集输入数据中“1”的数量s;
并且,电压降影响补偿电路的输入中,s由输入计数器提供;Gmax、Gmin、a、b、xq和Rw均存储于处理单元级缓存中;r和c由处理单元级控制器提供;计算单元OUx中各列的输出结果来自于模数转换器。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明发现,与被激活的计算单元相同的行线上位于计算单元左侧,以及列线上位于计算单元下侧的导线电阻是导致计算单元受到电压降影响的主要因素,因此,本发明在计算当前被激活的计算单元中各列输出结果所受的电压降影响时,仅考虑该计算单元左侧互连线电阻以及其下侧互连线电阻所引起的电压降,同时对于不同位置的OU,其左侧互连线电阻以及下侧互连线电阻大小不同,本发明按照OU位置计算当前被激活的计算单元左侧互连线电阻以及其下侧互连线电阻,由此能够充分考虑计算单元在阵列中的位置导致的电压降影响差异性,实现对不同计算单元受到的电压降影响进行精确的补偿,在具体计算过程中,还考虑了输入模式(即输入数据中“1”的数量)以及OU数据模式(即计算单元中各列低阻态eNVM单元的数目),因此,本发明能够充分考虑不同位置的计算单元所受到的电压降影响的主要因素,实现精确补偿,有效提高新兴非易失存算一体系统的计算精度。
(2)本发明按照Rl=b·c·Rw、Rd=a·r·Rw计算当前被激活的计算单元左侧互连线电阻以及其下侧互连线电阻,该计算方式进一步考虑了计算单元大小与计算单元所受电压降影响间的关系,由此能够进一步提高补偿精度。
(3)在本发明的优选方案中,按照对划分所得计算单元的大小进行限制,能够使得计算单元内部的寄生线电阻可忽略,同时计算单元内eNVM单元的编程周期间变化性对计算结果的影响可以忽略,进一步提高了补偿的精度。
(4)本发明所提供的新兴非易失存算一体系统的电压降影响补偿电路,其中仅包含乘法器、加法器、触发器、累加器这些器件,能够实现对计算单元中各列计算结果的精确补偿,不需要额外配置电路的帮助,相比于现有工作,有效减少了补偿电路时间、面积和功耗。在其进一步优选的方案中,将补偿电路流水化,进一步提高了补偿电路吞吐率。
总的来说,本发明以计算单元为粒度,分析了计算单元所受电压降影响的主要因素,能够充分考虑电压降影响的OU差异性,实现精确补偿,实验表明,相比于未进行电压降补偿的计算结果,本发明可有效提高3%~40%的计算准确度。同时,相关的计算与上层应用无关,因此,可以适用于多种应用。本发明进一步提出了相应的补偿电路,并将补偿电路流水化,减小了补偿电路的开销,相比于现有Mirrored、MemCMOS等补偿方案,本发明在补偿时间、补偿电路面积以及功耗上可分别减小1.3~13倍、1.5~33.1倍、1.4~8.4倍;流水化电路吞吐率与原生阵列计算吞吐率近似。
附图说明
图1为现有的新兴非易失存算一体系统中阵列及其外围电路示意图;
图2为本发明提供的计算单元及阵列所受到的电压降影响;其中,(a)表示阵列中不同位置的计算单元两端电压的影响,(b)表示电压降对整个阵列的影响;
图3为本发明实施例提供的计算单元受到IR drop影响的示意图;
图4为本发明实施例提供的新兴非易失存算一体系统的电压降影响补偿电路示意图;
图5为本发明实施例提供的新兴非易失存算一体系统中阵列及其外围电路、补偿电路、输入计数器示意图;
图6为本发明实施例提供的输入计数器示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了缓解电压降(IR drop)对计算单元(OU)计算结果的影响,本发明提供了新兴非易失存算一体系统及其电压降影响补偿方法、电路,其整体构思在于:充分分析不同位置处计算单元所受电压降影响的主要因素,准确计算被激活的计算单元中各列输出结果所受影响,并相应进行补偿,以充分考虑电压降影响的OU差异性,有效缓解IR drop对OU计算结果的影响。
基于上述技术构思,本发明完成了如下工作:
a)建立OU粒度IR drop影响的简化电路模型;
b)根据该简化电路模型,在考虑IR drop的OU差异性(体现为IR drop影响与OU在阵列中位置的关系)、输入数据模式、OU中权重数据模式等参数的基础上,推导补偿公式,以保证补偿结果的准确性以及可以应用于更多种类的应用;
在以上工作的基础上,本发明进一步根据简化模型以及补偿公式,设计补偿电路,对经过ADC转换后的OU计算结果进行补偿,并且对该补偿电路进行流水化,提高补偿过程的吞吐率,降低补偿开销;设计输入计数器来采集输入数据模式,OU内部数据模式、阵列/OU/单元参数初始时存放在PE级缓存中,OU位置信息由处理单元(PE)级控制器提供,这些数据会提供给补偿电路用于输出结果补偿。
本发明将整个m*n大小的1T1R阵列在逻辑上分成大小为a*b的t*s个OU(假设a*t=m、b*s=n),m、n分别表示新兴非易失存算一体系统中1T1R阵列所包含的行数和列数。
本发明在分析不同位置处计算单元所受电压降影响的主要因素时,得出以下观察结果:
当以OU粒度进行计算时,OU内部的互连线电阻对IR drop影响几乎没有贡献,可以忽略。基于观察结果,可以简化并建立OU的IR drop模型,具体步骤如下:
(1)根据观察结果,去除OU内部的导线电阻;
(2)不在激活的OU内的单元没有被激活,对输出结果没有贡献,可以去除;
(3)与OU不在同一行或列上的导线电阻不会对输入电压进行分压,因此对输出结果没有影响,可以从模型中删除;
(4)与OU相同的行线、列线上的导线电阻是导致OU IRdrop的主要因素,并且由于它们是串行连接的,因此在每行、列的所有互连线电阻可以等效为一个大电阻,记为Rl与Rd。之后可以建立简化的计算单元受到IR drop影响的电路模型,如图3所示,从模型来看,IRdrop影响主要是由Rl与Rd这两组电阻导致的。
在图3所示的电路模型的基础上,本发明推导补偿表达式的过程如下:
首先,表达式考虑输入模式、OU数据模式、OU大小、OU位置和阵列/单元参数作为输入。其中,输入模式是当前OU所在源线上,输入数据中“1”的数量,以下记为s;OU数据模式是指OU中第q列低阻态的eNVM单元的数目,以下记为xq;OU位置是OU在阵列中的坐标,表示为(r,c),r表示计算单元所在行号,以OU为粒度按照从阵列左下角OU到左上角OU的顺序索引,c表示计算单元所在列号,以OU为粒度按照从阵列左下角OU到右下角OU的顺序索引,OU位置(r,c)从某种程度上反映了IR drop影响的OU差异性;阵列/OU/单元参数,包括单元电导值大小(Gmin,Gmax)、阵列大小(m*n)、OU大小(a*b)和互连线电阻大小(Rw),也被当作补偿表达式的输入参数。
容易理解的是,如图1所示,本实施例中,定义阵列添加源线输入数据的一侧为左侧,得到输出计算结果的一侧为下侧,添加字线输入的一侧为右侧,阵列左下角定义为阵列源线输入数据的那一侧与得到输出计算结果的那一侧的交汇处。基于该定义,图3中,最下一行的1个OU的位置从左至右依次是(1,1)、(1,2)和(1,3),最左侧一行的1个OU的位置从下至上依次是(1,1)、(2,1)和(3,1)。
基于图3所示的OU IR drop模型,为了补偿输出结果损失,需要首先计算由R1和Rd分得的电压,以及由这两组电阻引起的OU计算输出电流损失的大小,以及经过ADC转换后的输出结果损失的大小,之后就可以根据输出结果损失对计算输出结果进行补偿,具体为将损失的数目加到输出结果上。OU的输出电流为Ij(j=1:b),经ADC转换后得到的输出结果相应为Oj(j=1:b),Ij和Oj分别表示第j列的电流和输出结果。OU左侧互连线电阻大小为R1=b·c·Rw,其分得的电压如公式(1)所示:
OU下侧互连线电阻大小为Rd=a·r·Rw,其分压如公式(2)所示。
ΔVd=Iq·Rd (2)
第q列的输出电流损失ΔIq可以根据公式(3)计算。
ADC将OU的输出电流Ij(j=1:b)转换为OU的输出结果Oj(j=1:b)后,输出结果损失如公式(4)所示。
基于公式(4)计算得到各列输出结果的损失值后,将该损失值作为补偿值,执行Ocomp,j=Oj+ΔOj(j=1:b)来补偿输出结果损失。
以下为实施例。
实施例1:
一种新兴非易失存算一体系统的电压降影响补偿方法,新兴非易失存算一体系统中,阵列在逻辑上被划分为大小为a*b的计算单元;a和b分别表示计算单元所包含的行数和列数;
电压降影响补偿方法包括:
对于当前被激活的计算单元OUx,计算其左侧互连线电阻Rl以及其下侧互连线电阻Rd所引起的电压降对计算单元OUx中各列输出结果造成的误差Oj,并按照所计算的误差对计算单元OUx中各列输出结果进行补偿;
对于计算单元OUx中的第q列,该误差的计算公式如下:
其中,Oj表示计算单元OUx中第j列的输出结果;Oq表示计算单元OUx中第q列的输出结果,q=1,2,……b;Gq表示计算单元OUx中第q列eNVM单元的电导之和,s表示输入数据中“1”的数量。
本实施例中,
Rl=b·c·Rw
Rd=a·r·Rw
Gq=xq·Gmax+(a-xq)·Gmin
其中,其中,r和c分别表示计算单元OUx的行号和列号;Rw表示每一段互连线电阻的大小;xq表示计算单元OUx中第q列中低阻态的eNVM单元的数目,Gmax和Gmin分别表示eNVM单元在低阻态和高阻态下的电导值。
本实施例在计算各计算单元所受的电压降影响时,充分考虑计算单元的位置,实现对计算单元的差异性补偿,在具体计算过程中,还考虑了输入模式(即输入数据中“1”的数量)以及OU数据模式(即计算单元中各列低阻态eNVM单元的数目);此外,还考虑了计算单元大小与计算单元所受电压降影响间的关系,能够实现精确补偿,有效提高新兴非易失存算一体系统的计算准确度。
为了保证有效补偿电压降影响,本实施例进一步探究了计算单元大小以及计算单元内编程周期间变化性对计算结果的影响。具体如下:
为了避免忽略OU内部互连线电阻影响补偿值的计算准确性,本实施例进一步推导得到计算单元所能包含的最大行列数为此时ADC无法感应到由OU内部互连线电阻引起的微小输出电流下降。
为了保证编程周期间变化性对计算结果的累积影响可以忽略,需要使得OU的大小足够小,在实际应用中,可使用DL-RSIM仿真得到合适的OU大小δ。
基于以上分析结果,本实施例中,计算单元的大小满足
本实施例中,eNVM单元的最大电导为10-3S,寄生线电阻为2.0Ω,基于该参数,可得计算单元中最大行数为eNVM单元的编程周期间变化性设为5%(与许多eNVM单元的编程周期间变化性大小相同),仿真得到的δ大小也为8。因此,本实施例中,计算单元的大小具体为8*8。
本实施例对计算单元的大小提出上述限制后,能够使得计算单元内部的寄生线电阻可忽略,同时计算单元内eNVM单元的编程周期间变化性对计算结果的影响可以忽略,进一步提高了补偿的准确度。
实施例2:
一种新兴非易失存算一体系统的电压降影响补偿设备,包括:
计算机可读存储介质,用于存储计算机程序;
以及处理器,用于读取计算机可读存储介质中的计算机程序,执行上述实施例1提供的新兴非易失存算一体系统的电压降影响补偿方法。
实施例3:
一种新兴非易失存算一体系统的电压降影响补偿电路。新兴非易失存算一体系统中,阵列在逻辑上被划分为大小为a*b的计算单元,a和b分别表示计算单元所包含的行数和列数;如图4所示,电压降影响补偿电路包括:
乘法器M1,其第一输入端用于接收参数a,其第二输入端用于接收当前被激活的计算单元OUx的列号r,其用于计算a·r;
乘法器M2,其第一输入端用于接收每一段互连线电阻的大小Rw,其第二输入端连接至乘法器M1的输出端,其用于计算OUx下侧互连线电阻为Rd=a·r·Rw;
乘法器M3,其第一输入端用于接收参数b,其第二输入端用于接收计算单元OUx的列号c,其用于计算b·c;
乘法器M4,其第一输入端用于接收每一段互连线电阻的大小Rw,其第二输入端连接至乘法器M3的输出端,其用于计算OUx左侧互连线电阻为R1=b·c·Rw;
乘法器M5,其第一输入端用于接收计算单元OUx中第q列的输出结果Oq,其第二输入端连接至乘法器M3的输出端,其用于计算Oq·Rd;
累加器Acc,其输入端连接用于接收计算单元OUx中各列的输出结果Oj,其用于计算
除法器D,其第一输入端连接至累加器的输出端,其第二输入端用于接收参数s,其用于计算s表示输入数据中“1”的数量;
乘法器M6,其第一输入端连接至除法器D的输出端,其第二输入端连接至乘法器M4的输出端,其用于计算
加法器A1,其第一输入端连接至乘法器M6的输出端,其第二输入端连接至乘法器M5的输出端,其用于计算
乘法器M7,其第一输入端用于接收计算单元OUx中第q列中低阻态的eNVM单元的数目xq,其第二输入端用于接收eNVM单元处于低阻态下的电导值Gmax,其用于计算xq·Gmax;
减法器S,其第一输入端用于接收参数a,其第二输入端用于接收计算单元OUx中第q列中低阻态的eNVM单元的数目xq,其用于计算a-xq;
乘法器M8,其第一输入端用于接收eNVM单元在高阻态下的电导值Gmin,其第二输入端连接至减法器S的输出端,其用于计算(a-xq)·Gmin;
加法器A2,其第一输入端连接至乘法器M8的输出端,其第二输出端连接至乘法器M7的输出端,其用于计算计算单元OUx中第q列eNVM单元的电导之和Gq=xq·Gmax+(a-xq)·Gmin;
乘法器M9,其第一输入端连接至加法器A1的输出端,其第二输入端连接至加法器A2的输出端,其用于计算OUx左侧互连线电阻R1以及下侧互连线电阻Rd所引起的电压降对计算单元OUx中第q列的输出结果Oq造成的误差
加法器A3,其第一输入端用于接收计算单元OUx中第q列的输出结果Oq,其第二输入端连接至乘法器A9的输出端,其用于执行Oq+ΔOq,以对计算单元OUx中第q列的输出结果Oq进行补偿。
本实施例所提供的上述电压降影响补偿电路,为根据补偿表达式设计的基于CMOS的补偿电路,能利用硬件有效地以计算单元为粒度补偿电压降对计算结果的影响,并且,其中仅包含乘法器、加法器、触发器、累加器这些CMOS器件,能够实现对计算单元中各列计算结果的精确补偿,由于补偿表达式考虑了IR drop影响的OU差异性,因此补偿电路可以适用于阵列中所有OU的输出结果补偿,不需要额外配置电路的帮助,可以减少补偿时间、面积和功耗开销。
为了进一步降低电压降影响补偿电路的开销,本实施例中,电压降影响补偿电路为流水线结构,被划分为了6个流水线阶段,其中:
乘法器M1、乘法器M3、累加器Acc、乘法器M7以及减法器S被划分至第1个流水线阶段;
乘法器M2、乘法器M4、除法器D以及乘法器M8被划分至第2个流水线阶段;
乘法器M5、乘法器M6以及加法器A2被划分至第3个流水线阶段;
加法器A1被划分至第4个流水线阶段;
乘法器M9被划分至第5个流水线阶段;
加法器A3被划分至第6个流水线阶段。
通过上述流水化设计,进一步提高了补偿吞吐率。实验表面,在流水线满时,补偿电路的吞吐率为每5.4ns补偿一个OU的计算结果,与不进行IR drop补偿的原生OU计算操作的吞吐率几乎相同。
实施例4:
一种新兴非易失存算一体系统,如图5所示,其模数转换器及移位累加器之间包括上述实施例3提供的新兴非易失存算一体系统的电压降影响补偿电路。
由于补偿电路的输入参数中,输入模式s是实时变化的,为了在计算过程中准确获取该参数,如图5所示,本实施例设计了输入计数器来从输入数据中提取输入模式,当控制器向输入移位寄存器发送“加载下一个输入”信号时,输入移位寄存器将所有输入数据的最右侧一位发送到开关电路和源线驱动器,这些输入位也被发送到输入计数器以生成s。在实际应用中,输入计数器可由一位加法器组成的加法树或a-log(a)编码器实现,可选地,如图6所示,本实施例中,输入计数器具体为8-3编码器。
图4所示的补偿电路的输入来自ADC、PE级缓存、PE级控制器以及输入计数器,具体地,s由输入计数器提供;Gmax、Gmin、a、b、xq和Rw均存储于处理单元级缓存中;r和c由处理单元级控制器提供;计算单元OUx中各列的输出结果来自于模数转换器。
图4所示的补偿电路的输入来自ADC、PE级缓存、PE级控制器以及输入计数器,其中前缀为“B.”的输入来自PE级缓存,前缀为“C.”的输入来自PE级控制器。
本实施例在OU粒度上进行处理和补偿的过程为:
首先,PE级控制器通过将控制信号传递到字线、位线和源线开关电路来激活阵列中某个OU进行计算;字线输入电压将被添加到对应的字线并激活该OU的晶体管,该OU的位线将被连接到ADC,并且输入电压将会被添加到该OU的源线,计算后得到输出电流;
然后,在ADC转换该OU的输出结果后,PE级控制器将激活IR drop补偿电路,并将该OU的位置信息发送到该电路;
最后,启动补偿过程,并根据所有参数和OU的输出结果计算补偿的输出结果。
基于补偿电路,本实施例提供的新兴非易失存算一体系统,其计算精度得到了有效的提升。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种新兴非易失存算一体系统的电压降影响补偿方法,其特征在于,所述新兴非易失存算一体系统中,阵列在逻辑上被划分为大小为a*b的计算单元;所述电压降影响补偿方法包括:
对于当前被激活的计算单元OUx,计算其左侧互连线电阻Rl以及其下侧互连线电阻Rd所引起的电压降对计算单元OUx中各列输出结果造成的误差ΔOj,并按照所计算的误差对计算单元OUx中各列输出结果进行补偿;
对于计算单元OUx中的第q列,该误差的计算公式如下:
其中,a和b分别表示计算单元包含的行数和列数;Oj表示计算单元OUx中第j列的输出结果,Oq表示计算单元OUx中第q列的输出结果,Gq表示计算单元OUx中第q列eNVM单元的电导之和,s表示输入数据中“1”的数量。
2.如权利要求1所述的新兴非易失存算一体系统的电压降影响补偿方法,其特征在于,
Rl=b·c·Rw
Rd=a·r·Rw
其中,r和c分别表示计算单元OUx的行号和列号;Rw表示每一段互连线电阻的大小。
3.如权利要求1所述的新兴非易失存算一体系统的电压降影响补偿方法,其特征在于,
Gq=xq·Gmax+(a-xq)·Gmin
其中,xq表示计算单元OUx中第q列中低阻态的eNVM单元的数目,Gmax和Gmin分别表示eNVM单元在低阻态和高阻态下的电导值。
4.如权利要求1~3任一项所述的新兴非易失存算一体系统的电压降影响补偿方法,其特征在于,
其中,Gmax表示eNVM单元在低阻态下的电导值,Rw表示每一段互连线电阻的大小;δ表示使得eNVM单元的计算结果不受其编程周期间变化性影响时,计算单元所包含行数的最大值;min()表示求最小值。
5.一种新兴非易失存算一体系统的电压降影响补偿设备,其特征在于,包括:
计算机可读存储介质,用于存储计算机程序;
以及处理器,用于读取所述计算机可读存储介质中的计算机程序,执行权利要求1~4任一项所述的新兴非易失存算一体系统的电压降影响补偿方法。
6.一种新兴非易失存算一体系统的电压降影响补偿电路,其特征在于,所述新兴非易失存算一体系统中,阵列在逻辑上被划分为大小为a*b的计算单元,a和b分别表示计算单元所包含的行数和列数;所述电压降影响补偿电路包括:
乘法器M1,其第一输入端用于接收参数a,其第二输入端用于接收当前被激活的计算单元OUx的列号r,其用于计算a·r;
乘法器M2,其第一输入端用于接收每一段互连线电阻的大小Rw,其第二输入端连接至所述乘法器M1的输出端,其用于计算OUx下侧互连线电阻为Rd=a·r·Rw;
乘法器M3,其第一输入端用于接收参数b,其第二输入端用于接收所述计算单元OUx的列号c,其用于计算b·c;
乘法器M4,其第一输入端用于接收每一段互连线电阻的大小Rw,其第二输入端连接至所述乘法器M3的输出端,其用于计算OUx左侧互连线电阻为Rl=b·c·Rw;
乘法器M5,其第一输入端用于接收计算单元OUx中第q列的输出结果Oq,其第二输入端连接至所述乘法器M3的输出端,其用于计算Oq·Rd;
累加器Acc,其输入端连接用于接收计算单元OUx中各列的输出结果Oj,其用于计算
除法器D,其第一输入端连接至所述累加器的输出端,其第二输入端用于接收参数s,其用于计算s表示输入数据中“1”的数量;
乘法器M6,其第一输入端连接至所述除法器D的输出端,其第二输入端连接至所述乘法器M4的输出端,其用于计算
加法器A1,其第一输入端连接至所述乘法器M6的输出端,其第二输入端连接至所述乘法器M5的输出端,其用于计算
乘法器M7,其第一输入端用于接收计算单元OUx中第q列中低阻态的eNVM单元的数目xq,其第二输入端用于接收eNVM单元处于低阻态下的电导值Gmax,其用于计算xq·Gmax;
减法器S,其第一输入端用于接收参数a,其第二输入端用于接收计算单元OUx中第q列中低阻态的eNVM单元的数目xq,其用于计算a-xq;
乘法器M8,其第一输入端用于接收eNVM单元在高阻态下的电导值Gmin,其第二输入端连接至所述减法器S的输出端,其用于计算(a-xq)·Gmin;
加法器A2,其第一输入端连接至所述乘法器M8的输出端,其第二输出端连接至所述乘法器M7的输出端,其用于计算计算单元OUx中第q列eNVM单元的电导之和Gq=xq·Gmax+(a-xq)·Gmin;
乘法器M9,其第一输入端连接至所述加法器A1的输出端,其第二输入端连接至所述加法器A2的输出端,其用于计算OUx左侧互连线电阻Rl以及下侧互连线电阻Rd所引起的电压降对计算单元OUx中第q列的输出结果Oq造成的误差
加法器A3,其第一输入端用于接收计算单元OUx中第q列的输出结果Oq,其第二输入端连接至所述乘法器A9的输出端,其用于执行Oq+ΔOq,以对计算单元OUx中第q列的输出结果Oq进行补偿。
7.如权利要求6所述的新兴非易失存算一体系统的电压降影响补偿电路,其特征在于,所述电压降影响补偿电路为流水线结构,被划分为了6个流水线阶段,其中:
乘法器M1、乘法器M3、累加器Acc、乘法器M7以及减法器S被划分至第1个流水线阶段;
乘法器M2、乘法器M4、除法器D以及乘法器M8被划分至第2个流水线阶段;
乘法器M5、乘法器M6以及加法器A2被划分至第3个流水线阶段;
加法器A1被划分至第4个流水线阶段;
乘法器M9被划分至第5个流水线阶段;
加法器A3被划分至第6个流水线阶段。
8.一种新兴非易失存算一体系统,其特征在于,其模数转换器及移位累加器之间包括权利要求6或7所述的新兴非易失存算一体系统的电压降影响补偿电路。
9.如权利要求8所述的新兴非易失存算一体系统,其特征在于,还包括输入计数器,用于采集输入数据中“1”的数量s;
并且,所述电压降影响补偿电路的输入中,s由输入计数器提供;Gmax、Gmin、a、b、xq和Rw均存储于处理单元级缓存中;r和c由处理单元级控制器提供;计算单元OUx中各列的输出结果来自于模数转换器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311790349.5A CN117809721A (zh) | 2023-12-22 | 2023-12-22 | 新兴非易失存算一体系统及其电压降影响补偿方法、电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311790349.5A CN117809721A (zh) | 2023-12-22 | 2023-12-22 | 新兴非易失存算一体系统及其电压降影响补偿方法、电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117809721A true CN117809721A (zh) | 2024-04-02 |
Family
ID=90420945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311790349.5A Pending CN117809721A (zh) | 2023-12-22 | 2023-12-22 | 新兴非易失存算一体系统及其电压降影响补偿方法、电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117809721A (zh) |
-
2023
- 2023-12-22 CN CN202311790349.5A patent/CN117809721A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
CN110807519B (zh) | 基于忆阻器的神经网络的并行加速方法及处理器、装置 | |
CN109859786B (zh) | 一种基于自旋磁存储器的数据运算方法 | |
CN110163338B (zh) | 具有运算阵列的芯片运算方法、装置、终端及芯片 | |
CN115458005A (zh) | 数据处理方法和存算一体装置、电子设备 | |
Liu et al. | Sme: Reram-based sparse-multiplication-engine to squeeze-out bit sparsity of neural network | |
Cao et al. | Neural-pim: Efficient processing-in-memory with neural approximation of peripherals | |
CN113643175A (zh) | 数据处理方法及电子装置 | |
CN110515454B (zh) | 一种基于内存计算的神经网络架构电子皮肤 | |
Pedretti et al. | Redundancy and analog slicing for precise in-memory machine learning—Part II: Applications and benchmark | |
Yang et al. | Essence: Exploiting structured stochastic gradient pruning for endurance-aware reram-based in-memory training systems | |
Wei et al. | Emerging Memory-Based Chip Development for Neuromorphic Computing: Status, Challenges, and Perspectives | |
CN117809721A (zh) | 新兴非易失存算一体系统及其电压降影响补偿方法、电路 | |
JP7255068B2 (ja) | メモリデバイス及びその動作方法 | |
Kim et al. | ADC-free ReRAM-based in-situ accelerator for energy-efficient binary neural networks | |
CN115312090A (zh) | 一种存内计算电路及方法 | |
CN112949834B (zh) | 一种概率计算脉冲式神经网络计算单元和架构 | |
CN213365506U (zh) | 输出可配置存算一体芯片以及电子设备 | |
Sabri et al. | Redy: A novel reram-centric dynamic quantization approach for energy-efficient cnn inference | |
Wu et al. | Software-hardware co-optimization on partial-sum problem for PIM-based neural network accelerator | |
Chen et al. | H-RIS: Hybrid computing-in-memory architecture exploring repetitive input sharing | |
CN113672860B (zh) | 一种正负数兼容的存内运算方法、乘加运算装置及其应用 | |
Wu et al. | A Non-volatile computing-in-memory ReRAM macro using two-bit current-mode sensing amplifier | |
Huang et al. | BWA-NIMC: Budget-based Workload Allocation for Hybrid Near/In-Memory-Computing |
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 |