执行复数乘法累加运算制造技术

技术编号:17102726 阅读:71 留言:0更新日期:2018-01-21 12:45
在根据本公开的一个示例中描述了一种器件。该器件包括至少两个忆阻单元。每个忆阻单元包括用于存储复数权重值的一个分量的忆阻元件。该器件还包括耦合至忆阻元件的实数输入乘法器,所述实数输入乘法器用于将忆阻元件的输出信号与输入信号的实数分量相乘。该器件的虚数乘法器耦合至忆阻元件,其用于将忆阻元件的输出信号与输入信号的虚数分量相乘。

Multiplicative accumulation operation with complex number

A device is described in an example in accordance with the present disclosure. The device consists of at least two memristor units. Each memristor unit includes a memristor used to store a component of a complex weight value. The device also includes a real input multiplier coupled to a memristor element. The real number multiplier is used to multiply the output signal of the memristor component from the real component of the input signal. Resistance element is coupled to the memory of the imaginary multiplier device, the output signal will be multiplied for imaginary components of memristor with input signal.

【技术实现步骤摘要】
【国外来华专利技术】执行复数乘法累加运算
技术介绍
诸如忆阻器之类的忆阻元件是可以通过将电刺激(例如,电压或电流)施加至忆阻元件而被编程到不同状态的器件。在编程之后,可以读取忆阻元件的状态。忆阻元件的状态保持稳定足够长以将器件认为是非易失性的。多个忆阻元件可以被包括在阵列内,在该阵列中,多个列线路与多个行线路相交,忆阻元件位于列线路与行线路的交叉处。附图简要说明附图示出了在本文中所描述的原理的各种示例并且是说明书的一部分。所示出的示例仅仅是为了说明而给出的,并且不限制权利要求的范围。图1是根据在本文中所描述的原理的一个示例的用于执行复数乘法累加(MAC)运算的忆阻乘法器件的图。图2是根据在本文中所描述的原理的一个示例的用于执行复数乘法累加(MAC)运算的系统的图。图3是根据在本文中所描述的原理的一个示例的用于执行复数乘法累加(MAC)运算的方法的流程图。图4A是根据在本文中所描述的原理的另一示例的用于执行复数乘法累加(MAC)运算的系统的图。图4B是根据在本文中所描述的原理的一个示例的输入乘法器。图5是根据在本文中所描述的原理的一个示例的使用用于执行复数乘法累加(MAC)运算的系统的计算设备的图。在附图通篇中,相同的附图标记表示相似的但不一定相同的元件。具体实施方式可以在多种应用中使用诸如忆阻器之类的忆阻元件阵列,所述多种应用包括非易失性固态存储器、可编程逻辑、信号处理、控制系统、模式识别、以及其他应用。本应用针对用于执行例如权重值矩阵以及多个输入向量值的乘法累加(MAC)运算的忆阻器件阵列。换句话说,忆阻阵列可以用于执行向量矩阵或乘法累加计算。输入到阵列中的电压信号在列中由忆阻元件的电阻加权,并且被累加为来自每一列的电流输出。在多种应用中使用乘法累加运算或点积运算。例如,已知所接收的音频信号或所接收的视频信号,用户可以期望进行滤波、执行快速傅立叶变换、或者以其他方式处理模拟或数字信号。在这些示例中,乘法累加运算或点积运算用于执行这样的处理。在另一示例中,一系列的阵列可以形成神经网络。神经网络是试图模拟诸如大脑之类的生物神经网络的计算网络。神经网络可以具有自适应的权重,即基于学习运算来调整的权重。神经网络也能够逼近输入的非线性函数。在神经网络中,输入在一个忆阻阵列处被接收和处理,接着,该阵列的输出被馈送到另一阵列中。该忆阻阵列的分层被称为神经网络。考虑到在离散时间或离散空间信号处理中以及在神经联网的扩展领域中广泛使用MAC运算,MAC运算的优化是期望的以增加数字信号处理和实现MAC运算的其他处理的效率。在一些示例中,阵列中的忆阻元件的电阻可以被用作在MAC运算中要乘以输入信号的矩阵权重值。尽管使用这样的阵列在实行在许多应用中使用的MAC运算中确实是有帮助的,但是阵列的一些特征限制了它们的充分使用。例如,在执行信号滤波或其他MAC相关的运算时,权重、输入、和输出可以包括复数值,所述复数值包括实数分量和虚数分量。在一个具体示例中,离散时间傅立叶变换(DTFT)中的权重是复数,即,针对某一固定频率ω,采样值具有单位幅度的复指数函数e-jωt的形式。在负值权重能够利用其MAC内核实现对信号的建设性和破坏性的求和的同时,复权重能进一步实现对频率相位的准确检测和操纵。在神经网络中,尽管初始输入可以仅仅包括实数分量,但是当该输入乘以复数权重值时,输出也是复数,其中该复数输出可以成为对另一忆阻阵列的复数输入。可以在笛卡尔表示中将复数输入表示为a+jb,其中j等于负1的平方根。复数权重也可以在笛卡尔表示中被表示为c+jd。具有复数权重的复数输入的乘积也可以在笛卡尔系统中被表示为(ac-bd)+j(ad+bc)。如从该表示可以看见的,在计算复数输入和复数权重的点积时,权重的每个分量c和d被使用了两次,并且输入信号的每个分量a和b也被使用了两次。由此,当使用复数输入进行MAC运算时,系统应该允许在每一层的计算中将每个权重值使用两次。已经呈现了两种方法来适应对这些权重值的重复使用。在一种方法中,两个忆阻元件用于指示单个分量c,并且两个忆阻元件用于指示另一个分量d。然而,由于难以复制忆阻元件电阻从而使得在表示分量c的忆阻元件之间会存在误差值,以及在在表示分量d的忆阻元件之间会存误差值,所以这样做是不现实的。在另一种方法中,在单个忆阻元件上执行两次乘法运算。例如,执行一个乘法运算以产生与输出的实数分量相对应的输出(即,ac),该值被存储,并且接着,再次使用同一忆阻元件以执行第二运算从而产生与输出的虚数分量相对应的输出,bc。然而,由于执行了两个运算,因此这样做增加了任何MAC运算的延迟。由此,本说明书描述了用于对复数输入和复数权重执行MAC运算的器件。具体地,本说明书描述了在针对每个分量使用单个忆阻元件的同时执行复数MAC运算的子计算的器件和方法。换句话说,单个忆阻元件用于表示分量c,而单个忆阻元件用于表示复数权重值的分量d。权重值(例如,c)的一个分量的两个乘法并行地执行。类似地,另一分量d的两个乘法运算彼此并行地执行,并且也与c分量的乘法并行。这样做允许快速、实时的复数值滤波或神经网络运算。更加具体地,本说明书描述了忆阻乘法器件。该器件包括至少两个忆阻单元。每个忆阻单元包括用于存储复数权重值的一个分量的忆阻元件。每个忆阻单元还包括耦合至忆阻元件的实数输入乘法器,其用于将忆阻元件的输出信号与输入信号的实数分量相乘。该器件还包括耦合至忆阻元件的虚数输入乘法器,其用于将忆阻元件的输出信号与输入信号的虚数分量相乘。本说明书还描述了一种用于执行复数乘法累加运算的方法。根据该方法,分别将表示输入信号的实数分量的第一电压和表示输入信号的虚数分量的第二电压施加至第一忆阻单元的实数输入乘法器和虚数输入乘法器。类似地,第一电压和第二电压分别被施加至第二忆阻单元的实数输入乘法器和虚数输入乘法器。表示复数权重输入的实数分量的第一电流被施加至第一忆阻单元的实数输入乘法器和虚数输入乘法器,而表示复数权重输入的虚数分量的第二电流被施加至第二忆阻单元的实数输入乘法器和虚数输入乘法器。包括实数分量的乘法器的输出被收集并求和,而包括虚数分量的乘法器的输出也被收集并求和,当被一起查看时这些和表示复数输入和复数权重值的乘法累加运算。本说明书还描述忆阻阵列。该阵列包括多个忆阻乘法器件。每个忆阻乘法器件包括第一忆阻单元和第二忆阻单元,第一忆阻单元包括用于存储复数权重值的实数分量的忆阻元件,而第二忆阻单元包括用于存储复数权重值的虚数分量的忆阻元件。忆阻单元中的每个忆阻单元还包括耦合至忆阻元件的实数输入乘法器,以用于:1)接收忆阻元件的输出信号,2)接收输入信号的实数分量,以及3)输出定义所述输出信号与所述实数分量的乘积的信号。忆阻单元中的每个忆阻单元还包括耦合至忆阻元件的虚数输入乘法器,以用于:1)接收忆阻元件的输出信号,2)接收输入信号的虚数分量,以及3)输出定义所述输出信号与所述虚数分量的乘积的信号。该阵列还包括用于对具有实数分量的输出求和的实数求和器件,以及用于对具有虚数分量的输出求和的虚数求和器件。使用单个忆阻器件来表示复数权重的实数分量和虚数分量,而使用实数输入乘法器和虚数输入乘法器1)允许单个忆阻器件存储复数权重中的每个元件的值,以及2)同时执行复数乘法的子计算,因本文档来自技高网...
执行复数乘法累加运算

【技术保护点】
一种忆阻乘法器件,包括:至少两个忆阻单元,每个忆阻单元包括:忆阻元件,其用于存储复数权重值的一个分量;耦合至所述忆阻元件的实数输入乘法器,其用于将所述忆阻元件的输出信号与输入信号的实数分量相乘;以及耦合至所述忆阻元件的虚数输入乘法器,其用于将所述忆阻元件的输出信号与所述输入信号的虚数分量相乘。

【技术特征摘要】
【国外来华专利技术】1.一种忆阻乘法器件,包括:至少两个忆阻单元,每个忆阻单元包括:忆阻元件,其用于存储复数权重值的一个分量;耦合至所述忆阻元件的实数输入乘法器,其用于将所述忆阻元件的输出信号与输入信号的实数分量相乘;以及耦合至所述忆阻元件的虚数输入乘法器,其用于将所述忆阻元件的输出信号与所述输入信号的虚数分量相乘。2.根据权利要求1所述的器件,包括:第一忆阻单元中的第一忆阻元件,所述第一忆阻元件用于指示所述复数权重值的实数分量,其中,所述第一忆阻元件的输出信号是所述复数权重值的实数分量的电流指示;以及第二忆阻单元中的第二忆阻元件,所述第二忆阻元件用于指示所述复数权重值的虚数分量,其中,所述第二忆阻元件的输出信号是所述复数权重值的虚数分量的电流指示。3.根据权利要求1所述的器件,其中,每个忆阻单元包括多输出电流镜,其用于将所述忆阻元件的输出复制到所述实数输入乘法器和所述虚数分量乘法器两者。4.根据权利要求1所述的器件,其中,乘法器包括多输出电流镜。5.根据权利要求4所述的器件,其中,所述多输出电流镜促进所述忆阻元件的所述输出信号的缩放版本的生成。6.一种用于执行复数乘法累加运算的方法,包括:将表示输入信号的实数分量的第一电压和表示所述输入信号的虚数分量的第二电压分别施加至第一忆阻单元的第一实数输入乘法器和第一虚数输入乘法器;将所述第一电压和所述第二电压分别施加至第二忆阻单元的第二实数输入乘法器和第二虚数输入乘法器;将表示复数权重输入的实数分量的电流施加至所述第一忆阻单元的所述第一实数输入乘法器和所述第一虚数输入乘法器;将表示复数权重输入的虚数分量的电流施加至所述第二忆阻单元的所述第二实数输入乘法器和所述第二虚数输入乘法器;对包括实数分量的乘法器的输出求和;以及对包括虚数分量的乘法器的输出求和,其中,求和表示复数输入与复数权重值的乘法累加运算。7.根据权利要求6所述的方法,其中,所述第一电压和所述第二电...

【专利技术属性】
技术研发人员:B·布坎南郑乐
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国,US

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

1