一种内存区计算的与非运算电路、内存芯片和计算机的制作方法

文档序号:15562170发布日期:2018-09-29 02:30阅读:361来源:国知局

本发明涉及内存和处理器的交叉领域,尤其涉及一种内存区计算的与非运算电路、内存芯片和计算机。



背景技术:

内存在计算机中具有重要作用,计算机中所有程序的运行都是在内存中进行的。内存(memory)也被称为内存储器,其作用是用于暂时存放中央处理器(cpu,centralprocessingunit)中的运算数据,以及与硬盘等外部存储器交换的数据。

当计算机运行时,cpu发送命令到内存中,将需要进行运算的数据从内存中调出至cpu的执行单元——算术逻辑单元(alu,arithmeticandlogicunit),然后进行逻辑运算,当运算完成后,cpu再将运算结果传送出去。

由于从内存中读取待运算的数据至alu中,待运算的数据需要经过长距离传输到alu中,这样增加了cpu的运行时间和输出结果时间,并且使得cpu的电路系统变得复杂。

如何提高cpu的运行速率、缩短cpu的运行时间成为亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明提供一种内存区计算的与非运算电路,以解决现有技术中cpu的运行速率较低、运行时间较长的问题。

为实现上述目的,本发明提供如下技术方案:

一种内存区计算的与非运算电路,包括:

依次连接的位线预充电路、存储阵列以及反相结构;

其中,所述存储阵列包括多条字线、第一位线、第二位线和多个存储单元,每个存储单元包括第一端、第二端和第三端,所述第一端与所述第一位线连接,所述第二端与所述第二位线连接,所述第三端与一条所述字线连接;

所述位线预充电路分别与所述第一位线的一端和所述第二位线的一端相连,用于为所述第一位线和所述第二位线充电;

所述反相结构包括第一输入端和第二输入端,所述第一输入端与所述第一位线的另一端相连,所述第二输入端与所述第二位线的另一端相连,用于将所述第一位线的电位和所述第二位线的电位进行反相输出。

优选地,所述位线预充电路包括:

预充控制信号输入端、第一pmos管、第二pmos管和电源;

所述第一pmos管的控制端与所述第二pmos管的控制端均与所述预充控制信号输入端相连;

所述第一pmos管的第一端和所述第二pmos管的第一端均与所述电源相连;

所述第一pmos管的第二端与所述第一位线相连;

所述第二pmos管的第二端与所述第二位线相连。

优选地,所述反相结构包括:

第一传输门、第二传输门、第一反相器和第二反相器;

所述第一传输门的输入端与所述第一位线相连,输出端与所述第一反相器相连;

所述第一传输门的第一控制端用于输入第一控制信号,第二控制端用于输入第二控制信号;

所述第二传输门的输入端与所述第二位线相连,输出端与所述第二反相器相连;

所述第二传输门的第一控制端用于输入第一控制信号,第二控制端用于输入第二控制信号;

其中,所述第一控制信号与所述第二控制信号互为相反信号。

优选地,所述反相结构还包括第三反相器;

所述第二控制信号由所述第一控制信号经过所述第三反相器输出得到。

优选地,所述第一传输门和所述第二传输门均包括一个pmos管和一个nmos管,所述pmos管和所述nmos管并联连接。

优选地,所述第一传输门和所述第二传输门均包括两个极性相反的三极管,所述两个极性相反的三极管并联连接。

本发明还提供一种内存芯片,所述内存芯片包括上面任意一项所述的内存区计算的与非运算电路。

本发明还提供一种计算机,所述计算机包括中央处理器和内存芯片,所述中央处理器与所述内存芯片相连,所述内存芯片为上面所述的内存芯片。

经由上述的技术方案可知,本发明提供的内存区计算的与非运算电路,所述与非运算电路位于计算机的内存中,使内存具有与非运算功能,数据的与非运算能够在内存中完成,从而避免了需要进行与非运算的数据在内存与alu之间的长距离传输,进而提高了需要进行与非运算的数据在cpu中的运行速率,缩短了cpu部分数据处理时间,即缩短了cpu的运行时间。

同时,将cpu中alu的与非运算功能转移至内存中后,alu中空余出的区域可以增加其他运算功能,从而增加了cpu的计算种类,进而提高了计算机的计算密度。另外,数据在内存与alu之间传输是通过内部总线传输的,受限于内部总线的位数(通常为32位或64位),传输数据的带宽受限;而本发明提供的与非运算电路通过控制字线实现数据的批量运算,不通过内部总线传输,从而不受带宽影响,可以为内部总线带宽的整数倍,高于内部总线的带宽,进而提高了计算机的计算带宽。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种内存区计算的与非运算电路模块示意图;

图2为本发明实施例提供的一种内存区计算的与非运算电路具体结构示意图;

图3为本发明实施例提供的一种与非计算波形图。

具体实施方式

正如背景技术部分所述,现有技术中的计算机在cpu运行过程中,运行速率较低,运行时间和输出结果时间较长。

发明人发现,出现上述现象的原因是,现有技术计算机中的内存仅具有暂时存储数据的功能,而不具有运算功能。当需要进行数据运算时,必须将暂存在内存中的数据通过长距离传输至cpu的alu中,然后再进行逻辑运算。数据经过长距离的传输才能传输至alu中进行运算,从而造成了cpu的运行时间较长,运行速率较低,进而导致输出结果时间较长。

基于此,本申请提供一种内存区计算的与非运算电路,包括:

依次连接的位线预充电路、存储阵列以及反相结构;

其中,所述存储阵列包括多条字线、第一位线、第二位线和多个存储单元,每个存储单元包括第一端、第二端和第三端,所述第一端与所述第一位线连接,所述第二端与所述第二位线连接,所述第三端与一条所述字线连接;

所述位线预充电路分别与所述第一位线的一端和所述第二位线的一端相连,用于为所述第一位线和所述第二位线充电;

所述反相结构包括第一输入端和第二输入端,所述第一输入端与所述第一位线的另一端相连,所述第二输入端与所述第二位线的另一端相连,用于将所述第一位线的电位和所述第二位线的电位进行反相输出。

本发明提供的内存区计算的与非运算电路,所述与非运算电路位于计算机的内存中,使内存具有与非运算功能,数据的与非运算能够在内存中完成,从而避免了需要进行与非运算的数据在内存与alu之间的长距离传输,进而提高了需要进行与非运算的数据在cpu中的运行速率,缩短了cpu部分数据处理时间,即缩短了cpu的运行时间。

同时,将cpu中alu的与非运算功能转移至内存中后,alu中空余出的区域可以增加其他运算功能,从而增加了cpu的计算种类,进而提高了计算机的计算密度。另外,数据在内存与alu之间传输是通过内部总线传输的,受限于内部总线的位数(通常为32位或64位),传输数据的带宽受限;而本发明提供的与非运算电路通过控制字线实现数据的批量运算,不通过内部总线传输,从而不受带宽影响,可以为内部总线带宽的整数倍,高于内部总线的带宽,进而提高了计算机的计算带宽。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,为本发明实施例提供的一种内存区计算的与非运算电路结构示意图,所述内存区计算的与非运算电路,包括:

依次连接的位线预充电路10、存储阵列20以及反相结构30;

其中,存储阵列20包括多条字线(wl0、wl1、……wln)、第一位线bl、第二位线br和多个存储单元(存储单元0、存储单元1、……存储单元n),每个存储单元包括第一端、第二端和第三端,第一端与第一位线bl连接,第二端与第二位线br连接,第三端与一条字线连接;位线预充电路10分别与第一位线bl的一端和第二位线br的一端相连,用于为第一位线bl和第二位线br充电;反相结构30包括第一输入端和第二输入端,第一输入端与第一位线bl的另一端相连,第二输入端与第二位线br的另一端相连,用于将第一位线bl的电位和第二位线br的电位进行反相输出。

需要说明的是,本实施例中不限定存储单元的具体形式,可选的,所述存储单元可以是sram(staticrandomaccessmemory,静态随机存取存储器)的存储单元,但不仅限于sram的存储单元,还可以是其他种类存储器的存储单元,本发明实施例中对此不做限定。

本发明提供的内存区计算的与非运算电路,能够将数据在内存中直接进行与非运算,然后再输出,也即发生在内存中数据被读取的过程中。当内存中数据被读取时,首先,通过位线预充电路对存储阵列中的位线进行充电,使得第一位线bl和第二位线br上的电位为高电平,读取数据时,字线打开第一位线bl和/或第二位线br进行放电,从而读取数据。

本实施例中不限定位线预充电路的具体结构,只要能够对存储器中的第一位线bl和第二位线br进行充电即可,可选的,如图2所示,为本发明实施例提供的一种内存区计算的与非运算电路的具体结构示意图,如图2中所示,本实施例中位线预充电路包括:预充控制信号输入端pchb、第一pmos管p1、第二pmos管p2和电源vdd;第一pmos管p1的控制端与第二pmos管p2的控制端均与预充控制信号输入端pchb相连;第一pmos管p1的第一端和第二pmos管p2的第一端均与电源相连;第一pmos管p1的第二端与第一位线bl相连;第二pmos管p2的第二端与第二位线br相连。

需要说明的是,本实施例中预充控制信号输入端pchb用于接收输入预充控制信号pchb,本发明实施例中位线预充电路包括第一pmos管p1和第二pmos管p2,所述预充控制信号pchb用于控制第一pmos管p1和第二pmos管p2的导通与关断,因此,所述预充控制信号pchb为低电平有效。

本实施例中位线预充电路的具体工作原理为:

当预充控制信号输入端pchb输入的预充信号pchb为低电平的时候,第一pmos管p1和第二pmos管p2的栅极为低电平,此时第一pmos管和第二pmos管导通,电源vdd对第一位线bl和第二位线br进行充电,待第一位线bl和第二位线br的电位稳定,进入高电平后,预充控制信号pchb变为高电平,此时第一pmos管p1和第二pmos管p2处于截止状态,电源vdd不再对第一位线bl和第二位线br进行充电。

需要说明的是,本实施例中存储阵列包括多条字线(wl0、wl1、……wln)、第一位线bl、第二位线br和多个存储单元(存储单元0、存储单元1、……存储单元n),如图1和图2所示,多个存储单元形成阵列结构,多条字线和位线限定出存储单元,每个存储单元包括第一端、第二端和第三端,第一端与第一位线bl连接,第二端与第二位线br连接,第三端对应的与一条字线连接,也即字线的条数与存储单元的个数相同。

具体地,如图1和图2中所示,字线wl0连接到存储单元0的第三端,当字线wl0上的电位为高电平时,存储单元0被选中,存储单元0内部的传输管导通,可以对存储单元0进行读写操作。字线wl1连接到存储单元1,当字线wl1为高电平时,存储单元1被选中,存储单元1内部的传输管导通,可以对存储单元1进行读写操作。字线wl2连接到存储单元2,当字线wl2为高电平时,存储单元2被选中,存储单元2内部的传输管导通,可以对存储单元2进行读写操作,依次类推。

当对其中一个存储单元进行读操作时,该存储单元连接的字线wl为高电平,该存储单元的一端进行放电,将信号传输至第一位线bl或第二位线br,也即第一位线bl或第二位线br进行放电,从而由高电平转换为低电平。而本发明实施例中,可以通过控制多条字线wl,同时选中多个存储单元,对多个存储单元进行批量读操作,多个存储单元的读操作信号都传输至第一位线bl和第二位线br上,然后将第一位线bl和第二位线br上的数据进行与非运算,输出结果。例如,存储单元个数为256个,可以同时选中第0-127存储单元,对第0-127的存储单元进行读操作,将读出的数据均传输至第一位线bl和第二位线br上,再对多个读出的数据进行与非运算,得到输出结果。

本发明实施例中不限定所述反相结构的具体结构,可选的,如图2所示,反相结构30包括:第一传输门t1、第二传输门t2、第一反相器inv1和第二反相器inv2;第一传输门t1的输入端与第一位线bl相连,输出端与第一反相器inv1相连;第一传输门t1的第一控制端用于输入第一控制信号sel,第二控制端用于输入第二控制信号selb;第二传输门t2的输入端与第二位线br相连,输出端与第二反相器inv2相连;第二传输门t2的第一控制端用于输入第一控制信号sel,第二控制端用于输入第二控制信号selb;其中,第一控制信号sel与第二控制信号selb互为相反信号。

需要说明的是,本实施例中不限定第一控制信号和第二控制信号的来源,可选的,第一控制信号sel和第二控制信号selb来源于同一个控制信号,不过其中一个控制信号经过反相器,从而使得两个控制信号互为相反值。本实施例中可以是第一控制信号sel和第二控制信号selb来源于同一个控制信号sel,其中,第一控制信号sel直接来源于控制信号sel,而第二控制信号selb由控制信号sel通过反相器得到;或者可以是第一控制信号sel和第二控制信号selb来源于同一个控制信号selb,其中,第二控制信号selb直接来源于控制信号selb,而第一控制信号sel由控制信号selb通过反相器得到,本实施例中对此不做限定。如图2中所示,本实施例中反相结构还包括第三反相器inv3,其中,第一控制信号sel直接来源于控制信号sel,第二控制信号selb由第一控制信号sel经过第三反相器inv3输出得到。

本实施例中不限定第一传输门和第二传输门的具体形式,可选的,所述第一传输门和所述第二传输门均包括一个pmos管和一个nmos管,所述pmos管和所述nmos管并联连接。在本发明的其他实施例中,所述第一传输门和所述第二传输门还可以均包括两个极性相反的三极管,所述两个极性相反的三极管并联连接。

本实施例中以pmos管和nmos管组成传输门为例进行说明。请参见图2,第一传输门t1包括并联设置的第一nmos管tn1和第三pmos管tp1,其中,第一nmos管tn1和第三pmos管tp1的第一端相连,作为第一传输门t1的输入端,用于连接第一位线bl;第一nmos管tn1和第三pmos管tp1的第二端相连,作为第一传输门t1的输出端,并连接至第一反相器inv1的输入端,第一反相器inv1的输出端作为整个反相结构30的一个输出端sob;第一nmos管tn1的栅极作为第一传输门t1的第一控制端,用于输入第一控制信号sel,第三pmos管tp1的栅极作为第一传输门t1的第二控制端,用于输入第二控制信号selb。

请继续参见图2,第二传输门t2包括并联设置的第二nmos管tn2和第四pmos管tp2,其中,第二nmos管tn2和第四pmos管tp2的第一端相连,作为第二传输门t2的输入端,用于连接第二位线br;第二nmos管tn2和第四pmos管tp2的第二端相连,作为第二传输门t2的输出端,并连接至第二反相器inv2的输入端,第二反相器inv2的输出端作为整个反相结构30的另一个输出端so;第二nmos管tn2的栅极作为第二传输门t2的第一控制端,用于输入第一控制信号sel,第四pmos管tp2的栅极作为第二传输门t2的第二控制端,用于输入第二控制信号selb。

本实施例中,反相结构的工作原理为:

当第一位线bl为高电平时,在第一控制信号sel和第二控制信号selb的控制下,第一传输门t1关闭或打开,当第一传输门t1打开时,第一位线bl的高电平传输至第一反相器inv1的输入端,通过第一反相器inv1的输出端输出低电平,也即输出端sob输出低电平,将第一位线bl上的电位反相输出。同理,当第二位线br为高电平时,经过反相结构30的传输,最终在输出端so输出低电平。当第一位线bl为低电平时,经过反相结构30的传输,最终输出端sob输出高电平;当第二位线br为低电平时,经过反相结构30的传输,最终输出端so输出高电平。

为了清楚说明本发明提供的内存区计算的与非运算电路的与非运算过程,本实施例中结合图2中的与非运算电路的具体结构和图3中的与非计算波形图进行详细说明。

本发明实施例中以存储阵列具有三个存储单元和三条字线为例进行说明。如图2所示,存储阵列依次包括与第一字线wl0相连的第一存储单元0、与第二字线wl1相连的第二存储单元1,以及与第三字线wl2相连的第三存储单元2。

请参见图3所示,在t1阶段,当预充控制信号输入端pchb输入的预充信号pchb为低电平的时候,第一pmos管p1和第二pmos管p2的栅极为低电平,此时第一pmos管p1和第二pmos管p2导通,电源vdd对第一位线bl和第二位线br进行充电,待第一位线bl和第二位线br的电位稳定,进入高电平后,预充控制信号pchb变为高电平,此时第一pmos管和第二pmos管处于截止状态,电源vdd不再对第一位线bl和第二位线br进行充电。

此时,进入到t2阶段,字线wl0-wl2全部开启,即为高电平,使得所有的存储单元均可以进行写入和读出操作。需要说明的是,在进行写入操作时,第一存储单元0-第三存储单元2的第一端和第二端的值互为反相值,而在进行读出操作时,第一存储单元0-第三存储单元2的第一端和第二端中存储值为“0”的端进行放电,使得第一位线bl和/或第二位线br上的高电平转换为低电平,本实施例中主要关注数据的读取过程,如上t1阶段,第一位线bl和第二位线br上为高电平。此时,可以分为以下几种情况:

若第一存储单元0-第三存储单元2的内部第二端均存储二进制信号“1”,则第二位线br不进行放电,在第一控制信号sel为高电平和第二控制信号selb为低电平的控制下,第二传输门t2打开,第二位线br的高电平信号经过第二反相器inv2传输,高电平信号由第二反相器的输出端so输出,为低电平。

若第一存储单元0-第三存储单元2内部第二端存储信号均为“0”,第二位线br通过存储单元的第二端放电;放电后,第二位线br的电位由高电平转换为低电平,在第一控制信号sel为高电平和第二控制信号selb为低电平的控制下,第二传输门t2打开,经过第二传输门t2输出后,再经过第二反相器inv2传输,低电平信号由第二反相器inv2的输出端so输出,为高电平,请参见图3中第二位线br的波形图以及输出端so的输出波形图所示。

若第一存储单元0-第三存储单元2内部的第二端至少存储一位“0”信号,则第二位线br通过存储单元进行放电,第二位线br的电位由高电平转换为低电平,在第一控制信号sel为高电平和第二控制信号selb为低电平的控制下,第二传输门t2打开,经过第二传输门t2输出后,再经过第二反相器inv2传输,低电平信号由第二反相器inv2的输出端so输出,为高电平,请参见图3中第二位线br的波形图以及输出端so的输出波形图所示。

同样地,若第一存储单元0-第三存储单元2的内部第一端均存储二进制信号“1”,则第一位线bl不进行放电,在第一控制信号sel为高电平和第二控制信号selb为低电平的控制下,第一传输门t1打开,第一位线bl的高电平信号经过第一反相器inv1传输,高电平信号由第一反相器的输出端sob输出,为低电平。

若第一存储单元0-第三存储单元2内部第一端存储信号均为“0”,第一位线bl通过存储单元的第一端放电;放电后,第一位线bl的电位由高电平转换为低电平,在第一控制信号sel为高电平和第二控制信号selb为低电平的控制下,第一传输门t1打开,经过第一传输门t1输出后,再经过第一反相器inv1传输,低电平信号由第一反相器inv1的输出端sob输出,为高电平。

若第一存储单元0-第三存储单元2内部的第一端至少存储一位“0”信号,则第一位线bl通过存储单元进行放电,第一位线bl的电位由高电平转换为低电平,在第一控制信号sel为高电平和第二控制信号selb为低电平的控制下,第一传输门t1打开,经过第一传输门t1输出后,再经过第一反相器inv1传输,低电平信号由第一反相器inv1的输出端sob输出,为高电平。

综合以上说明,当字线wl0-wln全部开启时,全部存储单元(存储单元0-存储单元n)的第一端(或第二端)的存储值若全部为“1”,则输出端sob(或so)的输出信号为低电平,也即“0”信号;若至少有一个存储值为“0”或全部为“0”,则输出端sob(或so)的输出信号为高电平,也即“1”信号;。也即,输出端sob(或so)的输出信号为对全部存储单元的存储值进行了与非运算后的输出值,从而避免了再经过长距离传输至外部alu采用门级逻辑进行运算。

也即,本发明实施例提供的内存区计算的与非运算,应用于内存存储器,可在内存中直接实现与非运算,无需长距离的内存数据传输,避免了从内存读取到alu的长距离传输,进而提高了需要进行与非运算的数据在cpu中的运行速率,缩短了cpu部分数据处理时间,即缩短了cpu的运行时间。

同时,将cpu中alu的与非运算功能转移至内存中后,alu中空余出的区域可以增加其他运算功能,从而增加了cpu的计算种类,进而提高了计算机的计算密度。另外,数据在内存与alu之间传输是通过内部总线传输的,受限于内部总线的位数(通常为32位或64位),传输数据的带宽受限;而本发明提供的与非运算电路通过控制字线实现数据的批量运算,不通过内部总线传输,从而不受带宽影响,可以为内部总线带宽的整数倍,高于内部总线的带宽,进而提高了计算机的计算带宽。

另外,本发明实施例提供的与非运算电路包括的器件可以采用cmos工艺形成,能够将内存芯片与实现“与非运算”功能的芯片结合在一起,通过一个制作工艺形成一个芯片,使用单一存储器工艺即可实现。

本发明实施例还提供一种内存芯片,所述内存芯片包括上面实施例中所述的内存区计算的与非运算电路。

本发明实施例提供的内存区计算的与非运算,应用于内存存储器,可在内存中直接实现与非运算,无需长距离的内存数据传输,避免了从内存读取到alu的长距离传输,进而提高了需要进行与非运算的数据在cpu中的运行速率,缩短了cpu部分数据处理时间,即缩短了cpu的运行时间。本发明实施例提供的与非运算电路包括的器件可以采用cmos工艺形成,能够将内存芯片与实现“与非运算”功能的芯片结合在一起,通过一个制作工艺形成一个芯片,使用单一存储器工艺即可实现。

另外,本发明实施例还提供一种计算机,所述计算机包括中央处理器和内存芯片,所述中央处理器与所述内存芯片相连,所述内存芯片为上面实施例中所述的内存芯片。

本发明实施例提供的计算机,将cpu中alu的与非运算功能转移至内存中后,alu中空余出的区域可以增加其他运算功能,从而增加了cpu的计算种类,进而提高了计算机的计算密度。另外,数据在内存与alu之间传输是通过内部总线传输的,受限于内部总线的位数(通常为32位或64位),传输数据的带宽受限;而本发明提供的与非运算电路通过控制字线实现数据的批量运算,不通过内部总线传输,从而不受带宽影响,可以为内部总线带宽的整数倍,高于内部总线的带宽,进而提高了计算机的计算带宽。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1