基于多比特非易失存储器的并行逻辑运算方法及全加器与流程

文档序号:23094336发布日期:2020-11-27 12:52阅读:191来源:国知局
基于多比特非易失存储器的并行逻辑运算方法及全加器与流程

本发明涉及存算一体技术领域,更具体地说,涉及一种基于多比特非易失存储器实现并行逻辑运算的方法,以及基于此方法设计的全加器。



背景技术:

在大数据时代,海量数据的低能耗、高效率存储及处理是促进未来人工智能、物联网等技术发展的关键之一。然而,现代计算机采用数据存储和处理相分离的架构,需要数据在不同存储器和处理器之间转移,因而带来额外的延时和能耗,被称为“冯·诺依曼瓶颈”。存内计算技术,即在存储器内实现数据运算的技术,被认为是突破这一瓶颈的有效途径。

在现代计算机中,逻辑运算单元由cmos晶体管构成,其基于布尔逻辑进行运算都是借助电平逻辑来执行,也就是二进制0、1逻辑分别用高低电平来表征。然而,这些传统的数字运算单元的数据是易失的,且数据需通过对运算单元以外的存储单元进行访存而获得,进而导致计算的带宽受限且耗时耗能。最近,人们基于非易失存储器开发了存内逻辑运算的方法,但仍然基于1比特存储器实现布尔逻辑,因此需要较多的存储器件数和较为繁杂的操作步骤。



技术实现要素:

为解决以上问题,利用非易失存储器的存储状态表示不同的逻辑状态,可实现存算一体的非易失逻辑运算功能。此外,存储器的多比特存储能力有望用于开发高效的并行逻辑运算。

有鉴于此,本发明提供了一种基于多比特非易失存储器的并行逻辑运算方法及加法器,有效解决现有技术存在的问题,提高处理器运算效率。

为实现上述目的,本发明提供的技术方案如下:一种基于多比特非易失存储器的并行逻辑运算方法,包括如下步骤:

输入非易失存储器预设的非易失初始存储状态,并在非易失存储器两端分别施加不同的输入电平;所述输入电平由多路复用器通过控制端的逻辑值决定;

基于非易失存储器多比特状态在不同输入电平下的转换规则,获得的器件非易失存储状态对应的逻辑数值作为输出,其中所述的逻辑数值为同时进行多套逻辑运算得到的多套输出。

进一步的,所述非易失存储器包括多比特非易失存储器,具有多比特非易失存储能力,不同存储状态之间根据两端电压能够相互转换。

进一步的,所述多比特存储器包括铁电阻变式存储器、阻变存储器、相变存储器以及磁存储器。

进一步的,并行逻辑运算方法基于存储器预设的非易失初始存储状态和分别施加于存储器两端的不同的电平,利用1个多比特存储器在包括初始化和逻辑运算的两步操作下完成16种完备的布尔逻辑功能。

进一步的,逻辑运算结果原位保存在多比特非易失存储器中。

进一步的,所述多比特存储器为m比特存储器,m大于等于2,相应的,通过m比特逻辑运算方法同时完成m套逻辑运算。

进一步的,所述多比特存储器为2比特存储器时,运算规则为对应cd/ef输入决定的电平加在存储器上,使初始的存储状态ab转变为新的存储状态a′b′作为逻辑输出。其中,a、b、c、d、e、f、a′、b′为1比特逻辑值,为二进制逻辑值0或1之一;相应地,所述ab、cd、ef、a′b′为2比特逻辑值,定义为2比特逻辑值00、01、10、11之一。

4种电平输入v00、v01、v10、v11由多路复用器通过控制端cd/ef的输入来决定,所述cd或ef的逻辑值定义为二进制的00、01、10、11之一;

输入的非易失存储状态ab对应4种不同的非易失存储状态,在逻辑运算之前进行初始化得到,所述ab定义为二进制的00、01、10、11之一;

由cd/ef决定的电平信号施加在非易失存储器上,存储状态由初始化的ab变为逻辑运算之后的a′b′作为逻辑输出;

所述逻辑运算方法同时完成两套逻辑运算。

进一步的,所述多比特存储器为2比特存储器时,针对预定的输入电平:v00、v01、v10、v11,输出a′、b′两套逻辑表达式:

不同的电平设置,能够生成不同的a′、b′表达式。因此,可根据具体的计算需求灵活设定电平,从而实现不同的逻辑功能输出。

根据本发明的另一方面,提出一种基于并行逻辑运算的全加器,所述全加器包括:

3个多比特非易失存储器件,即器件i、器件ii、器件iii;所述多比特存储器为2比特存储器时,每个器件分别包括二进制逻辑电平输入端cd、ef、存储的状态ab,以及输出a′b′;

全加器输入为被加数ai、加数bi,以及进位ci,分别对应器件ⅰ的e,f和器件ⅱ的e;输出为和si以及进位ci+1分别对应器件ⅱ的输出b′和器件ⅲ的输出b′。

多路复用器通过每个器件控制端cd/ef的输入来选择相应电平信号输入,实现并行运算;

对3个多比特存储器并行操作3n+2步,实现n位全加器的功能。

进一步的,多比特存储器并行实现“与”和“异或”的逻辑功能,并能实现“或”的逻辑功能。

有益效果:

相较于现有技术,本发明提供的技术方案至少具有以下优点:

本发明提出的基于多比特存储器实现并行逻辑运算的方法及加法器,操作简单,具有高效的逻辑运算能力,适用于任何具有多比特存储能力的非易失存储器,仅需1个多比特存储器即可在两步操作下实现16种完备的布尔逻辑功能,并可以原位存储逻辑运算结果,大大缓解数据在存储单元和处理单元之间不断传输带来的额外延时和能耗问题。此外,基于此方法设计的n位全加器具有高效的并行运算能力,仅需3个存储器进行3n+2步操作即可实现加法运算,运算结果原位保存在相应的存储器中。相较于传统cmos的1位全加器需要28个晶体管,该发明设计的1位全加器只需要3个存储器。

附图说明

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

图1为本发明实施例提供的一种基于2比特铁电隧道结阻变非易失存储器进行并行逻辑运算的结构示意图;

图2为本发明实施例提供的在脉冲电压脉宽为td=10ns下,铁电隧道结电阻随外加脉冲电压变化的变化曲线;

图3为本发明实施例提供的在脉冲电压脉宽为td=10ns下,施加不同脉冲电压得到的4个可分辨的非易失电阻状态及阻态转换特性;

图4为本发明实施例提供的在脉冲电压脉宽为td=10ns下,不同电阻状态之间转换重复性测试;

图5为本发明实施例提供的在一个2比特存储器中实现的4个可分辨的电阻状态的保持特性;

图6为本发明实施例提供的在一个2比特存储器中4个存储状态之间相互转换示意图;

图7为本发明实施例提供的卡诺图推导逻辑输出a′;

图8为本发明实施例提供的卡诺图推导逻辑输出b′;

图9为本发明实施例提供的基于三个2比特存储器件实现n位全加器功能的结构示意图。

具体实施方式

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

正如背景技术所述,在现代计算机中,逻辑运算单元由cmos晶体管构成,其布尔逻辑运算都是借助电平逻辑来执行,也就是二进制0、1逻辑分别用高低电平来表示。然而,传统的数字运算单元伴随着数据易失性,且数据获得和结果保存需通过对运算单元以外的存储单元进行访存,进而导致计算耗时耗能。本发明提供了一种基于多比特非易失存储器的并行逻辑运算方法及加法器,有效解决现有技术存在的问题,提高处理器运算效率。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面具体结合图1至图9对本发明提供的技术方案进行详细的描述。

传统的1比特非易失存储器逻辑运算,输入c/d为0或1,代表两种不同的电平输入,输入a为0或1,代表存储器初始化的存储状态,输出a′为0或1,代表存储器经过逻辑运算之后的存储状态。

参考图1所示,为本发明实施例提供的一种基于2比特存储器实现逻辑运算的示意图,2比特非易失存储器为具有2比特存储能力(存储态ab为00、01、10、11)的非易失存储器,如铁电阻变式存储器、阻变存储器、相变存储器以及磁存储器等。其中,多路复用器(multiplexer,简称mux)通过控制端信号cd/ef来选择相应的电平信号(v00、v01、v10、v11),分别输入(00、01、10、11)信息。

针对本发明提出的多比特非易失存储器的逻辑运算方法,以2比特为例,4种电平输入(v00、v01、v10、v11)由多路复用器(mux)通过控制端cd/ef(定义为00、01、10、11)的输入来决定。输入的器件非易失存储状态ab(定义为00、01、10、11)对应4种不同的非易失存储状态,在逻辑运算之前进行初始化得到。由cd/ef决定的电平信号施加在非易失存储器上,存储状态由初始化的ab变为逻辑运算之后的a′b′作为逻辑输出。可以看出,相较于传统的1比特,2比特逻辑运算方法可同时完成两套逻辑运算。相应的m比特逻辑运算方法可同时完成m套逻辑运算。

为了验证效果,本申请实施例公开的技术方案中以2比特铁电隧道结非易失存储器为例进行了具体测试,在具体实验时,以2比特ag/batio3/nb:srtio3铁电隧道结阻变存储器为例,ab代表存储器存储状态输入,cd、ef代表电平输入,对应的逻辑输出a′b′为操作后的存储器存储状态,参见图1。

参考图2所示,为本发明实施例提供的在脉冲电压脉宽为td=10ns下,铁电隧道结电阻随外加脉冲电压的变化曲线;可知,施加脉冲电压脉宽为td=10ns,电压扫描顺序为0v→vpmax-→vpmax+→0v,其中负向最大脉冲电压vpmax-幅值为-3.4v,正向最大脉冲电压vpmax+=+2.5v,每个电阻值是在电压脉冲撤掉之后用0.1v的电压测量得到。通过施加不同幅度的脉冲电压实现不同的铁电极化状态,从而得到多个电阻存储状态。

参考图3所示,为本发明实施例提供的在脉冲电压脉宽为td=10ns下,施加不同脉冲电压得到的4个可分辨的电阻状态及阻态转换特性;此处将2比特存储状态ab、a'b'按图3所示的阻态从高到低分别定义为(00)、(01)、(10)和(11)。可知,固定正向脉冲电压+2.5v,施加脉宽为td=10ns不同幅值的负向脉冲(-2.4v、-2.8v、-3.4v),在电压脉冲撤掉之后用0.1v的直流电压测量得到不同的非易失电阻状态,且电阻状态之间可相互转换。

参考图4所示,为本发明实施例提供的在脉冲电压脉宽为td=10ns下,不同电阻状态之间的重复性转换测试。电阻状态之间转换可实现108-109次的可重复转换。

参考图5所示,为本发明实施例提供的在一个2比特存储器中实现的4个可分辨的非易失电阻状态的保持特性。基于图3所示,4个电阻状态可稳定保持至少104秒,可实现2比特非易失电阻状态。

参考图6所示,为本发明实施例提供的2比特存储器中4个存储状态之间的相互转换示意图;以存储状态(00)和(11)之间转换为例,从图3可以看出当存储器上下电极电平差为+2.4v时,初始存储状态(00)转变为(11),相应的,当存储器上下电极电平差为-3.4v时,初始存储状态(11)转变为(00)。其他存储状态之间的相互转换可根据同样的原理参考图2和图3得出。可见,根据相应的电压配置可实现2比特存储状态之间相互转换。

定义cd、ef为(00)、(01)、(10)和(11)时对应的电平输入v00、v01、v10、v11分别为-2.8v、0v、1.8v和1.8v。根据存储器阻态之间转换的规则(参考图6),由输入cd/ef决定的加在存储器上的电平信号即可使存储器初始状态ab变为运算之后的状态a′b′的值作为逻辑输出。基于以上配置,图7和图8分别展示了a′和b′逻辑函数的卡诺图,可推导出逻辑输出a′、b′两套逻辑表达式:

参考表1所示,为本发明实施例提供的利用一个2比特存储器的逻辑输出a′b′分别并行实现与(and)、或(or)、非(not)、异或(xor)等16种完备布尔逻辑功能的10种操作,表1仅展示了布尔逻辑的部分组合情况。

以操作2用以实现假(false)、或(or)并行逻辑为例,初始条件设定为a=f=0,b=e=1,第一步操作为:将存储器初始状态ab设到相应的(01)存储状态,第2步操作为:存储器下电极输入ef=10所对应的电平信号v10。存储器上端电极输入cd作为逻辑输入,为(00),(01),(10)或(11)所对应设定的不同电平信号v00、v01、v10、v11,由方程(1)和(2)可以推出a′=0,即实现了假(false)操作,b′=c+d,即实现了或(or)操作。可见,在一个2比特存储器中,逻辑输出a′b′在包括初始化和逻辑运算的两步操作下实现了16种完备的布尔逻辑功能。可见,a′b′并行同时完成两种不同的逻辑操作,为逻辑操作的高效执行提供了可能。

表1

以上为基于2比特存储器的逻辑运算方法的实施例,对于更多比特存储器可以在此基础上进行扩展,比如3比特存储器的逻辑运算方法,存储器上/下端输入jkl/xyz可定义为(000)、(001)、(010)、(011)、(100)、(101)、(110)和(111)8个状态,分别对应8种电平的输入。输入的初始化存储状态abc可定义为(000)、(001)、(010)、(011)、(100)、(101)、(110)和(111),分别对应8种非易失存储状态,相应的逻辑输出为实施逻辑运算后的存储器状态a′b′c′。更多比特数的非易失存储器可用来实现更复杂的多比特逻辑运算。

参考图9所示,为本发明实施例提供的基于三个2比特存储器件实现n位全加器功能的结构示意图;其中,2比特存储器可并行实现“与”和“异或”的逻辑功能,并能实现“或”的逻辑功能;多路复用器(mux)通过控制端cd/ef的输入来选择相应电平信号施加于存储器件。可知,全加器输入为被加数ai、加数bi,以及进位ci,输出为和si以及进位ci+1,其中si=ai⊕bi⊕ci,ci+1=aibi+(ai⊕bi)ci。这种结构具有高效的并行运算能力,实现n位全加器的功能只需要(3n+2)个操作步骤。表2为本发明实施例提供的基于图9所示的全加器结构实现1位全加器的数据流及操作步骤细节。

表2

从表2可以看出,在1位全加器(n=1)中,3个存储器件仅需要操作包括初始化,逻辑运算,结果读取在内的3n+2=5个步骤即可完成。全加器输入为被加数ai、加数bi,以及进位ci,分别对应存储器件ⅰ的e,f和存储器件ⅱ的e。输出为和si以及进位ci+1分别对应存储器件ⅱ的输出b′和存储器件ⅲ的输出b′。

相较于传统cmos的1位全加器需要28个晶体管,本发明设计的1位全加器只需要3个存储器件并行操作5步即可完成。计算结果原位存在相应的存储器中。

以上对本发明所提供的一种基于多比特非易失存储器的并行逻辑运算方法及加法器设计进行了详细介绍。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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