CN113743046A - 存算一体版图结构和数据拆分存算一体版图结构 - Google Patents
存算一体版图结构和数据拆分存算一体版图结构 Download PDFInfo
- Publication number
- CN113743046A CN113743046A CN202111089338.5A CN202111089338A CN113743046A CN 113743046 A CN113743046 A CN 113743046A CN 202111089338 A CN202111089338 A CN 202111089338A CN 113743046 A CN113743046 A CN 113743046A
- Authority
- CN
- China
- Prior art keywords
- storage
- adder
- layout
- calculation
- data
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 117
- 238000009825 accumulation Methods 0.000 claims description 18
- 238000003491 array Methods 0.000 claims description 10
- 230000010354 integration Effects 0.000 abstract description 5
- 238000007792 addition Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000151 deposition Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Abstract
本公开实施例公开了存算一体版图结构、数据拆分存算一体版图结构、芯片、计算装置,其中,该存算一体版图结构包括:第一版图区和第二版图区,其中,第一版图区由存储计算单元阵列构成,第二版图区由加法器阵列构成,第一版图区和第二版图区相邻设置;存储计算单元阵列包括第一预设数量个存储计算单元组;加法器阵列包括第三预设数量个加法器组,第三预设数量个加法器组通过级联的方式依次连接,且第三预设数量个加法器组中的第一级加法器组包括的加法器的输入端分别与相邻的存储计算单元组连接。本公开实施例提高了芯片内运算的效率,降低了功耗,节约了因走线路径复杂占据的面积,提高了芯片的集成度。
Description
技术领域
本公开涉及芯片设计领域,尤其是一种存算一体版图结构和数据拆分存算一体版图结构。
背景技术
存算一体是将静态随机存储器与计算模块融合为一体的一种存算结合的设计,包含存储结构和乘加结构,其版图设计布局更是需要将二者通过合理的布局架构融合在一起,确保其性能,功耗和面积是最优化的。
传统的芯片架构中,存储和计算这两个的版图布局是分离的,存储器与处理器之间通过数据总线进行数据传输,做运算的时候,需要把数据从存储中读出来,经过较长的走线距离把运算数据传送到计算单元中去做运算,算完之后再把数据从版图的计算区域传送回去,在性能、功耗和面积上都有较大的损失。
发明内容
本公开的实施例提供了一种存算一体版图结构,该存算一体版图结构包括:第一版图区和第二版图区,其中,第一版图区由存储计算单元阵列构成,第二版图区由加法器阵列构成,第一版图区和第二版图区相邻设置;存储计算单元阵列包括第一预设数量个存储计算单元组,每个存储计算单元组包括至少两个存储计算单元,每个存储计算单元包括第二预设数量个单比特存储计算子单元;加法器阵列包括第三预设数量个加法器组,第三预设数量个加法器组通过级联的方式依次连接,且第三预设数量个加法器组中的第一级加法器组包括的加法器的输入端分别与相邻的存储计算单元组连接。
在一些实施例中,第三预设数量个加法器组中的第一级加法器组包括的加法器分别与对应的存储计算单元相邻且对齐排布。
在一些实施例中,该存算一体版图结构还包括第三版图区,第三版图区由数据输入单元阵列构成,第三版图区和第一版图区相邻设置,存储计算单元阵列包括的存储计算单元与数据输入单元阵列包括的数据输入单元一一对应,且相对应的存储计算单元和数据输入单元相邻设置并互相连接;数据输入单元阵列中的数据输入单元用于将多比特的输入数据包括的比特位依次输入对应的存储计算单元。
在一些实施例中,数据输入单元阵列包括的数据输入单元分别与对应的存储计算单元相邻且对齐排布。
在一些实施例中,存储计算单元阵列中的存储计算单元分别包括的单比特存储计算子单元包括单比特存储器和单比特乘法器,单比特乘法器用于将对应的单比特存储器中的数据和对应的数据输入单元输入的数据相乘。
在一些实施例中,该存算一体版图结构还包括第四版图区,第四版图区由移位累加器构成,第四版图区与第二版图区相邻设置,移位累加器用于对加法器阵列先后输出的至少两个数值进行相应位数的移位以及累加,得到乘加结果。
根据本公开实施例的另一个方面,提供了一种数据拆分存算一体版图结构,该数据拆分存算一体版图结构包括:相邻设置的至少两个存算一体模块,至少两个存算一体模块中的存算一体模块由上述任一实施例描述的存算一体版图结构构成;至少两个存算一体模块分别包括的第二版图区相邻设置;至少两个存算一体模块分别包括的存储计算单元阵列中的存储计算单元一一对应,且相对应的存储计算单元用于存储同一个多比特数据的不同比特位。
在一些实施例中,该数据拆分存算一体版图结构还包括由移位累加器构成的移位累加版图区,移位累加版图区与至少两个存算一体模块分别包括的第二版图区相邻设置,移位累加器用于根据至少两个存算一体模块分别对应的权重,将至少两个存算一体模块各自包括的加法器阵列输出的数值进行移位累加,得到累加结果。
根据本公开实施例的另一个方面,提供了一种芯片,该芯片包括上述存算一体版图结构或数据拆分存算一体版图结构。
根据本公开实施例的另一个方面,提供了一种计算装置,该计算装置包括上述芯片。
本公开上述实施例提供的存算一体版图结构,通过将存储计算单元阵列构成的第一版图区和加法器阵列构成的第二版图区在芯片版图中相邻布局,加法器阵列中的各个加法器组通过级联的方式依次连接,加法器阵列中的第一级加法器组对相邻的存储计算单元输出的数据相加,其他加法器组依次对前一级加法器组输出的数据相加,最终输出存储计算单元阵列输出的所有数据的加和,从而解决了现有的存算电路因存储阵列和加法器阵列分离设置导致的数据传送延时和功耗增加的问题,提高了芯片内运算的效率,降低了功耗。本公开上述实施例提供的数据拆分存算一体版图结构,通过在芯片版图中设置至少两组上述存算一体版图结构,将同一数据包含的比特位存储在至少两个存储计算单元阵列内相对应的存储计算单元中,至少两组存算一体版图结构包括的加法器阵列相邻设置,从而在进行多位数据运算时,避免了现有的架构在进行多位数据运算时,因存储计算单元包含的单比特存储计算子单元的数量较多导致的走线路径复杂,节约了因走线路径复杂占据的面积,提高了芯片的集成度。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的存算一体版图结构的结构示意图。
图2是本公开一示例性实施例提供的存算一体版图结构的另一结构示意图。
图3是本公开一示例性实施例提供的单比特存储计算子单元的结构示意图。
图4是本公开一示例性实施例提供的数据拆分存算一体版图结构的结构示意图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
申请概述
在面向大数据分析等应用场景中,传统的计算架构已成为高性能低功耗计算系统的主要瓶颈之一。一方面,数据总线的有限带宽严重制约了处理器的性能与效率,同时,存储器与处理器之间存在严重性能不匹配问题。不管处理器运行的再快、性能再好,数据依然存储在存储器里,每次执行运算时,需要把数据从存储器经过数据总线搬移到处理器当中,数据处理完之后再搬回到存储器当中。
与此同时,摩尔定律正逐渐失效,依靠器件尺寸微缩来继续提高芯片性能的技术路径在功耗与可靠性方面都面临巨大挑战。因此,传统冯诺依曼计算架构难以满足智能大数据应用场景快、准、智的响应需求。另一方面,数据在存储器与处理器之间的频繁迁移带来严重的传输功耗问题,称为功耗墙挑战。
示例性结构
图1是本公开一示例性实施例提供的存算一体版图结构的结构示意图。该存算一体版图结构包含的各个组成部分可以集成到一个芯片中,也可以设置到不同的芯片或电路板中,这些芯片或电路板之间建立数据通信的链路。
如图1所示,该存算一体版图结构包括:第一版图区101和第二版图区102,其中,所述第一版图区101由存储计算单元阵列构成,所述第二版图区102由加法器阵列构成,所述第一版图区101和所述第二版图区102相邻设置。这里,相邻设置是指两个版图区紧密接触,即两个版图区包含公共的边界,两个版图区之间除必要的连接线以外,不存在其他元器件。存储计算单元阵列和加法器阵列之间的距离尽量小,但大于等于芯片部件所允许的最小距离。
在本实施例中,第一版图区101中的存储计算单元阵列包括第一预设数量个存储计算单元组,每个存储计算单元组包括至少两个存储计算单元,每个存储计算单元包括第二预设数量个单比特存储计算子单元。如图1所示,每一行内的四个(即第二预设数量)cell(即单比特存储子单元)表示一个存储计算单元,即一个存储计算单元可以存储一个4比特数据。总共包括N个存储计算单元,每两个存储计算单元组成一个存储计算单元组,即第一预设数量为N/2。例如,图中序号0和1、2和3、……、N-2和N-1分别组成存储计算单元组。
在本实施例中,第二版图区102中的加法器阵列包括第三预设数量个加法器组,第三预设数量个加法器组通过级联的方式依次连接,且第三预设数量个加法器组中的第一级加法器组1021包括的加法器的输入端分别与相邻的存储计算单元组连接。
如图1所示,加法器阵列包括M(即第三预设数量)列,每一列包括的加法器为一个加法器组,即标记为“加法器_1”的第一列为第一级加法器组1021,标记为“加法器_2”的第二列为第二级加法器组,……,标记为“加法器_M”的第M列为第M级加法器组。从第二级加法器组开始,每个加法器对应前一级的两个加法器,即前一级两个加法器的输出作为后一级加法器的输入。第M级加法器组只包括一个加法器,其输出的数据为N个存储计算单元分别输出的数据的和。
如图1所示,第一级加法器组1021包括的每个加法器与对应的存储计算单元紧密相邻,从而使存储计算单元内的数据经过很短的距离即可传入第一级加法器1021。
本实施例提供的存算一体版图结构,可以应用在神经网络的运算过程,例如,存储计算单元阵列内可以存储神经网络中的权重数据,在存储计算单元阵列内可以对权重数据和输入的特征数据进行乘法运算,再由加法器阵列对得到的乘积进行求和运算,得到乘加结果。
本公开的上述实施例提供的存算一体版图结构,通过将存储计算单元阵列构成的第一版图区和加法器阵列构成的第二版图区在芯片版图中相邻布局,加法器阵列中的各个加法器组通过级联的方式依次连接,加法器阵列中的第一级加法器组对相邻的存储计算单元输出的数据相加,其他加法器组依次对前一级加法器组输出的数据相加,最终输出存储计算单元阵列输出的所有数据的加和,从而实现了在面积上,该布局方式可以将芯片内的器件密度进一步提高,将面积进一步减小。在功耗上,由于存储计算单元阵列和加法器阵列紧密相邻,走线的寄生电容可以大大减小,从而减小了动态功耗。在性能上,存储计算单元阵列和加法器阵列之间的走线距离大大缩短,减小了寄生电阻导致的传送延迟,提高了数据的传送速度。
在一些可选的实现方式中,第三预设数量个加法器组中的第一级加法器组1021包括的加法器分别与对应的存储计算单元相邻且对齐排布。具体地,如图1所示,第一组加法器组1021包括的加法器均匀地分布在相邻的存储计算单元阵列的纵向范围内,每个加法器与对应的两个存储计算单元对齐。
本实现方式通过将第一级加法器组包括的加法器分别与对应的存储计算单元相邻且对齐排布,可以实现加法器阵列和存储计算单元阵列之间的连线均匀排布,有利于进一步降低因走线不均匀导致的数据传输延迟的影响,提高了存算一体版图结构的性能。
在一些可选的实现方式中,如图2所示,该存算一体版图结构还包括第三版图区103,所述第三版图区由数据输入单元阵列构成,所述第三版图区103和所述第一版图区101相邻设置,存储计算单元阵列包括的存储计算单元与数据输入单元阵列包括的数据输入单元一一对应,且相对应的存储计算单元和数据输入单元相邻设置并互相连接。
数据输入单元阵列中的数据输入单元用于将多比特的输入数据包括的比特位依次输入对应的存储计算单元。
作为示例,若某个输入数据I包括四个比特位,分别为I[0]、I[1]、I[2]、I[3],则可以首先将I[0]通过某个数据输入单元输入对应的存储计算单元,在存储计算单元内,可以对存储的数据与输入的数据进行运算(例如单比特相乘),运算结果输入对应的加法器中。
本实施例提供的存算一体版图结构通常可以用在神经网络的运算过程,例如,神经网络的卷积运算需要对输入数据(例如特征数据)和存储的权重数据进行乘加运算,上述数据输入单元阵列可以用于将特征数据输入存储计算单元阵列,与存储的权重数据相乘,再利用加法器阵列对乘积累加。
本实现方式通过将由数据输入单元阵列构成的第三版图区和由存储计算单元阵列构成的第一版图区相邻设置,可以实现输入数据通过最短的走线距离输入对应的存储计算单元,走线资源占用量少,数据传送时间延迟短,从而有助于提高数据运算的效率,降低运算的功耗。
在一些可选的实现方式中,数据输入单元阵列包括的数据输入单元分别与对应的存储计算单元相邻且对齐排布。具体地,如图2所示,每个数据输入单元与对应的存储计算单元处于同一行。
本实现方式通过将数据输入单元阵列包括的数据输入单元分别与对应的存储计算单元相邻且对齐排布,可以实现数据输入单元阵列和存储计算单元阵列之间的连线均匀排布,有利于进一步降低因走线不均匀导致的数据传输延迟的影响,提高了存算一体版图结构的性能。
在一些可选的实现方式中,如图3所示,存储计算单元阵列中的存储计算单元分别包括的单比特存储计算子单元301包括单比特存储器3011和单比特乘法器3012,单比特乘法器3012用于将对应的单比特存储器3011中的数据和对应的数据输入单元输入的数据相乘。数据输入单元通常依次输入同一个多比特数据包括的单比特位,即输入数据的一个比特位分别与对应的存储计算单元包括的各个单比特存储器存储的单比特位相乘,得到单比特乘积。一个存储计算单元包括的各个单比特乘法器输出的各比特位组成该存储计算单元输出的数据,该数据输入对应的加法器中。
作为示例,假设存储计算单元中存储有权重数据W=1010,即W[0]=0、W[1]=1、W[2]=0、W[3]=1,假设输入数据IN=0101,即IN[0]=1、IN[1]=0、IN[2]=1、IN[3]=0,则存储计算单元中的四个单比特乘法器首先计算W[0]×IN[0]、W[1]×IN[0]、W[2]×IN[0]、W[4]×IN[0],计算得到的乘积数据为S0=1010;然后以同样的方法,依次输入IN[1]=0、IN[2]=1、IN[3]=0至四个单比特乘法器,与W[0]、W[1]、W[2]、W[3]进行单比特乘法计算,得到乘积数据S1=0000、S2=1010、S3=0000。S0、S1、S2、S3分别为IN[0]、IN[1]、IN[2]、IN[3]与W的乘积。S1、S2、S3通过后续的移位累加操作可以还原为真实的乘积,即S=S3*8+S2*4+S1*2+S0。
单比特乘法器包括或非门,或非门用于对取反后的权重数据包括的单比特位和取反后的输入特征数据包括的单比特位进行或非运算,得到单比特乘积数据。
本实现方式通过在单比特存储计算子单元中设置单比特存储器和单比特乘法器,可以实现存内乘法运算,进而结合加法器阵列,实现存内乘加运算,从而有效利用了该版图架构提高乘加运算的效率,降低乘加运算的功耗。
在一些可选的实现方式中,如图2所示,该存算一体版图结构还包括第四版图区104,所述第四版图区104由移位累加器构成,所述第四版图区104与所述第二版图区102相邻设置,移位累加器用于对加法器阵列先后输出的至少两个数值进行相应位数的移位以及累加,得到乘加结果。需要说明的是,图2中的移位累加器104的位置仅仅是示意性的,根据实际需要,移位累加器可以设置在任意与加法器阵列相邻的位置。
作为示例,若数据输入单元阵列分四次依次输入N个数据的第0位、第1位,第2位,第3位,则加法器阵列依次输出的求和结果为s0、s1、s2、s3,移位累加器按照下式计算得到乘加结果:SUM=s3*8+s2*4+s1*2+s0。
本实现方式通过将由移位累加器构成的第四版图区与由加法器阵列构成的第二版图区相邻设置,进一步缩短了加法器阵列输出的数据的传送距离,从而进一步提高了版图的面积使用率,提高了存内运算的效率,降低了功耗。
图4是本公开一示例性实施例提供的数据拆分存算一体版图结构的结构示意图。该数据拆分存算一体版图结构包含的各个组成部分可以集成到一个芯片中,也可以设置到不同的芯片或电路板中,这些芯片或电路板之间建立数据通信的链路。
该数据拆分存算一体版图结构包括:相邻设置的至少两个存算一体模块,至少两个存算一体模块中的存算一体模块由上述图1对应实施例描述的存算一体版图结构构成。如图4所示,其示出了两个存算一体模块的情况,包括第一存算一体模块401和第二存算一体模块402。
在本实施例中,至少两个存算一体模块分别包括的加法器阵列相邻设置。如图4所示,第一存算一体模块401和第二存算一体模块402分别包括的第二版图区4011和4021(由加法器阵列构成)相邻设置。这里,相邻设置是指两个存算一体模块紧密接触,即两个存算一体模块包含公共的边界,两个存算一体模块之间除必要的连接线以外,不存在其他元器件。存算一体模块之间的距离尽量小,但大于等于芯片部件所允许的最小距离。
至少两个存算一体模块分别包括的存储计算单元阵列中的存储计算单元一一对应,且相对应的存储计算单元用于存储同一个多比特数据的不同比特位。如图4所示,第一存算一体模块401和第二存算一体模块402分别包括的第一版图区(由存储计算单元阵列构成)4012和4022的同一行存储同一个多比特数据的不同比特位。例如,4022中的存储计算单元存储低四位,4012中的存储计算单元存储高四位。在运算时,第二版图区(由加法器阵列构成)4011和4021分别输出高四位对应的求和结果和低四位对应的求和结果。进一步对两个求和结果进行加权求和,得到多个8比特数据的求和结果。
需要说明的是,图4所示的是包括两个存算一体模块的情况,存算一体模块的数量可以根据需要任意设置。例如三个、四个等。
本公开的上述实施例提供的数据拆分存算一体版图结构,通过在芯片版图中设置至少两个存算一体模块,将同一数据包含的比特位存储在至少两个存储计算单元阵列内相对应的存储计算单元中,至少两个存算一体模块包括的加法器阵列相邻设置,从而可以灵活地对存储的数据的位数进行扩展,在进行多位数据运算时,避免了现有的架构在进行多位数据运算时,因存储计算单元包含的单比特存储计算子单元的数量较多导致的走线路径复杂,节约了因走线路径复杂占据的面积,提高了芯片的集成度。
在一些可选的实现方式中,如图4所示,该数据拆分存算一体版图结构还包括由移位累加器构成的移位累加版图区,所述移位累加版图区与所述至少两个存算一体模块分别包括的第二版图区相邻设置。移位累加器用于根据至少两个存算一体模块分别对应的权重,将至少两个存算一体模块各自包括的加法器阵列输出的数值进行移位累加,得到累加结果。
作为示例,图4中的两个第二版图区4011和4021包括的加法器阵列分别输出高四位对应的求和结果和低四位对应的求和结果。则4011输出的求和结果可以左移四位,再与4021输出的求和结果相加,得到多个8比特数据的求和结果。
需要说明的是,本实施例中的移位累加器可以与上述图2所示的移位累加器合并,即移位累加器可以在实现图2对应实施例的功能的基础上,进一步计算多个存算一体模块保存的多位数据的累加结果。
本实现方式通过在数据拆分存算一体版图结构中设置移位累加版图区,可以对各个存算一体模块分别得到的求和结果进行移位累加,得到多位数据的累加结果,从而实现了灵活地对存内计算的数据的比特位数进行扩展,同时将移位累加版图区与至少两个存算一体模块分别包括的加法器阵列相邻设置,进一步缩短了加法器阵列输出的数据的传送距离,从而进一步提高了版图的面积使用率,提高了存内运算的效率,降低了功耗。
本公开的实施例还提供了一种芯片,芯片上集成了存算一体版图结构或数据拆分存算一体版图结构,存算一体版图结构的技术细节如图1-图3和相关描述所示,数据拆分存算一体版图结构的技术细节如图4和相关描述所示,此处不再展开描述。
本公开的实施例还提供了一种计算装置,该计算装置包括上述实施例描述的芯片。此外,该计算装置还可以包括输入装置、输出装置以及必要的存储器等。其中,输入装置可以包括诸如鼠标、键盘、触控屏、通信网络连接器等,用于输入存储计算单元阵列中的数据等。输出装置可以包括诸如显示器、打印机、以及通信网络及其所连接的远程输出设备等等,用于输出求和结果等数据。存储器用于存储上述输入装置输入的数据,以及计算装置运行过程中产生的数据。存储器可以包括易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的存算一体版图结构。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的存算一体版图结构。用于存算一体版图结构中的方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的存算一体版图结构的功能的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的存算一体版图结构的功能的程序的记录介质。
还需要指出的是,在本公开的存算一体版图结构中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种存算一体版图结构,包括:第一版图区和第二版图区,其中,所述第一版图区由存储计算单元阵列构成,所述第二版图区由加法器阵列构成,所述第一版图区和所述第二版图区相邻设置;
所述存储计算单元阵列包括第一预设数量个存储计算单元组,每个存储计算单元组包括至少两个存储计算单元,每个存储计算单元包括第二预设数量个单比特存储计算子单元;
所述加法器阵列包括第三预设数量个加法器组,所述第三预设数量个加法器组通过级联的方式依次连接,且所述第三预设数量个加法器组中的第一级加法器组包括的加法器的输入端分别与相邻的存储计算单元组连接。
2.根据权利要求1所述的存算一体版图结构,其中,所述第三预设数量个加法器组中的第一级加法器组包括的加法器分别与对应的存储计算单元相邻且对齐排布。
3.根据权利要求1所述的存算一体版图结构,其中,所述存算一体版图结构还包括第三版图区,所述第三版图区由数据输入单元阵列构成,所述第三版图区和所述第一版图区相邻设置,所述存储计算单元阵列包括的存储计算单元与所述数据输入单元阵列包括的数据输入单元一一对应,且相对应的存储计算单元和数据输入单元相邻设置并互相连接;
所述数据输入单元阵列中的数据输入单元用于将多比特的输入数据包括的比特位依次输入对应的存储计算单元。
4.根据权利要求3所述的存算一体版图结构,其中,所述数据输入单元阵列包括的数据输入单元分别与对应的存储计算单元相邻且对齐排布。
5.根据权利要求3所述的存算一体版图结构,其中,所述存储计算单元阵列中的存储计算单元分别包括的单比特存储计算子单元包括单比特存储器和单比特乘法器,所述单比特乘法器用于将对应的单比特存储器中的数据和对应的数据输入单元输入的数据相乘。
6.根据权利要求3所述的存算一体版图结构,其中,所述存算一体版图结构还包括第四版图区,所述第四版图区由移位累加器构成,所述第四版图区与所述第二版图区相邻设置,所述移位累加器用于对所述加法器阵列先后输出的至少两个数值进行相应位数的移位以及累加,得到乘加结果。
7.一种数据拆分存算一体版图结构,包括:相邻设置的至少两个存算一体模块,所述至少两个存算一体模块中的存算一体模块由权利要求1-6任一项所述的存算一体版图结构构成;
所述至少两个存算一体模块分别包括的第二版图区相邻设置;
所述至少两个存算一体模块分别包括的存储计算单元阵列中的存储计算单元一一对应,且相对应的存储计算单元用于存储同一个多比特数据的不同比特位。
8.根据权利要求7所述的数据拆分存算一体版图结构,其中,所述数据拆分存算一体版图结构还包括由移位累加器构成的移位累加版图区,所述移位累加版图区与所述至少两个存算一体模块分别包括的第二版图区相邻设置,所述移位累加器用于根据所述至少两个存算一体模块分别对应的权重,将所述至少两个存算一体模块各自包括的加法器阵列输出的数值进行移位累加,得到累加结果。
9.一种芯片,其特征在于,包括根据权利要求1-8中任一项所述的存算一体版图结构。
10.一种计算装置,其特征在于,包括根据权利要求9所述的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111089338.5A CN113743046B (zh) | 2021-09-16 | 2021-09-16 | 存算一体版图结构和数据拆分存算一体版图结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111089338.5A CN113743046B (zh) | 2021-09-16 | 2021-09-16 | 存算一体版图结构和数据拆分存算一体版图结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113743046A true CN113743046A (zh) | 2021-12-03 |
CN113743046B CN113743046B (zh) | 2024-05-07 |
Family
ID=78739475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111089338.5A Active CN113743046B (zh) | 2021-09-16 | 2021-09-16 | 存算一体版图结构和数据拆分存算一体版图结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113743046B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906735A (zh) * | 2023-01-06 | 2023-04-04 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766309A (zh) * | 2018-12-29 | 2019-05-17 | 北京航空航天大学 | 自旋存算一体芯片 |
CN210142511U (zh) * | 2019-08-06 | 2020-03-13 | 北京知存科技有限公司 | 用于存储单元阵列的读出单元以及包括其的存算一体芯片 |
CN111126579A (zh) * | 2019-11-05 | 2020-05-08 | 复旦大学 | 一种适用于二值卷积神经网络计算的存内计算装置 |
KR20200103262A (ko) * | 2019-02-25 | 2020-09-02 | 연세대학교 산학협력단 | 비트라인의 전하 공유에 기반하는 cim 장치 및 그 동작 방법 |
CN112151095A (zh) * | 2019-06-26 | 2020-12-29 | 北京知存科技有限公司 | 存算一体芯片、存储单元阵列结构 |
US20210089390A1 (en) * | 2019-09-23 | 2021-03-25 | SK Hynix Inc. | Processing-in-memory (pim) devices |
CN112711394A (zh) * | 2021-03-26 | 2021-04-27 | 南京后摩智能科技有限公司 | 基于数字域存内计算的电路 |
CN113035251A (zh) * | 2021-05-21 | 2021-06-25 | 中科院微电子研究所南京智能技术研究院 | 一种数字存内计算阵列装置 |
-
2021
- 2021-09-16 CN CN202111089338.5A patent/CN113743046B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766309A (zh) * | 2018-12-29 | 2019-05-17 | 北京航空航天大学 | 自旋存算一体芯片 |
KR20200103262A (ko) * | 2019-02-25 | 2020-09-02 | 연세대학교 산학협력단 | 비트라인의 전하 공유에 기반하는 cim 장치 및 그 동작 방법 |
CN112151095A (zh) * | 2019-06-26 | 2020-12-29 | 北京知存科技有限公司 | 存算一体芯片、存储单元阵列结构 |
CN210142511U (zh) * | 2019-08-06 | 2020-03-13 | 北京知存科技有限公司 | 用于存储单元阵列的读出单元以及包括其的存算一体芯片 |
US20210089390A1 (en) * | 2019-09-23 | 2021-03-25 | SK Hynix Inc. | Processing-in-memory (pim) devices |
CN111126579A (zh) * | 2019-11-05 | 2020-05-08 | 复旦大学 | 一种适用于二值卷积神经网络计算的存内计算装置 |
CN112711394A (zh) * | 2021-03-26 | 2021-04-27 | 南京后摩智能科技有限公司 | 基于数字域存内计算的电路 |
CN113035251A (zh) * | 2021-05-21 | 2021-06-25 | 中科院微电子研究所南京智能技术研究院 | 一种数字存内计算阵列装置 |
Non-Patent Citations (2)
Title |
---|
HOANG ANH DU NGUYEN等: "Computation-in-memory based parallel adder", 《IEEE INTERNATIONAL SYMPOSIUM ON NANOSCALE ARCHITECTURES》, pages 57 - 62 * |
司鑫: "面向人工智能的嵌入式储存器及存内计算电路设计", 《信息科技辑》, no. 3, pages 137 - 2 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906735A (zh) * | 2023-01-06 | 2023-04-04 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
CN115906735B (zh) * | 2023-01-06 | 2023-05-05 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113743046B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111684473B (zh) | 提高神经网络阵列的性能 | |
US8051124B2 (en) | High speed and efficient matrix multiplication hardware module | |
CN110705703B (zh) | 基于脉动阵列的稀疏神经网络处理器 | |
CN110543939B (zh) | 一种基于fpga的卷积神经网络后向训练的硬件加速实现装置 | |
CN113419705A (zh) | 存内乘加计算电路、芯片、计算装置 | |
US11934798B2 (en) | Counter-based multiplication using processing in memory | |
CN111985602A (zh) | 神经网络计算设备、方法以及计算设备 | |
WO2023065983A1 (zh) | 计算装置、神经网络处理设备、芯片及处理数据的方法 | |
Chen et al. | A matrix-multiply unit for posits in reconfigurable logic leveraging (open) CAPI | |
CN113885831A (zh) | 基于混合数据输入的存算一体电路、芯片及计算装置 | |
US9933998B2 (en) | Methods and apparatuses for performing multiplication | |
CN113743046B (zh) | 存算一体版图结构和数据拆分存算一体版图结构 | |
CN109598335B (zh) | 一种二维卷积脉动阵列结构及实现方法 | |
JPH06502265A (ja) | 信号処理におけるマトリクス演算の計算回路装置 | |
CN111610963B (zh) | 芯片结构及其乘加计算引擎 | |
JP2024028901A (ja) | ハードウェアにおけるスパース行列乗算 | |
US20230253032A1 (en) | In-memory computation device and in-memory computation method to perform multiplication operation in memory cell array according to bit orders | |
WO2021168644A1 (zh) | 数据处理装置、电子设备和数据处理方法 | |
CN110766136B (zh) | 一种稀疏矩阵与向量的压缩方法 | |
CN110795062A (zh) | 一种基于忆阻器阵列的半加器、全加器及乘法器 | |
CN115495152A (zh) | 变长输入的存内计算电路 | |
CN114063975A (zh) | 一种基于sram存内计算阵列的计算系统及方法 | |
Mandal et al. | A comparative study of Arithmetic Multipliers | |
CN111832717B (zh) | 芯片及用于卷积计算的处理装置 | |
CN115756388B (zh) | 多模式存算一体电路、芯片及计算装置 |
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 |