CN110837354B - 基于三值逻辑运算器的msd并行加法器及其构造方法 - Google Patents
基于三值逻辑运算器的msd并行加法器及其构造方法 Download PDFInfo
- Publication number
- CN110837354B CN110837354B CN201911066871.2A CN201911066871A CN110837354B CN 110837354 B CN110837354 B CN 110837354B CN 201911066871 A CN201911066871 A CN 201911066871A CN 110837354 B CN110837354 B CN 110837354B
- Authority
- CN
- China
- Prior art keywords
- value
- arithmetic unit
- operator
- bit
- msd
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06E—OPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
- G06E1/00—Devices for processing exclusively digital data
- G06E1/02—Devices for processing exclusively digital data operating upon the order or content of the data handled
- G06E1/04—Devices for processing exclusively digital data operating upon the order or content of the data handled for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供了一种基于三值逻辑运算器的MSD并行加法器的构造方法,采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器。在排列三值逻辑运算器时:可采用如下任意方法:每次将n位的三值运算器重构成一种三值逻辑运算器,经过5次重构实现;每次在n位的三值运算器上重构出输入相同的两个三值逻辑运算器,经过3次重构实现;在n位的三值运算器上同时重构出5个三值逻辑运算器,经过1次重构实现;用不可重构的各相应三值逻辑运算器取代上述重构过程;各三值逻辑运算器通过存储器传递中间数据,或将前一级三值逻辑运算器的输出端直接连接下一级三值逻辑运算器的输入端来传递中间数据。同时提供了一种基于三值逻辑运算器的MSD并行加法器。
Description
技术领域
本发明涉及计算机科学与技术之技术领域,具体地,涉及一种基于三值逻辑运算器的MSD并行加法器(MSD(modified signed-digit)数表达的二进制并行加法器,简称MSD并行加法器)及其构造方法。
背景技术
当前电子计算机中的加法器受连续进位过程的制约,在位数比较多的加法器中都要忍受进位过程带来的延时,只有在位数很少的情况下,依靠先行进位结构来实现并行加法器。先行进位结构的复杂程度随位数增多而迅速提高,导致超过5位的先行进位并行加法器难以实现,失去工程实用意义。
MSD数加法的特征在于向相邻高位的进位不会引发相邻高位向更高位的进位,于是MSD加法没有连续进位的情况,这个特征决定了MSD加法器没有连续进位所造成的延时问题,它的各个数据位同时地独立完成向相邻高位的进位,以及本位的两个输入数据与相邻低位进位值的加法运算,于是MSD加法器是与位数多少无关的并行工作的加法器。
MSD数特指用1、0和ī三个符号来表达数值的二进制计数方案。1959年AlgirdasAvizienis博士提出这种计数方案,并给出了一组特殊的二进制加法单元来实现这种计数方案的并行加法运算,但是该方案存在如下问题:没有揭示出所给二进制加法单元的内在逻辑关系,从而使所给出的方法仅仅是一个孤立的特例,缺少科学层面的完整性,导致加法器结构无法优化。本发明很好地解决了这一问题。1986年,Barry L.Drake等人将AlgirdasAvizienis设计的这组二进制加法单元的功能表述为一组符号替换规则,但是该方案存在如下问题:给出的符号替换规则完全是AlgirdasAvizienis给出的加法器特例的操作规则变形,仍然没有揭示出MSD并行加法器和三值逻辑运算器之间的内在联系,导致加法器结构无法优化。本发明全面解决了这个问题。2010年金翊博士将这组符号替换规则视为一组三值逻辑运算,由此在可重构的三值光学运算器上实现了一种MSD并行光学加法器,但是该方案存在如下问题:仅仅建立了Barry L.Drake等人给出的符号替换规则与对应三值逻辑运算器的内在联系,从而也建立了AlgirdasAvizienis给出的加法器特例与相应三值逻辑运算器之间的联系,而没有建立MSD加法运算与三值逻辑运算之间的完整联系,其加法器结构无法优化。本发明解决了这个问题。2010年10月,彭俊杰博士等人将金翊提出的MSD并行光学加法器进行了改进,并申请了中国发明专利(ZL 2010 1 0518342.4)。该专利采用三层叠放在一起的液晶型三值光学运算器来实现金翊博士所提出的光学MSD并行加法器的结构,提出了一种三层液晶型三值光学运算器叠放所组成的MSD并行加法器,其中三层液晶型三值光学运算器所构成的三值逻辑运算器均为三值逻辑光学运算器。但是该专利存在如下问题:仅仅是对金翊给出的光学加法器结构给出了新的光学器件配置方案,但无法对加法器所使用的三值逻辑运算器进行更换,从而不能简化或优化加法器结构。本发明全面解决了这个问题。
目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
本发明针对现有技术中存在的上述不足,全面揭示了MSD并行加法器与三值逻辑运算器之间的内在联系,由此提供了一种基于三值逻辑运算器的MSD并行加法器及其构造方法,该MSD并行加法器及其构造方法涉及采用三值逻辑运算器构造MSD并行加法器的一般方法,具有加法器结构多样性、构造方法规范、加法器结构易优化和构造理论完整等优点。
为实现上述目的,本发明采用如下技术方案。
根据本发明的一个方面,提供了一种基于三值逻辑运算器的MSD并行加法器的构造方法,其特征在于,采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器;其中,所述MSD加法充分条件为:
假设对任何两个MSD数:a=an-1……a1a0,b=bn-1……b1b0,采用5个不同的三值逻辑运算规则Y、F、Y'、F'和S相继进行位变换,并满足下列四个条件,那么得到的数s=sn+1sn……s1s0是a和b的和值,且s是MSD数字;
条件一,ai+bi=yi+1×2+fi;其中,i=0,1,…,n-1;且y0=fn=φ,φ表示补入的0,下同;
条件二,yi+fi=y'i+1×2+f'i;其中,i=0,1,…,n;且y'0=f'n+1=φ;
条件三,y'i+f'i=si;其中,i=0,1,…,n+1;
条件四,y'i与f'i不同时为1也不同时为ī;其中,i=0,1,…,n+1;
上述四个条件中的yi、fi、y'i、f'i和si分别来自下列操作:
对ai和bi,做Y变换得到yi+1,做F变换得到fi;且y=ynyn-1…y2y1φ,f=φfn-1…f1f0;
对yi和fi,做Y'变换得到y'i+1,做F'变换得到f'i;且y'=y'n+1y'n…y'3y'2y’1φ,f'=φf'nf'n-1…f'1f'0;
对y'i和f'i做S变换得到si,且s=sn+1sn…s1s0。
优选地,每一个三值逻辑运算规则均对应一个三值逻辑运算器,在所述四个条件的约束下,能构成MSD并行加法器的5个三值逻辑运算器组共有7类,如下所示:
优选地,采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器的方法,包括:
S1,选择符合MSD加法充分条件的一组三值逻辑运算规则;
S2,根据S1中选择的一组三值逻辑运算规则,构造符合MSD加法充分条件的三值逻辑运算器序列,包括:
-对功能固定的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
-对具有配置运算功能的三值运算器进行重构操作而构成的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
S3,根据S2中确定的符合MSD加法充分条件的各三值逻辑运算器的结构,利用不同物理特性的三值运算器构造不同物理特性的MSD并行加法器。
优选地,所述S2中,采用三值运算器构造符合MSD加法充分条件的三值逻辑运算器的方法为如下任意一种:
-采用可重构的三值运算器,通过5次重构三值运算器,将三值运算器顺序构造成5个符合MSD加法充分条件的三值逻辑运算器;
-采用可重构的三值运算器,通过3次重构三值运算器,将三值运算器排列构成5个符合MSD加法充分条件的三值逻辑运算器;其中,在前两次重构中,将三值运算器的各一半分别构造成5个符合MSD加法充分条件的三值逻辑运算器中的两个输入数据相同的三值逻辑运算器;
-采用可重构的三值运算器,通过1次重构三值运算器,将三值运算器排列构成5个符合MSD加法充分条件的三值逻辑运算器;其中,在重构中将三值运算器分成5个部分,其中每个部分构造成5个符合MSD加法充分条件的三值逻辑运算器中的一个;
-采用可重构的三值运算器,通过构造m+2个加法器数据位实现m位输入数据的并行加法器;其中m表示假设构造MSD并行加法器的数据位位数;每个加法器数据位包含5个三值运算器位,每个三值运算器位被构造成5个符合MSD加法充分条件的三值逻辑运算器的一个。
优选地,所述通过5次重构三值运算器,构造MSD并行加法器的方法,包括:
设三值运算器具有n个运算器位;
第1次重构时,将三值运算器的n-2个运算器位构造成n-2位的Y运算器;将全部原始数据按n-2位分组,每一组数据采用Y运算器进行变换,并在每次变换结果的尾部加一个0,得到第1类中间结果y的各组数据;
第2次重构时,将三值运算器的n-2个运算器位构造成n-2位的F运算器;将全部原始数据按n-2位分组,每一组数据采用F运算器进行变换,并在每次变换结果的前部加一个0,得到第1类中间结果f的各组数据;
第3次重构时,将三值运算器的n-1个运算器位构造成n-1位的Y’运算器;将全部第1类中间结果按n-1位分组,每一组数据采用Y’运算器进行变换,并在每次变换结果的尾部加一个0,得到第2类中间结果y’的各组数据;
第4次重构时,将三值运算器的n-1个运算器位构造成n-1位的F’运算器;将全部第1类中间结果按n-1位分组,每一组数据采用F’运算器进行变换,并在每次变换结果的前部加一个0,得到第2类中间结果f’的各组数据;
第5次重构时,将三值运算器的n个运算器位构造成n位的S运算器;将全部第2类中间结果按n位分组,每一组数据采用S运算器进行变换,得到加法器运算结果s。
优选地,所述通过3次重构三值运算器,构造MSD并行加法器的方法,包括:
设三值运算器具有n个运算器位,其中,0到(n/2)-1位称为低位序部,n/2到n-1位称为高位序部;
第1次重构时,将三值运算器低位序部的n/2-2个运算器位构造成n/2-2位的Y运算器,并将高位序部的n/2-2个运算器位构造成n/2-2位的F运算器;将全部原始数据按n/2-2位分组,每一组数据同时采用Y运算器和F运算器进行变换,并在每次变换的Y运算器的每次输出值的尾部加一个0以及在F运算器的每次输出值的前部加一个0,分别得到第1类中间结果y的各组数据和第1类中间结果f的各组数据;
第2次重构时,将三值运算器低位序部的n/2-1个运算器位构造成n/2-1位的Y’运算器,并将高位序部的n/2-1个运算器位构造成n/2-1位的F'运算器;将全部第1类中间结果按n/2-1位分组,每一组数据同时采用Y’运算器和F'运算器进行变换,并在Y'运算器的每次输出值的尾部加一个0以及在F'运算器的每次输出值的前部加一个0,得到第2类中间结果y’的各组数据和第2类中间结果f’的各组数据;
在第3次重构时,将三值运算器低位序部或高位序部的n/2个运算器位构造成n/2位的S运算器,将全部第2类中间结果按n/2位分组,每一组数据采用S运算器进行变换,得到加法器运算结果s。
优选地,所述通过1次重构三值运算器,构造MSD并行加法器的方法,包括:
设三值运算器具有n个运算器位,其中,n大于等于5m+4,m表示假设构造MSD并行加法器的数据位位数;
在重构时,将三值运算器的0到m-1位构造成Y运算器,将三值运算器的m到2m-1位构造成F运算器,将三值运算器的2m到3m位构造成Y'运算器、将三值运算器的3m+1到4m+1位构造成F'运算器,将三值运算器的4m+2到5m+3位构造成S运算器;
将全部原始数据按m位分组,每一组数据同时采用Y运算器和F运算器进行变换,并在每次变换的Y运算器输出值的尾部加一个0以及F运算器输出值的前部加一个0,得到第1类中间结果y的各组数据和第1类中间结果f的各组数据;
将全部第1类中间结果的各组数据同时采用Y’运算器和F'运算器进行变换,并在每次变换的Y'运算器输出值的尾部加一个0以及F'运算器输出值的前部加一个0,得到第2类中间结果y’的各组数据和第2类中间结果f’的各组数据;
将全部第2类中间结果的各组数据采用S运算器进行变换,得到加法器运算结果s。
优选地,通过1次重构三值运算器构造得到的MSD并行加法器中,Y运算器的第i位输出端与F运算器的第i+1位输出端分别连接到Y’运算器的第i+1位的两个输入端和F’运算器的第i+1位的两个输入端;F运算器的第0位输出端和一个0值端分别连接到Y’运算器的第0位的两个输入端和F’运算器的第0位的两个输入端;Y运算器的最高位的输出端和一个0值端分别连接到Y’运算器的最高位的两个输入端和F’运算器的最高位的两个输入端;Y’运算器的第i位输出端与F’运算器的第i+1位输出端分别连接到S运算器的第i+1位的两个输入端;F’运算器的第0位输出端和一个0值端分别连接到S运算器的第0位的两个输入端;Y’运算器的最高位输出端和一个0值端分别连接到S运算器最高位的两个输入端。
优选地,通过构造m+2个加法器数据位,实现m位的加法器,每个加法器位包含5个三值运算器位,这5个三值运算器位被分别构造成5个三值逻辑运算器的各一位,在每个加法器位内以相同的方式实现排列三值逻辑运算器的方法,包括:
设三值运算器具有n个运算器位,其中,n大于等于5(m+2);
将三值运算器的任意5个运算器位重构成MSD并行加法器的1个数据位,由m+2个数据位组成m位的MSD并行加法器;每个加法器数据位中的5个运算器位分别被重构成Y运算器、F运算器、Y’运算器、F’运算器和S运算器;
将原始数据a和原始数据b的第i位同时送入加法器第i数据位的Y运算器和F运算器,其中i=0,1,2……m-1;第i数据位的Y运算器的输出值和第i+1数据位的F运算器的输出值同时送入第i+1数据位的Y’运算器的两个输入端和F’运算器的两个输入端;第i数据位的Y’运算器的输出值和第i+1数据位的F’运算器的输出值同时送入第i+1数据位的S运算器的两个输入端;第i数据位的S运算器输出计算结果的第i位值;同时,第0号数据位的F运算器输出值和0值送入第0号数据位的Y’运算器的两个输入端和F’运算器的两个输入端;第0号位的F’运算器的输出端和0值端送入第0号数据位的S运算器的两个输入端;
如果第m号和第m+1号数据位仍包含有Y、F、Y’和F’运算器,则两个0值送入第m号和m+1号数据位的Y运算器的两个输入端和F运算器的两个输入端;如果第m号数据位省去了Y运算器和F运算器,则将第m-1号数据位的Y运算器输出值和0值送入第m号数据位的Y’运算器的两个输入端和F’运算器的两个输入端;如果第m+1号数据位省去了Y运算器、F运算器、Y’运算器和F’运算器,则将第m号数据位的Y’运算器输出值和0值送入第m+1号数据位的S运算器的两个输入端。
优选地,通过构造m+2个加法器数据位排列得到的MSD并行加法器中,加法器每个数据位的Y运算器的输出端直接连接相邻高位的Y’运算器和F’运算器的一个输入端,加法器每个数据位的F运算器的输出端直接连接本位的Y’运算器和F’运算器的另一个输入端;加法器每个数据位的Y’运算器的输出端直接连接相邻高位的S运算器的一个输入端,加法器每个数据位的F’运算器的输出端直接连接本位的S运算器的另一个输入端;同时,第0号数据位的F运算器的输出端和0值端连接第0号数据位的Y’运算器的两个输入端和F’运算器的两个输入端,第0号数据位的F’运算器的输出端和0值端连接第0号数据位的S运算器的两个输入端;第三高数据位的Y运算器的输出端和0值端连接次高数据位的Y’运算器的两个输入端和F’运算器的两个输入端;次高数据位的Y’运算器的输出端和0值端连接最高数据位的S运算器的两个输入端;最高数据位的其它三值逻辑运算器没有输出或不工作。
优选地,将如下两种三值逻辑运算器合并在三值运算器的一个运算器位上实现:
第一种:真值表为两列三行或转置后成为两列三行的三值逻辑运算器;
第二种:真值表为一列三行或转置后成为一列三行的三值逻辑运算器。
优选地,若中间结果前部补入的0导致后续变换的最高位总是0,将该补入的0和中间结果的最高位省去或保留。
根据本发明的第二个方面,提供了一种基于三值逻辑运算器的MSD并行加法器,采用上述任一项所述的构造方法构造得到。
与现有技术相比,本发明具有如下有益效果:
1、全面揭示了MSD加法运算与三值逻辑运算之间的内在关系,为构造新的MSD加法器或改进加法器的结构奠定了技术途径。
2、给出了用可重构三值运算器构造MSD并行加法器的各种方案。
3、给出了将前组三值逻辑运算器的输出值直接送入后组三值逻辑运算器输入端的MSD并行加法器构造方法。
4、给出了将真值表为两列三行或一列三行的两个三值逻辑运算器在一个三值运算器位上实现的方法。
附图说明
通过阅读,参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例中实施例一所提供的5次构造三值运算器实现MSD并行加法器结构示意。
图2为本发明实施例中实施例二所提供的3次构造三值运算器实现MSD并行加法器结构示意。
图3为本发明实施例中实施例三所提供的1次构造三值运算器实现MSD并行加法器结构示意。
图4中(a)为本发明实施例中实施例四所提供的按数据位构造MSD并行加法器结构示意,(b)为本发明实施例中实施例四中所提供的MSD并行加法器数据位中各三值逻辑运算器直接相连的结构。
图5中(a)为本发明实施例中实施例五所提供的SJ-MSD并行加法器减少占用运算器位数量的方法示意,(b)为本发明实施例中实施例五所提供的MSD并行加法器数据位中各三值逻辑运算器直接相连的结构。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
本发明实施例提供了一种基于三值逻辑运算器的MSD并行加法器的构造方法,采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器,其中,所述MSD加法充分条件为:
假设对任何两个MSD数:a=an-1……a1a0,b=bn-1……b1b0,用5个不同的三值逻辑运算规则Y、F、Y'、F'和S相继进行位变换,并满足下列四个条件,那么得到的数s=sn+1sn……s1s0是a和b的和值,且s是MSD数字;
条件一,ai+bi=yi+1×2+fi;其中,i=0,1,…,n-1;且y0=fn=φ;φ为附加的0;
条件二,yi+fi=y'i+1×2+f'i;其中,i=0,1,…,n;且y'0=f'n+1=φ;
条件三,y'i+f'i=si;其中,i=0,1,…,n+1;
条件四,y'i与f'i不同时为1也不同时为ī;其中,i=0,1,…,n+1;
上述四个条件中的yi、fi、y'i、f'i和si分别来自下列操作:
对ai和bi做Y变换得到yi+1,进行F变换得到fi;且y=ynyn-1…y2y1φ,f=φfn-1…f1f0;
对yi和fi进行Y'变换得到y'i+1,进行F'变换得到f'i;且y'=y'n+1y'n…y'3y'2y’1φ,f'=φf'nf'n-1…f'1f'0;
对y'i和f'i进行S变换得到si,且s=sn+1sn…s1s0;
优选地,每一个三值逻辑运算规则均对应一个三值逻辑运算器,在所述四个条件的约束下,能构成MSD并行加法器的5个三值逻辑运算器组共有7类,如下所示:
需要说明的是:所述Y、F、Y'、F'和S表示5个不同的三值逻辑运算规则,它们都可以取多种形式,但它们之间必须满足上述四个条件。在这个约束下,这5个三值逻辑运算规则只有上表给出的7组类型。
每一个逻辑运算规则都与一个逻辑运算器一一对应,往往将二者用相同的符号表示,下文中不再区分二者。MSD加法由三值逻辑运算Y、F、Y'、F'和S完成,对应于MSD加法器就由Y、F、Y'、F'和S这5个三值逻辑运算器构成。
进一步地,采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器的方法,包括:
S1,选择符合MSD加法充分条件的一组三值逻辑运算规则;
S2,根据S1中选择的一组三值逻辑运算规则,构造符合MSD加法充分条件的三值逻辑运算器序列,包括:
-对功能固定的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
-对具有配置运算功能的三值运算器进行重构操作而构成的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
S3,根据S2中确定的符合MSD加法充分条件的各三值逻辑运算器的结构,利用不同物理特性的三值运算器构造不同物理特性的多种MSD并行加法器。
本发明实施例所依据的基本原理为MSD加法充分条件,该条件表述为:
如果对任何两个MSD数:a=an-1……a1 a0,b=bn-1……b1 b0,采用三值逻辑运算规则Y、F、Y'、F'和S相继进行位变换,并满足下列四个条件,那么数s=sn+1sn……s1 s0是a和b的和值,且s是MSD数字。
条件一:ai+bi=yi+1×2+fi;其中,i=0,1,…,n-1;且y0=fn=φ;φ为表示补入的0。 (1)
条件二:yi+fi=y'i+1×2+f'i;其中,i=0,1,…,n;且y'0=f'n+1=φ。 (2)
条件三:y'i+f'i=si;其中,i=0,1,…,n+1。 (3)
条件四:y'i与f'i不同时为1也不同时为ī;其中,i=0,1,…,n+1。 (4)
上述条件中的yi、fi、y'i、f'i和si分别来自下列操作:
①对ai和bi做Y变换得到yi+1,进行F变换得到fi;且y=ynyn-1…y2y1φ,f=φfn-1…f1f0。
②对yi和fi进行Y'变换得到y'i+1,进行F'变换得到f'i;且:
y'=y'n+1y'n…y'3y'2y’1φ,f'=φf'nf'n-1…f'1f'0。
③对y'i和f'i进行S变换得到si,且s=sn+1sn…s1s0。
根据MSD加法充分条件,进一步找出了可以构成三步式MSD并行加法器的7类三值逻辑运算器组合,见表1。
表1.可构成MSD并行加法器的7类三值逻辑运算器组
鉴于逻辑运算真值表被转置或更换符号并不改变所表达的运算规则,因此对上述7类三值逻辑运算真值表进行转置或变更符号而形成的三值逻辑运算真值表都属于本发明的范围。
本发明实施例提供的基于三值逻辑运算器的MSD并行加法器的构造方法与在三值逻辑运算器中用于表达信息的物理状态无关,于是与具体三值运算器的物理特性无关,对于三值电子运算器、三值光学运算器或其它物理特性的三值运算器具有同样的效力。不应因运算器的物理特性不同而缩小本发明的适用范围。
下面结合附图,对本发明实施例提供的基于三值逻辑运算器的MSD并行加法器的构造方法进一步详细描述。
以下描述重点说明在如下三个步骤下实施本发明实施例的方法:
S1,选择符合MSD加法充分条件的一组三值逻辑运算规则;
S2,根据S1中选择的一组三值逻辑运算规则,构造符合MSD加法充分条件的三值逻辑运算器序列,包括:
-对功能固定的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
-对具有配置运算功能的三值运算器进行重构操作而构成的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
S3,根据S2中确定的符合MSD加法充分条件的各三值逻辑运算器的结构,利用不同物理特性的三值运算器构造不同物理特性的MSD并行加法器。
实施例一:5次重构三值运算器来实现MSD并行加法器的方法
(1)选择符合MSD加法充分条件的三值逻辑运算器:
例如:选择表1的第1类型三值逻辑运算器,并取(t,w)=(0,1),*分别取和1。则选择的5个三值逻辑运算器的真值表为表2。常常将这5个三值逻辑运算器称为T、W、T’、W’和T2,相应的加法器称为TW-MSD并行加法器。
表2.构成TW-MSD并行加法器的三值逻辑运算器组
表3.构成SJ-MSD并行加法器的三值逻辑运算器组
(2)排列三值逻辑运算器:
如图1所示,第1次重构三值运算器时,将运算器位0到n-3号构造成(n-2)位的Y运算器。将原始数据a寄存器和原始数据b寄存器中的数据以(n-2)位为一组,逐组送入三值运算器,得到相应的中间结果py,给py的尾部加一个0,成为第1类中间结果y,并存入计算结果c寄存器。直至原始数据a寄存器和原始数据b寄存器中的数据全部计算完毕。
第2次重构三值运算器时,将运算器位0到n-3号构造成(n-2)位的F运算器。将原始数据a寄存器和原始数据b寄存器中的数据以(n-2)位为一组,逐组送入三值运算器,得到相应的中间结果pf,给pf的前部加一个0,成为第1类中间结果f,并存入中间数据d寄存器。直至原始数据a寄存器和原始数据b寄存器中的数据全部计算完毕。
然后,将计算结果c寄存器的内容传送到原始数据a寄存器;将中间数据d寄存器的内容传送到原始数据b寄存器。
第3次重构三值运算器时,将运算器位0到n-2号构造成(n-1)位的Y’运算器。将原始数据a寄存器和原始数据b寄存器中的数据以(n-1)位为一组,逐组送入三值运算器,得到相应的中间结果py’,给py’的尾部加一个0,成为第2类中间结果y’,并存入计算结果c寄存器。直至原始数据寄存器a和b中的数据全部计算完毕。
第4次重构三值运算器时,将运算器位0到n-2号构造成(n-1)位的F’运算器。将原始数据a寄存器和原始数据b寄存器中的数据以(n-1)位为一组,逐组送入三值运算器,得到相应的中间结果pf’,给pf’的前部加一个0,成为第2类中间结果f’,并存入中间数据d寄存器。直至原始数据a寄存器和原始数据b寄存器中的数据全部计算完毕。
再次将计算结果c寄存器的内容传送到原始数据a寄存器;将中间数据d寄存器的内容传送到原始数据b寄存器。
第5次重构三值运算器时,将运算器位0到n-1号构造成(n)位的S运算器。将原始数据a寄存器和原始数据b寄存器中的数据以(n)位为一组,逐组送入三值运算器,得到相应的计算结果s,并存入计算结果c寄存器。直至原始数据a寄存器和原始数据b寄存器中的数据全部计算完毕。
从计算结果c寄存器输出计算结果s。
加法器为n-2位:输入数据是n-2位,输出数据是n位。
图1中,三值运算器为n个运算器位,排成L行C列;虚线表示中间数据传输通道;
5次重构三值运算器的过程为:
第1次重构:三值运算器位0到n-3被构成Y运算器。
第2次重构:三值运算器位0到n-3被构成F运算器。
第3次重构:三值运算器位0到n-2被构成Y’运算器。
第4次重构:三值运算器位0到n-2被构成F’运算器。
第5次重构:三值运算器位0到n-1被构成S运算器。
图1中虚线表示的存储器之间的中间数据传输通道为当前计算机领域中的常见技术,此处不赘述。
⑶三值运算器的物理特性:
依据降值设计理论(可参考中国发明专利ZL 200710041144.1),用无光态和偏振方向正交的两个有光态表示信息,用旋光器和偏振片构造的三值逻辑光学运算器,详细结构请见中国发明专利ZL 201010584129.3。旋光器可以是液晶阵列、铌酸锂晶体阵列或其它旋光材料构成的像素阵列。以及用这种三值运算器构造的光学MSD并行加法器。
依据降值设计理论(可参考中国发明专利ZL 200710041144.1),用数字电路构造的三值电子运算器。包括用二维二值表达三值符号的三值逻辑电子运算器和用电位迭合器完成的一维三值符号的三值逻辑电子运算器。详细结构请见中国发明专利申请201811567284.7或PCT/CN2019/070318。以及用这种三值运算器构造的电子MSD并行加法器。
实施例二:3次重构三值运算器来实现MSD并行加法器的方法
⑴选择符合MSD加法充分的三值逻辑运算器:
同实施例一。
⑵排列三值逻辑运算器:
如图2所示,将n个三值运算器位等分为两部分,一部分的运算器位序为0到(n/2)-1,称为低位序部;另一部分的运算器位序为n/2到n-1,称为高位序部。
第1次重构三值运算器时,在低位序部的0到(n/2)-3号运算器位构造(n/2)-2位的Y运算器,在高位序部的n/2到n-3号运算器位构造(n/2)-2位的F运算器,或交换Y运算器和F运算器的位置。将原始数据a寄存器和原始数据b寄存器中的数据以(n/2)-2位为一组,逐组同时送入Y运算器和F运算器。从Y运算器得到第1类中间结果py,在py后加一个0,存入计算结果c寄存器,同时在F运算器得到第1类中间结果pf,在pf前加一个0,存入中间数据d寄存器。直至原始数据a寄存器和原始数据b寄存器中的数据全部计算完毕。
然后,将计算结果c寄存器的内容传送到原始数据a寄存器,将中间数据d寄存器的内容传送到原始数据b寄存器。
第2次重构三值运算器时,在低位序部分的0到(n/2)-2号运算器位构造(n/2)-1位的Y’运算器,在高位序部分的n/2到n-2号运算器位构造(n/2)-1位的F’运算器,或交换Y’运算器和F’运算器的位置。将原始数据a寄存器和原始数据b寄存器中的数据以(n/2)-1位为一组,逐组同时送入Y’运算器和F’运算器。从Y’运算器得到第2类中间结果py’,在py’后加一个0,存入计算结果c寄存器,同时从F’运算器得到第2类中间结果pf’,在pf’前加一个0,存入中间数据d寄存器。直至原始数据寄存器a和b中的数据全部计算完毕。
然后,将计算结果c寄存器的内容传送到原始数据a寄存器,将中间数据d寄存器的内容传送到原始数据b寄存器。
第3次重构三值运算器时,在低位序部的0到(n/2)-1号运算器位构造(n/2)位的S运算器。将原始数据a寄存器和原始数据b寄存器中的数据以(n/2)位为一组,逐组送入S运算器,得到最后结果s,并存入计算结果c寄存器。
从计算结果c寄存器输出计算结果s。
加法器为(n/2)-2位:输入数据是(n/2)-2位,输出数据是(n/2)位。
图2中,三值运算器为n个运算器位,排成L行C列;虚线表示中间数据传输通道;
3次重构三值运算器的过程为:
第1次重构:三值运算器位0到n/2-3被构成Y运算器,三值运算器位n/2到n-3被构成F运算器。
第2次重构:三值运算器位0到n/2-2被构成Y’运算器,三值运算器位n/2到n-2被构成F’运算器。
第3次重构:三值运算器位0到n/2-1被构成S运算器。
图2中虚线表示的存储器之间的中间数据传输通道为当前计算机领域中的常见技术,此处不赘述。
⑶运算器的物理特性:
同实施例一,此处不再赘述。
实施例三:1次重构三值运算器来实现MSD并行加法器的方法之一
⑴选择符合MSD加法充分条件条件的三值逻辑运算器:
同实施例一。
⑵排列三值逻辑运算器:
如图3所示,如果构造的加法器的位数为m,所用三值运算器的运算器位数为n,当n不少于5×m+4时,可在三值运算器的不同位置一次重构出5个三值逻辑运算器Y、F、Y’、F’和S。然后将原始数据逐一送入三值运算器进行“数据流水”式计算。
对三值运算器的重构方法如下:
在运算器位序的0~(m-1)部分构造m位的Y运算器,在运算器位序的m~(2m-1)部分构造m位的F运算器,在运算器位序的2m~(3m)部分构造m+1位的Y’运算器,在运算器位序的(3m+1)~(4m+1)部分构造m+1位的F’运算器,在运算器位序的(4m+2)~(5m+4)部分构造m+2位的S运算器。
在第1个时钟,原始数据a和b的第1对数值送入三值运算器的Y运算器和F运算器,并对Y运算器输出的第1类中间结果数据py的后面加一个0,对F运算器的输出的第1类中间结果数据pf的前面加一个0,得到第1类中间计算结果的第1对数值y1和f1。
将y1和f1传送给Y’运算器和F’运算器的输入端有三种方法:①用通信线路直接连接。②存入中间数据d寄存器和中间数据e寄存器,由d寄存器和e寄存器送入Y’运算器和F’运算器的输入端。③存入中间数据d寄存器和中间数据e寄存器,由d寄存器和e寄存器送入对应的中间数据d1寄存器和中间数据e1寄存器,再由d1寄存器和e1寄存器送入Y’运算器和F’运算器的输入端。
在第2个时钟,原始数据a和b的第2对数值送入三值运算器的Y运算器和F运算器,并对Y运算器输出的中间结果数据py后面加一个0,对F运算器的输出中间结果数据pf的前面加一个0,得到第1类中间计算结果的第2对数值y2和f2;同时,第1类中间计算结果的第1对数值y1和f1送入Y’运算器和F’运算器,并对Y’运算器输出的第2类中间结果数据py’的后面加一个0,对F’运算器的输出第2类中间结果数据pf’的前面加一个0,得到第2类中间计算结果的第1对数值y’1和f’1。
将y2和f2传送给Y’运算器和F’运算器的输入端的方法同y1和f1。
将y’1和f’1传送给S运算器输入端同样有三种方法:①用通信线路直接连接。②存入中间数据f寄存器和中间数据g寄存器,由f寄存器和g寄存器送入S运算器的输入端。③存入中间数据f寄存器和中间数据g寄存器,由f寄存器和g寄存器送入对应的中间数据f1寄存器和中间数据g1寄存器,再由f1寄存器和g1寄存器送入S运算器的输入端。
在第3个时钟,原始数据a和b的第3对数值送入三值运算器的Y运算器和F运算器,并对Y运算器输出的中间结果数据py的后面加一个0,对F运算器的输出中间结果数据pf的前面加一个0,得到第1类中间计算结果的第3对数值y3和f3;同时,第1类中间计算结果的第2对数值y2和f2送入Y’运算器和F’运算器,并对Y’运算器输出的第2类中间结果数据py’的后面加一个0,对F’运算器的输出第2类中间结果数据pf’的前面加一个0,得到第2类中间计算结果的第2对数值y’2和f’2;同时,第2类中间计算结果的第1对数值y’1和f’1送入S运算器,S输出计算结果的第1个值s1。
将y3和f3传送给Y’运算器和F’运算器的输入端的方法同y1和f1。将y’2和f’2传送给S运算器输入端的方法同y’1和f’1。将s1存入结果数据c寄存器。
随后的各个时钟,运算器的工作过程与第3个时钟完全相同,原始数据对逐一进入Y运算器和F运算器,经过三个时钟后,对应的计算结果值从S输出。
图3中,三值运算器为n个运算器位,排成L行C列;虚线表示中间数据传输通道;
8个虚线框表示8个中间数寄存器可能存在,也可能不存在。有些器件中可能没有d1、e1、f1和g1,中间数据分别由d、e、f和g存储器直接传送过来;也可能8个中间存储器都不存在,中间数据分别由Y和F运算器输出给Y’和F’运算器,而Y’和F’运算器的输出直接馈送到S运算器的输入端。
重构三值运算器的过程为:
设构造m位的MSD加法器,且n≥5m+4。
0到m-1运算器位上构造出m位的Y运算器。
m到2m-1运算器位上构造出m位的F运算器。
2m到3m运算器位上构造出m+1位的Y’运算器。
3m+1到4m+1运算器位上构造出m+1位的F’运算器。
4m+2到5m+4运算器位上构造出m+2位的S运算器。
⑶运算器的物理特性:
同实施例一,此处不再赘述。
实施例四:按数据位构造MSD并行加法器
⑴选择符合MSD加法充分条件的三值逻辑运算器:
同实施例一。
⑵排列三值逻辑运算器:
如图4所示,如果加法器的数据位数为m,编号0,1,……,m-1,所用三值运算器的运算器位数为n,编号0,1,……,n-1,当n不少于5×(m+2)时,将任意的5个运算器位构成一个加法器位,共得到m+2个加法器位,编号0,1,……,m+1。每个加法器位包含的5个运算器位的位序号不需要相连,但使用位序号相连的5个运算器位可能在构造和使用加法器时会方便一点。各个加法器位的结构相同,具体可以为:第1位构造Y运算器、第2位构造F运算器、第3位构造Y’运算器、第4位构造F’运算器、第5位构造S运算器,如图4中(a)所示。也可以将各个三值逻辑运算器构建在该加法器位的其它运算器位上。
在第1个时钟,原始数据a和b的第1对数值的m位分别送入0到m-1号加法器位的Y运算器和F运算器。得到第1类中间计算结果的第1对数值py1的m位和pf1的m位。
在第2个时钟,原始数据a和b的第2对数值的m位分别送入0到m号加法器位的Y运算器和F运算器,得到第1类中间计算结果的第2对数值py2的m位和pf2的m位。同时,将加法器第i位的第1类中间计算结果的py1值与加法器第i+1位的第1类中间计算结果的pf1值送入加法器第i+1位的Y’和F’运算器,i=0,1,2,……,m-2,而加法器最低位(第0位)的Y’和F’运算器的输入为0和该位加法器的pf1值,加法器次高位(第m位)的Y’和F’运算器的输入为0和第m-1位加法器的py1值,由Y’运算器和F’运算器分别得到第2类中间计算结果的第1对数值py’1和pf’1的m+1位。
在第3个时钟,原始数据a和b的第3对数值的m位分别送入0到m号加法器位的Y运算器和F运算器,得到第1类中间计算结果的第3对数值py3的m位和pf3的m位;同时,将加法器第i位的第1类中间计算结果的py2值与加法器第i+1位的第1类中间计算结果的pf2值送入加法器第i+1位的Y’和F’运算器,i=0,1,2,……,m-2,而加法器最低位(第0位)的Y’和F’运算器的输入为0和该位加法器的pf2值,加法器次高位(第m位)的Y’和F’运算器的输入为0和第m-1位加法器的py2值,由Y’运算器和F’运算器分别得到第2类中间计算结果的第2对数值py’2和pf’2的m+1位;同时,将加法器第i位的第2类中间计算结果的py’1值与加法器第i+1位的第2类中间计算结果的pf’1值送入加法器第i+1位的S运算器,i=0,1,2,……,m-1,而加法器最低位(第0位)的S运算器的输入为0和该位加法器的pf’1值,加法器最高位(第m+1位)的S运算器的输入为0和第m位加法器的py’1值,由加法器各位的S运算器输出最后计算结果s的m+2位。
随后的各个时钟,三值运算器的工作过程与第3个时钟完全相同,原始数据对逐一进入各个加法器位的Y运算器和F运算器,经过三个时钟后,对应的计算结果值从各个加法器位的S运算器输出。
在采用图4中(b)所示的MSD并行加法器数据位中各三值逻辑运算器直接相连的结构时,上述三个时钟,可能压缩为一个时钟。
图4中,三值运算器为n个运算器位,排成L行C列;虚线表示中间数据传输通道;
图4中(a),用8个虚线框表示8个中间数寄存器可能存在,也可能不存在。有些MSD加法器中可能没有d1、e1、f1和g1,中间数据分别由d、e、f和g存储器直接传送过来;也可能8个中间存储器都不存在,中间数据分别由Y和F运算器输出给Y’和F’运算器,而Y’和F’运算器的输出直接馈送到S运算器的输入端,如图4中(b)所示。
图4中(b)示意加法器数据位之间传送中间数据的直接连通情况。加法器第i位的Y运算器的输出端直接连接到相邻高位(第i+1位)的Y'运算器的一个输入端和F'运算器的一个输入端;第i位的F运算器的输出端直接连接到本位的Y'运算器的另一个输入端和F'运算器的另一个输入端;第i位的Y’运算器的输出端直接连接到相邻高位(第i+1位)的S运算器的一个输入端;第i位的F’运算器的输出端直接连接到本位的S运算器的另一个输入端;第i位的Y运算器和F运算器的输入端同时连接到输入数据的第i位(ai和bi);第i位的S运算器输出计算结果的第i位(ci);加法器第0位的Y’运算器的两个输入端和F’运算器的两个输入端分别联接第0位的F运算器的输出端和常数0值端;加法器第m+2位的S运算器的两个输入端分别连接第m+1位的Y’运算器输出端和常数0值端。i=0,1,2,……,m+1。
重构三值运算器的过程为:设构造m位的MSD加法器,且n≥5(m+2)。每5个运算器位构造出1位MSD并行加法器,共m+2位加法器。在每位加法器中:第1个运算器位上构造出Y运算器,第2个运算器位上构造出F运算器,第3个运算器位上构造出Y′运算器,第4个运算器位上构造出F′运算器,第5个运算器位上构造出S运算器。
(3)运算器的物理特性:
同实施例一,此处不再赘述。
实施例五:SJ-MSD并行加法器减少占用运算器位数量的方法
(1)选择符合MSD加法充分条件的三值逻辑运算器:
在表3中,J2运算器在yi=0时输出都是0,在yi=1时无输出,仅在时有非0输出。对于三值逻辑光学运算器而言,无输出时的光状态是暗,与输出0值的光状态相同;对于三值逻辑电子运算器而言,无输出时的电状态是00,也与输出0值的电状态相同,于是,在这两种三值逻辑运算器情况下,J2运算器的真值表可以改写仅有/>的一列。再进一步将J2运算器中表示/>值的物理状态改用J1运算器中表示1值的物理状态,则J2运算器可以和J1运算器合并在一个加法器位上来构造,如表4,这时SJ-MSD加法器的每一位就只需占用4个运算器位。
表4.合并J2和J1
(2)排列三值逻辑运算器:
如图5所示,如果加法器的数据位数为m,编号0,1,……,m-1,所用三值运算器的运算器位数为n,编号0,1,……,n-1,当n不少于4×(m+2)时,将任意的4个运算器位构成一个加法器位,共得到m+2个加法器位,编号0,1,……,m+1。各个加法器位的结构相同,具体可以为:第1位构造Y运算器、第2位构造F运算器、第3位构造Y’和F’运算器、第4位构造S运算器。
在第1个时钟,原始数据a和b的第1对数值的m位分别送入0到m号加法器位的Y运算器和F运算器。得到第1类中间计算结果的第1对数值py1的m位和pf1的m位。
在第2个时钟,原始数据a和b的第2对数值的m位分别送入0到m号加法器位的Y运算器和F运算器,得到第1类中间计算结果的第2对数值py2的m位和pf2的m位。同时,将加法器第i位的第1类中间计算结果的py1值与加法器第i+1位的第1类中间计算结果的pf1值送入加法器第i+1位的Y’,并把pf1值取非后送F’运算器,i=0,1,2,……,m-2,而加法器最低位(第0位)的Y’和F’运算器的输入为0和该位加法器的pf1值及pf1的取非值,加法器次高位(第m位)的Y’和F’运算器的输入为0和第m-1位加法器的py1值,由运算器Y’和F’分别得到第2类中间计算结果的第1对数值py’1和pf’1的m+1位。
在第3个时钟,原始数据寄存器a和b中的第3对数值的m位分别送入0到m号加法器位的Y运算器和F运算器,得到第1类中间计算结果的第3对数值py3的m位和pf3的m位;同时,将加法器第i位的第1类中间计算结果的py2值与加法器第i+1位的第1类中间计算结果的pf2值送入加法器第i+1位的Y’,并把pf2值取非后送F’运算器,i=0,1,2,……,m-2,而加法器最低位(第0位)的Y’和F’运算器的输入为0和该位加法器的pf2值及pf2的取非值,加法器次高位(第m位)的Y’和F’运算器的输入为0和第m-1位加法器的py2值,由Y’运算器和F’运算器分别得到第2类中间计算结果的第2对数值py’2和pf’2的m+1位;同时,将加法器第i位的第2类中间计算结果的py’1值与加法器第i+1位的第2类中间计算结果的pf’1值送入加法器第i+1位的S运算器,i=0,1,2,……,m-1,而加法器最低位(第0位)的S运算器的输入为0和该位加法器的pf’1值,加法器最高位(第m+1位)的S运算器的输入为0和第m位加法器的py’1值,由加法器各位的S运算器输出最后计算结果s的m+2位。
随后的各个时钟,三值运算器的工作过程与第3个时钟完全相同,原始数据对逐一进入各个加法器位的Y运算器和F运算器,经过三个时钟后,对应的计算结果值从各个加法器位的S运算器输出。
在采用图5中(b)所示的MSD并行加法器数据位中各三值逻辑运算器直接相连的结构时,上述三个时钟,可能压缩为一个时钟。
图5中,三值运算器为n个运算器位,排成L行C列;虚线表示中间数据传输通道;
图5中(a)用8个虚线框表示8个中间数寄存器可能存在,也可能不存在。有些MSD加法器中可能没有d1、e1、f1和g1,中间数据分别由d、e、f和g存储器直接传送过来;也可能8个中间存储器都不存在,中间数据分别由Y和F运算器输出给Y’和F’运算器,而Y’和F’运算器的输出直接馈送到S运算器的输入端,如图5中(b)所示。
图5中(b)示意加法器数据位之间传送中间数据的直接连通情况。加法器第i位的Y运算器的输出端直接连接到相邻高位(第i+1位)的Y'/F'运算器的一个输入端;第i位的F运算器的输出端直接连接到本位的Y'/F'运算器的另一个输入端;第i位的Y’运算器的输出端直接连接到相邻高位(第i+1位)的S运算器的一个输入端;第i位的F’运算器的输出端直接连接到本位的S运算器的另一个输入端;第i位的Y运算器和F运算器的输入端同时连接到输入数据的第i位(ai和bi);第i位的S运算器输出计算结果的第i位(ci);加法器第0位的Y’运算器的两个输入端和F’运算器的两个输入分别连接第0位的F运算器输出和0值端;加法器第m+2位的S运算器的两个输入分别连接第m+1位的Y’运算器输出和0值端。i=0,1,2,……,m+1。
重构三值运算器的过程为:设构造m位的SJ-MSD并行加法器,且n≥4(m+2)。每4个运算器位构造出1位SJ-MSD并行加法器,共m+2位加法器。在每位加法器中:第1个运算器位上构造出Y运算器,第2个运算器位上构造出F运算器,第3个运算器位上构造出Y'和F'运算器,第4个运算器位上构造出S运算器。
⑶运算器的物理特性:
同实施例一,此处不再赘述。
在上述实施例中:大写字母Y/F/Y’/F’和S表示5个不同的三值逻辑运算器或三值逻辑运算规则;小写字母py/pf/py’/pf’表示三值逻辑运算器Y/F/Y’和F’输出的数据(运算结果);小写字母y/f/y’/f’是对py/pf/py’/pf’进行补0操作后的数据(中间计算结果);小写字母s是三值逻辑运算器S的输出数据,也是加法器输出的计算结果。
本发明上述实施例提供的基于三值逻辑运算器的MSD并行加法器的构造方法,采用符合MSD加法充分条件的三值逻辑运算器。用可重构的三值运算器构造这种MSD并行加法器时:可以每次将三值运算器重构成一种三值逻辑运算器,经过5次重构实现加法器;可以每次在三值运算器上重构出输入相同的两个三值逻辑运算器,经过3次重构实现加法器;可以在三值运算器上同时重构出5个三值逻辑运算器,经过1次重构实现加法器。也可以用不可重构的各相应三值逻辑运算器取代上述重构过程。各三值逻辑运算器可以通过存储器传递中间数据,也可以将前一级三值逻辑运算器的输出端直接连接下一级三值逻辑运算器的输入端来传递中间数据。图1~图5中的虚线框存储器表示可能用它们暂存和传送中间数据,也可能通过直连来传送中间数据。
基于本发明上述实施例所提供的基于三值逻辑运算器的MSD并行加法器的构造方法,本发明实施例同时提供了一种基于三值逻辑运算器的MSD并行加法器,该基于三值逻辑运算器的MSD并行加法器采用上述任一项所述的构造方法构造得到。
本发明实施例还提供了另一种基于三值逻辑运算器的MSD并行加法器,包括5个符合MSD加法充分条件的三值逻辑运算器;其中,所述MSD加法充分条件为:
假设对任何两个MSD数:a=an-1……a1a0,b=bn-1……b1b0,相继进行位变换Y、F、Y'、F'和S,并满足下列四个条件,那么数s=sn+1sn……s1s0是a和b的和值,且s是MSD数字;
条件一,ai+bi=yi+1×2+fi;其中,i=0,1,…,n-1;且y0=fn=φ;φ为附加的0;
条件二,yi+fi=y'i+1×2+f'i;其中,i=0,1,…,n;且y'0=f'n+1=φ;
条件三,y'i+f'i=si;其中,i=0,1,…,n+1;
条件四,y'i与f'i不同时为1也不同时为ī;其中,i=0,1,…,n+1;
上述四个条件中的yi、fi、y'i、f'i和si分别来自下列操作:
对ai和bi做Y变换得到yi+1,进行F变换得到fi;且y=ynyn-1…y2y1φ,f=φfn-1…f1f0;
对yi和fi进行Y'变换得到y'i+1,进行F'变换得到f'i;且y'=y'n+1y'n…y'3y'2y’1φ,f'=φf'nf'n-1…f'1f'0;
对y'i和f'i进行S变换得到si,且s=sn+1sn…s1s0。
本发明上述实施例提供的基于三值逻辑运算器的MSD并行加法器及其构造方法,具有如下重要特征:
1、用满足MSD加法充分条件的一组三值逻辑运算器实现MSD并行加法器。
满足MSD加法充分条件的三值逻辑运算器包含表1给出的7种类型,但不限于这7类。如果用表1中任何一类三值逻辑运算器,或通过转置表1中的真值表而形成的三值逻辑运算器都属于本发明涵盖的范围。
2.本发明实施例中的MSD并行加法器的各个数据位最多向相邻高位进一位,不会形成向更高位的连续进位操作。
3.本发明实施例的输入数据和输出数据都是MSD数字,应该注意到常规二进制数字是MSD数字的一个特例,也是MSD数字。因此,输入数据或输出数据为常规二进制数据时,并不能缩小本发明的涵盖范围,只要所用运算器符合上述特征1,相应的加法器就属于本发明保护范畴。
4.本发明实施例中的MSD并行加法器一般由三步操作完成,但在某些结构中也可能用更少或更多的步骤来完成,只要所用运算器符合上述特征1,不应因使用了更少或更多的操作步骤而缩小本发明的保护范围:
第1步:原始数据a的各个位和原始数据b的各个位同时送入Y运算器的对应位和F运算器的对应位,由Y运算器得到中间结果py,给py的尾部补一个0(有些Y得到的py不需要在尾部补0),得到中间结果y;由F运算器得到中间结果pf,并给pf的前面加一个0,得到中间结果f。
第2步:将中间结果y的各个位和f的各个位同时送入Y’运算器的对应位和F’运算器的对应位。由Y’运算器得到中间结果py’,给py’的尾部补一个0(有些Y’得到的py’不需要在尾部补0),得到中间结果y’;由F’运算器得到中间结果pf’,并给pf’的前面加一个0,得到中间结果f’。
第3步:将中间结果y’和f’的各个位同时送入S运算器的各个位,得到计算结果s。
5.本发明实施例的MSD并行加法器中5个逻辑运算器的排列方式可以有多种形态,本说明书的实施例中给出本发明涵盖的几个具体结构,以这几个具体结构、或它们的拆分与组合、或它们的简单变形而形成的MSD并行加法器结构都属于本发明的范畴。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (5)
1.一种基于三值逻辑运算器的MSD并行加法器的构造方法,其特征在于,采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器;其中,所述MSD加法充分条件为:
假设对任何两个MSD数:a=an-1……a1a0,b=bn-1……b1b0,采用5个不同的三值逻辑运算规则Y、F、Y'、F'和S相继进行位变换,并满足下列四个条件,那么得到的数s=sn+1sn……s1s0是a和b的和值,且s是MSD数字;
条件一,ai+bi=yi+1×2+fi;其中,i=0,1,…,n-1;且y0=fn=φ,φ表示补入的0;
条件二,yi+fi=y'i+1×2+f'i;其中,i=0,1,…,n;且y'0=f'n+1=φ;
条件三,y'i+f'i=si;其中,i=0,1,…,n+1;
条件四,y'i与f'i不同时为1也不同时为ī;其中,i=0,1,…,n+1;
上述四个条件中的yi、fi、y'i、f'i和si分别来自下列操作:
对ai和bi,做Y变换得到yi+1;对ai和bi,做F变换得到fi;且y=ynyn-1…y2y1φ,f=φfn-1…f1f0;
对yi和fi,做Y'变换得到y'i+1;对yi和fi,做F'变换得到f'i;且y'=y'n+1y'n…y'3y'2y’1φ,f'=φf'nf'n-1…f'1f'0;
对y'i和f'i做S变换得到si,且s=sn+1sn…s1s0;
每一个三值逻辑运算规则均对应一个三值逻辑运算器,在所述四个条件的约束下,能构成MSD并行加法器的5个三值逻辑运算器组共有7类,如下表所示:
采用符合MSD加法充分条件的5个三值逻辑运算器构造MSD并行加法器的方法,包括:
S1,选择符合MSD加法充分条件的一组三值逻辑运算规则;
S2,根据S1中选择的一组三值逻辑运算规则,构造符合MSD加法充分条件的三值逻辑运算器序列,包括:
S2.1对功能固定的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
S2.2对具有配置运算功能的三值运算器进行重构操作而构成的一组三值逻辑运算器进行操作顺序的排列,构造成符合MSD加法充分条件的三值逻辑运算器序列;
所述S2中,采用三值运算器构造符合MSD加法充分条件的三值逻辑运算器的方法具体为:
采用n位的可重构的三值运算器,通过构造m+2个加法器数据位实现m位输入数据的并行加法器;其中m表示假设构造MSD并行加法器的数据位位数;每个加法器数据位包含5个三值运算器位,每个三值运算器位被构造成符合MSD加法充分条件的5个三值逻辑运算器中一个的一位,在每个加法器数据位内以相同的方式实现排列三值逻辑运算器的方法,包括:
设三值运算器具有n个运算器位,其中,n大于等于5(m+2);
将三值运算器的任意5个运算器位重构成MSD并行加法器的1个数据位,由m+2个数据位组成m位的MSD并行加法器;每个数据位中的5个运算器位分别被重构成Y运算器、F运算器、Y’运算器、F’运算器和S运算器;
将原始数据a和原始数据b的第i位同时送入加法器第i数据位的Y运算器和F运算器,其中i=0,1,2……m-1;第i数据位的Y运算器的输出值和第i+1数据位的F运算器的输出值同时送入第i+1数据位的Y’运算器的两个输入端和F’运算器的两个输入端;第i数据位的Y’运算器的输出值和第i+1数据位的F’运算器的输出值同时送入第i+1数据位的S运算器的两个输入端;第i数据位的S运算器输出计算结果的第i位值;同时,第0号数据位的F运算器输出值和0值送入第0号数据位的Y’运算器的两个输入端和F’运算器的两个输入端;第0号位的F’运算器的输出端和0值送入第0号数据位的S运算器的两个输入端;
如果第m号和第m+1号数据位仍包含有Y、F、Y’和F’运算器,则两个0值送入第m号和m+1号数据位的Y运算器的两个输入端和F运算器的两个输入端;如果第m号数据位省去了Y运算器和F运算器,则将第m-1号数据位的Y运算器输出值和0值送入第m号数据位的Y’运算器的两个输入端和F’运算器的两个输入端;如果第m+1号数据位省去了Y运算器、F运算器、Y’运算器和F’运算器,则将第m号数据位的Y’运算器输出值和0值送入第m+1号数据位的S运算器的两个输入端;
S3,根据S2中确定的符合MSD加法充分条件的各三值逻辑运算器的结构,利用不同物理特性的三值运算器构造不同物理特性的MSD并行加法器。
2.根据权利要求1所述的基于三值逻辑运算器的MSD并行加法器的构造方法,其特征在于,通过构造m+2个加法器数据位排列得到的MSD并行加法器中,加法器每个数据位的Y运算器的输出端直接连接相邻高位的Y’运算器的一个输入端和F’运算器的一个输入端,加法器每个数据位的F运算器的输出端直接连接本位的Y’运算器的另一个输入端和F’运算器的另一个输入端;加法器每个数据位的Y’运算器的输出端直接连接相邻高位的S运算器的一个输入端,加法器每个数据位的F’运算器的输出端直接连接本位的S运算器的另一个输入端;同时,第0号数据位的F运算器的输出端和0值端连接第0号数据位的Y’运算器的两个输入端和F’运算器的两个输入端,第0号数据位的F’运算器的输出端和0值端连接第0号数据位的S运算器的两个输入端;第三高数据位的Y运算器的输出端和0值端连接次高数据位的Y’运算器的两个输入端和F’运算器的两个输入端;次高数据位的Y’运算器的输出端和0值端连接最高数据位的S运算器的两个输入端;最高数据位的其它三值逻辑运算器没有输出或不工作。
3.根据权利要求1所述的基于三值逻辑运算器的MSD并行加法器的构造方法,其特征在于,将如下两种三值逻辑运算器合并在三值运算器的一个运算器位上实现:
第一种:真值表为两列三行或转置后成为两列三行的三值逻辑运算器;
第二种:真值表为一列三行或转置后成为一列三行的三值逻辑运算器。
4.根据权利要求1所述的基于三值逻辑运算器的MSD并行加法器的构造方法,其特征在于,若中间结果前部补入的0导致后续变换的最高位总是0,将该补入的0和中间结果的最高位省去或保留。
5.一种基于三值逻辑运算器的MSD并行加法器,其特征在于,采用权利要求1至4中任一项所述的构造方法构造得到。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911066871.2A CN110837354B (zh) | 2019-11-04 | 2019-11-04 | 基于三值逻辑运算器的msd并行加法器及其构造方法 |
PCT/CN2020/079172 WO2021088291A1 (zh) | 2019-11-04 | 2020-03-13 | 基于三值逻辑运算器的msd并行加法器及其构造方法 |
US17/120,077 US20210132906A1 (en) | 2019-11-04 | 2020-12-11 | CONSTRUCTION METHOD of MSD PARALLEL ADDER BASED ON TERNARY LOGIC OPERATOR |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911066871.2A CN110837354B (zh) | 2019-11-04 | 2019-11-04 | 基于三值逻辑运算器的msd并行加法器及其构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837354A CN110837354A (zh) | 2020-02-25 |
CN110837354B true CN110837354B (zh) | 2023-07-14 |
Family
ID=69576089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911066871.2A Active CN110837354B (zh) | 2019-11-04 | 2019-11-04 | 基于三值逻辑运算器的msd并行加法器及其构造方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210132906A1 (zh) |
CN (1) | CN110837354B (zh) |
WO (1) | WO2021088291A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857368B (zh) * | 2018-12-20 | 2022-07-26 | 上海大学 | 一种位数众多、可分组、可重构的多值电子运算器及方法 |
CN110837354B (zh) * | 2019-11-04 | 2023-07-14 | 上海大学 | 基于三值逻辑运算器的msd并行加法器及其构造方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4863247A (en) * | 1986-12-29 | 1989-09-05 | The United States Of America As Represented By The Secretary Of The Navy | Optical arithmetic logic using the modified signed-digit redundant number representation |
CN101980145A (zh) * | 2010-10-25 | 2011-02-23 | 上海大学 | 三值光计算机的无进位加法器 |
CN102012892A (zh) * | 2010-12-13 | 2011-04-13 | 上海大学 | 可重构的三值光学处理器 |
CN104503729A (zh) * | 2014-12-08 | 2015-04-08 | 上海大学 | 一种全符号msd快速加法器 |
CN107066029A (zh) * | 2017-01-27 | 2017-08-18 | 丽水市飞天人机械设计有限公司 | 三值光学计算机限制输入符号一步式msd加法器 |
CN109857368A (zh) * | 2018-12-20 | 2019-06-07 | 上海大学 | 一种位数众多、可分组、可重构的多值电子运算器及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2683488B2 (ja) * | 1992-06-30 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 3−1論理演算装置 |
CN110837354B (zh) * | 2019-11-04 | 2023-07-14 | 上海大学 | 基于三值逻辑运算器的msd并行加法器及其构造方法 |
-
2019
- 2019-11-04 CN CN201911066871.2A patent/CN110837354B/zh active Active
-
2020
- 2020-03-13 WO PCT/CN2020/079172 patent/WO2021088291A1/zh active Application Filing
- 2020-12-11 US US17/120,077 patent/US20210132906A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4863247A (en) * | 1986-12-29 | 1989-09-05 | The United States Of America As Represented By The Secretary Of The Navy | Optical arithmetic logic using the modified signed-digit redundant number representation |
CN101980145A (zh) * | 2010-10-25 | 2011-02-23 | 上海大学 | 三值光计算机的无进位加法器 |
CN102012892A (zh) * | 2010-12-13 | 2011-04-13 | 上海大学 | 可重构的三值光学处理器 |
CN104503729A (zh) * | 2014-12-08 | 2015-04-08 | 上海大学 | 一种全符号msd快速加法器 |
CN107066029A (zh) * | 2017-01-27 | 2017-08-18 | 丽水市飞天人机械设计有限公司 | 三值光学计算机限制输入符号一步式msd加法器 |
CN109857368A (zh) * | 2018-12-20 | 2019-06-07 | 上海大学 | 一种位数众多、可分组、可重构的多值电子运算器及方法 |
Non-Patent Citations (3)
Title |
---|
Yunfu Shen et al..Principle and design of ternary optical accumulator implementing M-k-B addition.《Optical Engineering》.2014,095108-1 - 095108-8. * |
金翊 等.三值光学计算机中MSD加法器的理论和结构.《中国科学:信息科学》.2011,第41卷(第5期),论文2-6节. * |
金翊 等.三值光学计算机中MSD加法器的理论和结构.中国科学:信息科学.2011,第41卷(第5期),论文2-6节. * |
Also Published As
Publication number | Publication date |
---|---|
WO2021088291A1 (zh) | 2021-05-14 |
US20210132906A1 (en) | 2021-05-06 |
CN110837354A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086076A (zh) | 神经网络处理装置及其执行向量点积指令的方法 | |
KR100308723B1 (ko) | 올림수-보존 가산기회로 및 복수의 이진 데이터 비트 합산 방법 | |
CN110837354B (zh) | 基于三值逻辑运算器的msd并行加法器及其构造方法 | |
CN112114776A (zh) | 一种量子乘法运算方法、装置、电子装置及存储介质 | |
TWI263402B (en) | Reconfigurable fir filter | |
JPH09510805A (ja) | 高速アダマール変換を行う方法およびその装置 | |
US6061706A (en) | Systolic linear-array modular multiplier with pipeline processing elements | |
CN112836813A (zh) | 一种用于混合精度神经网络计算的可重构脉动阵列系统 | |
US9933998B2 (en) | Methods and apparatuses for performing multiplication | |
CN107368459B (zh) | 基于任意维数矩阵乘法的可重构计算结构的调度方法 | |
US4545028A (en) | Partial product accumulation in high performance multipliers | |
WO2024045519A1 (zh) | 一种数据移位方法、系统、计算机设备及可读存储介质 | |
JPH05158659A (ja) | 乗算器 | |
CN110647307B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN210109863U (zh) | 乘法器、装置、神经网络芯片及电子设备 | |
US6484193B1 (en) | Fully pipelined parallel multiplier with a fast clock cycle | |
WO2020108486A1 (zh) | 数据处理装置、方法、芯片及电子设备 | |
JPH06149542A (ja) | 加算器連鎖及び加算方法 | |
CN110705196A (zh) | 一种基于随机计算的无误差加法器 | |
CN217034730U (zh) | 多位选择器及运算电路及芯片 | |
CN209962284U (zh) | 乘法器、装置、芯片及电子设备 | |
CN209879492U (zh) | 乘法器、机器学习运算装置及组合处理装置 | |
US20220277190A1 (en) | Neural network engine with associated memory array | |
KR20220101518A (ko) | 곱셈-누산 회로 및 이를 포함하는 프로세싱-인-메모리 장치 | |
TWI665878B (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 | ||
GR01 | Patent grant |