一种基于随机计算原理的存内乘加计算架构芯片电路
未命名
08-05
阅读:98
评论:0
1.本公开属于信息技术领域和集成电路领域,具体涉及一种基于随机计算原理的存内乘加运算架构芯片电路。
背景技术:
2.随着信息时代的进步,图像处理、科学计算、机器学习、5g通信等领域都得到了快速发展。数据处理量和计算能耗的增加向传统的冯
·
诺伊曼(von
·
neumann)计算架构提出挑战。矩阵向量相乘(matrixvector multiplication,mvm),即乘加运算(multiplication andaccumulation,mac)在每个领域中都扮演着重要的角色。在传统计算架构中,乘加运算需要乘法器和加法器构成,且随着计算精度的上升,所需晶体管数量和电路面积能耗都在急剧增加。
3.随机计算(stochastic computing,sc)作为新型的计算范式逐渐受到人们的关注。不同于传统的二进制数据表示方式,随机计算中数据是通过由0和1比特构成的随机比特流中比特1的占比对数据进行表示。随机计算具有结构简单、容错率高、精度可调等优点。
4.现有的随机计算包括两部分:随机数发生器(rng)生成随机比特流和逻辑门进行计算。例如,通过与门(and gate)可以实现乘法运算,通过选通器(mux)可以实现部分加法运算,但是无法实现完整的乘加运算,因此使得随机计算的应用受到限制。因此,亟需一种基于随机计算原理的存内乘加运算架构的设计,来有效减少实现矩阵向量乘法所需的硬件和功耗代价。
技术实现要素:
5.针对现有技术中的不足,本公开的目的在于提供一种基于随机计算原理的存内乘加运算架构芯片电路,该电路通过计数单元对随机比特流进行计数,能够完善现有随机计算无法实现加法运算的不足,从而实现存内乘加运算。
6.为实现上述目的,本公开提供以下技术方案:
7.一种基于随机计算原理的存内乘加运算架构芯片电路,包括:
8.激励单元,用于产生激励信号;
9.随机数发生单元,用于在所述激励信号的激励下生成比特1具有特定占比的随机比特流;
10.与门逻辑单元,用于对具有特定占比的随机比特流进行随机乘法运算,并输出与随机乘法结果对应概率的随机比特流;
11.计数单元,用于对与门逻辑单元输出的随机比特流进行计数,以实现随机加法运算。
12.优选的,所述激励信号为电压激励或电流激励。
13.优选的,所述电压激励或电流激励包括但不限于方波、正弦波、三角波、梯形波、阶梯波、锯齿波和混合波中任意一种。
14.优选的,所述随机数发生单元包括如下任一:硅基、二维材料金属-氧化物半导体场效应晶体管和存储器。
15.优选的,通过调控激励信号的幅值大小和脉冲宽度以调整随机数发生单元所生成的随机比特流中比特1的占比。
16.优选的,所述计数单元包括第一计数器和第二计数器。
17.本公开还提供一种基于随机计算原理的存内乘加运算方法,包括如下步骤:
18.s100:激励生成比特1具有特定占比的随机比特流;
19.s200:对特定占比的随机比特流进行随机乘法运算,以输出与随机乘法结果对应概率的随机比特流;
20.s300:对与随机乘法结果对应概率的随机比特流进行计数,以实现随机加法运算。
21.本公开还提供一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如前所述的方法。
22.本公开还提供一种电子设备,包括:
23.存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,
24.所述处理器执行所述程序时实现如前所述的方法。
25.与现有技术相比,本公开带来的有益效果为:
26.1、相比于传统的随机计算通过选通器实现部分加法功能,本公开通过选用2个计数器实现随机加法运算,能够使得加法运算功能更加完善,利于加速实现乘加运算;
27.2、本公开中的与门单元和计数单元可以实现并行操作,随机比特流可以进行并行生成、并行乘法和并行加法运算,使得本公开中的随机乘加运算的可扩展性和并行性;
28.3、本公开中用计数器代替选通器实现随机计算,使得本公开所述电路结构简单、电路面积小、便于进行大规模集成,大大降低了随机计算的成本,在5g通信、机器学习、科学计算等信息技术领域具有良好的应用前景。
附图说明
29.图1为本公开一个实施例提供的一种基于随机计算原理的存内乘加计算架构芯片电路的结构示意图;
30.图2为本公开另一个实施例提供的一种基于随机计算原理的存内乘加计算架构芯片电路的随机乘加运算原理图;
31.图3为本公开另一个实施例提供的一种基于随机计算原理的存内乘加计算架构芯片电路的验证实例及结果示意图。
具体实施方式
32.下面将参照附图1至图3详细地描述本公开的具体实施例。虽然附图中显示了本公开的具体实施例,然而应当理解,可以通过各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
33.需要说明的是,在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可以理解,技术人员可能会用不同名词来称呼同一个组件。本说明书及权利
要求并不以名词的差异作为区分组件的方式,而是以组件在功能上的差异作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”或“包括”为一开放式用语,故应解释成“包含但不限定于”。说明书后续描述为实施本公开的较佳实施方式,然所述描述乃以说明书的一般原则为目的,并非用以限定本公开的范围。本公开的保护范围当视所附权利要求所界定者为准。
34.为便于对本公开实施例的理解,下面将结合附图以具体实施例为例做进一步的解释说明,且各个附图并不构成对本公开实施例的限定。
35.一个实施例中,如图1所示,本公开提供一种基于随机计算原理的存内乘加运算架构芯片电路,包括:
36.激励单元,用于产生激励信号;
37.随机数发生单元,用于在所述激励信号的激励下生成比特1具有特定占比的随机比特流;
38.与门逻辑单元,用于对随机数发生单元生成的随机比特流进行随机乘法运算,并输出与随机乘法结果对应概率的随机比特流;
39.计数单元,用于对与门逻辑单元输出的随机比特流进行计数,以实现随机加法运算。
40.另一个实施例中,所述激励信号为电压激励或电流激励。
41.本实施例中,激励单元向随机数发生单元施加激励信号,激励信号可以为电压激励信号或者电流激励信号。激励单元可以通过调控激励信号的幅值大小和脉冲宽度以改变随机数发生单元中随机响应次数,以调控随机比特流中比特1的占比。本实施例中,随机数发生单元优先采用电压激励作为激励信号,脉冲幅值为300~500mv,脉冲宽度取决于随即比特流长度。在该电压激励作用下,随机数发生单元以一定概率随机响应并生成不同占比的随机比特流。应理解的是,对于不同类型、不同工艺参数制备的电子器件,在上述激励电压作用下,产生的随机比特流会有所差异。
42.本实施例中,所施加的电压激励,脉冲幅值处于1mv到10v范围内,其脉冲宽度取决于随机比特流长度,该电压范围内,随机数发生单元可以正常工作并产生稳定的可调的随机比特流;所施加的电流激励,脉冲幅值处于1na到10ma范围内,其脉冲宽度取决于随机比特流长度,该电流范围内,随机数发生单元可以正常工作并产生稳定的可调的随机比特流。应理解的是,以上所述的随机数发生器的工作电压和工作电流范围都是本领域已知的,本公开不限于上述的电压范围和电流范围。另外,需要说明的是,所述电压激励或电流激励的波形包括但不限于方波、正弦波、三角波、梯形波、阶梯波、锯齿波和混合波中任意一种。
43.另一个实施例中,所述随机数发生单元包括如下任一:硅基、二维材料金属-氧化物半导体场效应晶体管和存储器。
44.本实施例中,随机数发生单元在电压脉冲或电流脉冲作用下,会发生不同概率的随机响应。例如,阻变存储器的随机开启,磁存储器的随机翻转,噪声的随机震荡等都可以作为可调占比的随机熵源。
45.随机数发生单元包括不限于硅基、二维材料的金属-氧化物半导体场效应晶体管(mosfet)和磁性随机存储器(mram)、阻变随机存储器(rram)、相变随机存储器(pcm)、铁电随机存储器(feram)等的新型存储器,本实施例优先选用磁性随机存储器。磁性随机存储器
为三明治结构,主要包括自由层、隧穿层和钉扎层。其中,自由层和钉扎层由铁磁材料构成,包括但不限于nife、cofe、cofeb等;隧穿层由非磁绝缘材料构成,包括但不限于mgo、al2o3、al2mgo4、zno、hfo2和tao2等。基于自旋转移矩(spin transfer torque,stt)的磁随机存储器(stt-mram),在自旋转移矩和热扰动的共同作用下,磁存储器会在高低阻态之间随机翻转。本实施例中,磁性存储器的低阻态为3kω,高阻态为6kω,器件结构为cofeb/mgo/cofeb,器件直径为60nm。
46.另一个实施例中,所述计数单元包括第一计数器和第二计数器。
47.本实施例中,第一计数器负责记录与门逻辑单元输出的随机比特流中比特1的数量,以实现随机加法运算;第二计数器负责记录与门逻辑单元输出的随机比特流的长度。
48.相比于传统的随机计算通过选通器实现部分加法功能,本公开通过选用2个计数器分别对比特1的数量和随机比特流的长度进行记录以实现随机加法运算,能够使得加法运算功能更加完善,利于加速实现乘加运算。
49.另一个实施例中,如图2所示,本公开还提供一种基于随机计算原理的存内乘加运算方法,包括如下步骤:
50.s100:根据乘加运算的元素值,调节激励信号脉冲幅值,以生成比特1具有特定占比的随机比特流;
51.s200:对比特1具有特定占比的随机比特流进行随机乘法运算,即对随机比特流进行按位与(and)操作,即只有两个输入比特都为1时,输出比特1,从而输出与随机乘法结果对应概率的随机比特流;
52.s300:对输出的与随机乘法结果对应概率的随机比特流进行计数,即记录随机比特流中比特1的数量,以实现随机加法运算,同时记录随机比特流的长度,并将比特1的数量除以随机比特流的长度,从而获得随机乘加运算结果。
53.下面,本公开结合附图对本公开所述方案的技术效果进行说明。
54.图3为本公开一种基于随机计算原理的存内乘加计算架构芯片电路的验证实例及结果,其中示例的乘加运算是0.86*0.39+0.14*0.22;理论的乘加结果为0.3662。可以看到基于本公开的实际乘加结果随着随机比特流长度的增大逐渐逼近理论乘加结果,当随机比特流长度为1000时,实际乘加结果为0.3800。体现出本公开一种基于随机计算原理的存内乘加计算架构芯片电路在实现乘加运算中可以在较短的随机比特流长度下实现较高的准确度。
55.另一个实施例中,本公开还提供一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如前所述的方法。
56.另一个实施例中,本公开还提供一种电子设备,包括:
57.存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,
58.所述处理器执行所述程序时实现如前所述的方法。
59.虽然上面参照示范性实施例描述了本发明,但是本发明的保护范围并不局限于上面描述的实施例。对本领域技术人员而言显而易见的是,在不脱离本发明的范围和思想的情况下,可以进行形式和细节上的各种变化和修改。本发明的范围仅由所附权利要求及其等价物定义。
技术特征:
1.一种基于随机计算原理的存内乘加运算架构芯片电路,包括:激励单元,用于产生激励信号;随机数发生单元,用于在所述激励信号的激励下生成比特1具有特定占比的随机比特流;与门逻辑单元,用于对具有特定占比的随机比特流进行随机乘法运算,并输出与随机乘法结果对应概率的随机比特流;计数单元,用于对与门逻辑单元输出的随机比特流进行计数,以实现随机加法运算。2.根据权利要求1所述的电路,其中,优选的,所述激励信号为电压激励或电流激励。3.根据权利要求2所述的电路,其中,所述电压激励的脉冲幅值为1mv到10v;所述电流激励的脉冲幅值为1na到10ma。4.根据权利要求1所述的电路,其中,所述电压激励或电流激励包括但不限于方波、正弦波、三角波、梯形波、阶梯波、锯齿波和混合波中任意一种。5.根据权利要求1所述的电路,其中,所述随机数发生单元包括如下任一:硅基、二维材料金属-氧化物半导体场效应晶体管和存储器。6.根据权利要求1所述的电路,其中,通过调控激励信号的幅值大小和脉冲宽度以调整随机数发生单元所生成的随机比特流中比特1的占比。7.根据权利要求1所述的电路,其中,所述计数单元包括第一计数器和第二计数器。8.一种基于随机计算原理的存内乘加运算方法,包括如下步骤:s100:激励生成比特1具有特定占比的随机比特流;s200:对特定占比的随机比特流进行随机乘法运算,以输出与随机乘法结果对应概率的随机比特流;s300:对与随机乘法结果对应概率的随机比特流进行计数,以实现随机加法运算。9.一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求8所述的方法。10.一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现权利要求8所述的方法。
技术总结
本公开揭示了一种基于随机计算原理的存内乘加运算架构芯片电路,包括:激励单元,用于产生激励信号;随机数发生单元,用于在所述激励信号的激励下生成具有特定占比的随机比特流;与门逻辑单元,用于对具有特定占比的随机比特流进行随机乘法运算,并输出与随机乘法结果对应概率的随机比特流;计数单元,用于对与门逻辑单元输出的随机比特流进行计数,以实现随机加法运算。本公开能够完善随机计算的加法功能,提高乘加运算的并行度和可扩展性,以较低的功耗得到准确的乘加运算结果。低的功耗得到准确的乘加运算结果。低的功耗得到准确的乘加运算结果。
技术研发人员:柴正 石光明 袁玺惠 简佳佳 闵泰
受保护的技术使用者:西安交通大学
技术研发日:2023.04.11
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
