进行存内计算的方法及其器件技术

技术编号:37992305 阅读:9 留言:0更新日期:2023-06-30 10:06
本发明专利技术的实施例提供了一种进行存内计算的方法,包括针对某些条件监测乘法累加计算的部分和。当满足某些条件时,使用减小的读取能量而不是使用常规读取能量来读取内存内容。减小的读取能量可以通过降低预充电电压、抑制预充电电压或提供接地信号和/或通过减少电压保持时间(即,减少提供预充电电压和/或对预充电电压放电的时间)。本发明专利技术的实施例还提供了一种进行存内计算的器件。种进行存内计算的器件。种进行存内计算的器件。

【技术实现步骤摘要】
进行存内计算的方法及其器件


[0001]本专利技术的实施例总体涉及电子电路领域,更具体地,涉及进行存内计算的方法及其器件。

技术介绍

[0002]乘法累加器可用于以逐字逐位的方式将输入数据与相应的加权数据相乘。从存储器中读取输入数据,乘以权重,并且将结果存储在乘法累加寄存器中。此结果可用于各种应用,诸如用于人工智能计算。

技术实现思路

[0003]本专利技术的一个方面提供了一种进行存内计算的方法,包括:确定存内计算(CIM)操作的部分和是否为正以获得第一结果;确定所述部分和的选定位从0转换至1以获得第二结果;以及响应于所述第一结果和所述第二结果都为真,调整所述CIM的存储单元的读取操作的读取配置。
[0004]本专利技术的另一个方面提供了一种进行存内计算的方法,包括:利用第一读取能量从存储器读取来自一组加权向量中第一组位;将一组输入与所述第一组位相乘以获得第一乘积;将所述第一乘积与累加的乘积总和相加;当所述累加的乘积总和为正且累加的乘积总和的位条件从0变为1时,启用减少的读能量信号;以及利用小于所述第一读取能量的第二读取能量从存储器读取来自所述加权向量组的第二组位。
[0005]本专利技术的又一个方面提供了一种进行存内计算的器件,包括:计算机可读存储器,所述存储器存储输入组和对应的加权向量组;乘法累加器件,包括加法器、乘法器和部分和(PS)寄存器,所述部分和寄存器被配置为存储来自所述输入组和所述对应的加权向量组的迭代乘积和运算的累加结果;多路复用器,被配置为向感测放大器提供偏置电压以读取所述加权向量;以及动态读取逻辑,被配置为评估所述部分和,确定是否应启用减小读取能量(RRE)信号,并且启用所述减小读取能量信号,将所述减小读取能量信号提供给所述多路复用器。
附图说明
[0006]当结合附图进行阅读时,从以下详细描述可最佳地理解本专利技术的各个方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增大或减小。
[0007]图1和图2示出了根据一些实施例的可以使用的输入节点、加权向量和求和。
[0008]图3

图6示出了根据一些实施例的乘法累加计算(MAC)的各个阶段。
[0009]图7示出了根据一些实施例的用于提供MAC操作的存内计算(CIM)系统图。
[0010]图8示出了根据一些实施例的用于动态读取操作的高级框图100。
[0011]图9示出了MAC块160的实例实现。
[0012]图10示出了根据一些实施例的提供用于执行MAC操作的工艺流程200的流程图。
[0013]图11和图12示出了根据一些实施例的提供用于评估部分和PS是否满足动态读取条件的工艺流程240的流程图。
[0014]图13示出了根据一些实施例的用于评估和确定RRE信号是否被启用的DYNR块的实例实现。
[0015]图14示出了根据一些实施例的可以被启用的一组实例逻辑条件,而不是部分和PS的选择位的一对一输入。
[0016]图15至图22示出了根据一些实施例的DYNR块的操作的实例计算和演示。
[0017]图23提供了根据一些实施例的展示了当启用减小的读取能量时可以获得减小的读取能量的图表。
[0018]图24示出了根据一些实施例的读取电压和感测良率之间的关系。
[0019]图25示出了根据一些实施例的说明与阵列相关联的一个IO的读取路径的简化示意图。
[0020]图26示出了根据一些实施例的图25的放大图。
[0021]图27示出了根据一些实施例的时序图和感测放大器的视图。
[0022]图28示出了如果启用减小的读取能量则不提供预充电的逻辑电路图的视图。
具体实施方式
[0023]本专利技术提供了用于实现本公开的不同特征的许多不同的实施例或实例。下面描述了组件和布置的具体实例以简化本专利技术。当然,这些仅仅是实例,而不旨在限制本专利技术。诸如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件以直接接触的方式形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本专利技术可在各个实例中重复参考标号和/或字符。该重复是为了简单和清楚的目的,并且其本身不指示所讨论的各个实施例和/或配置之间的关系。应当理解,信号可以被启用为高1或低0,并且除非上下文或惯例另有说明,否则本文使用的“1”被理解为表示“肯定的”,并且除非上下文或惯例另有说明,否则本文使用的“0”被理解为“未肯定的”。取决于器件和设计,本领域技术人员可以根据需要容易地反转这些信号。
[0024]在人工神经网络领域,机器学习获取输入数据,对输入数据进行一些计算,然后应用激活函数(activation function)来处理数据。激活函数的输出本质上是输入数据的一些简化表示。输入数据可以是节点层中的数据节点。图1展示了一个3
×
3卷积的实例,可用于处理机器学习中的图像数据。图像10由单个像素11组成。图像可以用色彩空间表示,诸如RGB(红

绿

蓝)或HSL(色调

饱和度

发光),同时为每个像素都分配每个色彩空间变量的一个值。图像的节点12是3x3像素块,节点12中的每个像素11具有节点12的像素11的每个色彩空间变量的输入值I1‑9。3x3卷积中的一种可能计算使用乘积求和(product

sum)计算,其中每个输入值I1‑9分别乘以加权矩阵14的加权值W1‑9。随着进行每次乘法,可以保持每个乘积的流动总和。这种乘积求和计算可以被称为乘法累加计算/运算(MAC)16。在计算过程中,中间值可以被称为累加乘积求和(APS)。在计算过程结束时,将APS作为MAC 16的输出。然后可以将该输出提供给激活函数进行评估。
[0025]图2以更普遍的方式,即,针对任何长度N的输入节点,说明图1中示出的概念。输入I0–
I
N
‑1的每个分别乘以加权向量W0–
W
N
‑1。然后以乘积求和计算(MAC)对这些值求和。然后可以将MAC作为输出O并且可选地提供给激活函数或以其他方式使用。
[0026]可以编写要在通用处理器上执行的计算机程序,包括例如对INPUT阵列和WEIGHT阵列执行MAC的循环(for

loop),例如以下伪代码:
[0027]Initialize a counter integer to 0.
[0028]Initialize a storing variable(e.g.,APS)to 0.
[0029]Provide an INPUT array having the length n with input values.
[0030]Provide a WE本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进行存内计算(CIM)的方法,包括:确定存内计算操作的部分和是否为正以获得第一结果;确定所述部分和的选定位从0转换至1以获得第二结果;以及响应于所述第一结果和所述第二结果都为真,调整所述存内计算的存储单元的读取操作的读取配置。2.根据权利要求1所述的方法,其中,所述读取配置被调整以减少等待读取所述存储器单元的时序延迟。3.根据权利要求1所述的方法,其中,所述读取配置被调整以降低用于读取所述存储器单元的偏压。4.根据权利要求1所述的方法,其中,所述读取配置被调整以去除用于读取所述存储器单元的偏压。5.根据权利要求1所述的方法,其中,所述选定的位位于所述部分和的上半部分。6.一种进行存内计算(CIM)的方法,包括:利用第一读取能量从存储器读取来自一组加权向量中第一组位;将一组输入与所述第一组位相乘以获得第一乘积;将所述第一乘积与累加的乘积总和相加;当所述累加的乘积总和为正且累加的乘积总和的位条件从0变为1时,启用减少的读能量信号;以及利用小于所述第一读取能量的第二读取能量从存...

【专利技术属性】
技术研发人员:柯文昇吴秉骏吕易伦吴瑞仁张孟凡
申请(专利权)人:台湾积体电路制造股份有限公司
类型:发明
国别省市:

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

1