一种位数众多、可分组、可重构的多值电子运算器及方法
技术领域
本发明涉及计算机科学与技术领域,尤其涉及一种位数众多、可分组、可重构的多值电子运算器及其构造和使用方法。
背景技术
当前三值光学计算机研究已经得到了多项结果,但主要技术点通常在于光学运算器,用于电子运算器的还未见报道。
与本发明实施例相关的专利有两项:【1】、无进位无借位n值运算器,中国专利:ZL200710041144.1,授权日:2009-10-28。此项发明的要点在于:1.公开了一种构造多值运算器的一般性方法,其主要技术落实在光学运算器,不涉及如何构造电子运算器。2.公开的方法中的核心技术是“运算基元”,该基元的特点是:仅对一组输入数据值,其输出是非D状态,对于其它的输入数据值,其输出都是D状态,而所有运算基元输出的全部物理状态构成n值集合。该项专利中所述的技术只涉及光学运算器,而不涉及电子运算器,并且其运算基元只能完成逻辑运算真值表中一个元素的运算,局限性比较大。
【2】、可重构的三值光学处理器,中国发明专利:ZL201010584129.3,授权日:2012-05-02。该专利公开了一种构造三值光学处理器的技术方案,并对这种光学处理器的重构部件和光学部件的结构主张了权利要求。该专利公开的是一种三值光学处理器,同样不涉及电子处理器。
发明内容
本发明为了将多值运算应用在电子运算器上,研究了一种位数众多、可分组、可重构的多值电子运算器及其构造和使用方法,以三值光学计算机研究取得的多项理论成果为基础,实现可以快速重新配置成具体逻辑运算单元的多值电子运算器,而且利用电子电路的集成化制造技术实现位数众多的运算器,利用所构成的各种运算器的数据位之间无关联性的特点,实现对运算器位的任意分组,且运算器位的每个分组都可以独立使用。即它以运算器位数众多、运算器位数可任意分组且独立使用、运算器位的硬件计算功能可重构为特色。
本发明能把这种新型电子运算器位的每一位构造成任意一种三值逻辑运算器,并用多个运算器位构成一位MSD数加法器,这种加法器的各个数据位之间没有进位关系,所有数据位的加法运算同步完成,各数据位之间没有进位关联。即:本发明能把这种新型电子运算器位的任意一组构造成更适合用户需求的一种运算器,当用户完成运算后,这些运算器位又可被重新分配和配置。当运算器位的不同组段被配置成不同的具体运算器时,这种新型电子运算器在整体上成为一个复合运算器。
本发明在设计所述的新型多值电子运算器时,出发点是n值逻辑运算的真值表。在常规情况下,n值逻辑运算的真值表是一个nxn的方表,例如3值逻辑运算的真值表如表1,它有3行和3列,供9个元素(C00到C22);4值逻辑的真值表如表2,它有4行和4列,供16个元素(C00到C33)。
表1.三值逻辑运算真值表
另一方面,n值逻辑的值有多种表示方法,最常用的是一维n值表示,即逻辑值用一位符号表示,该符号有n个不同的可取值。但n值逻辑的值也可以用多位符号表示。
例如:四值逻辑值可以用一维4值表示,也可以用二维2值表示。当采用一维4值表示时,表2中的Cij都是一位符号,该符号可取4个不同的值,如{0,1,2, 3}或{A,B,C,D}等,各组可取符号集就是Cij的值域。当采用二维2值表示时,表2 中的Cij都是两位符号,每个符号可取2个不同值,如{0,1}或{A,B}等,这时Cij 的值域分别为{00,01,10,11}或{AA,AB,BA,BB}等。
表2.四值逻辑运算真值表
再如:三值逻辑值也可有多种表示方式,最常用的是一维3值逻辑表示,这时表1中的Cij都是一位符号,每个符号有3个不同的值,如{0,1,2}或{x,y,z}等。但三值逻辑值也可以采用二维2值表示,这时先要在两位2值符号的4种取值中选定3个来表述3值数据,例如可以选择{00,01,10},这时表1中的Cij都是两位符号,它的值域为{00,01,10}。显然,用二维2值来表示三值逻辑值时,可以有三种不同的值域选择。但这三种值域选择能够对应于相同的电路结构,专业人士应该能模仿本说明书给出的实施例来完成其它值域选择下的相应电路。因此,本说明书中不区分值域选择带来的电路细节上的微小差别。但一维3值表示和二维 2值表示的三值逻辑运算电路之间有比较明显的区别,本说明书的实施例将分别给出这两种三值逻辑分别对应的电路结构(详见具体实施例)。
本发明的实施例提供了一种位数众多、可分组、可重构的多值电子运算器, n值电子运算器的每一位包括n个列运算器和一个电位迭合器,第k个列运算器的输出端与电位迭合器的第k个输入端连接;
其中,每个列运算器包括:输出有效器、输出生成器、A信号选择器、工作允许器、重构锁存器和重构电路;
在第i个运算器位的第k个列运算器中,A信号选择器的输入端与数据输入线A的第k根线相连接,A信号选择器的输出端与工作允许器的输入端连接;工作允许器的输出端与输出有效器的控制端连接,工作允许器的控制端与重构锁存器的工作允许位的输出端连接;重构锁存器的输入端与重构命令输入线G连接,重构锁存器中的工作允许位的输出端与工作允许器的控制端连接,重构锁存器中的其它位的输出端分别与重构电路的一个控制端连接;重构电路的输入端与数据输入线B的第k根线相连接,重构电路的输出端与输出生成器输入端连接;输出生成器的控制端与输出有效器的输出端连接,输出生成器的输出端与电位迭合器的第k个输入端连接;
第i个运算器位的电位迭合器设置为将该运算器位的所有列运算器的输出信号迭加在一起,形成该运算器位的输出信号。
进一步地,所述多值电子运算器包括m位,电子运算器第i位的输出信号为 Ci(n值),i=0,1,2,……,m-1,每个电子运算器位设置有n个列运算器,运算器第i 位的第k号列运算器的输出信号设置为Ci k(2值),i=0,1,2,……,m-1;k=0,1,2,……, n-1。每个所述输出信号Ci k都是二值信号,每个Ci k的信号都不同,所有Ci k的信号中包括n个不同的信号。
进一步地,重构锁存器的输入端设置为与重构指令输入线G信号线连接,重构指令输入线G设置为将重构指令通过G信号线写入重构锁存器,G信号为二值信号,重构指令一般也是二值数据;
重构锁存器中设定运算功能的多个位的输出端与重构电路的控制端连接,重构锁存器中设定运算功能的多个位控制重构电路对重构电路输入端数据输入线B 的第k根线送入的数据B的第k位信号进行筛选。故重构指令输入线G的作用是提供将重构指令写入重构锁存器的通道。G线上的信号为二值数据。
进一步地,重构电路包括p个结构相同的分支,p设置为大于n的平方根的最小整数;重构电路的每个分支设置为由重构电路分支控制端的信号状态来判定重构电路分支对输入端送入的值进行选择和简单变换,并把选择和变换的结果通过重构电路分支的输出端送到输出生成器输入端的一路;输出生成器的输入端包含有p路输入线。
进一步地,输出有效器、工作允许器的控制端设置为具有导通选择性,导通选择性设置为,当其控制端信号为高电平时,设置为该器件的输入端和输出端之间导通;当控制端信号为低电平时,设置为该器件的输入端和输出端不导通,且输出为低电平。
进一步地,A信号选择器的输入端还包括与数据输入线A连接,数据输入线 A设置为m位n值的数据输入线,数据输入线A中的第i条信号线连接到第i号运算器位的每一个列运算器的A信号选择器的输入端。
进一步地,重构电路的输入端还包括与数据输入线B连接,数据输入线B设置为m位n值的数据输入线,B的第i条信号线连接到第i号运算器位的每个列运算器的重构电路的输入端。
进一步地,列运算器的输出端的输出信号设置为Ci k(n值)(i=0,1,……, m-1;k=0,1,……,n-1),输出信号Ci k设置为输入到运算器第i位的电位迭合器的第k号输入端,同时一个可取n个值的电平V(n值)也输入到该电位迭合器的另一个输入端,所述电位迭合器根据当前为高电平的输入信号Ci k选择V的对应电平值Vi输出,形成运算器第i位的输出信号Ci(n值)(i=0,1,……, m-1),所有运算器位的输出信号Ci(n值)(i=0,1,……,m-1)构成多值电子运算器的m个输出端的输出信号。
本发明的实施例提供了一种位数众多、可分组、可重构的多值电子运算器的使用方法,包括以下步骤:
步骤1,通过G信号线给所需的运算器位的各个列运算器的重构锁存器写入重构命令;
步骤2,把一对原始数据的当前值分别送上数据输入线A和送上数据输入线 B;
步骤3,接受所有运算器位的各个列运算器的输出端的计算结果;
步骤4,重复步骤2和步骤3,直到所有原始数据计算完毕。
例如:对于三值运算器,若需将其第100位到105位重构成某种三值逻辑运算器,首先要写出具体的三值逻辑运算真值表,如说明书中的表1所示;再根据说明书中实施例二的表6(三值逻辑重构值与列运算器输出(低位)关系)确定给所述三个重构锁存器写入的重构命令——一组二值数据,并将这三个重构命令分别送上G信号线,同时选中100号到105号运算器位的所述重构锁存器,使这些重构锁存器接受相应的重构命令。从而将100到105号运算器位构造成了所需的三值逻辑运算器。
假如要用上述构造的三值逻辑运算器处理1万对数据,每对数据有a1和b1 两个值,若第1对数据为a1=tfuffu,b1=ffuttu,其中f、t和u是三个逻辑值,将三值数据a1和b1分别送上信号线A和B的第100位到105位,哪个数据送入信号线A其结果都相同。
把a1和b1数据送入运算器的100到105位后,即可在运算器第100位到105 位的输出端得到运算结果c1。
然后逐一送入a1和b1的其它数据,并获得相应的计算结果c1,直到所有原始数据计算完毕。
本发明实施例提供的一种位数众多、可分组、可重构的多值电子运算器,具有以下技术效果:
1、以“列(行)逻辑运算器”为特征的电路基本单元。
本发明实施例中称能够完成一个n值逻辑运算真值表中一列(或一行)上n 个元素所对应的所有逻辑运算的电路单元为列(或行)逻辑运算器。本说明书中简称为列运算器。
本发明实施例中的n值电路单元包含一个重构锁存器,给重构锁存器送入不同的值就将该n值电路单元构造成了一个具体的n值列运算器。更新重构锁存器中保持的值,对应的电路单元就被重构成另一个列运算器。重构锁存器的每一个可取值对应于一个具体的n值列运算器,重构锁存器的所有可取值对应于全部n 值列运算器。于是,用n个本发明实施例的电路单元就一定可以构造出一位n值逻辑运算器。故n个本发明实施例的n值电路单元就组成本发明所述的新型电子运算器的一位。于是,新型电子运算器的m个位就能构造出m位的任意n值逻辑运算器,而且各个运算器位上构造出的逻辑运算器可以不相同。
2.能够完成真值表为m行n列(m≠n)的逻辑运算。
这种逻辑运算的真值表为表1或表2中删去一行或列的情况。虽然这种逻辑运算在生活中很少见,但在三值光学计算机构造的JS-MSD并行加法器中却用到了两个这样的三值逻辑运算器,说明这种逻辑运算在理论和实际工作中都有意义。本发明实施例实现的电子运算器的可重构性使得这种多值电子运算器可以很方便地完成这种逻辑运算。
3.用本发明实施例构造的列(行)三值逻辑运算器可以构造出多种加法器,例如采用MSD数字的二进制并行加法器。
附图说明
图1为本发明提供的一种位数众多、可分组、可重构的多值电子运算器的总体结构示意图。其特征为基于列运算器构造多值运算器的各运算器位。
图2为本发明的实施例一的电子运算器结构示意图。它描述一种位数众多、任意分组、可重构的四值电子运算器的具体结构,特征为用二位二值符号表示四值逻辑运算。
图3为本发明的实施例二的电子运算器结构示意图。它描述一种位数众多、任意分组、可重构的三值电子运算器的具体结构,特征为用二位二值符号表示三值逻辑运算。
图4为本发明的实施例三的电子运算器结构示意图。它描述一种位数众多、任意分组、可重构的三值电子运算器的具体结构,特征为用一位三值符号表示三值逻辑运算。
图5为本发明的实施例四的电子运算器结构示意图。它描述一种位数众多、任意分组、可重构的二值电子运算器的具体结构,特征为用一位二值符号表示二值逻辑运算。
具体实施方式
下面结合各附图和具体实施方式对本发明做进一步描述。
本发明的各实施例分别以四值逻辑运算电子运算器结构、三值逻辑运算电子运算器结构和二值逻辑运算电子运算器结构为实施例对发明内容进行详细描述,但并不限制本专利涵盖其它的多值逻辑电子运算器。
结合图1描述所述的多值电子运算器的总体结构、部件之间的连接关系和工作原理如下:
在总体结构上,所述n值电子处理可以有m位,m可以是任意正整数,比如 m=5000000或更大。所述多值电子运算器的每一位(①和②)都包含n个(n 大于1的正整数)列运算器(③和④)和一个有n个输入端的电位迭合器第k号列运算器的输出端与电位迭合器的第k号输入端连接,其中k=0,1,……, n-1;第i号电位迭合器的输出设置为第i号运算器位的输出,其中i=0,1,……, m-1。例如,所述运算器的第i位包含的第k个列运算器的输出为Ci k(i=0,1,……, m-1;k=0,1,……,n-1),每个Ci k送入运算器第i位的电位迭合器的第k号输入端,该电位迭合器的输出端送出运算器第i位的运算结果。
所述多值电子运算器的每个列运算器包括:输出有效器⑤、输出生成器⑥、 A信号选择器⑦、工作允许器⑧、重构锁存器⑨和重构电路⑩等部件。
其连接为:运算器第i位中所有列运算器的A信号选择器的输入端与数据输入线A的第i根线相连接,而各列运算器中的A信号选择器的输出端与工作允许器的输入端连接;工作允许器的输出端连接到输出有效器的控制端,而工作允许器的控制端连接到重构锁存器的工作允许位的输出端;重构锁存器的输入端连接到重构命令输入线G,重构锁存器的工作允许位的输出端连接到工作允许器的控制端,重构锁存器的其它位的输出端分别连接到重构电路的一个控制端;重构电路的输入端连接到数据输入线B的第i根线,而输出端中的每根线连接输出生成器输入端的一根线;输出生成器的控制端连接到输出有效器的输出端,输出生成器的输出端连接到电位迭合器的一个输入端。
所述多值电子运算器的工作原理为:通过G线写入重构锁存器的重构命令决定每个列运算器的计算功能——实现n(n×n)种n值逻辑运算中的哪一种或没有运算功能。当重构锁存器的工作允许位为0时,它控制工作允许器始终输出0,进而控制输出有效器始终输出0,导致输出生成器的输出始终为0,则该列运算器的输出值总是0,与输入数据无关,即该列运算器没有运算能力;当重构锁存器的工作允许位为1时,它控制工作允许器开启,则A信号选择器的输出信号通过工作允许器到达输出有效器的控制端;若当前数据线A的第i位的值不符合A信号选择器的选择要求,则A信号选择器输出0,于是输出有效器的控制端的当前值为0,则列运算器的当前输出为0,即该列运算器对当前的A值第i位不进行运算;若当前数据线A的第i位值符合A信号选择器的选择要求,则A信号选择器输出 1,则输出有效器控制端的当前值为1,则输出有效器输出值也为1,这时输出生成器输入端的信号在输出生成器中进行电位变换,形成该列处理的运算结果信号,并从输出生成器的输出端送出,称为Ci k(运算器第i位的第k个列运算器的计算结果);重构电路共有p个分支,p为大于n的平方根的最小整数。重构电路的每个分支设置为由该分支控制端的信号状态来对该分支输入端送入的数据B 的第i位的值进行选择和简单变换,并把选择和变换的结果通过该分支的输出端送到输出生成器输入端的一路;输出生成器的输入端也有p路输入线。
所述运算器第i位的电位迭合器设置为将该运算器位的所有列运算器的输出信号迭加在一起,形成该运算器位的输出物理信号。由于数据A第i位的任意取值都必定符合一个列运算器的A信号选择器的选择要求,于是该运算器位必定能够完成对数据A的第i位和数据B的第i位的任意取值的逻辑运算。
本发明能把这种新型电子运算器位的任意一组构造成更适合用户需求的一种运算器。
实施例一:
本实施例描述用二位二值符号表示的四值逻辑电子运算器结构。该电子运算器可以有m位,每一位的结构和工作原理都相同,如图2。故本说明书仅结合图 2详细描述其第i位,i=0,1,……,m-1。
本发明实施例的四值逻辑电子运算器的每一位都包括4个列运算器( 和)、一个由两个四输入或门(和)组成的电位迭合器这4个列运算器的差别仅在于A信号选择器和的结构不同。其中是或非门,的两个输入端可任意连接Ai 1(数据线A第i线的高位)和 Ai 0(数据线A第i线的低位);是单输入端取非的与门,有非门的输入端连接Ai 1,另一输入端连接Ai 0;也单输入端取非的与门,有非门的输入端连接Ai 0,另一输入端连接Ai 1;是与门,两个输入端可任意连接Ai 1和Ai 0。鉴于4个列运算器的其它部分完全相同,本说明书仅详细描述一个列运算器的电路结构和工作原理。
本实施例中,每个列运算器包括:输出有效器、输出生成器、A信号选择器、工作允许器、重构锁存器和重构电路。其中,输出有效器落实为与门输出生成器落实为两个与门和A信号选择器分别落实为或非门一个输入端取非的与门和以及与门工作允许器落实为与门重构锁存器落实为锁存器RGi 0 同理用RGi k标示运算器第i位的第k号列运算器中的重构锁存器;重构电路落实为两个部件,一个部件由八选一选择器异或门和与门一个输入取非的与门和或非门组成,另一个部件由八选一选择器异或门和与门一个输入取非的与门和或非门组成。
列运算器中各部分的连接为:或非门(A信号选择器)的两个输入端分别连接第i条数据线Ai的两位编码线Ai 0和Ai 1,的输出端连接与门(工作允许器)的一个输入端;的另一个输入端(工作允许器的控制端)连接重构锁存器的G4位(工作允许位)的输出端,的输出端连接与门(输出有效器)的一个输入端(输出有效器的控制端);的另一个输入端连接电源Vcc(高电平),的输出端同时连接与门和(输出生成器低位和高位分支)的一个输入端(输出生成器分支的控制端);和的另一个输入端分别连接异或门和的输出端(重构电路两分支的输出端),的输出端(列运算器的低位输出信号)连接或门(电位迭合器的低位分支)的一个输入端,的输出端(列运算器的高位输出信号)连接或门(电位迭合器的高位分支)的一个输入端;和的其它输入端分别连接运算器第i位的其它列运算器的相应输出信号,和的输出端送出运算器第i位的运算结果的低位值Ci 0和高位值Ci 1;重构锁存器的G7、G6和G5位(结果低位的B信号选择位组)的输出端连接八选一器件的输入口选择端C2、C1和C0,而的8个输入口分别连接一个对Bi信号进行筛选的电路:其中D0口连接或非门的输出端、D1连接单非输入与门的输出端、D2连接单非输入与门的输出端、D3连接与门的输出端、D4连接Bi信号线的高位Bi 1、D5连接Bi信号线的低位Bi 0、D6连接异或门的输出端、D7连接高电平Vcc;重构锁存器的G8位(低位输出取反位)连接异或门的一个输入端(低位输出取反控制端),的另一个输入端连接八选一器件的输出端,的输出端连接与门(输出生成器的低位分支)的输入端;重构锁存器的G2、G1和G0位(结果高位的B信号选择位组) 的输出端连接八选一器件的输入口选择端C2、C1和C0,而的8个输入口分别连接一个对Bi信号进行筛选的电路:其中D0口连接或非门的输出端、D1 连接单非输入与门的输出端、D2连接单非输入与门的输出端、D3连接与门的输出端、D4连接Bi信号线的高位Bi 1、D5连接Bi信号线的低位Bi 0、D6 连接异或门的输出端、D7连接高电平Vcc;重构锁存器的G3位(高位输出取反位)连接异或门的一个输入端(高位输出取反控制端),的另一个输入端连接八选一器件的输出端,的输出端连接与门(输出生成器的高位分支)的输入端;器件和的两个输入端分别连接数据线Bi的高位线Bi 1和低位线Bi 0,其中和接有非门的输入端连接Bi 0,和接有非门的输入端连接Bi 1。
列运算器的工作原理为:
1.由于四个列运算器的A信号选择器和的结构不同,其中是或非门、和是单输入端取非的与门、也是与门,于是当数据A 的第i位Ai的两位二值符号Ai 1Ai 0=00时,输出为高电平,若与门的另一输入端也为高电平,即重构锁存器的G4位为1,则输出高电平到与门的一个输入端,而的另一个输入端为电源电位Vcc(高电平),故输出高电平。这个过程在功能上实现了Ai 1Ai 0=00时,高电平通过与门到达与门和的一个输入端(输出生成器的控制端),这时列运算器的输出信号Ci 01和Ci 00可以分别输出高电平或低电平,于是该运算器位的输出信号Ci=Ci 1Ci 0就可以在 {00,01,10,11}值域上取值,可见此时列运算器处于工作状态。同时,另外三个列运算器的A信号选择器和都输出低电平,于是这三个列运算器都不工作;同理,当Ai 1Ai 0=01时,列运算器工作;当Ai 1Ai 0=10时,列运算器工作;当Ai 1Ai 0=11时,列运算器工作。即:对于输入数据A的第i位 Ai的任何取值,都有且仅有一个列运算器工作。即:任意时刻只有一个列运算器可能输出高电平。
2.鉴于任意时刻四个列运算器中只有一个列运算器可能输出高电平,其余三个列运算器都输出低电平,故输出信号迭合器由两个4输入或门和构成。对四个列运算器输出信号的低位值取或,生成运算器第i位输出信号的低位Ci 0;对四个列运算器输出信号的高位值取或,生成该运算器位输出信号的高位Ci 1。
3.由于四个列运算器的差别仅在于A信号选择器和的结构不同,其它部分完全相同,下面仅讨论列运算器即可。
锁存器是重构命令锁存器,写入锁存器的值(重构命令)决定的运算功能。的最低3位(G2,G1,G0)连接到八选一器件的输入口选择端 (C2,C1,C0),故G2、G1和G0的值将决定的8个输入口(D7到D0)的哪一个会和输出口O连通,选通关系见表3。
表3.八选一器件输出口对输入口的选通关系
锁存器的G3位控制异或门的取反功能,G3=1时,异或门把从的O口输出的信号取反;G3=0时,不对O口输出的信号取反。异或门的输出信号连接到与门的一个输入端,故:当的另一个输入端(控制端)的输入为1(高电平)时,对的输出信号开放,即的输出电平与的输出电平保持一致,于是的输出信号生成为该列运算器运算结果的高位值 Ci 01。故重构锁存器的低4位(G3,G2,G1和G0)决定八选一器件的哪个输入口的哪个值能使该列运算器输出信号中的高位Ci 01为高电平。同理,锁存器的高4位(G8,G7,G6和G5)决定八选一器件的哪个输入口的哪个值能使该列运算器输出信号中的Ci 00为高电平。
4.锁存器的中间位G4连接到与门的一个输入端(工作允许器的控制端),当G4=1时,对另一个输入端开放,即对A信号选择器的输出信号开放;若输出高电平,则也输出高电平,于是与门也输出高电平,这时该列运算器处于工作状态,它就是运算器第i位的当前工作部分;当G4=0 时,与门必定输出低电平,即对另一输入端关闭,于是与门的输出也总是低电平,于是与门和也总是输出低电平,即Ci 00和Ci 01都是0值,二者在或门和中不起作用,在功能上实现该列运算器不工作,即它不参与运算器第i位的运算。这时运算器第i位遵循的逻辑运算真值表相当于从表2中删除对应列后剩余的4X3表。因此,G4决定该列运算器是否属于当前逻辑运算器第i位的一部分。
显然,若运算器当前遵循的逻辑运算真值表本身就是一个4X3表,则该表中缺失的列所对应的列运算器的重构锁存器中都要设定G4=0。
5.八选一器件和的输入信号完全相同,下面只讨论的输入信号及其功能。输入数据B的第i位Bi的两位二值符号Bi 1Bi 0经取或非后送入D0端,于是仅在Bi 1Bi 0=00时D0端接入高电平;Bi 1的非和Bi 0经取与后送入D1端,于是仅在Bi 1Bi 0=01时D1端接入高电平;Bi 1和Bi 0的非经取与后送入D2端,于是仅在Bi 1Bi 0=10时D2端接入高电平;Bi 1Bi 0经取与后送入D3端,于是仅在Bi 1Bi 0=11 时D3端接入高电平;Bi 0直接送入D4端,于是只要Bi 0=1,D4端就接入高电平; Bi 1直接送入D5端,于是只要Bi 1=1,D5端就接入高电平;Bi 1Bi 0经取异或后送入D6端,于是只要B1 i与B0 i不相同,D6端就接入高电平;Vcc直接送入D7端,于是无论B数据为何值,D7都接入高电平。
从表3可以看到,当选择端C2、C1和C0为000时,D0输入口被选通,这时只有D0的值会送O端输出,其它输入口的值不能通过而使的C2、 C1和C0为000的唯一途径是给锁存器的G7、G6和G5写入000,若给G8也写入0,则当Bi 1Bi 0=00时,的D0口输入为高电平,导致其O口输出高电平,它又使异或门输出高电平,进而使与门输出高电平,于是该列运算器的输出Ci 00高电平。当Bi 1Bi 0≠00时,Ci 00为低电平。同理可以分析的G8、G7、G6 和G5取其它值时对Ci 00输出值的影响,见表4。再考虑到G3、G2、G1和G0对 Ci 01输出值的影响与G8、G7、G6和G5对Ci 00输出值的影响完全相同,于是从表 4可以写出将一个列运算器构造成具体的列运算器时,应该写入锁存器的值,这个值称为列重构命令,相应地把称为列重构锁存器。
表4.四值逻辑重构锁存器值与列运算器输出(低位) 的关系
6.以表4为基础,可以将m位的运算器的每一个位都重构成某种四值逻辑运算器的一位,整个运算器成为有多种四值逻辑运算器的复合运算器,各个逻辑运算器的位数之和为m位。然后就可以将大量的原始数据逐一在该运算器中进行计算,具体操作如下:
1)写出所需逻辑运算的真值表,参考表2。
2)若真值表缺少某列,则将与该列对应的列运算器的G4位写0。若真值表缺少某行,则将真值表行列对调,变成缺列的真值表。
3)根据真值表中1出现的位置,查表4,写出G8~G0的值。
4)将G8~G0写入各列运算器的重构锁存器中。
5)将原始数据逐对写入运算器位的数据输入端A和B。
6)在运算器位的C端得到计算结果。
实施例二:
本实施例描述用二位二值符号表示的三值逻辑电子运算器结构。该电子运算器可以有m位,每一位的结构和工作原理都相同,如图3。故本说明书仅结合图 3详细描述其第i位,i=0,1,……,m-1。
本实施例选择二位二值符号的00、01和10三个符号表示三值数据,当选择 11和另外两个符号表示三值数据时,相应的电路仅对A信号选择器有所改变,且这种改变已经在结合图1的总体结构描述中有详细表述,故这种不同的符号选择不应缩小本实施例的涵盖范围。
本发明实施例的三值逻辑电子运算器的每一位都包括3个列运算器(和)、一个由两个三输入或门(和)组成电位迭合器这3个列运算器的差别仅在于A信号选择器和的结构不同,其中是或非门,两个输入端可任意连接Ai 1(数据线A第i号线的高位)和Ai 0(数据线A第i 号线的低位);是单输入端取非的与门,有非门的输入端连接Ai 1,另一输入端连接Ai 0;也单输入端取非的与门,有非门的输入端连接Ai 0,另一输入端连接Ai 1。鉴于3个列运算器的其它部分完全相同,本说明书仅详细描述一个列运算器的电路结构和工作原理。
本实施例中,每个列运算器包括:输出有效器、输出生成器、A信号选择器、工作允许器、重构锁存器和重构电路。其中,输出有效器落实为与门输出生成器落实为两个与门和A信号选择器分别落实为或非门一个输入端取非的与门和工作允许器落实为与门重构锁存器落实为锁存器 RGi 0 同理用RGi k标示运算器第i位的第k列运算器中的重构锁存器;重构电路落实为两个分支部件,一个部件由异或门四选一选择器和或非门组成,另一个部件由异或门四选一选择器和或非门组成。
列运算器中各部分的连接为:或非门(A信号选择器)的两个输入端分别连接第i条数据线Ai的两位编码线Ai 0和Ai 1,的输出端连接与门(工作允许器)的一个输入端;的另一个输入端(工作允许器的控制端)连接重构锁存器的G3位(工作允许位)的输出端,的输出端连接与门(输出有效器)的一个输入端(输出有效器的控制端);的另一个输入端连接电源Vcc(高电平),的输出端同时连接与门和(输出生成器低位和高位分支)的一个输入端(输出生成器分支的控制端);和的另一个输入端分别连接异或门和的输出端(重构电路两部件的输出端),的输出端(列运算器的低位输出信号)连接或门(电位迭合器的低位分支)的一个输入端,的输出端(列运算器的高位输出信号)连接或门(电位迭合器的高位分支)的一个输入端;和的其它输入端分别连接运算器第i位的另外两个列运算器和的相应输出信号,和的输出端送出运算器第i位的运算结果的低位值Ci 0和高位值Ci 1;重构锁存器的G5和G4位(结果低位的B信号选择位组)的输出端连接四选一器件的输入口选择端C1和C0,而的4个输入口分别连接一个对Bi信号进行筛选的电路:其中D0口连接或非门的输出端、D1 连接Bi信号线的低位Bi 0、D2连接Bi信号线的高位Bi 1、D3连接高电平Vcc;重构锁存器的G6位(低位输出取反位)连接异或门的一个输入端(低位输出取反控制端),的另一个输入端连接四选一器件的输出端,的输出端连接与门(输出生成器的低位分支)的输入端;重构锁存器的G1和G0位 (结果高位的B信号选择位组)的输出端连接四选一器件的输入口选择端C1 和C0,而的4个输入口分别连接一个对Bi信号进行筛选的电路:其中D0口连接或非门的输出端、D1连接Bi信号线的低位Bi 0、D2连接Bi信号线的高位 Bi 1、D3连接高电平Vcc;重构锁存器的G2位(高位输出取反位)连接异或门的一个输入端(高位输出取反控制端),的另一个输入端连接四选一器件的输出端,的输出端连接与门(输出生成器的高位分支)的输入端;器件和的两个输入端分别连接数据线Bi的高位线Bi 1和低位线Bi 0。
列运算器的工作原理为:
1.由于三个列运算器的A信号选择器和的结构不同,其中是或非门、和是单输入端取非的与门,于是当数据A的第i位Ai的两位二值符号Ai 1Ai 0=00时,输出为高电平,若与门的另一输入端也为高电平,即重构锁存器的G3位为1,则输出高电平到与门的一个输入端,而的另一个输入端为电源电位Vcc(高电平),故输出高电平。这个过程在功能上实现了Ai 1Ai 0=00时,高电平通过与门到达与门和的一个输入端(输出生成器的控制端),这时列运算器的输出信号Ci 01和Ci 00可以分别输出高电平或低电平,于是该运算器位的输出信号Ci=Ci 1Ci 0就可以在{00,01,10}值域上取值,可见此时列运算器处于工作状态。同时,另外两个列运算器的A信号选择器和都输出低电平,于是这两个列运算器都不工作;同理,当Ai 1Ai 0=01时,列运算器工作;当Ai 1Ai 0=10时,列运算器工作。即:对于输入数据A的第i 位Ai的任何可取值,都有且仅有一个列运算器工作。即:任意时刻只有一个列运算器可能输出高电平。
2.鉴于任意时刻三个列运算器中只有一个列运算器可能输出高电平,其余两个列运算器都输出低电平,故输出信号迭合器由两个3输入或门和构成。对三个列运算器输出信号的低位值取或,生成运算器第i位输出信号的低位Ci 0;对三个列运算器输出信号的高位值取或,生成该运算器位输出信号的高位Ci 1。
3.由于三个列运算器的差别仅在于A信号选择器和的结构不同,其它部分完全相同,下面仅讨论列运算器即可。
锁存器是重构命令锁存器,写入锁存器的值(重构命令)决定的运算功能。的最低2位(G1,G0)连接到四选一器件的输入口选择端(C1, C0),故G1和G0的值将决定的4个输入口(D3到D0)的哪一个会和输出口O连通,选通关系见表5。
表5.四选一器件输出口对输入口的选通关系
C1 C0 |
00 |
01 |
10 |
11 |
输入口 |
D0 |
D1 |
D2 |
D3 |
锁存器的G2位控制异或门的取反功能,G2=1时,异或门把从的O口输出的信号取反;G2=0时,不对O口输出的信号取反。异或门的输出信号连接到与门的一个输入端,故:当的另一个输入端(控制端)的输入为1(高电平)时,对的输出信号开放,即的输出电平与的输出电平保持一致,于是的输出信号成为该列运算器运算结果的高位值Ci 01。故重构锁存器的低3位(G2,G1和G0)决定四选一器件的哪个输入口的哪个值能使该列运算器输出信号中的高位Ci 01为高电平。同理,锁存器的高3位(G6,G5和G4)决定四选一器件的哪个输入口的哪个值能使该列运算器输出信号中的Ci 00为高电平。
4.锁存器的中间位G3连接到与门的一个输入端(工作允许器的控制端),当G3=1时,对另一个输入端开放,即对A信号选择器的输出信号开放;若输出高电平,则也输出高电平,于是与门也输出高电平,这时该列运算器处于工作状态,它就是运算器第i位的当前工作部分;当G3=0 时,与门必定输出低电平,即对另一输入端关闭,于是与门的输出也总是低电平,于是与门和也总是输出低电平,即Ci 00和Ci 01都是0值,二者在或门和中不起作用,在功能上实现该列运算器不工作,即它不参与运算器第i位的运算。这时运算器第i位遵循的逻辑运算真值表相当于从表1中删除对应列后剩余的3X2表。因此,G3决定该列运算器是否属于当前逻辑运算器第i位的一部分。
显然,若运算器当前遵循的逻辑运算真值表本身就是一个3X2表,则该表中缺失的列所对应的列运算器的重构锁存器中都要设定G3=0。
5.四选一器件和的输入信号完全相同,下面只讨论的输入信号及其功能。输入数据B的第i位Bi的两位二值符号Bi 1Bi 0经取或非后送入D0端,于是仅在Bi 1Bi 0=00时D0端接入高电平;Bi 0直接送入D1端,于是只要Bi 0=1,D1 端就接入高电平;Bi 1直接送入D2端,于是只要Bi 1=1,D2端就接入高电平;Vcc 直接送入D3端,于是无论B数据为何值,D3都接入高电平。
从表3可以看到,当选择端C1和C0为00时,D0输入口被选通,这时只有D0的值会送O端输出,其它输入口的值不能通过而使的C1和C0 为00的唯一途径是给锁存器的G5和G4写入00;若给G6也写入0,则当 Bi 1Bi 0=00时,的D0口输入为高电平,导致其O口输出高电平,它又使异或门输出高电平,进而使与门输出高电平,于是该列运算器的输出Ci 00高电平。当Bi 1Bi 0≠00时,Ci 00为低电平。同理可以分析的G6、G5和G4取其它值时对 Ci 00输出值的影响,见表6。
表6.三值逻辑重构值与列运算器输出(低位)的关系
再考虑到G2、G1和G0对Ci 01输出值的影响与G6、G5和G4对Ci 00输出值的影响完全相同,于是从表6可以写出将一个列运算器构造成具体的列运算器时,应该写入锁存器的值,这个值称为列重构命令,相应地把称为列重构锁存器。
6.以表6为基础,可以将m位的运算器的每一个位都重构成某种三值逻辑运算器的一位,整个运算器成为有多种三值逻辑运算器的复合运算器,各个逻辑运算器的位数之和为m位。然后就可以将大量的原始数据逐一在该运算器中进行计算,具体操作如下:
1)写出所需逻辑运算的真值表,参考表1。
2)若真值表缺少某列,则将与该列对应的列运算器的G3位写0。若真值表缺少某行,则将真值表行列对调,变成缺列的真值表。
3)根据真值表中1出现的位置,查表6,写出G6~G0的值。
4)将G6~G0写入各列运算器的重构锁存器中。
5)将原始数据逐对写入运算器位的数据输入端A和B。
6)在运算器位的C端得到计算结果。
实施例三:
本实施例描述用一位三值符号表示的三值逻辑电子运算器结构。该电子运算器可以有m位,每一位的结构和工作原理都相同,如图4。故本说明书仅结合图4详细描述其第i位,i=0,1,……,m-1。
本实施例选择三个符号0、1和2表示三值数据,分别表示三个稳定的电平: V0伏、V1伏和V2伏,且V0<V1<V2。如:0伏、2.7±0.2伏和4.8±0.2伏。
第i个运算器位的电路详细结构和元器件见图4。其特征在于:该运算器位包含3个列运算器和以及各列运算器输出信号的迭合器和信号合并器与实施例二的结构图(图3)对比可知:本实施例是从实施例二变化而来,变化点有三处:
第1个改变是增加电平比较器和以及与门它们的作用是将输入信号Ai从一位三值信号转换为二位二值信号Ai 0和AI 1,形成与实施例二相同的输入信号Ai。其工作原理为:当Ai的值为V0伏时,和都输出低电平,由于输出低电平,则也输出低电平,故Ai 0和AI 1都为低电平,此时AI 1Ai 0=00;当Ai的值为V1伏时,输出高电平,输出低电平,的输出取反后成为高电平,它与输出的高电平同时输入故输出高电平,故Ai 0为高电平, AI 1仍为低电平,此时AI 1Ai 0=01;当Ai的值为V2伏时,和都输出高电平,的输出取反后成为低电平,它输入后,输出低电平,故Ai 0为低电平,而AI 1为高电平,此时AI 1Ai 0=10。
第2个改变是增加电平比较器和以及与门它们的作用是将输入信号Bi从一位三值信号转换为二位二值信号Bi 0和BI 1,形成与实施例二相同的输入信号Bi。其工作原理与和对Ai信号的改变相同,不再赘述。
第3个改变是在信号输出端增加了信号合并器它将实施例二输出的二位二值信号Ci 1和Ci 0转换为一位三值信号Ci。其工作原理为:当CI 1Ci 0=00时,Ci 0关闭高阻门CI 1关闭高阻门而CI 1和Ci 0进入或门 输出的低电平取反后成为高电平,它开启高阻门于是,输出端、输出端和输出端连接在一起形成的第i个运算器位的输出端Ci的当前电平为0伏(V0值);当 CI 1Ci 0=01时,Ci 0开启高阻门CI 1关闭高阻门而CI 1和Ci 0进入或门 输出的高电平取反后成为低电平,它关闭高阻门于是,输出端、输出端和输出端连接在一起形成的第i个运算器位的输出端Ci的当前电平为V1 伏;当CI 1Ci 0=10时,Ci 0关闭高阻门CI 1开启高阻门而CI 1和Ci 0进入或门 输出的高电平取反后成为低电平,它关闭高阻门于是,输出端、输出端和输出端连接在一起形成的第i个运算器位的输出端Ci的当前电平为V2伏。
鉴于实施例三的和与实施例二的和完全相同,本说明书不再对和进行赘述。
实施例四:
本实施例选择低电平为0V,高电平为Vcc两个电平值来表示信息,分别用符号0和1代表。本实施例的二值逻辑电子运算器每一个运算器位的电路完全相同,所以本说明书仅详细说明第i个运算器位的电路即可。
第i个运算器位的电路详细结构和元器件见图5。其特征在于:该运算器位包含2个列运算器和以及两个列运算器输出信号的迭合器——或门
列运算器包含4个与门和一个异或门一个或门和一个两位的锁存器各元件的连接关系为:输入数据A的第i位信号Ai取反后和电源Vcc分别连接与门的一个输入端,的输出连接与门的一个输入端(结果生成控制端),的输出信号形成该列运算器的输出信号Ci 0,并连接或门的一个输入端,的另一个输入端来自列运算器的输出信号Ci 1。另一方面,输入数据B的第i位的信号Bi连接与门的一个输入端,的另一个输入端接锁存器RGi 0 的低位G0(B信号选择位),电源Vcc连接与门 的另一个输入端接锁存器RGi 0 的低位G0取反后的信号;与门的输出端和的输出端分别接或门的一个输入端,的输出端接异或门的一个输入端,的另一个输入端接锁存器RGi 0 的高位G1(取反控制位),的输出端接与门的一个输入端。
列运算器的工作原理为:当Ai=0时,与门(A信号选择器)输出高电平,列运算器处于工作状态;这时与门(结果生成器)的控制端为1,则异或门输出端的信号能够通过输出,形成该列运算器计算结果的低位Ci 0;此时另一个列运算器中的与门受Ai=0的控制,总是输出0值,即Ci 1=0,故此时运算器的第i位之输出值Ci=Ci 0。同理,当Ai=1时,与门输出低电平,与门输出高电平,于是列运算器处于工作状态,而不工作,故Ci=Ci 1。
当列运算器工作时,若给锁存器RGi 0 的低位G0已经写入1,则与门关闭,输出始终为0值,而与门对输入数据Bi信号开放,Bi通过和或门形成异或门的一个输入信号;若的低位G0已经被清0,则与门关闭,其输出始终为0值,而与门对Vcc开放,Vcc通过和或门形成异或门的一个输入信号;由于锁存器RGi 0 的高位G1连接异或门的另一个输入端,故,若已经给G1写入1,则控制对另一输入端的信号取反,若已经将G1清0,则控制对另一输入端的信号不取反。于是,给锁存器RGi 0写入的值将决定列运算器的逻辑运算功能,写入RGi 0的值称为重构命令,其具体功能见表7。
表7.二值逻辑重构值与列运算器输出 (低位)的关系
G1 G0 |
00 |
01 |
10 |
11 |
Bi=0 |
1 |
0 |
0 |
1 |
Bi=1 |
1 |
1 |
0 |
0 |
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。