CN113345484A - 一种数据运算电路及存算一体芯片 - Google Patents

一种数据运算电路及存算一体芯片 Download PDF

Info

Publication number
CN113345484A
CN113345484A CN202110705287.8A CN202110705287A CN113345484A CN 113345484 A CN113345484 A CN 113345484A CN 202110705287 A CN202110705287 A CN 202110705287A CN 113345484 A CN113345484 A CN 113345484A
Authority
CN
China
Prior art keywords
circuit
data
multiplicand
input
multiplier
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
Application number
CN202110705287.8A
Other languages
English (en)
Inventor
佘一奇
吴守道
郑坚斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Zhaoxin Semiconductor Technology Co ltd
Original Assignee
Suzhou Zhaoxin Semiconductor Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Zhaoxin Semiconductor Technology Co ltd filed Critical Suzhou Zhaoxin Semiconductor Technology Co ltd
Priority to CN202110705287.8A priority Critical patent/CN113345484A/zh
Publication of CN113345484A publication Critical patent/CN113345484A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种数据运算电路及存算一体芯片,该数据运算电路包括译码电路、查询表阵列。译码电路包括被乘数输入端、乘数输入端、译码输出端;被乘数输入端的位宽为N1,输入2N1种被乘数;乘数输入端的位宽为N2,输入2N2种乘数;译码输出端的位宽为2N1+N2,输出2N1+N2种译码输出信号,每种译码输出信号对应一种被乘数和乘数组合。查询表阵列包括与译码输出端连接的存储阵列、以及读出电路;存储阵列中存储有2N1+N2种运算结果,每种运算结果为一种被乘数和乘数组合相乘所得的运算结果;读出电路用于读取存储阵列中和该种译码输出信号对应的运算结果。减少打开字线根数,减少对写操作的干扰。无需进行大量的运算,缩短运算周期,减少能耗,提高运算效率。

Description

一种数据运算电路及存算一体芯片
技术领域
本发明涉及半导体技术领域,尤其涉及一种数据运算电路及存算一体芯片。
背景技术
存内运算(Processing in Memory,PIM)是在内存中完成部分运算,在处理器中完成部分运算。相较于内存运算将运算所需的所有数据放入到内存中,所有运算由处理器完成的方式,存内运算的方式降低了数据在内存与高速缓存、以及高速缓存与CPU(中央处理器)之间移动的能耗,提高内存运算***的性能。
现有的存内运算的实现方式主要采用模拟存内运算方式。模拟存内运算的主要缺点有:需要同时打开多条字线对存储单元的数值进行运算,在此过程中,由于打开的字线根数较多,对写操作的干扰较为严重。而且乘法运算周期较长,能量损耗较大,效率较低。
发明内容
本发明提供了一种数据运算电路及存算一体芯片,以减少打开字线根数,减少对写操作的干扰;同时缩短运算周期,减少能耗,提高运算效率。
第一方面,本发明提供了一种数据运算电路,该数据运算电路包括译码电路和查询表阵列。其中,译码电路包括被乘数输入端、乘数输入端以及译码输出端;被乘数输入端的位宽为N1,用于输入2N1种被乘数;乘数输入端的位宽为N2,用于输入2N2种乘数;译码输出端的位宽为2N1+N2,用于输出2N1+N2种译码输出信号,且每种译码输出信号对应一种被乘数和乘数组合。查询表阵列包括与译码输出端连接的存储阵列、以及与存储阵列连接的读出电路;存储阵列中存储有2N1+N2种运算结果,每种运算结果为一种被乘数和乘数组合相乘所得的运算结果,且每种运算结果对应一种译码输出信号;读出电路用于根据传输给存储阵列的一种译码输出信号,读取存储阵列中和该种译码输出信号对应的运算结果。
在上述的方案中,通过采用译码电路和查询表阵列的方式组成乘法运算电路,由译码电路通过被乘数输入端接收2N1种被乘数,由乘数输入端接收2N2种乘数,并将2N1种被乘数和2N2种乘数组成的共2N1+N2被乘数和乘数组合相乘的所有运算结果预先存储在存储阵列中。在进行乘法运算时,译码电路只需根据输入的被乘数和乘数组合,生成对应的译码输出信号,并将译码输出信号传输给存储阵列,之后由读出电路读出预先存储在存储阵列中的该被乘数和乘数组合相乘的运算结果即可。与现有技术采用模拟存内运算的方式相比,本申请的方式只需通过译码电路产生的译码输出信号对存储阵列中存储的运行结果进行寻址及读取即可,从而无需打开多条字线对存储单元中的数值进行运算,减少打开字线根数,减少对写操作的干扰。且将乘法的运算改为预先将运算结果存储在存储阵列中,并经过查询的方式即可得到一种被乘数和乘数相乘的运算结果,无需进行大量的运算,从而缩短运算周期,减少能耗,提高运算效率。在应用时,对于固定位数的被乘数和乘数而言,将所有的乘积均转换为小规模的乘法运算,对于大量重复的乘法运算而言,本申请使用查询表阵列替代大量重复的乘法运算,能够大量减少运算量,且提高运算效率。且本申请的方案相比现有技术的方案,可支持被乘数输入端的位宽N1和乘数输入端的位宽N2不相等的组合方式,从而能够更加灵活。
在一个具体的实施方式中,存储阵列包括至少2N1+N2根字线、至少(N1+N2)根位线、以及形成在任意一根字线和任意一根位线相交处的存储单元。译码输出端与2N1+N2根字线连接,以向2N1+N2根字线传输2N1+N2种译码输出信号;2N1+N2种运算结果与2N1+N2根字线一一对应,每种运算结果由高位到低位依次存储在对应字线的(N1+N2)个存储单元内;读出电路包含有(N1+N2)个读出电路单元,该(N1+N2)个读出电路单元和(N1+N2)根位线一一对应,每个读出电路单元连接对应的位线,以根据传输给2N1+N2根字线的译码输出信号,读取存储在对应字线上的(N1+N2)个存储单元内的运算结果。将2N1+N2种运算结果中的每个运算结果存储在一根位线的存储单元中,在读出电路读出运算结果时,只需打开其中的一根字线即可,减少打开字线根数,降低对写操作的干扰。且至少使用(N1+N2)存储单元存储每种运算结果,防止出现存在运算结果由于占位较多而不能够存储的情形。
在一个具体的实施方式中,译码输出端的2N1+N2个位宽和2N1+N2根字线一一对应,每种译码输出信号包含有打开2N1+N2根字线中的其中一根字线,同时关闭其他根字线的信号。使译码输出端的一个比特位和一根字线对应,从而通过控制译码输出端每个比特位的值为“0”或“1”,来控制打开或关闭对应的字线,便于寻址到对应的运算结果。
在一个具体的实施方式中,存储阵列中至少包含有(N1+N2+N3)根位线,每根字线上有(N1+N2+N3)个存储单元。(N1+N2+N3)个存储单元中由高位到低位依次存储有N3位进位补偿位、(N1+N2)位的运算结果。读出电路包含有(N1+N2+N3)个读出电路单元,该(N1+N2+N3)个读出电路单元和(N1+N2+N3)根位线一一对应,每个读出电路单元连接对应的位线。通过增设N3位进位补偿位,来存储运算结果,以便于后续进行加法运算时,防止出现溢位情况。
在一个具体的实施方式中,该数据运算电路还包括(N1+N2+N3)个全加器、以及(N1+N2+N3)个D触发器。其中,(N1+N2+N3)个全加器和(N1+N2+N3)个读出电路单元一一对应,每个全加器具有第一输入端、第二输入端、低位进位输入端、高位进位输出端、本位求和输出端,每个全加器的第一输入端和对应的读出电路单元连接。(N1+N2+N3)个D触发器和(N1+N2+N3)个全加器一一对应,每个D触发器具有数据输入端、数据输出端、时钟信号端,每个D触发器的数据输入端与对应的全加器的本位求和输出端连接,每个D触发器的数据输出端与对应的全加器的第二输入端连接。且高低位相邻的两个全加器之间,高位全加器中的低位进位输入端和低位全加器的高位进位输出端连接;位数最低的全加器中的低位进位输入端接低电平,位数最高的全加器中的高位进位输出端接低电平。通过一组全加器及D触发器即可实现自累加加法运算,无需采用现有技术中由若干个加法器组成加法器树的形式实现多位的加法。减少加法运算层级,提高运算效率。
在一个具体的实施方式中,该数据运算电路还包括与时钟信号端连接以给时钟信号端传输控制信号的控制电路,且该控制电路还与读出电路连接。以便于通过控制电路控制时钟信号端的启动自累加加法运算或停止自累加加法运算。
在一个具体的实施方式中,每个D触发器包括:与数据输入端连接的第一锁存器、以及与第一锁存器连接的第二锁存器,且第二锁存器还与数据输出端连接。其中,第一锁存器用于锁存来自数据输入端的输入数据并在时钟信号的控制下将输入数据传输给第二锁存器,第二锁存器用于锁存来自于第一锁存器的数据并在时钟信号的控制下将数据从数据输出端传输给对应的全加器。通过设置两个锁存器,能够存储本位求和输出端所输出的前两次的运算结果,便于缓存多个历史加法运算结果。
在一个具体的实施方式中,每个D触发器还包括第一传输门、第二传输门、第三传输门及第四传输门。其中,第一传输门连接在第一锁存器和数据输入端之间,第二传输门连接在第一锁存器内,第三传输门连接在第一锁存器和第二锁存器之间,第四传输门连接在第二锁存器内。该四个传输门均与时钟信号端连接。且在时钟信号端接收到第一电平信号时,第一传输门和第四传输门关断,第二传输门和第三传输门导通;在时钟信号端接收到第二电平信号时,第一传输门和第四传输门导通,第二传输门和第三传输门关断。以便于控制通过第二输入端输入给全加器的输入保持不变,及对两个锁存器锁存的数据进行更新。
第二方面,本发明还提供了一种存算一体芯片,该存算一体芯片包括上述任意一种数据运算电路。通过采用译码电路和查询表阵列的方式组成乘法运算电路,由译码电路通过被乘数输入端接收2N1种被乘数,由乘数输入端接收2N2种乘数,并将2N1种被乘数和2N2种乘数组成的共2N1+N2被乘数和乘数组合相乘的所有运算结果预先存储在存储阵列中。在进行乘法运算时,译码电路只需根据输入的被乘数和乘数组合,生成对应的译码输出信号,并将译码输出信号传输给存储阵列,之后由读出电路读出预先存储在存储阵列中的该被乘数和乘数组合相乘的运算结果即可。与现有技术采用模拟存内运算的方式相比,本申请的方式只需通过译码电路产生的译码输出信号对存储阵列中存储的运行结果进行寻址及读取即可,从而无需打开多条字线对存储单元中的数值进行运算,减少打开字线根数,减少对写操作的干扰。且将乘法的运算改为预先将运算结果存储在存储阵列中,并经过查询的方式即可得到一种被乘数和乘数相乘的运算结果,无需进行大量的运算,从而缩短运算周期,减少能耗,提高运算效率。在应用时,对于固定位数的被乘数和乘数而言,将所有的乘积均转换为小规模的乘法运算,对于大量重复的乘法运算而言,本申请使用查询表阵列替代大量重复的乘法运算,能够大量减少运算量,且提高运算效率。且本申请的方案相比现有技术的方案,可支持被乘数输入端的位宽N1和乘数输入端的位宽N2不相等的组合方式,从而能够更加灵活。
在一个具体的实施方式中,该存算一体芯片为存储器。译码电路为存储器中的译码器,存储阵列为存储器中的存储单元阵列,读出电路为存储器中用于读取存储单元阵列的读出电路。通过利用存储器中的译码器、存储单元阵列及读出电路作为数据运算电路中的各个器件,便于实现存储器内的存算一体化。
附图说明
图1为本发明实施例提供的一种数据运算电路的结构框图;
图2为本发明实施例提供的另一种数据运算电路的结构框图;
图3为本发明实施例提供的一种数据运算电路的部分电路连接示意图;
图4为本发明实施例提供的一种全加器和D触发器电路连接的示意图;
图5为本发明实施例提供的一种D触发器的电路连接示意图;
图6为本发明实施例提供的一种四个周期内被乘数输入端、乘数输入端、存储阵列、读出电路及全加器中的本位求和输出端内的信号变化示意图。
附图标记:
10-译码电路 11-被乘数输入端 12-乘数输入端
13-译码输出端 20-存储阵列 30-读出电路
31-读出电路单元 40-全加器 50-D触发器
501-第一锁存器 502-第二锁存器 503-反相器
51-第一传输门 52-第二传输门 53-第三传输门
54-第四传输门 60-控制电路
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例提供的数据运算电路,下面首先说明一下本发明实施例提供的数据运算电路的应用场景,该数据运算电路应用于数据运算过程中,用于求取运算值。下面结合附图对该数据运算电路进行详细的叙述。
参考图1,本发明实施例提供的数据运算电路包括译码电路10和查询表阵列。其中,译码电路10包括被乘数输入端11、乘数输入端12以及译码输出端13。被乘数输入端11的位宽为N1,在通过被乘数输入端11向其内输入被乘数时,N1位宽中的每个位的值为“0”或“1”,从而能够通过被乘数输入端11输入2N1种被乘数。乘数输入端12的位宽为N2,在通过乘数输入端12向其内输入被乘数时,N1位宽中的每个位的值为“0”或“1”,从而能够通过乘数输入端12输入2N2种乘数。从而通过被乘数输入端11和乘数输入端12所输入的被乘数和乘数的组合存在2N1+N2种组合方式。译码输出端13的位宽为2N1+N2,用于输出2N1+N2种译码输出信号,该2N1+N2种译码输出信号和2N1+N2种被乘数和乘数的组合存在一一对应关系,每种译码输出信号对应一种被乘数和乘数组合。
如图1所示,查询表阵列包括与译码输出端13连接的存储阵列20、以及与存储阵列20连接的读出电路30。在存储阵列20中存储有2N1+N2种运算结果,每种运算结果为一种被乘数和乘数组合相乘所得的运算结果,从而使2N1+N2种运算结果和2N1+N2种被乘数和乘数的组合存在一一对应关系。且每种运算结果对应一种译码输出信号,以便于通过译码输出信号寻址到存储阵列20中对应的运算结果。读出电路30用于根据传输给存储阵列20的一种译码输出信号,读取存储阵列20中和该种译码输出信号对应的运算结果。
在上述的方案中,通过采用译码电路10和查询表阵列的方式组成乘法运算电路,由译码电路10通过被乘数输入端11接收2N1种被乘数,由乘数输入端12接收2N2种乘数,并将2N1种被乘数和2N2种乘数组成的共2N1+N2被乘数和乘数组合相乘的所有运算结果预先存储在存储阵列20中。在进行乘法运算时,译码电路10只需根据输入的被乘数和乘数组合,生成对应的译码输出信号,并将译码输出信号传输给存储阵列20,之后由读出电路30读出预先存储在存储阵列20中的该被乘数和乘数组合相乘的运算结果即可。与现有技术采用模拟存内运算的方式相比,本申请的方式只需通过译码电路10产生的译码输出信号对存储阵列20中存储的运行结果进行寻址及读取即可,从而无需打开多条字线对存储单元中的数值进行运算,减少打开字线根数,减少对写操作的干扰。且将乘法的运算改为预先将运算结果存储在存储阵列20中,并经过查询的方式即可得到一种被乘数和乘数相乘的运算结果,无需进行大量的运算,从而缩短运算周期,减少能耗,提高运算效率。在应用时,对于固定位数的被乘数和乘数而言,将所有的乘积均转换为小规模的乘法运算,对于大量重复的乘法运算而言,本申请使用查询表阵列替代大量重复的乘法运算,能够大量减少运算量,且提高运算效率。且本申请的方案相比现有技术的方案,可支持被乘数输入端11的位宽N1和乘数输入端12的位宽N2不相等的组合方式,从而能够更加灵活。下面结合附图对上述各个电路结构进行详细的介绍。
在设置译码电路10时,参考图3,该译码电路10至少包括3个端口,其中有两个输入端,分别为被乘数输入端11、乘数输入端12,还具有一个译码输出端13。被乘数输入端11的位宽为N1,在通过被乘数输入端11向其内输入被乘数时,N1位宽中的每个位的值为“0”或“1”,从而能够通过被乘数输入端11输入2N1种被乘数。其中,被乘数输入端11的位宽N1可以为1、2、3、4等任意正整数。例如,参考图3,该被乘数输入端11的位宽N1可以等于2,被乘数输入端11为如图3所示出的D[1:0],能够输入00、01、10、11共四种被乘数。乘数输入端12的位宽为N2,在通过乘数输入端12向其内输入被乘数时,N1位宽中的每个位的值为“0”或“1”,从而能够通过乘数输入端12输入2N2种乘数。其中,乘数输入端12的位宽N2可以为1、2、3、4等任意正整数。例如,参考图3,该乘数输入端12的位宽N2可以等于2,乘数输入端12为如图3所示出的W[1:0],能够输入00、01、10、11共四种乘数。从而通过被乘数输入端11和乘数输入端12所输入的被乘数和乘数的组合存在2N1+N2种组合方式。在上述被乘数输入端11和乘数输入端12的位宽均为2时,能够输入24=16种被乘数和乘数组合方式。具体的组合方式如下表1所示。当然,需要注意的是,被乘数位宽N1和乘数位宽N2之间可以相等,也可以不相等。
表1-被乘数及乘数组合方式及存储阵列20中存储的运算结果
Figure BDA0003130935750000051
在设置译码输出端13时,译码输出端13的位宽为2N1+N2,用于输出2N1+N2种译码输出信号,且该2N1+N2种译码输出信号和2N1+N2种被乘数和乘数的组合存在一一对应关系,每种译码输出信号对应一种被乘数和乘数组合。例如,如图3及表1中所示出的译码输出端13的位宽为16位(N1=N2=2),具体为WL[15:0]。
在设置存储阵列20时,参考图1及图3,存储阵列20和译码输出端13连接,且在存储阵列20中存储有2N1+N2种运算结果,每种运算结果为一种被乘数和乘数组合相乘所得的运算结果,从而使2N1+N2种运算结果和2N1+N2种被乘数和乘数的组合存在一一对应关系。且每种运算结果对应一种译码输出信号,以便于通过译码输出信号寻址到存储阵列20中对应的运算结果。例如,在前述例子中被乘数输入端11和乘数输入端12的位宽均为2时,存储阵列20中所存储的运算结果为16种,具体如表1中所示出的方式,每种运算结果为一种被乘数和乘数的组合相乘的运算结果。
在设置读出电路30时,读出电路30和存储阵列20相连接,用于根据传输给存储阵列20的一种译码输出信号,读取存储阵列20中和该种译码输出信号对应的运算结果。例如,如表1所示,在被输出输入端输入的被乘数为二进制的“01”,乘数输入端12输入的乘数为二进制的“11”时,读出电路30从存储阵列20中所读取的运算结果为二进制的“00011”。通过采用译码电路10和查询表阵列的方式组成乘法运算电路,由译码电路10通过被乘数输入端11接收2N1种被乘数,由乘数输入端12接收2N2种乘数,并将2N1种被乘数和2N2种乘数组成的共2N1+N2被乘数和乘数组合相乘的所有运算结果预先存储在存储阵列20中。在进行乘法运算时,译码电路10只需根据输入的被乘数和乘数组合,生成对应的译码输出信号,并将译码输出信号传输给存储阵列20,之后由读出电路30读出预先存储在存储阵列20中的该被乘数和乘数组合相乘的运算结果即可。与现有技术采用模拟存内运算的方式相比,本申请的方式只需通过译码电路10产生的译码输出信号对存储阵列20中存储的运行结果进行寻址及读取即可,从而无需打开多条字线对存储单元中的数值进行运算,减少打开字线根数,减少对写操作的干扰。且将乘法的运算改为预先将运算结果存储在存储阵列20中,并经过查询的方式即可得到一种被乘数和乘数相乘的运算结果,无需进行大量的运算,从而缩短运算周期,减少能耗,提高运算效率。在应用时,对于固定位数的被乘数和乘数而言,将所有的乘积均转换为小规模的乘法运算,对于大量重复的乘法运算而言,本申请使用查询表阵列替代大量重复的乘法运算,能够大量减少运算量,且提高运算效率。且本申请的方案相比现有技术的方案,可支持被乘数输入端11的位宽N1和乘数输入端12的位宽N2不相等的组合方式,从而能够更加灵活。
在存储阵列20具体存储2N1+N2种运算结果时,可以在存储阵列20中设置有至少2N1 +N2根字线、至少(N1+N2)根位线、以及形成在任意一根字线和任意一根位线相交处的存储单元。
使译码输出端13与2N1+N2根字线连接,以向2N1+N2根字线传输2N1+N2种译码输出信号。且还使2N1+N2种运算结果与2N1+N2根字线一一对应存储,每种运算结果由高位到低位依次存储在对应字线的(N1+N2)个存储单元内,以便于将2N1+N2种运算结果存储在存储阵列20中。且在后续读取运算结果时,每次只需打开其中的一根字线即可将一种运算结果读取到,减少运算过程中字线打开的数量,降低对写操作的干扰。且至少使用(N1+N2)存储单元存储每种运算结果,防止出现存在运算结果由于占位较多而不能够存储的情形。前述N1=N2=2时,字线的根数至少为16根,如图3所示出的WL0~WL15共16根字线,位线的根数至少有4根,如图3所示出的BL0~BL3,每根字线上至少有4个存储单元,每种运算结果存储在该至少4个存储单元内。
此时,参考图3,读出电路30可以包含有(N1+N2)个读出电路单元31(图3中的每个DO代表一个读出电路单元31),该(N1+N2)个读出电路单元31和(N1+N2)根位线一一对应,每个读出电路单元31连接对应的位线,以根据传输给2N1+N2根字线的译码输出信号,读取存储在对应字线上的(N1+N2)个存储单元内的运算结果,以获得存储阵列20中对应的运算结果。例如,在前述N1=N2=2时,读出电路单元31的个数至少为4个,每个读出电路单元31连接一根位线。在设置每个读出电路单元31时,每个读出电路单元31可以包括灵敏放大器电路等,实现对存储阵列20的读出功能。
在实现译码输出端13和上述存储阵列20中字线的连接时,可以使译码输出端13的2N1+N2个位宽和2N1+N2根字线一一对应,使译码输出端13的一个比特位和一根字线对应,从而通过控制译码输出端13每个比特位的值为“0”或“1”,来控制打开或关闭对应的字线,便于寻址到对应的运算结果。在译码输出端13输出的译码输出信号对2N1+N2根字线进行控制时,可以使每种译码输出信号包含有打开2N1+N2根字线中的其中一根字线,同时关闭其他根字线的信号。从而能够在运算过程中,一次只打开一根字线,大幅减少打开字线的根数,减少对写操作的干扰。当然,译码输出端13和上述存储阵列20之间传输译码输出信号,对2N1+N2根字线进行控制的方式还可以采用其他的控制方式。
另外,参考图3,还可以在存储阵列20中多设置N3根位线,从而在每个字线上形成更多的存储单元来存储运算结果。此时,存储阵列20中可以至少包含有(N1+N2+N3)根位线,每根字线上有(N1+N2+N3)个存储单元。在存储每个运算结果时,可以使(N1+N2+N3)个存储单元中由高位到低位依次存储有N3位进位补偿位、(N1+N2)位的运算结果。通过增设N3位进位补偿位,来存储运算结果,以便于后续进行加法运算时,防止出现溢位情况。进位补偿位的位宽N3可以为1、2、3、4等任意正整数,N3的实际取值可以根据加法运算的实际规模来选定。例如,如图3所示出的N3=1,即图3所示出的进位补偿位为1个位宽,在N1=N2=2时,此时的位线至少有5根,如图3所示出的BL0~BL4。在存储每个运算结果时,参考上表1,可以设置每个进位补偿位均为“0”,从而不影响每个运算结果的数值大小,又能够防止后续进行加法运算时出现溢位现象。继续参考图3,此时,读出电路30包含有(N1+N2+N3)个读出电路单元31,该(N1+N2+N3)个读出电路单元31和(N1+N2+N3)根位线一一对应,每个读出电路单元31连接对应的位线。即在位线的根数增加N3个时,对应的,读出电路30中的读出电路单元31的个数也需要增加N3个,以能够读出所有的进位补偿位的值。
参考图2及图3,还可以在数据运算电路中设置用于处理加法的电路结构,此时,可以通过采用全加器40和D触发器50组合的方式实现自累加全加法运算。具体的,该数据运算电路还可以包括(N1+N2+N3)个全加器40、以及(N1+N2+N3)个D触发器50。其中,(N1+N2+N3)个全加器40和(N1+N2+N3)个读出电路单元31一一对应,(N1+N2+N3)个D触发器50和(N1+N2+N3)个全加器40一一对应,即每个读出电路单元31对应连接一个全加器40,每个全加器40对应连接有一个D触发器50。在具体连接时,参考图3及图4,每个全加器40至少包含有5个端口,分别为第一输入端(图4中的A端代表第一输入端)、第二输入端(图4中的B端代表第一输入端)、低位进位输入端(图3及图4中的CIN端代表低位进位输入端)、高位进位输出端(图3及图4中的COUT端代表低位进位输入端)、本位求和输出端(图3及图4中的SUM端代表本位求和输出端)。其中的第一输入端和第二输入端用于输入被加数和加数。其中的低位进位输入端作为低位的全加器40求和的结果大于二进制数“1”时,接收低位的全加器40向高位的全加器40进位的输入端。其中的高位进位输出端作为本位的全加器40求和的结果大于二进制数“1”时,向高位的全加器40进位的输出端。其中的本位求和输出端和高位进位输出端两者输出的结果之后,等于本位将第一输入端和第二输入端输出的被加数、加数及低位进位输入端输入的进位数值。参考图4及图5,每个D触发器50至少包含3个端口,分别为数据输入端(图4及图5中的D端代表数据输入端)、数据输出端(图4及图5中的Q端代表数据输入端)、时钟信号端(图4及图5中的CLK端代表时钟信号端)。
在具体连接每个全加器40及D触发器50时,参考图4,每个全加器40的第一输入端和对应的读出电路单元31连接,以接收经过前述乘法运算后本位输出的数值,具体如图3所示出的每个读出电路单元31的输出D0与其下方的全加器40的A端相连接。每个D触发器50的数据输出端与对应的全加器40的第二输入端连接。每个D触发器50的数据输入端与对应的全加器40的本位求和输出端连接。且高低位相邻的两个全加器40之间,高位全加器40中的低位进位输入端和低位全加器40的高位进位输出端连接。位数最低的全加器40中的低位进位输入端接低电平,以使位数最低的全加器40中的低位进位输入端输入的值为二进制的“0”,代表最低位的全加器40没有进位运算。位数最高的全加器40中的高位进位输出端接低电平,以使位数最高的全加器40中的高位进位输出端所输出的值初始为二进制的“0”。通过一组全加器40及D触发器50即可实现自累加加法运算,无需采用现有技术中由若干个加法器组成加法器树的形式实现多位的加法。减少加法运算层级,提高运算效率。
参考图2,该数据运算电路还可以包括与时钟信号端连接以给时钟信号端传输控制信号的控制电路60,以便于通过控制电路60控制时钟信号端的启动自累加加法运算或停止自累加加法运算。另外,还可以使该控制电路60与读出电路30连接,以控制读出电路30读取存储阵列20中的运算结果。
在设置每个D触发器50时,如图5所示出的一种D触发器50,该D触发器50包括两个锁存器,分别为与数据输入端连接的第一锁存器501、以及与第一锁存器501连接的第二锁存器502,且第二锁存器502还与数据输出端连接。其中,第一锁存器501用于锁存来自数据输入端的输入数据并在时钟信号的控制下将输入数据传输给第二锁存器502,第二锁存器502用于锁存来自于第一锁存器501的数据并在时钟信号的控制下将数据从数据输出端传输给对应的全加器40。通过设置两个锁存器,能够存储本位求和输出端所输出的前两次的运算结果,便于缓存多个历史加法运算结果。
继续参考图5,还可以在D触发器50中设置多个传输门,使时钟信号通过控制传输门的关断或导通,来控制两个锁存器中的数据输入及数据输出。具体设置时,如图5所示出的一种设置方式,每个D触发器50中可以设置4个传输门,该4个传输门分别为第一传输门51(PG1)、第二传输门52(PG2)、第三传输门53(PG3)及第四传输门54(PG4)。其中,第一传输门51可以连接在第一锁存器501和数据输入端之间,第二传输门52可以连接在第一锁存器501内,第三传输门53可以连接在第一锁存器501和第二锁存器502之间,第四传输门54可以连接在第二锁存器502内。该四个传输门均与时钟信号端连接。在时钟信号具体控制传输门的关断或导通时,可以设置在时钟信号端接收到第一电平信号时,第一传输门51和第四传输门54关断,第二传输门52和第三传输门53导通;在时钟信号端接收到第二电平信号时,第一传输门51和第四传输门54导通,第二传输门52和第三传输门53关断。以便于控制通过第二输入端输入给全加器40的输入保持不变,及对两个锁存器锁存的数据进行更新。第一电平信号和第二电平信号可以分别为低电平信号和高电平信号,具体的,可以使第一电平信号为低电平信号,第二电平信号可以为高电平信号;也可以使第一电平信号为高电平信号,第二电平信号为低电平信号。
例如,在第一电平信号为低电平信号,而第二电平信号为高电平信号时,控制过程为如下方式。当D触发器50的时钟信号CLK为低电平信号时,第一传输门51关断,第二传输门52导通,由数据输入端传输过来的传输数据Q0信号被锁存在第一锁存器501中。可以设定初始态的Q0为高电平。此时,第四传输门54关断,第三传输门53导通,Q端保持为低电平,表示第一次加法运算的全加器40的另一个输入端B端为“0”。此时进行加法运算,得到的本位求和输出端SUM所传输过来的本位求和结果会传送到D端,由于第一传输们关断,新的本位求和结果不会被传进D触发器50。当D触发器50的时钟信号为高电平时,第三传输门53关断,第四传输门54导通,Q信号被锁存在第二锁存器502中,此时可保证全加器40的第二输入端的输入保持不变,同时D触发器50的数据输出端Q端保持不变。此时,第二传输门52关断,第一传输门51导通,D触发器50的数据输入端D端的数据会传进D触发器50,Q0被写入新的值,将保持在新的电平值。应当注意的是,传输门的设置方式,除了上述示出的设置方式之外,还可以采用其他的设置方式。
另外,参考图5,可以在D端和第一传输门51之间设置反相器503,来调节相位。当然,也可以在Q端与第二锁存器502之间设置反相器503,调节相位。
下面结合图6给出前述数据运算电路在进行乘法运算及自累加加法运算时的工作实例。需要说明的是,图6示出的工作方式是基于N1=N2=2、N3=1的电路结构。图6中给出了4个运算周期,每个运算周期包含一个乘法运算和一个加法运算,每个位宽、字线、读出电路30等均通过高低电平显示不同的二进制数值,其中的高电平示意为二进制数值“1”,低电平示意二进制数值“0”。为便于区分,图6中的从左到右,依次为第一个周期、第二个周期、第三个周期、第四个周期。
在第一个周期中,参考图6,被乘数输入端11和乘数输入端12均为二进制数“0”,即D[1:0]和W[1:0]分别对应“00”和“00”,由译码电路10输出的译码输出信号指示存储阵列20中的WL0打开,存储在第0行的5个存储单元中的运算结果为二进制的“00000”,通过读出电路30读出“00000”,即被乘数和乘数均为“0”时的运算结果为“0”。控制电路60控制时钟信号为低电平状态,D触发器50中的每个本位求和输出端均为二进制“0”。在进行加法运算时,第0位D触发器50的Q0锁存0,输出Q端为0;第0位全加器40的CIN端为0,A端为0,B端为0,因此SUM0端为0,COUT端为0;第1位D触发器50的Q0锁存0,输出Q端为0;第1位全加器40的CIN端为0,A端为0,B端为0,因此SUM1端为0,COUT端为0;第2位D触发器50的Q0锁存0,输出Q端为0;第2位全加器40的CIN端为0,A端为0,B端为0,因此SUM2端为0,COUT端为0;第3位D触发器50的Q0锁存0,输出Q端为0;第3位全加器40的CIN端为0,A端为0,B端为0,因此SUM3端为0,COUT端为0;第4位D触发器50的Q0锁存0,输出Q端为0;第4位全加器40的CIN端为0,A端为0,B端为0,因此SUM4端为0,COUT端为0。此刻对应的加法运算为0000+0000=0000,十进制为0+0=0。随后时钟信号切换为高电平状态,D触发器50的Q0传入SUM端,Q端锁存上一时刻的值,因此全加器40的第二输入端和本位求和输出端均保持不变,具体为:第0位D触发器50的Q0为0,输出Q端锁存0;第1位D触发器50的Q0为0,输出Q端锁存0;第2位D触发器50的Q0为0,输出Q端锁存0;第3位D触发器50的Q0为0,输出Q端锁存0;第4位D触发器50的Q0为0,输出Q端锁存0。
在第二个周期中,参考图6,被乘数输入端11和乘数输入端12均为二进制数“11”,即D[1:0]和W[1:0]分别对应“11”和“11”,由译码电路10输出的译码输出信号指示存储阵列20中的WL15打开,存储在第15行的5个存储单元中的运算结果,通过读出电路30读出为“01001”,即被乘数和乘数分别均为二进制的“11”的运算结果为二进制的“01001”。控制电路60控制时钟信号为低电平状态,进行自累加运算后的结果为:第0位全加器40的CIN端为0,A端为1,B端为0,因此SUM0端为1,COUT端为0;第1位全加器40的CIN端为0,A端为0,B端为0,因此SUM1端为0,COUT端为0;第2位全加器40的CIN端为0,A端为0,B端为0,因此SUM2端为0,COUT端为0;第3位全加器40的CIN端为0,A端为1,B端为0,因此SUM3端为1,COUT端为0;第4位全加器40的CIN端为0,A端为0,B端为0,因此SUM4端为0,COUT端为0。此刻对应的乘法运算为11×11=1001,十进制为3×3=9。此刻对应的加法运算为0000+1001=0000,十进制为0+9=9。随后控制电路60控制时钟信号为高电平状态,D触发器50的Q0传入SUM值,Q端锁存上一时刻的值,因此全加器40的输入和输出均保持不变。具体为:第0位D触发器50的Q0为1,输出Q端锁存0;第1位D触发器50的Q0为0,输出Q端锁存0;第2位D触发器50的Q0为0,输出Q端锁存0;第3位D触发器50的Q0为1,输出Q端锁存0;第4位D触发器50的Q0为0,输出Q端锁存0。
在第三个周期中,参考图6,被乘数输入端11输入的二进制数为“10”,乘数输入端12输入的二进制数为“01”,即D[1:0]和W[1:0]分别对应“10”和“01”。由译码电路10输出的译码输出信号指示存储阵列20中的WL9打开,存储在第15行的5个存储单元中的运算结果,通过读出电路30读出为“00010”,即被乘数“10”和乘数“01”相乘所得的运算结果为二进制的“00010”。控制电路60控制时钟信号为低电平状态,进行自累加运算后的结果为:第0位全加器40的CIN端为0,A端为0,B端为1,因此SUM0端为1,COUT端为0;第1位全加器40的CIN端为0,A端为1,B端为0,因此SUM1端为1,COUT端为0;第2位全加器40的CIN端为0,A端为0,B端为0,因此SUM2端为0,COUT端为0;第3位全加器40的CIN端为0,A端为0,B端为1,因此SUM3端为1,COUT端为0;第4位全加器40的CIN端为0,A端为0,B端为0,因此SUM4端为0,COUT端为0。此刻对应的乘法运算为10×01=0010,十进制为2×1=2。此刻对应的加法运算为1001+0010=1011,十进制为2+9=11。随后控制电路60控制时钟信号切换为高电平状态,D触发器50的Q0传入SUM值,Q端锁存上一时刻的值,因此全加器40的输入和输出均保持不变。具体为:第0位D触发器50的Q0为1,输出Q端锁存1;第1位D触发器50的Q0为1,输出Q端锁存0;第2位D触发器50的Q0为0,输出Q端锁存0;第3位D触发器50的Q0为1,输出Q端锁存1;第4位D触发器50的Q0为0,输出Q端锁存0。
在第四个周期中,参考图6,被乘数输入端11输入的二进制数为“01”,乘数输入端12输入的二进制数为“10”,即D[1:0]和W[1:0]分别对应“01”和“10”。由译码电路10输出的译码输出信号指示存储阵列20中的WL6打开,存储在第6行的5个存储单元中的运算结构,通过读出电路30读出为“00010”,即被乘数“01”和乘数“10”相乘所得的运算结果为二进制的“00010”。控制电路60控制时钟信号为低电平状态,进行自累加运算后的结果为:第0位全加器40的CIN端为0,A端为0,B端为1,因此SUM0端为1,COUT端为0;第1位全加器40的CIN端为0,A端为1,B端为1,因此SUM1端为0,COUT端为1;第2位全加器40的CIN端为1,A端为0,B端为0,因此SUM2端为1,COUT端为0;第3位全加器40的CIN端为0,A端为0,B端为1,因此SUM3端为1,COUT端为0;第4位全加器40的CIN端为0,A端为0,B端为0,因此SUM4端为0,COUT端为0。此刻对应的乘法运算为01×10=0010,十进制为1×2=2。此刻对应的加法运算为1011+0010=1101,十进制为2+11=13。随后控制电路60控制时钟信号切换为高电平状态,D触发器50的Q0传入SUM值,Q端锁存上一时刻的值,因此全加器40的输入和输出均保持不变。具体为:第0位D触发器50的Q0为1,输出Q端锁存1;第1位D触发器50的Q0为0,输出Q端锁存1;第2位D触发器50的Q0为1,输出Q端锁存0;第3位D触发器50的Q0为1,输出Q端锁存1;第4位D触发器50的Q0为0,输出Q端锁存0。
采用译码电路10和查询表阵列的方式组成乘法运算电路,由译码电路10通过被乘数输入端11接收2N1种被乘数,由乘数输入端12接收2N2种乘数,并将2N1种被乘数和2N2种乘数组成的共2N1+N2被乘数和乘数组合相乘的所有运算结果预先存储在存储阵列20中。在进行乘法运算时,译码电路10只需根据输入的被乘数和乘数组合,生成对应的译码输出信号,并将译码输出信号传输给存储阵列20,之后由读出电路30读出预先存储在存储阵列20中的该被乘数和乘数组合相乘的运算结果即可。与现有技术采用模拟存内运算的方式相比,本申请的方式只需通过译码电路10产生的译码输出信号对存储阵列20中存储的运行结果进行寻址及读取即可,从而无需打开多条字线对存储单元中的数值进行运算,减少打开字线根数,减少对写操作的干扰。且将乘法的运算改为预先将运算结果存储在存储阵列20中,并经过查询的方式即可得到一种被乘数和乘数相乘的运算结果,无需进行大量的运算,从而缩短运算周期,减少能耗,提高运算效率。在应用时,对于固定位数的被乘数和乘数而言,将所有的乘积均转换为小规模的乘法运算,对于大量重复的乘法运算而言,本申请使用查询表阵列替代大量重复的乘法运算,能够大量减少运算量,且提高运算效率。且本申请的方案相比现有技术的方案,可支持被乘数输入端11的位宽N1和乘数输入端12的位宽N2不相等的组合方式,从而能够更加灵活。
另外,本发明实施例还提供了一种存算一体芯片,该存算一体芯片包括上述任意一种数据运算电路。通过采用译码电路10和查询表阵列的方式组成乘法运算电路,由译码电路10通过被乘数输入端11接收2N1种被乘数,由乘数输入端12接收2N2种乘数,并将2N1种被乘数和2N2种乘数组成的共2N1+N2被乘数和乘数组合相乘的所有运算结果预先存储在存储阵列20中。在进行乘法运算时,译码电路10只需根据输入的被乘数和乘数组合,生成对应的译码输出信号,并将译码输出信号传输给存储阵列20,之后由读出电路30读出预先存储在存储阵列20中的该被乘数和乘数组合相乘的运算结果即可。与现有技术采用模拟存内运算的方式相比,本申请的方式只需通过译码电路10产生的译码输出信号对存储阵列20中存储的运行结果进行寻址及读取即可,从而无需打开多条字线对存储单元中的数值进行运算,减少打开字线根数,减少对写操作的干扰。且将乘法的运算改为预先将运算结果存储在存储阵列20中,并经过查询的方式即可得到一种被乘数和乘数相乘的运算结果,无需进行大量的运算,从而缩短运算周期,减少能耗,提高运算效率。在应用时,对于固定位数的被乘数和乘数而言,将所有的乘积均转换为小规模的乘法运算,对于大量重复的乘法运算而言,本申请使用查询表阵列替代大量重复的乘法运算,能够大量减少运算量,且提高运算效率。且本申请的方案相比现有技术的方案,可支持被乘数输入端11的位宽N1和乘数输入端12的位宽N2不相等的组合方式,从而能够更加灵活。
在设置时,该存算一体芯片可以为存储器。该存储器内部具有译码器、存储单元阵列及用于读取存储单元阵列的读出电路30。可以将存储器中的译码器作为译码电路10,将存储器中的存储单元阵列作为存储阵列20,将存储器中用于读取存储单元阵列的读出电路30作为数据运算电路中的读出电路30。通过利用存储器中的译码器、存储单元阵列及读出电路30作为数据运算电路中的各个器件,便于实现存储器内的存算一体化。另外,在确认该存储器的种类时,该存储器可以为存储单元阵列中的每个存储单元为单比特位的存储器。例如,该存储器可以为静态随机存取存储器(SRAM),还可以为只读存储器(ROM)等其他类型的存储器。以便于实现标准的存储器中的存储单元阵列作为数据运算电路中的存储阵列20,便于标准化制造,提高扩展性能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种数据运算电路,其特征在于,包括:
译码电路,包括被乘数输入端、乘数输入端以及译码输出端;其中,所述被乘数输入端的位宽为N1,用于输入2N1种被乘数;所述乘数输入端的位宽为N2,用于输入2N2种乘数;所述译码输出端的位宽为2N1+N2,用于输出2N1+N2种译码输出信号,且每种译码输出信号对应一种被乘数和乘数组合;
查询表阵列,包括与所述译码输出端连接的存储阵列、以及与所述存储阵列连接的读出电路;其中,所述存储阵列中存储有2N1+N2种运算结果,每种运算结果为一种被乘数和乘数组合相乘所得的运算结果,且每种运算结果对应一种译码输出信号;所述读出电路用于根据传输给所述存储阵列的一种译码输出信号,读取所述存储阵列中和该种译码输出信号对应的运算结果。
2.如权利要求1所述的数据运算电路,其特征在于,所述存储阵列包括至少2N1+N2根字线、至少(N1+N2)根位线、以及形成在任意一根字线和任意一根位线相交处的存储单元;
所述译码输出端与所述2N1+N2根字线连接,以向所述2N1+N2根字线传输所述2N1+N2种译码输出信号;
所述2N1+N2种运算结果与所述2N1+N2根字线一一对应,每种运算结果由高位到低位依次存储在对应字线的(N1+N2)个存储单元内;
所述读出电路包含有和所述(N1+N2)根位线一一对应的(N1+N2)个读出电路单元,每个读出电路单元连接对应的位线,以根据传输给所述2N1+N2根字线的译码输出信号,读取存储在对应字线上的(N1+N2)个存储单元内的运算结果。
3.如权利要求2所述的数据运算电路,其特征在于,所述译码输出端的2N1+N2个位宽和所述2N1+N2根字线一一对应;
每种译码输出信号包含有打开所述2N1+N2根字线中的其中一根字线,同时关闭其他根字线的信号。
4.如权利要求2所述的数据运算电路,其特征在于,所述存储阵列中至少包含有(N1+N2+N3)根位线,每根字线上有(N1+N2+N3)个存储单元;其中,所述(N1+N2+N3)个存储单元中由高位到低位依次存储有N3位进位补偿位、(N1+N2)位的所述运算结果;
所述读出电路包含有和所述(N1+N2+N3)根位线一一对应的(N1+N2+N3)个读出电路单元,每个读出电路单元连接对应的位线。
5.如权利要求4所述的数据运算电路,其特征在于,还包括:
与所述(N1+N2+N3)个读出电路单元一一对应的(N1+N2+N3)个全加器;其中,每个全加器具有第一输入端、第二输入端、低位进位输入端、高位进位输出端、本位求和输出端;每个全加器的所述第一输入端和对应的读出电路单元连接;
与所述(N1+N2+N3)个全加器一一对应的(N1+N2+N3)个D触发器;其中,每个D触发器具有数据输入端、数据输出端、时钟信号端;每个D触发器的所述数据输入端与对应的全加器的所述本位求和输出端连接,每个D触发器的所述数据输出端与对应的全加器的所述第二输入端连接;
且高低位相邻的两个全加器之间,高位全加器中的低位进位输入端和低位全加器的高位进位输出端连接;位数最低的全加器中的低位进位输入端接低电平,位数最高的全加器中的高位进位输出端接低电平。
6.如权利要求5所述的数据运算电路,其特征在于,还包括:与所述时钟信号端连接以给所述时钟信号端传输控制信号的控制电路,且所述控制电路还与所述读出电路连接。
7.如权利要求6所述的数据运算电路,其特征在于,每个D触发器包括:与所述数据输入端连接的第一锁存器、以及与所述第一锁存器连接的第二锁存器,且所述第二锁存器还与所述数据输出端连接;
其中,所述第一锁存器用于锁存来自所述数据输入端的输入数据并在时钟信号的控制下将输入数据传输给所述第二锁存器;所述第二锁存器用于锁存来自于所述第一锁存器的数据并在时钟信号的控制下将数据从所述数据输出端传输给对应的全加器。
8.如权利要求7所述的数据运算电路,其特征在于,每个D触发器还包括:
连接在所述第一锁存器与所述数据输入端之间的第一传输门;
连接在所述第一锁存器内的第二传输门;
连接在所述第一锁存器和所述第二锁存器之间的第三传输门;
连接在所述第二锁存器内的第四传输门;
所述四个传输门均与所述时钟信号端连接;且在所述时钟信号端接收到第一电平信号时,所述第一传输门和第四传输门关断,所述第二传输门和第三传输门导通;在所述时钟信号端接收到第二电平信号时,所述第一传输门和第四传输门导通,所述第二传输门和第三传输门关断。
9.一种存算一体芯片,其特征在于,包括如权利要求1~8任一项所述的数据运算电路。
10.如权利要求9所述的存算一体芯片,其特征在于,所述存算一体芯片为存储器;
所述译码电路为所述存储器中的译码器,所述存储阵列为所述存储器中的存储单元阵列;所述读出电路为所述存储器中用于读取所述存储单元阵列的读出电路。
CN202110705287.8A 2021-06-24 2021-06-24 一种数据运算电路及存算一体芯片 Pending CN113345484A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110705287.8A CN113345484A (zh) 2021-06-24 2021-06-24 一种数据运算电路及存算一体芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110705287.8A CN113345484A (zh) 2021-06-24 2021-06-24 一种数据运算电路及存算一体芯片

Publications (1)

Publication Number Publication Date
CN113345484A true CN113345484A (zh) 2021-09-03

Family

ID=77478479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110705287.8A Pending CN113345484A (zh) 2021-06-24 2021-06-24 一种数据运算电路及存算一体芯片

Country Status (1)

Country Link
CN (1) CN113345484A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937470A (zh) * 2022-05-20 2022-08-23 电子科技大学 基于多比特sram单元的定点全精度存内计算电路
CN117235003A (zh) * 2023-09-26 2023-12-15 海光信息技术(苏州)有限公司 存储器读出电路,存储器内的数据运算方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110383237A (zh) * 2017-02-28 2019-10-25 德克萨斯仪器股份有限公司 可重新配置的矩阵乘法器***和方法
CN112997147A (zh) * 2018-10-10 2021-06-18 美光科技公司 实施于存储器中的向量寄存器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110383237A (zh) * 2017-02-28 2019-10-25 德克萨斯仪器股份有限公司 可重新配置的矩阵乘法器***和方法
CN112997147A (zh) * 2018-10-10 2021-06-18 美光科技公司 实施于存储器中的向量寄存器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林其芃 等: ""一种基于多值RRAM的快速逻辑电路"", 《微电子学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937470A (zh) * 2022-05-20 2022-08-23 电子科技大学 基于多比特sram单元的定点全精度存内计算电路
CN117235003A (zh) * 2023-09-26 2023-12-15 海光信息技术(苏州)有限公司 存储器读出电路,存储器内的数据运算方法及相关设备

Similar Documents

Publication Publication Date Title
CN102197436B (zh) 用于多电平单元存储器的数据路径,用于存储的方法及用于利用存储器阵列的方法
US4044243A (en) Information processing system
CN113345484A (zh) 一种数据运算电路及存算一体芯片
CN109979503B (zh) 一种在内存中实现汉明距离计算的静态随机存储器电路结构
CN113467751B (zh) 一种基于磁性随机存储器的模拟域存内计算阵列结构
CN111880763A (zh) 一种在内存中实现带有正负数乘加的sram电路
US5333119A (en) Digital signal processor with delayed-evaluation array multipliers and low-power memory addressing
EP3786956A1 (en) Memory reads of weight values
US20190189166A1 (en) System comprising a memory capable of implementing calculation operations
CN114937470B (zh) 基于多比特sram单元的定点全精度存内计算电路
US11211115B2 (en) Associativity-agnostic in-cache computing memory architecture optimized for multiplication
CN114360595A (zh) 一种基于8t sram内存内行列双向的减法计算电路结构
US20140082282A1 (en) Multi-granularity parallel storage system and storage
CN110737612A (zh) 一种含有存储内计算的处理器
CN111627479B (zh) 编码型闪存装置、***和编码方法
CN110085270B (zh) 存储运算电路模块及处理器
CN112216323B (zh) 一种存储单元和静态随机存储器
CN116543808A (zh) 一种基于sram单元的全数字域存内近似计算电路
CN112951290B (zh) 一种基于非易失性随机存储器的内存计算电路及装置
Chen et al. An INT8 Charge-Digital Hybrid Compute-In-Memory Macro with CNN-Friendly Shift-Feed Register Design
TW202203053A (zh) 記憶體電路及其操作方法
CN117608519B (zh) 基于10t-sram的带符号乘法与乘累加运算电路
CN114647398B (zh) 一种基于进位旁路加法器的存内计算装置
US11935586B2 (en) Memory device and method for computing-in-memory (CIM)
US20230153067A1 (en) In-memory computing method and circuit, semiconductor memory, and memory structure

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210903

RJ01 Rejection of invention patent application after publication