一种基于忆阻器阵列的半加器、全加器及乘法器的制作方法

文档序号:19942718发布日期:2020-02-14 23:23阅读:538来源:国知局
技术简介:
本发明针对传统冯·诺依曼架构计算能耗高、卷积运算频繁调用数据的问题,提出基于忆阻器-CMOS混合电路的乘法内核方案。通过将乘法输入存储于忆阻器阵列,在存储网络中完成部分运算,结合CMOS电路减少数据调用和竞争冒险,实现能耗降低。该方案利用忆阻器阻值状态构建加法器,优化了Wallace-tree乘法器结构,显著提升能效。
关键词:忆阻器乘法器,低功耗计算

本发明涉及忆阻器技术领域,更具体的说是涉及一种基于忆阻器阵列的半加器、全加器及乘法器。



背景技术:

人类社会正处于从信息社会到智能化社会的转折点,人工智能将从根本上改变我们的生活方式。近年来,随着大数据和深度学习的成功应用,语音识别、人脸识别、知识搜索、智能驾驶等领域的计算智能化程度迅速提高,相关研究和应用受到空前关注。背后的推手之一是不断提升的计算能力,在过去的40多年里,随着集成电路工艺和设计的进步,处理器的处理能力提升了将近千亿倍。然而,与计算能力提升随之而来的是能量消耗的急剧增长。低功耗一直是处理器设计的核心关键问题。虽然单次运算的能耗随着工艺和设计的进步也在降低,然而降低的速度远远跟不上计算能力需求增长的速度。2016年,我国数据中心的耗电量已经占到了全国用电总量的1.8%以上,年增长率超过15%。随着全社会数据总量的快速增长,计算能耗已经成了智能化社会的关键瓶颈,解决数据计算的能耗问题迫在眉睫。

传统的数字计算机都是基于冯洛伊曼结构,它的数据存放在专用的存储单元里面,在计算的时候依次调用。频繁的数据调用和存储消耗了大量的功耗。与之对比,生物突触本身就具有存储和运算的双重功能,因此非常的高能效。因此,借鉴生物神经计算存储与计算融合的特点,针对人工智能领域广泛应用的深度学习卷积神经网,基于忆阻器-cmos混合工艺,设计专用的低功耗计算硬件。

卷积运算在深度学习神经网络中使用频度最高,其运算具有核平移不变特点。卷积执行的其实是数学上的矩阵乘加运算。以卷积核为模板,跟输入数据中选出的一小块进行卷积运算。卷积核具有平移不变性的特征,在输入数据矩阵上进行横向和纵向的平移,每次平移一格(与上次的输入数据有重叠),直到完成整个输入图片的覆盖,产生大量数据输出。卷积运算占据了卷积神经网的运算的绝大部分,它的能耗决定了整体的能耗水平。

卷积核的平移不变特性意味着权重数据不需要频繁更新,实际上,一个特定的卷积核不仅需要处理一整张图片,甚至还需要处理海量的图片。因此,存储计算融合的方案能够极大的降低卷积计算的功耗。

忆阻器是一种新型的电阻特性可编程的器件,是最近的研究热点,忆阻器的加工工艺可以跟cmos兼容。

因此,如何利用忆阻器提供一种降低整体能耗的忆阻器-cmos混合乘法内核电路是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种降低整体能耗的忆阻器-cmos混合乘法内核电路,可以将乘法的其中一个输入存储在忆阻器网络中,并在存储器网络中完成一部分运算,另外一部分运算通过cmos电路完成,以此减少一半的数据频繁调用,并且通过减少运算过程中的竞争历险来进一步降低cmos电路部分的功耗,可以大大降低整体的能耗。

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

一种忆阻器阵列,包括:金属线和忆阻器;所述金属线横竖交叉设置;两两交叉处设置有忆阻器;根据所述忆阻器的阻值的“相对高低”,判断金属线的通断;根据所述忆阻器的阻值状态构成加法器。

优选的,在上述一种忆阻器阵列中,所述加法器包括:7*4忆阻器阵列;其中,五条横金属线作为输入,两条金属线分别是输出和、输出进位;忆阻器1-1和忆阻器2-1、忆阻器3-2和忆阻器4-2、忆阻器4-3和忆阻器5-3、忆阻器6-1和忆阻器6-2、忆阻器7-3和忆阻器7-4,其中每组忆阻器一个为高阻状态,另一个为低阻状态;忆阻器4-4为低阻状态;其余忆阻器为高阻状态。

优选的,在上述一种忆阻器阵列中,所述加法器包括全加器和半加器;加数和被加数为输入,输出和与输出进位为输出构成半加器;加数、被加数与低位的输出进位为输入,输出和与输出进位为输出构成全加器。

一种乘法器,包括以乘数与被乘数每一位的积作为输入,所述半加器的输出和作为低位输出或作为下一级全加器的输入,输出进位作为高位全加器的输入;所述全加器的输出和作为输出或下一级全加器的输入,输出进位作为高位全加器的输入。

优选的,在上述一种乘法器阵列中,以所述乘数与所述被乘数的每一位作为输入,经过与门电路,得到积的形式。

优选的,在上述一种乘法器阵列中,所述全加器包括cmos全加器和忆阻器阵列构成的全加器。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种忆阻器-cmos混合乘法内核电路,可以将乘法的其中一个输入存储在忆阻器网络中,并在存储器网络中完成一部分运算,另外一部分运算通过cmos电路完成,以此减少一半的数据频繁调用,并且通过减少运算过程中的竞争历险来进一步降低cmos电路部分的功耗,可以大大降低整体的能耗。

本发明与现有技术相比,技术效果在于:

1:运算时间:相比起传统的wallace-tree数字乘法器架构,本发明削减了y的数据调度时间,将总的数据调度时间减半。其次,本发明的开关网络半加器和全加器,开关网络由于寄生电容极小,运算时间可以忽略不计,可以将整个加法器单元的运算时间削减80%以上,相当于将整个乘法器单元的关键路径延时削减13%左右。

2:运算功耗:本发明将wallace-tree乘法器中cmos加法器(包括全加器和半加器)的书面减少了5/12。从减少竞争历险的角度,开关网络加法器运算速度极快,避免了后续环节的加法器由于输入数据的不稳定导致的竞争历险,进一步减少该因素消耗的额外功耗。

附图说明

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

图1附图为本发明的wallace-tree数字乘法器示意图;

图2附图为本发明的半加器的开关网络示意图;

图3附图为本发明的全加器的开关网路示意图;

图4附图为本发明的传统的wallace-tree数字乘法器示意图。

具体实施方式

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

本发明实施例公开了一种忆阻器-cmos混合乘法内核电路,可以将乘法的其中一个输入存储在忆阻器网络中,并在存储器网络中完成一部分运算,另外一部分运算通过cmos电路完成,以此减少一半的数据频繁调用,并且通过减少运算过程中的竞争历险来进一步降低cmos电路部分的功耗,可以大大降低整体的能耗。

一种基于忆阻器阵列的半加器,半加器包括:7*4忆阻器阵列;7*4忆阻器阵列,包括:金属线和忆阻器;金属线横竖交叉设置;两两交叉处设置有忆阻器;根据忆阻器的阻值的相对高低,判断金属线的通断;根据忆阻器的阻值状态构成加法器;7*4忆阻器阵列五条横金属线作为输入,两条金属线分别是输出和、输出进位;忆阻器1-1和忆阻器2-1、忆阻器3-2和忆阻器4-2、忆阻器4-3和忆阻器5-3、忆阻器6-1和忆阻器6-2、忆阻器7-3和忆阻器7-4,其中每组忆阻器一个为高阻状态,另一个为低阻状态;忆阻器4-4为低阻状态;其余忆阻器为高阻状态。

为了进一步优化上述技术方案,半加器的结构与全加器的结构相同。

一种包含基于忆阻器阵列的半加器的乘法器,还包括cmos半加器和cmos全加器;半加器、cmos半加器和cmos全加器构成wallace-tree数字乘法器;以乘数与被乘数每一位的积作为输入,半加器的输出和作为低位输出或作为下一级全加器的输入,输出进位作为高位全加器的输入;全加器的输出和作为输出或下一级全加器的输入,输出进位作为高位全加器的输入。

一种包含基于忆阻器阵列的半加器的乘法器,其特征在于,还包括cmos全加器;半加器、全加器和cmos全加器构成wallace-tree数字乘法器;以乘数与被乘数每一位的积作为输入,半加器的输出和作为低位输出或作为下一级全加器的输入,输出进位作为高位全加器的输入;全加器的输出和作为输出或下一级全加器的输入,输出进位作为高位全加器的输入。

为了进一步优化上述技术方案,以乘数与被乘数的每一位作为输入,经过与门电路,得到积的形式。

如图2、3,通过以下规则设置忆阻器的阻值,使得该忆阻器阵列完成运算。其中,×号表示忆阻器始终保持高阻,横竖金属线断开;

黑点表示忆阻器始终保持低阻,横竖金属线连接;

圆圈和方块表示忆阻器的阻值根据yi的值来设置成互补的阻值(高和低),使得竖金属线选择性的与其中一条横金属线相连。

如图2所示,假设半加器输入为x1y1和x2y2,输出和:

输出进位:

如图3所示,输出和:

输出进位:

实施例1

如图4所示,为传统的wallace-tree数字乘法器,以4位乘以4位为例,分为第1级、第2级、输出级,以部分积为输入,部分积是通过乘数与被乘数的每一位经过与门电路得到;x0y0为个位z0;x0y1和x1y0作为第一cmos半加器的输入,输出和为十位z1,输出进位作为输出级百位的cmos全加器的输入;x0y2和x1y1作为第二cmos半加器的输入,输出和、x2y0、第一cmos半加器的输出进位共同作为百位的cmos全加器的输入,输出和为百位z2;x1y2和x0y3作为第三cmos半加器的输入;第三cmos半加器的输出和、x3y0、x2y1共同作为第2级千位的cmos全加器的输入;第2级千位的cmos全加器的输出和、第二cmos半加器的输出进位、输出级的百位cmos全加器的输出进位作为输出级千位cmos全加器的输入,输出和为千位z3;x2y2和x1y3作为第四cmos半加器的输入;第四cmos半加器的输出和、x3y1、第三cmos半加器的输出进位共同作为第2级万位cmos全加器的输入;第2级万位cmos全加器输出和、第2级千位cmos全加器的输出进位、输出级千位cmos全加器的输出进位作为输出级万位cmos全加器的输入,输出级万位cmos全加器的输出和为万位z4;x3y2、x2y3和第四cmos半加器的输出进位作为第2级十万位全加器(虚线部分)的输入;第2级十万位全加器的输出和、第2级万位cmos全加器的输出进位、输出级万位cmos全加器的输出进位作为输出级十万位cmos全加器的输入,输出和为十万位z5;x3y3、第2级十万位全加器的输出进位、输出级十万位cmos全加器的输出进位作为输出级百万cmos全加器的输入;输出级百万位cmos全加器的输出和为百万位z6,输出进位为千万位z7。

实施例2

在实施例1的基础上,将将第一cmos半加器、第二cmos半加器、第三cmos半加器、第四cmos半加器总的一个或多个改造为由忆阻器阵列构成的半加器。

实施例3

如图1所示,以4位乘以4位为例,分为第1级、第2级、输出级,以部分积为输入,部分积是通过乘数与被乘数的每一位经过与门电路得到;x0y0为个位z0;x0y1和x1y0作为第一半加器的输入,输出和为十位z1,输出进位作为输出级百位的cmos全加器的输入;x0y2和x1y1作为第二半加器的输入,输出和、x2y0、第一半加器的输出进位共同作为百位的cmos全加器的输入,输出和为百位z2;x1y2和x0y3作为第三半加器的输入;第三半加器的输出和、x3y0、x2y1共同作为第2级千位的cmos全加器的输入;第2级千位的cmos全加器的输出和、第二半加器的输出进位、输出级的百位cmos全加器的输出进位作为输出级千位cmos全加器的输入,输出和为千位z3;x2y2和x1y3作为第四半加器的输入;第四半加器的输出和、x3y1、第三半加器的输出进位共同作为第2级万位cmos全加器的输入;第2级万位cmos全加器输出和、第2级千位cmos全加器的输出进位、输出级千位cmos全加器的输出进位作为输出级万位cmos全加器的输入,输出级万位cmos全加器的输出和为万位z4;x3y2、x2y3和第四半加器的输出进位作为第一全加器(虚线部分)的输入;第一全加器的输出和、第2级万位cmos全加器的输出进位、输出级万位cmos全加器的输出进位作为输出级十万位cmos全加器的输入,输出和为十万位z5;x3y3、第一全加器的输出进位、输出级十万位cmos全加器的输出进位作为输出级百万cmos全加器的输入;输出级百万位cmos全加器的输出和为百万位z6,输出进位为千万位z7。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

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