CN113838505A - 一种基于cam的内存条目计数电路及内存装置 - Google Patents
一种基于cam的内存条目计数电路及内存装置 Download PDFInfo
- Publication number
- CN113838505A CN113838505A CN202110987136.6A CN202110987136A CN113838505A CN 113838505 A CN113838505 A CN 113838505A CN 202110987136 A CN202110987136 A CN 202110987136A CN 113838505 A CN113838505 A CN 113838505A
- Authority
- CN
- China
- Prior art keywords
- transistor
- entry
- data
- operation unit
- inverter
- 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.)
- Withdrawn
Links
- 230000004913 activation Effects 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 abstract description 11
- 238000001994 activation Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
Landscapes
- Semiconductor Memories (AREA)
Abstract
本发明提供了一种基于CAM的内存条目计数电路,该内存条目计数电路包括CAM阵列、数据搜索状态机及驱动器、正计数器、负计数器、多对差分搜索线对、多个匹配线;CAM阵列包括N个条目行及排列在条目行上的数值运算单元、符号运算单元和多路分解器,N大于1;数据搜索状态机及驱动器生成N*N种可能的乘法模式,并广播到差分搜索线对上;在搜索模式下,通过运算单元输出激活数据和权重数据,当匹配线监视到某条目行上输出数据与乘法模式匹配时,通过正计数器或负计数器计算匹配条目的正负出现次数。本发明还提供了包括上述内存条目计数电路的内存装置。本发明通过存算一体的计算方式对匹配条目的正负出现次数进行计数,减少了内存访问功耗。
Description
技术领域
本发明属于内存条目计数技术领域,更具体地说,是涉及一种基于CAM(ContentAddressable Memory,内容可寻址存储器)的内存条目计数电路及内存装置。
背景技术
通常用于ImageNe图像数据集的典型卷积DNN(Deep Neural Networks,深度神经网络),例如AlexNet、VGGNet、ResNet,在计算时,一层神经网络层需要数百万个MAC(multiply and accumulate operations,乘法累加操作)。传统的内存条目计数电路为了完成大量的数据计算,通常考虑增加大量的并行计算单元,以此增加计算效率。在人工智能算法中,传统的矩阵乘法运算需要大量的数据输入,包含权重数据和激活数据,这些数据在计算单元和存储单元内频繁迁移,导致大量的内存访问功耗,从而影响计算能效。
发明内容
本发明的目的在于提供一种基于CAM的内存条目计数电路及内存装置,旨在如何减少内存访问功耗,提高内存条目的计算能效的技术问题。
为解决上述技术问题,本发明提供了一种基于CAM的内存条目计数电路,所述内存条目计数电路包括CAM阵列、数据搜索状态机及驱动器、正计数器、负计数器、多对差分搜索线对,以及多个匹配线;
所述CAM阵列包括N个条目行,以及排列在所述条目行上的数值运算单元、符号运算单元和多路分解器,N为大于1的正整数;
每一匹配线对应连接到一个条目行上的所述数值运算单元和所述多路分解器,所述符号运算单元与所述多路分解器连接;
每一对所述差分搜索线对连接到一列所述数值运算单元上,且连接到所述数据搜索状态机及驱动器;
所述数据搜索状态机及驱动器用于生成N*N种可能的乘法模式,并广播到所述差分搜索线对上;在搜索操作期间,所述条目行上的所述数值运算单元、所述符号运算单元输出激活数据和权重数据,所述匹配线监视所述条目行输出激活数据和权重数据与所述乘法模式的匹配情况,若某条目行输出数据与所述乘法模式匹配,则该条目行对应的多路分解器将匹配信号输出到所述正计数器或所述负计数器,以计算匹配条目的正负出现次数。
优选地,所述CAM阵列包括至少一激活存储单元和至少一权重存储单元,每两列数值运算单元构成一激活存储单元,每两列数值运算单元和一列符号运算单元构成一权重存储单元。
优选地,在搜索模式下,只有一个激活存储单元和一个权重存储单元同时被激活。
优选地,所述激活存储单元中的所述数值运算单元用于存储和计算激活数据,所述权重存储单元中的所述数值运算单元用于存储和计算权重数据,所述符号运算单元用于存储和计算权重符号数据。
优选地,所述数值运算单元包括写字线、写命中位线、命中位线、第一反相器、第二反相器、第一晶体管、第二晶体管、第三晶体管、第四晶体管、第五晶体管和第六晶体管;
所述第一晶体管的栅极、所述第二晶体管的栅极均连接所述写字线,所述第一晶体管的漏极、所述第二晶体管的漏极均连接所述写命中位线;所述第一晶体管的源极、所述第一反相器的输入端、所述第二反相器的输出端相互连接于第一节点;所述第二晶体管的源极、所述第一反相器的输出端、所述第二反相器的输入端相互连接于第二节点;所述第二晶体管的栅极连接所述写字线,所述第二晶体管的漏极连接所述写命中位线;
所述第三晶体管的栅极、所述第六晶体管的栅极连接于所述第二节点,所述第四晶体管的栅极、所述第五晶体管的栅极连接于所述第一节点;所述第三晶体管的漏极、所述第四晶体管的漏极、所述第五晶体管的漏极、所述第六晶体管的漏极均连接到所述写命中位线;所述第三晶体管的源极、所述第四晶体管的源极、所述第五晶体管的源极、所述第六晶体管的源极均连接到所述命中位线。
优选地,所述第一晶体管、所述第二晶体管、所述第三晶体管和所述第四晶体管均为NMOS管,所述第五晶体管和所述第六晶体管均为PMOS管。
优选地,所述符号运算单元包括写字线、写位线、读字线、读位线、第三反相器、第四反相器、第七晶体管、第八晶体管、第九晶体管和第十晶体管;
所述第七晶体管的栅极连接到所述写字线,所述第七晶体管的漏极连接到所述写位线,所述第七晶体管的源极分别与所述第三反相器的输入端、所述第四反相器的输出端、所述第十晶体管的栅极连接;所述第八晶体管的栅极连接到所述写字线,所述第八晶体管的漏极连接到所述写位线,所述第八晶体管的源极分别与所述第三反相器的输出端、所述第四反相器的输入端连接;所述第九晶体管的栅极连接到所述读字线,所述第九晶体管的漏极连接到所述读位线,所述第九晶体管的栅极与所述第十晶体管的漏极连接,所述第十晶体管的源极接地。
优选地,所述第七晶体管、所述第八晶体管、所述第九晶体管和所述第十晶体管均为NMOS管。
优选地,所述数值运算单元为三元CAM存储单元。
本发明还提供了一种内存装置,该内存装置包括基于CAM的内存条目计数电路,该内存条目计数电路包括CAM阵列、数据搜索状态机及驱动器、正计数器、负计数器、多对差分搜索线对,以及多个匹配线;
所述CAM阵列包括N个条目行,以及排列在所述条目行上的数值运算单元、符号运算单元和多路分解器,N为大于1的正整数;
每一匹配线对应连接到一个条目行上的所述数值运算单元和所述多路分解器,所述符号运算单元与所述多路分解器连接;
每一对所述差分搜索线对连接到一列所述数值运算单元上,且连接到所述数据搜索状态机及驱动器;
所述数据搜索状态机及驱动器用于生成N*N种可能的乘法模式,并广播到所述差分搜索线对上;在搜索操作期间,所述条目行上的所述数值运算单元、所述符号运算单元输出激活数据和权重数据,所述匹配线监视所述条目行输出激活数据和权重数据与所述乘法模式的匹配情况,若某条目行输出数据与所述乘法模式匹配,则该条目行对应的多路分解器将匹配信号输出到正计数器或负计数器,以计算匹配条目的正负出现次数。
本发明提供的基于CAM的内存条目计数电路及内存装置,通过CAM阵列的数值运算单元存储和计算激活数据和权重数据,匹配线监视输出激活数据和权重数据与乘法模式匹配的条目行,进而通过正计数器和负计数器计算匹配条目的正负出现次数。本发明通过存算一体的计算方式对匹配条目的正负出现次数进行计数,减少了内存访问功耗,能够提高内存条目的计算能效。此外,传统的矩阵乘法运算引入加法运算,没有考虑加数的统计学特性,本发明通过统计乘法可能出现的运算结果,减少加法次数,有利于提高内存条目的计算能效。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一实施例提供的基于CAM的内存条目计数电路结构示意图;
图2为本发明一实施例提供的内存条目计数电路的计数实现原理示意图;
图3为本发明另一实施例提供的基于CAM的内存条目计数电路结构示意图;
图4为本发明实施例提供的基于CAM的内存条目计数电路中数值运算单元的电路结构示意图;
图5为本发明实施例提供的基于CAM的内存条目计数电路中符号运算单元的电路结构示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需说明的是,当部件被称为“固定在”、“设置在”、“连接在”另一个部件,它可以直接在另一个部件上或者间接在该另一个部件上。当一个部件被称为与另一个部件“电连接”,它可以是导体电连接,或者是无线电连接,还可以是其它各种能够传输电信号的连接方式。术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。术语“第一”、“第二”仅用于便于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明技术特征的数量。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
请参阅图1至图5,本发明提供了一种基于CAM的内存条目计数电路,该内存条目计数电路包括CAM阵列100、数据搜索状态机及驱动器200(Search Data State Machine +Drivers)、正计数器300(Positive Counter)、负计数器400(Negative Counter)、多对差分搜索线对SLi、(i≥0),以及多个匹配线MLi(i≥0)。
CAM阵列100包括N个条目行(未示出)以及排列在条目行上的数值运算单元101、符号运算单元102和多路分解器103,N为大于1的正整数。本实施例优选数值运算单元101为三元CAM存储单元,即三态CAM存储单元。
每一匹配线对应连接到一个条目行上的数值运算单元101和多路分解器103,符号运算单元102与多路分解器103连接;每一对差分搜索线对连接到一列数值运算单元101上,且连接到数据搜索状态机及驱动器200。
数据搜索状态机及驱动器200用于生成N*N种可能的乘法模式,并广播到差分搜索线对上;在搜索操作期间,条目行上的数值运算单元101、符号运算单元102输出激活数据和权重数据,匹配线监视条目行输出激活数据和权重数据与乘法模式的匹配情况,若某条目行输出数据与乘法模式匹配,则该条目行对应的多路分解器103将匹配信号输出到正计数器300或负计数器400,以计算匹配条目的正负出现次数。
本实施例优选地,条目行数N=3。如图1所示,该CAM阵列100由三个条目组成,每个条目具有水平排列的5位数据,分别对应为2位激活数据和3位权重数据。在每一条目的5位数据中,有4位数据位于搜索空间内,即图中标记为C的数值运算单元101,剩余一位数据代表权重符号数据,即标记为S的符号运算单元102。
在搜索操作期间,数据搜索状态机及驱动器200会生成9种可能的乘法模式(Possible Patterns),如图2所示。数据搜索状态机及驱动器200将生成的9种乘法模式广播到差分搜索线对SL0、、SL1、、SL2、、SL3、上。位于搜索空间中的数值运算单元101计算并输出激活数据(Activation)和权重数据(Weight),三个匹配线ML0、ML1、ML2对数值运算单元101输出的激活数据、权重数据与数据搜索状态机及驱动器200生成的9种可能乘法模式进行监视比较,若数值运算单元101输出的激活数据、权重数据与某种乘法模式(Pattern)匹配,即监视9种乘法模式发生命中或未命中情况,若某输入的乘法模式被命中,则确定该数值运算单元101所在的条目为匹配条目,从而对应的符号运算单元102保存匹配条目的权重符号数据,匹配条目对应的多路分解器103根据所保存的权重符号数据,将匹配信号发送到正计数器300或负计数器400。正计数器300和负计数器400由RTL(RegisterTransfer Level,寄存器转换级)代码合成,正计数器300和负计数器400对匹配条目正负出现次数进行计数,从而正计数器300和负计数器400分别输出正出现次数Npos和负出现次数Nneg。
本发明中,基于条目计数的乘法累加操作MACs仅使用大约十次乘法就可以得到与标准MACs相同的算术结果,其实现原理如图2所示。
本领域技术人员应对理解的是,在一个典型的3×3卷积层中,输入通道有16~512个,每个输出激活需要102到104个乘法。而在本发明的3位量化的MAC中,总共只有9个无符号的可能乘法模式。换句话说,即使总乘法数达到102到104,每个输出激活的MAC中也只有9中可能的乘法结果。因此,本发明的条目计数方案不是执行数千次乘法,而是搜索权重数据和激活数据的存储空间,对每个乘法模式的出现次数进行计数,并将模式的乘积代入最终的MAC结果,即:
其中Ppat是每种乘法模式的乘积,Npos和Nneg是正出现次数和负出现次数。
如图2所示,示出了01×10、11×01、10×10三种乘法模式与激活数据和权重数据匹配以及正负出现次数的情况。
由于乘法模式由二进制编码确定,因此可以离线计算它们,并在卷积/全连接层开始之前将其存储在可重新配置的查找表中。条目计数方法还可以支持基于密码本的量化方案。
条目计数方法有两个步骤:
第一步,搜索整个存储空间并输出激活数据和权重数据均与乘法模式匹配的条目。
第二步,计算匹配条目的正负出现次数,即Npos和Nneg。
为了实现基于条目计数的两个步骤,本发明采用基于内容可寻址存储器(CAM)的数字实现方式,而不是模拟MAC电路,因此电路具有较强的扩张性,运算精度更高,避免模拟实现方式受到工艺、电压、温度(PVT)等方面的影响。
本发明通过CAM阵列100的数值运算单元101存储和计算激活数据和权重数据,匹配线监视输出激活数据和权重数据与乘法模式匹配的条目行,进而通过正计数器300和负计数器400计算匹配条目的正负出现次数。本发明通过存算一体的计算方式对匹配条目的正负出现次数进行计数,减少了内存访问功耗,能够提高内存条目的计算能效。此外,传统的矩阵乘法运算引入加法运算,没有考虑加数的统计学特性,本发明通过统计乘法可能出现的运算结果,减少加法次数,有利于提高内存条目的计算能效。
本发明CAM阵列100包括至少一激活存储单元110(Activation Memory)和至少一权重存储单元120(Weight Memory),如图3所示为多路复用的内存条目计数电路,每两列数值运算单元101构成一激活存储单元110,每两列数值运算单元101和一列符号运算单元102构成一权重存储单元120。
激活存储单元110中的数值运算单元101用于存储和计算激活数据,权重存储单元120中的数值运算单元101用于存储和计算权重数据,符号运算单元102用于存储和计算权重符号数据。
本发明在写模式下,CAM阵列100的所有激活数据和权重数据都存储到对应存储单元中,如在搜索模式下,只有一个激活存储单元110和一个权重存储单元120同时被激活。即每一条目上只有一个激活数据和一个权重数据与输入的乘法模式匹配,其余列则设为无关。
根据CAM特点,取消选择操作可以视为在三元CAM中设置X,其中“X”表示搜索行中的“无关位”,如图3所示,示例情况Case 1和情况Case 2示出了不同的选择性。
激活存储单元110中的数值运算单元101和权重存储单元120中的数值运算单元101的电路结构相同,如图4所示,在一具体实施例中,CAM阵列100中的数值运算单元101包括写字线WWL、写命中位线WHBL、命中位线HBL、第一反相器IN1、第二反相器IN2、第一晶体管M1、第二晶体管M2、第三晶体管M3、第四晶体管M4、第五晶体管M5和第六晶体管M6。其中,第一晶体管M1、第二晶体管M2、第三晶体管M3和第四晶体管M4均为NMOS管,第五晶体管M5和第六晶体管M6均为PMOS管。
第一晶体管M1的栅极、第二晶体管M2的栅极均连接写字线WWL,第一晶体管M1的漏极、第二晶体管M2的漏极均连接写命中位线WHBL,第一晶体管M1的源极、第一反相器IN1的输入端、第二反相器IN2的输出端相互连接于第一节点a,第二晶体管M2的源极、第一反相器IN1的输出端、第二反相器IN2的输入端相互连接于第二节点b,第二晶体管M2的栅极连接写字线WWL,第二晶体管M2的漏极连接写命中位线WHBL。
第三晶体管M3的栅极、第六晶体管M6的栅极连接于第二节点b,第四晶体管M4的栅极、第五晶体管M5的栅极连接于第一节点a;第三晶体管M3的漏极、第四晶体管M4的漏极、第五晶体管M5的漏极、第六晶体管M6的漏极均连接到写命中位线WHBL;第三晶体管M3的源极、第四晶体管M4的源极、第五晶体管M5的源极、第六晶体管M6的源极均连接到命中位线HBL。
如图5所示,在一具体实施例中,CAM阵列100中的符号运算单元102包括写字线WWL、写位线WBL、读字线RWL、读位线RBL、第三反相器IN3、第四反相器IN4、第七晶体管M7、第八晶体管M8、第九晶体管M9和第十晶体管M10。其中,第七晶体管M7、第八晶体管M8、第九晶体管M9和第十晶体管M10均为NMOS管。
第七晶体管M7的栅极连接到写字线WWL,第七晶体管M7的漏极连接到写位线WBL,第七晶体管M7的源极分别与第三反相器IN3的输入端、第四反相器IN4的输出端、第十晶体管M10的栅极连接;第八晶体管M8的栅极连接到写字线WWL,第八晶体管M8的漏极连接到写位线WBL,第八晶体管M8的源极分别与第三反相器IN3的输出端、第四反相器IN4的输入端连接;第九晶体管M9的栅极连接到读字线RWL,第九晶体管M9的漏极连接到读位线RBL,第九晶体管M9的栅极与第十晶体管M10的漏极连接,第十晶体管M10的源极接地。
如图4所示,CAM阵列100中的数值运算单元101有两种模式:写入模式和搜索模式。为了便于布线,搜索线SLi和写位线WBL在内存阵列中共享,用写命中位线WHBL表示。数值运算单元101由上半部的6 T存储单元和下半部的4T存储单元两部分组成,并共同构成一10T存储单元。第一反相器IN1、第二反相器IN2均由两个晶体管构成,故数值运算单元101上半部的第一反相器IN1、第二反相器IN2、第一晶体管M1、第二晶体管M2构成6 T存储单元(T表示晶体管transistor),上半部的6 T存储单元在写模式下构成写电路。数值运算单元101中交叉耦合的第一反相器IN1、第二反相器IN2构成一锁存器。数值运算单元101下半部的第三晶体管M3、第四晶体管M4、第五晶体管M5和第六晶体管M6构成4T存储单元,下半部的4T存储单元在搜索模式下实现XOR(异或)逻辑。数值运算单元101的异或功能实现逻辑如下:
在写模式期间,将锁存器设置为1,则第一晶体管M1的源极为1,使得第一晶体管M1关断,而第二晶体管M2的源极为0,使得第二晶体管M2导通。此时,写命中位线WHBL切换到搜索模式,向搜索线SLi广播信号0,因此,互补线为1。此时,由于第二节点b信号为0,因此第六晶体管M6导通,数值运算单元101的命中位线HBL作为输出节点通过第六晶体管M6传递1。由此可知,如果输入线为1,则数值运算单元101生成0,反之亦然。因此,实现了XOR功能嵌入在10T存储单元中。
本领域技术人员应当理解的是,CAM存储单元是组成CAM阵列100的主要部分,可根据其不同的单元连接方式分为NOR型和NAND型。传统的NAND型CAM存储单元中,传输晶体管仅是NMOS,从而使输出节点VDD-Vth处于高电平,通常需要基于锁存器的感测放大器来恢复到轨对轨电压电平。与常规拓扑结构相比,本发明基于CAM的内存条目计数电路设计中,参与两个PMOS晶体管与两个NMOS晶体管并联安装,从而将传统CAM存储单元仅NMOS的开关转换为CMOS传输门,缓解了电路中感应放大器(图未示出)在低电压源下的晶体管阈值损失,提高电路可靠性。
在搜索模式下,条目计数模式遍历所有可能的值。对于3位权重和激活,无论符号位如何,都有从0~3的4个可能值。除0外,CAM阵列100中的数值运算单元101有9个权重数据和激活数据的组合。本发明采用格雷码遍历序列,即0101→1101→1001→1011→1010→1110→0110→0111→1111。相比二进制顺序遍历相比,采用类似格雷码的顺序可以减少遍历次数(一次搜索迭代从16次到10次)。
如图5所示,CAM阵列100中的符号运算单元102中,第三反相器IN3、第四反相器IN4均由两个晶体管构成,故符号运算单元102是一个8T存储单元,符号运算单元102中交叉耦合的第三反相器IN3和第四反相器IN4构成一个锁存器,用于存储一个权重符号数据。
本发明还提出一种内存装置,该内存装置包括基于CAM的内存条目计数电路,该内存条目计数电路的结构、工作原理,以及所带来的有益效果均参照上述实施例,此处不再赘述。
以上仅为本发明的较优实施例而已,并不用于限制本发明。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种基于CAM的内存条目计数电路,其特征在于:所述内存条目计数电路包括CAM阵列、数据搜索状态机及驱动器、正计数器、负计数器、多对差分搜索线对以及多个匹配线;
所述CAM阵列包括N个条目行以及排列在所述条目行上的数值运算单元、符号运算单元和多路分解器,N为大于1的正整数;
每一匹配线对应连接到一个条目行上的所述数值运算单元和所述多路分解器,所述符号运算单元与所述多路分解器连接;
每一对所述差分搜索线对连接到一列所述数值运算单元上,且连接到所述数据搜索状态机及驱动器;
所述数据搜索状态机及驱动器用于生成N*N种可能的乘法模式,并广播到所述差分搜索线对上;在搜索操作期间,所述条目行上的所述数值运算单元、所述符号运算单元输出激活数据和权重数据,所述匹配线监视所述条目行输出激活数据和权重数据与所述乘法模式的匹配情况,若某条目行输出数据与所述乘法模式匹配,则该条目行对应的多路分解器将匹配信号输出到所述正计数器或所述负计数器,以计算匹配条目的正负出现次数。
2.如权利要求1所述的内存条目计数电路,其特征在于:所述CAM阵列包括至少一激活存储单元和至少一权重存储单元,每两列数值运算单元构成一激活存储单元,每两列数值运算单元和一列符号运算单元构成一权重存储单元。
3.如权利要求2所述的内存条目计数电路,其特征在于:在搜索模式下,只有一个激活存储单元和一个权重存储单元同时被激活。
4.如权利要求2所述的内存条目计数电路,其特征在于:所述激活存储单元中的所述数值运算单元用于存储和计算激活数据,所述权重存储单元中的所述数值运算单元用于存储和计算权重数据,所述符号运算单元用于存储和计算权重符号数据。
5.如权利要求1-4中任一项所述的内存条目计数电路,其特征在于:所述数值运算单元包括写字线、写命中位线、命中位线、第一反相器、第二反相器、第一晶体管、第二晶体管、第三晶体管、第四晶体管、第五晶体管和第六晶体管;
所述第一晶体管的栅极、所述第二晶体管的栅极均连接所述写字线,所述第一晶体管的漏极、所述第二晶体管的漏极均连接所述写命中位线;所述第一晶体管的源极、所述第一反相器的输入端、所述第二反相器的输出端相互连接于第一节点;所述第二晶体管的源极、所述第一反相器的输出端、所述第二反相器的输入端相互连接于第二节点;所述第二晶体管的栅极连接所述写字线,所述第二晶体管的漏极连接所述写命中位线;
所述第三晶体管的栅极、所述第六晶体管的栅极连接于所述第二节点,所述第四晶体管的栅极、所述第五晶体管的栅极连接于所述第一节点;所述第三晶体管的漏极、所述第四晶体管的漏极、所述第五晶体管的漏极、所述第六晶体管的漏极均连接到所述写命中位线;所述第三晶体管的源极、所述第四晶体管的源极、所述第五晶体管的源极、所述第六晶体管的源极均连接到所述命中位线。
6.如权利要求5所述的内存条目计数电路,其特征在于:所述第一晶体管、所述第二晶体管、所述第三晶体管和所述第四晶体管均为NMOS管,所述第五晶体管和所述第六晶体管均为PMOS管。
7.如权利要求1-4中任一项所述的内存条目计数电路,其特征在于:所述符号运算单元包括写字线、写位线、读字线、读位线、第三反相器、第四反相器、第七晶体管、第八晶体管、第九晶体管和第十晶体管;
所述第七晶体管的栅极连接到所述写字线,所述第七晶体管的漏极连接到所述写位线,所述第七晶体管的源极分别与所述第三反相器的输入端、所述第四反相器的输出端、所述第十晶体管的栅极连接;所述第八晶体管的栅极连接到所述写字线,所述第八晶体管的漏极连接到所述写位线,所述第八晶体管的源极分别与所述第三反相器的输出端、所述第四反相器的输入端连接;所述第九晶体管的栅极连接到所述读字线,所述第九晶体管的漏极连接到所述读位线,所述第九晶体管的栅极与所述第十晶体管的漏极连接,所述第十晶体管的源极接地。
8.如权利要求7所述的内存条目计数电路,其特征在于:所述第七晶体管、所述第八晶体管、所述第九晶体管和所述第十晶体管均为NMOS管。
9.如权利要求1所述的内存条目计数电路,其特征在于:所述数值运算单元为三元CAM存储单元。
10.一种内存装置,其特征在于:所述内存装置包括权利要求1-9中任一项所述的内存条目计数电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110987136.6A CN113838505A (zh) | 2021-08-26 | 2021-08-26 | 一种基于cam的内存条目计数电路及内存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110987136.6A CN113838505A (zh) | 2021-08-26 | 2021-08-26 | 一种基于cam的内存条目计数电路及内存装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113838505A true CN113838505A (zh) | 2021-12-24 |
Family
ID=78961322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110987136.6A Withdrawn CN113838505A (zh) | 2021-08-26 | 2021-08-26 | 一种基于cam的内存条目计数电路及内存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113838505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608519A (zh) * | 2024-01-24 | 2024-02-27 | 安徽大学 | 基于10t-sram的带符号乘法与乘累加运算电路 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835703A (zh) * | 2019-04-17 | 2020-10-27 | 三星电子株式会社 | 多信道数据打包器和多信道数据解包器 |
-
2021
- 2021-08-26 CN CN202110987136.6A patent/CN113838505A/zh not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835703A (zh) * | 2019-04-17 | 2020-10-27 | 三星电子株式会社 | 多信道数据打包器和多信道数据解包器 |
Non-Patent Citations (1)
Title |
---|
朱浩哲等: ""A Communication-Aware DNN Accelerator on ImageNet Using In-Memory Entry-Counting Based Algorithm-Circuit-Architecture Co-Design in 65-nm CMOS"", IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS》, vol. 10, no. 3, 30 September 2020 (2020-09-30), pages 3 - 5 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117608519A (zh) * | 2024-01-24 | 2024-02-27 | 安徽大学 | 基于10t-sram的带符号乘法与乘累加运算电路 |
CN117608519B (zh) * | 2024-01-24 | 2024-04-05 | 安徽大学 | 基于10t-sram的带符号乘法与乘累加运算电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100384567B1 (ko) | 승산회로 | |
CN113257306B (zh) | 一种基于静态随机存取存储器的存算一体阵列及加速装置 | |
US20230297235A1 (en) | Sram-based cell for in-memory computing and hybrid computations/storage memory architecture | |
CN117271436B (zh) | 基于sram的电流镜互补存内计算宏电路、及芯片 | |
CN114937470B (zh) | 基于多比特sram单元的定点全精度存内计算电路 | |
Thoidis et al. | The circuit design of multiple-valued logic voltage-mode adders | |
KR20220110090A (ko) | 컴퓨트 인 메모리 | |
US9933998B2 (en) | Methods and apparatuses for performing multiplication | |
US8125811B2 (en) | Content-addressable memory | |
CN113838505A (zh) | 一种基于cam的内存条目计数电路及内存装置 | |
Yang et al. | GQNA: Generic quantized DNN accelerator with weight-repetition-aware activation aggregating | |
CN113077050B (zh) | 一种用于神经网络处理的数字域计算电路装置 | |
CN118034643B (zh) | 一种基于sram的无进位乘法存算阵列 | |
US6924994B1 (en) | Content addressable memory (CAM) devices having scalable multiple match detection circuits therein | |
JP4850403B2 (ja) | マグニチュード内容参照可能メモリ | |
CN114647398B (zh) | 一种基于进位旁路加法器的存内计算装置 | |
JP3595565B2 (ja) | 半導体メモリセル回路およびメモリセルアレイ | |
CN116931873B (zh) | 两字节乘法电路及其任意位宽为2次幂的乘法电路与芯片 | |
US20220334800A1 (en) | Exact stochastic computing multiplication in memory | |
Wang et al. | TL-nvSRAM-CIM: Ultra-High-Density Three-Level ReRAM-Assisted Computing-in-nvSRAM with DC-Power Free Restore and Ternary MAC Operations | |
CN118412022A (zh) | 存算一体单元结构 | |
US20220277190A1 (en) | Neural network engine with associated memory array | |
Marani et al. | Approach Toward In-Memory Computing-Based Hamming Code Implementation For Error Correction and Detection | |
CN116959517A (zh) | 一种基于可复用Booth乘法单元的存内计算电路 | |
Marani et al. | Approach Toward In-Memory Computing-Based Hamming Code Implementation For Error Correction |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211224 |
|
WW01 | Invention patent application withdrawn after publication |