CN115756388B - 多模式存算一体电路、芯片及计算装置 - Google Patents
多模式存算一体电路、芯片及计算装置 Download PDFInfo
- Publication number
- CN115756388B CN115756388B CN202310014848.9A CN202310014848A CN115756388B CN 115756388 B CN115756388 B CN 115756388B CN 202310014848 A CN202310014848 A CN 202310014848A CN 115756388 B CN115756388 B CN 115756388B
- Authority
- CN
- China
- Prior art keywords
- calculation
- signal
- accumulation
- digital
- analog
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Analogue/Digital Conversion (AREA)
Abstract
本公开实施例公开了一种多模式存算一体电路、芯片及计算装置,其中,该电路包括:控制单元、第一预设数量个数据接收单元、第二预设数量个存算单元组和第三预设数量个累加计算单元;控制单元用于在多个计算模式之间切换;数据接收单元用于将输入数据转换为相应计算模式的待计算信号,并输出至对应的存算单元;存算单元组用于对待计算信号和存储的单比特存储数据进行计算,得到计算结果信号;将第一预设数量个计算结果信号发送至对应的累加计算单元;累加计算单元用于对接收的计算结果信号按照对应类型的计算方式进行加权累加计算,得到累加结果数据。本公开实施例可以同时发挥多个模式的精度、功耗、速度等优势,从而扩展了电路的应用范围。
Description
技术领域
本公开涉及集成电路设计技术领域,尤其是一种多模式存算一体电路、芯片及计算装置。
背景技术
存算一体架构是一种高效率的非冯诺依曼计算架构,这种新型计算架构对处理诸如深度学习模型一类的数据密集型算法具有很强的效率优势,从根本上减少了数据在存储器和计算单元之间的迁移。存算一体架构可以实现算术逻辑、乘累加等多种类型的运算。
从信号处理角度看,现有的执行乘累加(MAC,Multiply Accumulate)运算的存算一体架构可以分为数字模式和模拟模式两大类。数字模式是将乘法单元(通常用逻辑门实现)和加法单元(同样基于逻辑门实现)和存储单元集成到一起,实现高精度的无损运算。模拟模式是通过数模转换器(DAC,Digital to Analog Converter)将输入数据转换到模拟信号域,如电荷、电压、时间等,在模拟域实现信号的运算,然后借助模数转换器(ADC,Analogto Digital Converter)将信号重新变换回数字域,这种模拟方式在中低精度领域具有功耗和成本优势。
虽然现有的存算一体电路包含数字模式和模拟模式两种架构,但两种架构的电路是分离的,无法集成到一个存算阵列中。
发明内容
本公开的实施例提供了一种多模式存算一体电路,该电路包括:控制单元、第一预设数量个数据接收单元、第二预设数量个存算单元组和第三预设数量个累加计算单元;控制单元用于在第四预设数量个计算模式之间切换,并发送表示当前的计算模式的计算模式控制信号至第一预设数量个数据接收单元、第二预设数量个存算单元组和第三预设数量个累加计算单元;第一预设数量个数据接收单元中的每个数据接收单元用于接收输入数据,将输入数据转换为计算模式控制信号指示的计算模式的待计算信号,并将待计算信号输出至对应的存算单元;对于第二预设数量个存算单元组中的每个存算单元组,该存算单元组用于对输入的第一预设数量个待计算信号和存储的第一预设数量个单比特存储数据进行计算,得到第一预设数量个计算结果信号;根据模式控制信号,将第一预设数量个计算结果信号发送至对应的累加计算单元;第三预设数量个累加计算单元中的每个累加计算单元,用于对接收的计算结果信号按照对应类型的计算方式进行加权累加计算,得到累加结果数据。
在一些实施例中,第四预设数量个计算模式包括模拟计算模式和数字计算模式,第一预设数量个数据接收单元中的每个数据接收单元包括数模转换器和数据传输开关;控制单元进一步用于:在当前的计算模式为模拟计算模式时,向数模转换器发送数模转换使能信号,并向数据传输开关发送断开命令;在当前的计算模式为数字计算模式时,向数据传输开关发送导通命令,并向数模转换器发送数模转换禁止信号;数模转换器用于将接收的数字量的输入数据转换为模拟量的待计算信号并输出待计算信号至对应的存算单元;数据传输开关用于将接收的数字量的输入数据作为待计算信号输出至对应的存算单元。
在一些实施例中,第三预设数量个累加计算单元包括数字信号累加计算单元和模拟信号累加计算单元;控制单元进一步用于:在当前的计算模式为模拟计算模式时,向模拟信号累加计算单元发送模拟累加使能信号;在当前的计算模式为数字计算模式时,向数字信号累加计算单元发送数字累加使能信号;数字信号累加计算单元用于:响应于接收到数字累加使能信号,接收第二预设数量个存算单元组分别输出的计算结果信号集合,并根据依次串行输入的单比特输入数据的数位权重和第二预设数量个存算单元组分别对应的累加权重,对接收的各个数字计算结果信号集合按照数字计算方式进行累加计算,得到累加结果数据;模拟信号累加计算单元用于:响应于接收到模拟累加使能信号,接收第二预设数量个存算单元组分别输出的模拟量的累加结果信号,并将接收的累加结果信号转换为数字信号;根据第二预设数量个存算单元组分别对应的累加权重,对各个数字进行加权累加,得到累加结果数据。
在一些实施例中,第四预设数量个计算模式还包括混合计算模式;控制单元进一步用于:在当前的计算模式为混合计算模式时,若当前的数据计算阶段为数字信号计算阶段,向数据传输开关发送导通命令,并向数模转换器发送数模转换禁止信号,以及向数字信号累加计算单元发送数字累加使能信号,其中,数字信号计算阶段为对接收的输入数据包括的第一目标位段上的数据进行计算的阶段;若当前的数据计算阶段为模拟计算阶段,向数模转换器发送数模转换使能信号,并向数据传输开关发送断开命令,以及向模拟信号累加计算单元发送模拟累加使能信号,其中,数字信号计算阶段为对接收的输入数据包括的第二目标位段上的数据进行计算的阶段。
在一些实施例中,第二预设数量个存算单元组中的每个存算单元组包括第一预设数量个存算单元,其中,第一预设数量个存算单元中的每个存算单元包括存储子单元、计算子单元、加法电容和信号输出路径切换子单元;对于第一预设数量个存算单元中的每个存算单元,该存算单元包括的存储子单元用于存储单比特存储数据;该存算单元包括的计算子单元用于对单比特存储数据和接收的待计算信号进行计算,并将计算结果信号发送至对应的加法电容;第一预设数量个存算单元分别包括的信号输出路径切换子单元,用于在模拟计算模式下,或在混合计算模式的模拟计算阶段,将对应的加法电容与模拟信号累加计算单元接通;在数字计算模式下,或在混合计算模式的数字信号计算阶段,将对应的加法电容与数字信号累加计算单元接通;第一预设数量个存算单元分别包括的加法电容,用于在模拟计算模式下,或在混合计算模式的模拟计算阶段,对各个计算子单元分别输出的计算结果信号进行累加,并将模拟量的累加结果信号输出至模拟信号累加计算单元;在数字计算模式下,或在混合计算模式的数字信号计算阶段,将各个计算子单元分别输出的计算结果信号并行发送至数字信号累加计算单元。
在一些实施例中,第一预设数量个数据接收单元中的每个数据接收单元还包括数据输出开关;数据输出开关用于:在当前的计算周期内的复位相阶段,在控制单元输出的开关控制信号的控制下导通,将待计算信号输出至对应的存算单元;在当前的计算周期内的计算相阶段,在控制单元输出的开关控制信号的控制下截止;对于第二预设数量个存算单元组中的每个存算单元组,该存算单元组还用于:在计算相阶段,对输入的第一预设数量个待计算信号和存储的第一预设数量个单比特数据进行计算,得到第一预设数量个计算结果信号。
在一些实施例中,计算子单元为乘法器,乘法器包括第一开关和第二开关,第一开关和第二开关串联;在计算相阶段,第一开关和第二开关在对应的单比特存储数据为第一数据时导通,输出表示数据0的预设电平作为计算结果信号;第一开关在对应的单比特存储数据为第二数据时截止,由对应的加法电容输出与对应的待计算信号相同的计算结果信号。
在一些实施例中,在模拟计算模式下,数模转换器进一步用于:在每个计算周期内的复位相阶段,接收输入数据包括的一个数位段,并将接收的数位段转换为模拟量的待计算信号,其中,接收的数位段包括的位数为预设位数;在每个计算周期内的计算相阶段,将得到的待计算信号输出至对应的存算单元。
根据本公开实施例的另一个方面,提供了一种芯片,该芯片包括上述多模式存算一体电路。
根据本公开实施例的另一个方面,提供了一种计算装置,该计算装置包括上述芯片。
本公开上述实施例提供的多模式存算一体电路、芯片及计算装置,设置控制单元、第一预设数量个数据接收单元、第二预设数量个存算单元组和第三预设数量个累加计算单元,控制单元多个计算模式之间切换,并控制各个数据接收单元、存算单元组和累加计算单元按照相应的计算模式进行计算,每个数据接收单元用于接收输入数据,将输入数据转换为计算模式控制信号指示的计算模式的待计算信号,并将待计算信号输出至对应的存算单元,存算单元对待计算信号和存储的单比特存储数据进行计算,并将计算结果信号发送至对应的累加计算单元,累加计算单元对接收的计算结果信号按照对应类型的计算方式进行加权累加计算,得到累加结果数据。本公开实施例实现了在同一存算单元阵列中集成多个模式的计算架构,并且可以在多个计算模式之间灵活切换,从而使该电路同时发挥多个模式的精度、功耗、速度等优势,在高、中、低精度计算的场景下均可使用该电路,从而扩展了该电路的应用范围。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤;
图1是本公开一示例性实施例提供的多模式存算一体电路的结构示意图;
图2是本公开一示例性实施例提供的多模式存算一体电路的另一结构示意图;
图3A是本公开一示例性实施例提供的数字计算模式下的计算时序示意图;
图3B是本公开一示例性实施例提供的模拟计算模式下的计算时序示意图;
图4是本公开一示例性实施例提供的混合计算模式下的计算时序示意图;
图5是本公开一示例性实施例提供的模拟计算模式下将输入数据分为两个数位段进行计算的时序示意图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
申请概述
现有的数字模式架构、模拟模式架构分离的存算一体电路,通常包括如下缺点:
1、无法同时发挥数字运算在高精度计算场景和模拟运算在中低精度计算场景的优势。
2、在执行计算精度可变的算法时,存在效率下降的问题。如数字模式架构在执行低精度算法时,会使能量效率和执行速度下降;而模拟模式架构在执行高精度算法时,由于计算误差的存在会使算法精度明显下降。
为解决上述问题,本公开实施例提供了一种多模式存算一体电路,可以在同一存算单元阵列中实现诸如模拟模式、数字模式等多计算模式的切换,从而可以同时发挥多个计算模式的优势,在高、中、低精度计算的场景下均可使用该电路,从而扩展了该电路的应用范围。
示例性结构
图1是本公开一示例性实施例提供的多模式存算一体电路的结构示意图。该电路包含的各个组成部分可以集成到一个芯片中,也可以设置到不同的芯片或电路板中,这些芯片或电路板之间建立数据通信的链路。
如图1所示,该电路包括:控制单元101、第一预设数量个数据接收单元102、第二预设数量个存算单元组103和第三预设数量个累加计算单元104。其中,第二预设数量个存算单元组103通常设置成如图1所示的存算单元阵列,存算单元阵列可以存储多个多比特数据(例如神经网络运算场景下的权重数据),每个存算单元组对应同一数位的单比特存储数据。如图1所示,存算单元阵列由N+1个存算单元组构成,每个存算单元组即存算单元阵列的一列。
第一预设数量可以为存算单元阵列可存储的多比特数据的数量,如图1所示,存算单元阵列包括K+1行,即第一预设数量为K+1。每个数据接收单元对应一行存算单元。
第三预设数量可以为进行不同模式的累加计算单元的数量。如图1所示,第三预设数量为2,包括第一累加计算单元和第二累加计算单元。作为示例,第一累加计算单元和第二累加计算单元分别为模拟信号累加计算单元和数字信号累加计算单元。
在本实施例中,控制单元101用于在第四预设数量个计算模式之间切换,并发送表示当前的计算模式的计算模式控制信号至第一预设数量个数据接收单元102、第二预设数量个存算单元组103和第三预设数量个累加计算单元104。
其中,第四预设数量为该电路可以执行的计算模式的数量。例如,计算模式包括模拟计算模式、数字计算模式和混合计算模式。上述计算模式控制信号的数量和类型可以包括多个,例如,用于控制各个累加计算单元、各个数据接收单元的使能信号、控制电路内包含的开关的状态的信号等均包含在计算模式控制信号中。
可选的,控制单元101可以为各种类型的逻辑控制器件,例如微控制器、微处理器等。需要说明的是,控制单元101可以与上述存算单元阵列集成到一个器件中,也可以与存算单元阵列分离设置。
在本实施例中,第一预设数量个数据接收单元102中的每个数据接收单元用于接收输入数据,将输入数据转换为计算模式控制信号指示的计算模式的待计算信号,并将待计算信号输出至对应的存算单元。
如图1所示,各个数据接收单元输出的待计算信号VX0-VXK分别输入对应行包括的多个存算单元。其中,输入数据通常为多比特数据,如图1中所示的I0[M:0]- IK[M:0]。每个数据接收单元接收一个多比特数据。每个数据接收单元输出的待计算信号分别输入对应的多个存算单元。
例如,若计算模式为数字计算模式,数据接收单元按照串行输入的方式,逐位将输入数据的各个比特位直接输入对应的存算单元进行计算;若计算模式为模拟计算模式,数据接收单元按照并行输入的方式,将输入数据的多个比特位转换为模拟量的待计算信号,并输入对应的存算单元进行计算。
在本实施例中,对于第二预设数量个存算单元组103中的每个存算单元组,该存算单元组用于对输入的第一预设数量个待计算信号和存储的第一预设数量个单比特存储数据进行计算,得到第一预设数量个计算结果信号;根据模式控制信号,将第一预设数量个计算结果信号发送至对应的累加计算单元。
如图1所示,存算单元阵列中的每列包括K+1个存算单元,每列存算单元即一个存算单元组,其存储了K个多比特数据中处于相同数位的一个比特位,如图1中的第0行存储了多比特存储数据W0[N:0]包括的各个位W0[0]-W0[N]。每一列存算单元接收输入的K+1个待计算信号,与存储的K+1个单比特存储数据进行计算。
作为示例,每个存算单元可以进行模拟信号的计算,也可以进行数字信号的计算。对于一个存算单元,在数字计算模式下,该存算单元可以接收数字量的待计算信号,即每个计算周期对输入的包含于多比特输入数据中的一个单比特输入数据和单比特存储数据进行数字方式计算;在模拟计算模式下,该存算单元可以接收模拟量的待计算信号,即每个周期对输入的表示多比特输入数据的模拟量的待计算数据和单比特存储数据进行模拟方式计算(例如基于电荷域、电压域、电流域等模拟计算方式)。
存算单元可以按照预设的计算方式对待计算信号和单比特存储数据进行计算,例如乘法计算、同或计算、异或计算等。
通常,每个存算单元可以包括用于选择信号输出路径的开关,若当前为模拟计算模式,将模拟量的计算结果信号输入用于对模拟信号进行累加计算的模拟累加计算单元;若当前为数字计算模式,将数字量的计算结果信号输入用于对数字信号进行累加计算的模拟累加计算单元。
在本实施例中,第三预设数量个累加计算单元104中的每个累加计算单元,用于对接收的计算结果信号按照对应类型的计算方式进行加权累加计算,得到累加结果数据。
例如,模拟累加计算单元可以对每个存算单元组经过同一输出端输出的表示各个计算结果信号的累加的模拟信号,按照模拟累加方式进行累加计算,数字累加计算单元可以对每个存算单元单独输出的数字计算结果信号进行累加计算。
最终的累加结果数据即为对多个多比特输入数据和多比特存储数据进行计算的结果,例如,当存算单元进行乘法计算时,累加结果数据为多个多比特输入数据和多比特存储数据的乘累加计算结果,表示为。
本公开的上述实施例提供的电路,设置控制单元、第一预设数量个数据接收单元、第二预设数量个存算单元组和第三预设数量个累加计算单元,控制单元多个计算模式之间切换,并控制各个数据接收单元、存算单元组和累加计算单元按照相应的计算模式进行计算,每个数据接收单元用于接收输入数据,将输入数据转换为计算模式控制信号指示的计算模式的待计算信号,并将待计算信号输出至对应的存算单元,存算单元对待计算信号和存储的单比特存储数据进行计算,并将计算结果信号发送至对应的累加计算单元,累加计算单元对接收的计算结果信号按照对应类型的计算方式进行加权累加计算,得到累加结果数据。本公开实施例实现了在同一存算单元阵列中集成多个模式的计算架构,并且可以在多个计算模式之间灵活切换,从而使该电路同时发挥多个模式的精度、功耗、速度等优势,在高、中、低精度计算的场景下均可使用该电路,从而扩展了该电路的应用范围。
在一些可选的实现方式中,第四预设数量个计算模式包括模拟计算模式和数字计算模式,如图2所示,第一预设数量个数据接收单元102中的每个数据接收单元包括数模转换器和数据传输开关。需要说明的是,为便于描述,图2未示出控制单元101。
控制单元101进一步用于:
在当前的计算模式为模拟计算模式时,向数模转换器发送数模转换使能信号,并向数据传输开关发送断开命令;在当前的计算模式为数字计算模式时,向数据传输开关发送导通命令,并向数模转换器发送数模转换禁止信号。
数模转换器用于将接收的数字量的输入数据转换为模拟量的待计算信号并输出待计算信号至对应的存算单元;
数据传输开关用于将接收的数字量的输入数据作为待计算信号输出至对应的存算单元。
即,在模拟计算模式下,多比特输入数据包括的比特位并行输入数模转换器,数模转换器将数字信号转换为模拟信号,输出模拟量的待计算信号。在数字计算模式下,多比特输入数据包括的比特位依次串行通过数据传输开关直接输出,即每个计算周期输出一个单比特输入数据至对应的存算单元。如图3A所示,其示出了在数字计算模式下的计算时序示意图。输入数据为8比特数据,按照Ii[7]-Ii[0]的顺序依次输入对应的存算单元,其中的i为输入数据的序号,即图1中的存算单元阵列的行序号,图3A所示的波形的每个周期表示一个计算周期,即每个存算单元在每个计算周期对一个单比特输入数据进行计算。如图3B所示,其示出了在模拟计算模式下的计算时序示意图。8比特输入数据在一个计算周期内先被转换为模拟量的待计算信号,再输入对应的存算单元进行计算。需要说明的是,图3A和图3B所示的波形图仅仅用于表示计算的时序,其示出的每个计算周期的高低电平的含义和占空比不构成对实际电路结构的限定。
本实施例通过在数据接收单元中设置数模转换器和数据传输开关,可以实现在模拟计算模式和数字计算模式下,分别将模拟量的待计算信号和数字量的待计算信号输入对应的存算单元,从而有助于高效地对输入数据按照设置的计算模式进行转换,提高了多模式存算一体电路的集成度。本实施例实现了在高计算精度场景下按照数字计算模式进行计算,在低计算精度场景下按照模拟计算模式进行计算,扩展了电路的应用场景,同时丰富了存算一体电路的功能。
在一些可选的实现方式中,如图2所示,第三预设数量个累加计算单元104包括数字信号累加计算单元和模拟信号累加计算单元。
控制单元101进一步用于:
在当前的计算模式为模拟计算模式时,向模拟信号累加计算单元发送模拟累加使能信号;在当前的计算模式为数字计算模式时,向数字信号累加计算单元发送数字累加使能信号。通常,在向模拟信号累加计算单元发送模拟累加使能信号的同时,向数字信号累加计算单元发送禁止信号,使数字信号累加计算单元处于休眠状态;在向数字信号累加计算单元发送数字累加使能信号的同时,向模拟信号累加计算单元发送禁止信号,使模拟信号累加计算单元处于休眠状态,从而有助于减小功耗。
数字信号累加计算单元用于:
响应于接收到数字累加使能信号,接收第二预设数量个存算单元组103分别输出的计算结果信号集合,并根据依次串行输入的单比特输入数据的数位权重和第二预设数量个存算单元组103分别对应的累加权重,对接收的各个数字计算结果信号集合按照数字计算方式进行累加计算,得到累加结果数据。
作为示例,若对K+1个四比特输入数据和K+1个四比特存储数据进行乘加运算,如图2所示电路,在数字计算模式下进行乘加计算时,首先,在第一个计算周期,接收输入的K+1个四比特输入数据的第0位,例如,对于第0行存算单元,计算,得到四个计算结果,其他行类似,均可以得到四个计算结果。数字信号累加计算单元包括的加法器将同一列的计算结果相加,得到四个累加结果,再将四个累加结果分别乘以对应的累加权重,即可得到。然后,基于同样的方法,在第二、第三、第四个计算周期,分别计算得到,,。最后,经过数字信号累加计算单元包括的移位累加器,分别对S0、S1、S2、S3按照1、2、4、8的数位权重进行移位累加,得到的乘累加结果数据。
模拟信号累加计算单元用于:
响应于接收到模拟累加使能信号,接收第二预设数量个存算单元组103分别输出的模拟量的累加结果信号,并将接收的累加结果信号转换为数字信号;根据第二预设数量个存算单元组103分别对应的累加权重,对各个数字进行加权累加,得到累加结果数据。
具体地,在模拟信号计算模式下,每个存算单元组按照电荷域、电压域、电流域等方式,将各个存算单元输出的计算结果信号累加,得到模拟量的累加结果信号。模拟信号累加计算单元可以包括数模转换器,将各个累加结果信号(如图2中所示的MAC0-MACN)转换为数字信号D0-DN,再由模拟信号累加计算单元包括的移位累加器将D0-DN分别与对应数位的累加权重(即1、2、4、8…)相乘(例如通过移位实现),再将各个乘积相加,即可得到K+1个多比特输入数据和K+1个多比特存储数据进行计算的结果。
本实施例通过设置包括数字信号累加计算单元和模拟信号累加计算单元,可以实现存算一体电路针对数字量的计算结果信号和模拟量的计算结果信号分别按照数字累加方法和模拟累加方法进行计算,从而扩展了存算一体电路的应用场景。
在一些可选的实现方式中,第四预设数量个计算模式还包括混合计算模式;
控制单元101进一步用于:
在当前的计算模式为混合计算模式时,若当前的数据计算阶段为数字信号计算阶段,向数据传输开关发送导通命令,并向数模转换器发送数模转换禁止信号,以及向数字信号累加计算单元发送数字累加使能信号。其中,数字信号计算阶段为对接收的输入数据包括的第一目标位段上的数据进行计算的阶段。
若当前的数据计算阶段为模拟计算阶段,向数模转换器发送数模转换使能信号,并向数据传输开关发送断开命令,以及向模拟信号累加计算单元发送模拟累加使能信号。其中,模拟信号计算阶段为对接收的输入数据包括的第二目标位段上的数据进行计算的阶段。
通常,由于对多比特数据的高位计算的精度要求较高,对低位计算的精度要求较低,因此,上述第一目标位段通常可以为多比特输入数据的高位,采用高精度的数字计算模式计算,上述第二目标位段通常可以为多比特输入数据的低位,采用低精度的模拟计算模式计算。因此,混合计算模式通常可以应用在中等计算精度的场景中。
上述第一目标位段和第二目标位段分别包括的位数可以任意设置。作为示例,若输入数据为8比特数据,则高4位可以为第一目标位段,即高4位可以采用上述实施例描述的数字计算模式进行计算,低4位可以为第二目标位段,即低4位可以采用上述实施例描述的模拟计算模式进行计算。如图4所示,其示出了混合计算模式下的计算时序示意图,其中的Ii[7]、Ii[6]、Ii[5]、Ii[4]对应数字信号计算阶段,即采用上述实施例描述的数字计算模式进行计算,Ii[3:0]对应模拟信号计算阶段,即采用上述实施例描述的模拟计算模式进行计算。
本实施例提供了混合计算模式,即对于一个多比特输入数据,可以对该数据包括的一部分采用数字计算模式进行计算,对另一部分采用模拟计算模式进行计算,从而实现了对多比特输入数据进行计算时,兼顾数据计算精度和功耗、成本的优势,提高了存内计算的灵活性,进一步扩展了存算一体电路的应用场景。
在一些可选的实现方式中,第二预设数量个存算单元组103中的每个存算单元组包括第一预设数量个存算单元,其中,第一预设数量个存算单元中的每个存算单元包括存储子单元、计算子单元、加法电容和信号输出路径切换子单元。
如图2所示,其中的201所示的虚线框内的各个元件即为一个存算单元,包括存储子单元2011、计算子单元2012、加法电容2013和信号输出路径切换子单元2014。图2中的每一列包括的存算单元组成一个存算单元组,每个存算单元组包括K+1个存算单元。
对于第一预设数量个存算单元中的每个存算单元,该存算单元包括的存储子单元用于存储单比特存储数据;该存算单元包括的计算子单元用于对单比特存储数据和接收的待计算信号进行计算,并将计算结果信号发送至对应的加法电容。
如图2所示,同一行的存算单元分别包括的存储子单元存储的各个单比特存储数据组成一个多比特存储数据。通常,计算子单元用于对存储的单比特数据和输入的待计算信号进行乘法计算,即计算子单元为乘法器。可选的,计算子单元还可以为其他类型的器件,例如进行异或、同或等计算的器件,本实施例不做限定。
第一预设数量个存算单元分别包括的信号输出路径切换子单元,用于在模拟计算模式下,或在混合计算模式的模拟计算阶段,将对应的加法电容与模拟信号累加计算单元接通;在数字计算模式下,或在混合计算模式的数字信号计算阶段,将对应的加法电容与数字信号累加计算单元接通。
第一预设数量个存算单元分别包括的加法电容(如图2中的C),用于在模拟计算模式下,或在混合计算模式的模拟计算阶段,对各个计算子单元分别输出的计算结果信号进行累加,并将模拟量的累加结果信号输出至模拟信号累加计算单元;在数字计算模式下,或在混合计算模式的数字信号计算阶段,将各个计算子单元分别输出的计算结果信号并行发送至数字信号累加计算单元。
如图2所示,其中的SWAVR为信号输出路径切换子单元,在模拟计算模式下的每个计算周期内,在各个计算子单元输出计算结果信号后,各个信号输出路径切换子单元导通,同一列的存算单元的输出端均连接至模拟信号累加计算单元的一个输入端,然后在当前的计算周期结束后,各个信号输出路径切换子单元截止。在数字计算模式下,各个信号输出路径切换子单元一直保持截止,各个存算单元输出的数字量的计算结果信号单独输入到数字信号累加计算单元。应当理解,图2所示的电路中的各个信号输出路径切换子单元在导通时,各个存算单元的信号输出端仍与数字信号累加计算单元连接,但由于数字信号累加计算单元的此时处于休眠状态,因此,可以认为各个存算单元的信号输出端与数字信号累加计算单元未接通。
如图2所示,对于存算单元阵列中的任一列组成的存算单元组,该存算单元组包括的K+1个加法电容连接到共同的信号输出端,由于K+1个加法电容的容值相等,且电容的一端接地,且根据各个电容并联以及电容积累电荷的原理,在模拟计算模式下,信号输出端输出的累加结果信号表示该存算单元组中的每个计算子单元输出的计算结果信号在电压域的线性叠加,因此,每个存算单元组均可以输出表示存储的单比特数据与对应的待计算信号进行计算后再将计算结果进行累加的累加结果信号。
本实施例通过在每个存算单元中设置存储子单元、计算子单元、加法电容和信号输出路径切换子单元,可以实现根据不同的计算模式,将计算结果信号通过不同的路径输入到对应的累加计算单元,从而实现了基于同一存算单元阵列进行多种计算模式的计算,丰富了存算单元阵列的功能,提高了存算单元阵列的集成度,扩展了存算单元阵列的应用场景。
在一些可选的实现方式中,第一预设数量个数据接收单元102中的每个数据接收单元还包括数据输出开关。如图2所示,其中的SWSET为数据输出开关,数据输出开关的一端连接至数模转换器和数据传输开关,另一端连接至对应行包括的各个存算单元。
数据输出开关用于:
在当前的计算周期内的复位相阶段,在控制单元101输出的开关控制信号的控制下导通,将待计算信号输出至对应的存算单元;
在当前的计算周期内的计算相阶段,在控制单元101输出的开关控制信号的控制下截止。
如图3A、图3B和图4所示,其示出的波形的每个周期即计算周期,高电平阶段为复位相阶段ΦSET,低电平阶段为计算相阶段ΦMUL。在每个复位相阶段内,数据输出开关SWSET导通,在每个计算相阶段内,数据输出开关SWSET截止。
对于第二预设数量个存算单元组103中的每个存算单元组,该存算单元组还用于:
在计算相阶段,对输入的第一预设数量个待计算信号和存储的第一预设数量个单比特数据进行计算,得到第一预设数量个计算结果信号。
如图2所示,在计算相阶段,数据输出开关SWSET截止,由于加法电容的存在,待计算信号被存储在加法电容,在计算相阶段,加法电容存储的待计算信号被用来与存储子单元中的单比特存储数据进行计算。
需要说明的是,结合上述实施例提供的信号输出路径切换子单元,在如图3A和图4中的数字计算模式下,信号输出路径切换子单元SWAVR一直保持截止。
在如图3B和图4中的模拟计算模式下,低电平阶段为计算相阶段ΦMUL,计算相阶段ΦMUL又分为第一子阶段ΦMUL1和第二子阶段ΦMUL2。在第一子阶段ΦMUL1内,存算单元进行计算,在第二子阶段ΦMUL2内,存算单元输出计算结果信号。
具体地,在每个复位相阶段ΦSET内,数模转换器接收多个比特位,并转换为模拟量的待计算信号,数据输出开关SWSET导通,输出路径切换子单元SWAVR截止。
在每个计算相阶段的第一子阶段ΦMUL1内,数据输出开关SWSET和输出路径切换子单元SWAVR均截止,以使加法电容存储的待计算信号根据存储子单元内存储的单比特存储数据设置为相应的计算结果信号。例如当单比特存储数据为0时,加法电容放电,从而计算结果信号为低电平;当单比特存储数据为1时,加法电容内的电荷不变,即计算结果信号与加法电容存储的待计算信号的电平相同,从而实现乘法计算。在每个计算相阶段的第二子阶段ΦMUL2内,路径切换子单元SWAVR导通,从而使计算结果信号输入模拟信号累加计算单元。
需要说明的是,图3A、图3B、图4以及下述实施例描述的图5,其所示的波形只是表示每个计算周期的计算过程,并非对数据输出开关SWSET、输出路径切换子单元SWAVR等器件的控制信号。上述控制单元101在每个计算周期的不同阶段生成相应的控制信号,以完成对数据输出开关SWSET、输出路径切换子单元SWAVR等器件的控制。
本实施例通过在每个计算周期内设置复位相阶段和计算相阶段,以及设置数据输出开关,可以有效控制待计算数据在每个计算周期被输入对应的存算单元,并在计算相阶段有效防止其他输入数据的干扰,有助于提高多模式存算一体电路的稳定性。
在一些可选的实现方式中,计算子单元为乘法器,乘法器包括第一开关和第二开关,第一开关和第二开关串联。
如图2所示,其中的计算子单元2012为乘法器,该乘法器由第一开关20121和第二开关20122组成。图2所示的第一开关20121和第二开关20122均为N型MOS管。第一开关的20121的栅极与存储子单元的QB端连接,源极接地,漏极与第二开关20122的源极连接,第二开关20122的漏极与加法电容连接。其中,Q端输出存储子单元存储的单比特存储数据,QB端输出单比特存储数据的反相数据。
在计算相阶段,第一开关和第二开关在对应的单比特存储数据为第一数据时导通,输出表示数据0的预设电平作为计算结果信号;第一开关在对应的单比特存储数据为第二数据时截止,由对应的加法电容输出与对应的待计算信号相同的计算结果信号。
其中,第一数据可以为0,第二数据可以为1。如图2所示的电路,第一开关和第二开关具体的工作流程为:在计算相阶段,第二开关20122的栅极置为高电平(通常,在复位相阶段,栅极置为低电平),第二开关20122导通,当Q为0时,QB为1,第一开关20121的栅极为高电平,第一开关20121也导通,因此,加法电容2013接地,其存储的待计算信号被置为低电平,因此,存算单元201输出数字0;当Q为1时,QB为0,第一开关20121截止,第二开关20122导通,加法电容2013保持待计算信号,从而实现了单比特数据与模拟量或数字量的待计算信号的乘法计算。
需要说明的是,图2所示的由两个N型MOS管组成的乘法器,仅仅是一个示例,在可以实现乘法计算的前提下,第一开关和第二开关的类型可以任意设置,例如可以为三极管。
本实施例提供的由第一开关和第二开关组成的乘法器,可以实现对数字量或模拟量的待计算数据均进行乘法计算,其结构简单、有效,多模式存算一体电路更易实现,且电路运行更稳定。
在一些可选的实现方式中,在模拟计算模式下,数模转换器进一步用于:
在每个计算周期内的复位相阶段,接收输入数据包括的一个数位段,并将接收的数位段转换为模拟量的待计算信号,其中,接收的数位段包括的位数为预设位数;
在每个计算周期内的计算相阶段,将得到的待计算信号输出至对应的存算单元。
作为示例,若输入数据为8比特数据,可以将输入数据分为两个数位段,又可以称为两拍,每个数位段包括4个比特位。如图5所示,其示出了模拟计算模式下,将输入数据分为两个数位段进行计算的时序示意图,一个8比特输入数据的计算过程需要两个计算周期,在第一个计算周期的复位相ΦSET阶段,数模转换器接收高4位Ii[7:4],在第一个计算周期的计算相ΦMUL阶段,存算单元对数模转换器输出的模拟量的待计算信号进行计算;在第二个计算周期的ΦSET阶段,数模转换器接收低4位Ii[3:0],在第二个计算周期的ΦMUL阶段,存算单元对数模转换器输出的模拟量的待计算信号进行计算。
可选的,输入数据包括的数位段的个数,以及一个数位段包括的位数可以任意设置,例如,对于8比特输入数据,可以按照图5所示的两拍方式计算,也可以按照如图3B所示的一拍方式(即同时对8比特数据进行数模转换)计算,也可以按照四拍方式(即同时对2比特数据进行数模转换)计算。
本实施例通过在模拟计算模式下,将输入数据划分为多个数位段,可以灵活地利用数模转换器、模拟累加计算单元等硬件的数据处理能力,提高了存算单元阵列的场景适应性。
本公开的实施例还提供了一种芯片,芯片上集成了多模式存算一体电路,多模式存算一体电路的技术细节如图1-图5和相关描述所示,此处不再展开描述。
本公开的实施例还提供了一种计算装置,该计算装置包括上述实施例描述的芯片。此外,该计算装置还可以包括输入装置、输出装置以及必要的存储器等。其中,输入装置可以包括诸如鼠标、键盘、触控屏、通信网络连接器等,用于输入待计算的数据。输出装置可以包括诸如显示器、打印机、以及通信网络及其所连接的远程输出设备等等,用于输出累加结果数据。存储器用于存储上述输入装置输入的数据,以及多模式存算一体电路运行过程中产生的数据。存储器可以包括易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的电路。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的电路。用于电路中的方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的电路的功能的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的电路的功能的程序的记录介质。
还需要指出的是,在本公开的电路中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种多模式存算一体电路,包括:控制单元、第一预设数量个数据接收单元、第二预设数量个存算单元组和第三预设数量个累加计算单元;
所述控制单元用于在第四预设数量个计算模式之间切换,并发送表示当前的计算模式的计算模式控制信号至所述第一预设数量个数据接收单元、所述第二预设数量个存算单元组和所述第三预设数量个累加计算单元,其中,所述第四预设数量个计算模式包括以下至少一项:模拟计算模式、数字计算模式和混合计算模式,所述模拟计算模式是由每个存算单元对转换为模拟量的输入数据和单比特存储数据进行计算的模式,所述数字计算模式是由每个存算单元对数字量的输入数据和单比特存储数据进行计算的模式,所述混合计算模式是由每个存算单元分阶段地对输入数据按照所述模拟计算模式和所述数字计算模式进行计算的模式;
所述第一预设数量个数据接收单元中的每个数据接收单元用于接收输入数据,将所述输入数据转换为所述计算模式控制信号指示的计算模式的待计算信号,并将所述待计算信号输出至对应的存算单元;
对于所述第二预设数量个存算单元组中的每个存算单元组,该存算单元组用于对输入的第一预设数量个待计算信号和存储的第一预设数量个单比特存储数据进行计算,得到第一预设数量个计算结果信号;根据所述模式控制信号,将所述第一预设数量个计算结果信号发送至对应的累加计算单元;
所述第三预设数量个累加计算单元中的每个累加计算单元,用于对接收的第一预设数量个计算结果信号按照对应类型的计算方式进行加权累加计算,得到累加结果数据,其中,所述第三预设数量个累加计算单元包括第一累加计算单元和/或第二累加计算单元,所述第一累加计算单元用于对所述模拟计算模式下得到的第一预设数量个计算结果信号进行加权累加计算,所述第二累加计算单元用于对所述数字计算模式下得到的第一预设数量个计算结果信号进行加权累加计算。
2.根据权利要求1所述的电路,其中,所述第四预设数量个计算模式包括模拟计算模式和数字计算模式,所述第一预设数量个数据接收单元中的每个数据接收单元包括数模转换器和数据传输开关;
所述控制单元进一步用于:
在当前的计算模式为所述模拟计算模式时,向所述数模转换器发送数模转换使能信号,并向所述数据传输开关发送断开命令;在当前的计算模式为所述数字计算模式时,向所述数据传输开关发送导通命令,并向所述数模转换器发送数模转换禁止信号;
所述数模转换器用于将接收的数字量的输入数据转换为模拟量的待计算信号并输出所述待计算信号至对应的存算单元;
所述数据传输开关用于将接收的数字量的输入数据作为待计算信号输出至对应的存算单元。
3.根据权利要求2所述的电路,其中,所述第三预设数量个累加计算单元包括数字信号累加计算单元和模拟信号累加计算单元;
所述控制单元进一步用于:
在当前的计算模式为所述模拟计算模式时,向所述模拟信号累加计算单元发送模拟累加使能信号;在当前的计算模式为所述数字计算模式时,向所述数字信号累加计算单元发送数字累加使能信号;
所述数字信号累加计算单元用于:响应于接收到所述数字累加使能信号,接收所述第二预设数量个存算单元组分别输出的计算结果信号集合,并根据依次串行输入的单比特输入数据的数位权重和所述第二预设数量个存算单元组分别对应的累加权重,对接收的各个数字计算结果信号集合按照数字计算方式进行累加计算,得到累加结果数据;
所述模拟信号累加计算单元用于:响应于接收到所述模拟累加使能信号,接收所述第二预设数量个存算单元组分别输出的模拟量的累加结果信号,并将接收的累加结果信号转换为数字信号;根据所述第二预设数量个存算单元组分别对应的累加权重,对各个数字进行加权累加,得到累加结果数据。
4.根据权利要求3所述的电路,其中,所述第四预设数量个计算模式还包括混合计算模式;
所述控制单元进一步用于:
在当前的计算模式为所述混合计算模式时,若当前的数据计算阶段为数字信号计算阶段,向所述数据传输开关发送导通命令,并向所述数模转换器发送数模转换禁止信号,以及向所述数字信号累加计算单元发送数字累加使能信号,其中,所述数字信号计算阶段为对接收的输入数据包括的第一目标位段上的数据进行计算的阶段;
若当前的数据计算阶段为模拟计算阶段,向所述数模转换器发送数模转换使能信号,并向所述数据传输开关发送断开命令,以及向所述模拟信号累加计算单元发送模拟累加使能信号,其中,所述模拟信号计算阶段为对接收的输入数据包括的第二目标位段上的数据进行计算的阶段。
5.根据权利要求4所述的电路,其中,所述第二预设数量个存算单元组中的每个存算单元组包括第一预设数量个存算单元,其中,所述第一预设数量个存算单元中的每个存算单元包括存储子单元、计算子单元、加法电容和信号输出路径切换子单元;
对于所述第一预设数量个存算单元中的每个存算单元,该存算单元包括的存储子单元用于存储单比特存储数据;该存算单元包括的计算子单元用于对所述单比特存储数据和接收的待计算信号进行计算,并将计算结果信号发送至对应的加法电容;
所述第一预设数量个存算单元分别包括的信号输出路径切换子单元,用于在所述模拟计算模式下,或在所述混合计算模式的模拟计算阶段,将对应的加法电容与所述模拟信号累加计算单元接通;在所述数字计算模式下,或在所述混合计算模式的数字信号计算阶段,将对应的加法电容与所述数字信号累加计算单元接通;
所述第一预设数量个存算单元分别包括的加法电容,用于在所述模拟计算模式下,或在所述混合计算模式的模拟计算阶段,对各个计算子单元分别输出的计算结果信号进行累加,并将模拟量的累加结果信号输出至所述模拟信号累加计算单元;在所述数字计算模式下,或在所述混合计算模式的数字信号计算阶段,将各个计算子单元分别输出的计算结果信号并行发送至所述数字信号累加计算单元。
6.根据权利要求5所述的电路,其中,所述第一预设数量个数据接收单元中的每个数据接收单元还包括数据输出开关;
所述数据输出开关用于:
在当前的计算周期内的复位相阶段,在所述控制单元输出的开关控制信号的控制下导通,将待计算信号输出至对应的存算单元;
在当前的计算周期内的计算相阶段,在所述控制单元输出的开关控制信号的控制下截止;
对于所述第二预设数量个存算单元组中的每个存算单元组,该存算单元组还用于:
在所述计算相阶段,对输入的第一预设数量个待计算信号和存储的第一预设数量个单比特数据进行计算,得到第一预设数量个计算结果信号。
7.根据权利要求6所述的电路,其中,所述计算子单元为乘法器,所述乘法器包括第一开关和第二开关,所述第一开关和所述第二开关串联;
在所述计算相阶段,所述第一开关和所述第二开关在对应的单比特存储数据为第一数据时导通,输出表示数据0的预设电平作为计算结果信号;所述第一开关在对应的单比特存储数据为第二数据时截止,由对应的加法电容输出与对应的待计算信号相同的计算结果信号。
8.根据权利要求6所述的电路,其中,在所述模拟计算模式下,所述数模转换器进一步用于:
在每个计算周期内的复位相阶段,接收输入数据包括的一个数位段,并将接收的数位段转换为模拟量的待计算信号,其中,接收的数位段包括的位数为预设位数;
在每个计算周期内的计算相阶段,将得到的待计算信号输出至对应的存算单元。
9.一种芯片,其特征在于,包括根据权利要求1-8中任一项所述的多模式存算一体电路。
10.一种计算装置,其特征在于,包括根据权利要求9所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014848.9A CN115756388B (zh) | 2023-01-06 | 2023-01-06 | 多模式存算一体电路、芯片及计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014848.9A CN115756388B (zh) | 2023-01-06 | 2023-01-06 | 多模式存算一体电路、芯片及计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115756388A CN115756388A (zh) | 2023-03-07 |
CN115756388B true CN115756388B (zh) | 2023-04-18 |
Family
ID=85348245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310014848.9A Active CN115756388B (zh) | 2023-01-06 | 2023-01-06 | 多模式存算一体电路、芯片及计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756388B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022199684A1 (zh) * | 2021-03-26 | 2022-09-29 | 南京后摩智能科技有限公司 | 基于数字域存内计算的电路 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10241971B2 (en) * | 2016-12-15 | 2019-03-26 | Hewlett Packard Enterprise Development Lp | Hierarchical computations on sparse matrix rows via a memristor array |
US10748603B2 (en) * | 2018-09-28 | 2020-08-18 | Intel Corporation | In-memory multiply and accumulate with global charge-sharing |
US20220350662A1 (en) * | 2019-06-18 | 2022-11-03 | The Regents Of The University Of California | Mixed-signal acceleration of deep neural networks |
CN110427171B (zh) * | 2019-08-09 | 2022-10-18 | 复旦大学 | 可扩展的定点数矩阵乘加运算的存内计算设备和方法 |
CN111343398B (zh) * | 2020-04-09 | 2021-10-26 | 电子科技大学 | 基于动态视觉传感技术的cmos感存算一体电路结构 |
CN111431536B (zh) * | 2020-05-18 | 2023-05-02 | 深圳市九天睿芯科技有限公司 | 子单元、mac阵列、位宽可重构的模数混合存内计算模组 |
CN112153139B (zh) * | 2020-09-23 | 2022-06-14 | 成都市深思创芯科技有限公司 | 基于传感器网络和存内计算神经网络的控制系统及方法 |
CN114254743B (zh) * | 2021-09-14 | 2024-03-15 | 安徽大学 | 一种基于rram阵列构成的二进制神经网络中并行乘累加运算的电路 |
CN113946310A (zh) * | 2021-10-08 | 2022-01-18 | 上海科技大学 | 一种用于卷积神经网络的内存计算eDRAM加速器 |
CN113885831A (zh) * | 2021-10-25 | 2022-01-04 | 上海后摩智能科技有限公司 | 基于混合数据输入的存算一体电路、芯片及计算装置 |
CN114707647B (zh) * | 2022-03-08 | 2023-10-24 | 南方科技大学 | 适用于多精度神经网络的精度无损存算一体装置及方法 |
CN114546335B (zh) * | 2022-04-25 | 2022-07-05 | 中科南京智能技术研究院 | 一种多比特输入与多比特权重乘累加的存内计算装置 |
CN115080501A (zh) * | 2022-04-27 | 2022-09-20 | 北京大学 | 基于局部电容电荷共享的sram存算一体芯片 |
CN115390789A (zh) * | 2022-08-26 | 2022-11-25 | 东南大学 | 基于磁隧道结计算单元的模拟域全精度存内计算电路及方法 |
-
2023
- 2023-01-06 CN CN202310014848.9A patent/CN115756388B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022199684A1 (zh) * | 2021-03-26 | 2022-09-29 | 南京后摩智能科技有限公司 | 基于数字域存内计算的电路 |
Also Published As
Publication number | Publication date |
---|---|
CN115756388A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI779285B (zh) | 用於執行向量矩陣乘法的方法和設備,及向量矩陣乘法電路 | |
CN110209375B (zh) | 一种基于radix-4编码和差分权重存储的乘累加电路 | |
CN110427171B (zh) | 可扩展的定点数矩阵乘加运算的存内计算设备和方法 | |
CN111008003B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN113364462B (zh) | 模拟存算一体多比特精度实现结构 | |
CN110531954B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN113741858A (zh) | 存内乘加计算方法、装置、芯片和计算设备 | |
CN110554854B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN101021777A (zh) | 基于除数(2n-1)的有效求模操作运算 | |
CN115906735B (zh) | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 | |
CN115756388B (zh) | 多模式存算一体电路、芯片及计算装置 | |
CN113885831A (zh) | 基于混合数据输入的存算一体电路、芯片及计算装置 | |
CN115525250A (zh) | 内存计算电路 | |
CN113743046B (zh) | 存算一体版图结构和数据拆分存算一体版图结构 | |
CN117492697A (zh) | 乘加运算电路、存储器及电子设备 | |
CN110647307B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN209879493U (zh) | 乘法器 | |
CN210109789U (zh) | 数据处理器 | |
CN114168107A (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
CN115658013B (zh) | 向量乘加器的rom存内计算装置和电子设备 | |
CN115935878B (zh) | 基于模拟信号的多比特数据计算电路、芯片及计算装置 | |
CN110688087A (zh) | 数据处理器、方法、芯片及电子设备 | |
CN113031916A (zh) | 乘法器、数据处理方法、装置及芯片 | |
US20220244914A1 (en) | Differential Unit Element for multiply-accumulate operations on a shared charge transfer bus | |
US11476866B2 (en) | Successive approximation register using switched unit elements |
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 |