发明内容
本发明为了将多值运算应用在电子运算器上,研究了一种位数众多、可分组、可重构的多值电子运算器及其构造和使用方法,以三值光学计算机研究取得的多项理论成果为基础,实现可以快速重新配置成具体逻辑运算单元的多值电子运算器,而且利用电子电路的集成化制造技术实现位数众多的运算器,利用所构成的各种运算器的数据位之间无关联性的特点,实现对运算器位的任意分组,且运算器位的每个分组都可以独立使用。即它以运算器位数众多、运算器位数可任意分组且独立使用、运算器位的硬件计算功能可重构为特色。
本发明能把这种新型电子运算器位的每一位构造成任意一种三值逻辑运算器,并用多个运算器位构成一位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描述所述的多值电子运算器的总体结构、部件之间的连接关系和工作原理如下:
在总体结构上,所述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个列运算器的输出为C
i k(i=0,1,……,m-1;k=0,1,……,n-1),每个C
i 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信号选择器
和
的结构不同。其中
是或非门,
的两个输入端可任意连接A
i 1(数据线A第i线的高位)和A
i 0(数据线A第i线的低位);
是单输入端取非的与门,有非门的输入端连接A
i 1,另一输入端连接A
i 0;
也单输入端取非的与门,有非门的输入端连接A
i 0,另一输入端连接A
i 1;
是与门,两个输入端可任意连接A
i 1和A
i 0。鉴于4个列运算器的其它部分完全相同,本说明书仅详细描述一个列运算器的电路结构和工作原理。
本实施例中,每个列运算器包括:输出有效器、输出生成器、A信号选择器、工作允许器、重构锁存器和重构电路。其中,输出有效器落实为与门
输出生成器落实为两个与门
和
A信号选择器分别落实为或非门
一个输入端取非的与门
和
以及与门
工作允许器落实为与门
重构锁存器落实为锁存器RG
i 0 同理用RG
i k标示运算器第i位的第k号列运算器中的重构锁存器;重构电路落实为两个部件,一个部件由八选一选择器
异或门
和
与门
一个输入取非的与门
和
或非门
组成,另一个部件由八选一选择器
异或门
和
与门
一个输入取非的与门
和
或非门
组成。
列运算器中各部分的连接为:或非门
(A信号选择器)的两个输入端分别连接第i条数据线A
i的两位编码线A
i 0和A
i 1,
的输出端连接与门
(工作允许器)的一个输入端;
的另一个输入端(工作允许器的控制端)连接重构锁存器
的G4位(工作允许位)的输出端,
的输出端连接与门
(输出有效器)的一个输入端(输出有效器的控制端);
的另一个输入端连接电源Vcc(高电平),
的输出端同时连接与门
和
(输出生成器低位和高位分支)的一个输入端(输出生成器分支的控制端);
和
的另一个输入端分别连接异或门
和
的输出端(重构电路两分支的输出端),
的输出端(列运算器的低位输出信号)连接或门
(电位迭合器的低位分支)的一个输入端,
的输出端(列运算器的高位输出信号)连接或门
(电位迭合器的高位分支)的一个输入端;
和
的其它输入端分别连接运算器第i位的其它列运算器的相应输出信号,
和
的输出端送出运算器第i位的运算结果的低位值C
i 0和高位值C
i 1;重构锁存器
的G7、G6和G5位(结果低位的B信号选择位组)的输出端连接八选一器件
的输入口选择端C2、C1和C0,而
的8个输入口分别连接一个对B
i信号进行筛选的电路:其中D0口连接或非门
的输出端、D1连接单非输入与门
的输出端、D2连接单非输入与门
的输出端、D3连接与门
的输出端、D4连接B
i信号线的高位B
i 1、D5连接B
i信号线的低位B
i 0、D6连接异或门
的输出端、D7连接高电平Vcc;重构锁存器
的G8位(低位输出取反位)连接异或门
的一个输入端(低位输出取反控制端),
的另一个输入端连接八选一器件
的输出端,
的输出端连接与门
(输出生成器的低位分支)的输入端;重构锁存器
的G2、G1和G0位(结果高位的B信号选择位组)的输出端连接八选一器件
的输入口选择端C2、C1和C0,而
的8个输入口分别连接一个对B
i信号进行筛选的电路:其中D0口连接或非门
的输出端、D1连接单非输入与门
的输出端、D2连接单非输入与门
的输出端、D3连接与门
的输出端、D4连接B
i信号线的高位B
i 1、D5连接B
i信号线的低位B
i 0、D6连接异或门
的输出端、D7连接高电平Vcc;重构锁存器
的G3位(高位输出取反位)连接异或门
的一个输入端(高位输出取反控制端),
的另一个输入端连接八选一器件
的输出端,
的输出端连接与门
(输出生成器的高位分支)的输入端;器件
和
的两个输入端分别连接数据线B
i的高位线B
i 1和低位线B
i 0,其中
和
接有非门的输入端连接B
i 0,
和
接有非门的输入端连接B
i 1。
列运算器的工作原理为:
1.由于四个列运算器的A信号选择器
和
的结构不同,其中
是或非门、
和
是单输入端取非的与门、
也是与门,于是当数据A的第i位A
i的两位二值符号A
i 1A
i 0=00时,
输出为高电平,若与门
的另一输入端也为高电平,即重构锁存器
的G4位为1,则
输出高电平到与门
的一个输入端,而
的另一个输入端为电源电位Vcc(高电平),故
输出高电平。这个过程在功能上实现了A
i 1A
i 0=00时,高电平通过与门
到达与门
和
的一个输入端(输出生成器的控制端),这时列运算器
的输出信号C
i 01和C
i 00可以分别输出高电平或低电平,于是该运算器位的输出信号C
i=C
i 1C
i 0就可以在{00,01,10,11}值域上取值,可见此时列运算器
处于工作状态。同时,另外三个列运算器的A信号选择器
和
都输出低电平,于是这三个列运算器都不工作;同理,当A
i 1A
i 0=01时,列运算器
工作;当A
i 1A
i 0=10时,列运算器
工作;当A
i 1A
i 0=11时,列运算器
工作。即:对于输入数据A的第i位A
i的任何取值,都有且仅有一个列运算器工作。即:任意时刻只有一个列运算器可能输出高电平。
2.鉴于任意时刻四个列运算器中只有一个列运算器可能输出高电平,其余三个列运算器都输出低电平,故输出信号迭合器
由两个4输入或门
和
构成。
对四个列运算器输出信号的低位值取或,生成运算器第i位输出信号的低位C
i 0;
对四个列运算器输出信号的高位值取或,生成该运算器位输出信号的高位C
i 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(高电平)时,
对
的输出信号开放,即
的输出电平与
的输出电平保持一致,于是
的输出信号生成为该列运算器
运算结果的高位值C
i 01。故重构锁存器
的低4位(G3,G2,G1和G0)决定八选一器件
的哪个输入口的哪个值能使该列运算器
输出信号中的高位C
i 01为高电平。同理,锁存器
的高4位(G8,G7,G6和G5)决定八选一器件
的哪个输入口的哪个值能使该列运算器
输出信号中的C
i 00为高电平。
4.锁存器
的中间位G4连接到与门
的一个输入端(工作允许器的控制端),当G4=1时,
对另一个输入端开放,即对A信号选择器
的输出信号开放;若
输出高电平,则
也输出高电平,于是与门
也输出高电平,这时该列运算器
处于工作状态,它就是运算器第i位的当前工作部分;当G4=0时,与门
必定输出低电平,即对另一输入端关闭,于是与门
的输出也总是低电平,于是与门
和
也总是输出低电平,即C
i 00和C
i 01都是0值,二者在或门
和
中不起作用,在功能上实现该列运算器
不工作,即它不参与运算器第i位的运算。这时运算器第i位遵循的逻辑运算真值表相当于从表2中删除对应列后剩余的4X3表。因此,G4决定该列运算器
是否属于当前逻辑运算器第i位的一部分。
显然,若运算器当前遵循的逻辑运算真值表本身就是一个4X3表,则该表中缺失的列所对应的列运算器的重构锁存器中都要设定G4=0。
5.八选一器件
和
的输入信号完全相同,下面只讨论
的输入信号及其功能。输入数据B的第i位B
i的两位二值符号B
i 1B
i 0经
取或非后送入D0端,于是仅在B
i 1B
i 0=00时D0端接入高电平;B
i 1的非和B
i 0经
取与后送入D1端,于是仅在B
i 1B
i 0=01时D1端接入高电平;B
i 1和B
i 0的非经
取与后送入D2端,于是仅在B
i 1B
i 0=10时D2端接入高电平;B
i 1B
i 0经
取与后送入D3端,于是仅在B
i 1B
i 0=11时D3端接入高电平;B
i 0直接送入D4端,于是只要B
i 0=1,D4端就接入高电平;B
i 1直接送入D5端,于是只要B
i 1=1,D5端就接入高电平;B
i 1B
i 0经
取异或后送入D6端,于是只要B
1 i与B
0 i不相同,D6端就接入高电平;Vcc直接送入D7端,于是无论B数据为何值,D7都接入高电平。
从表3可以看到,当
选择端C2、C1和C0为000时,D0输入口被选通,这时只有D0的值会送O端输出,其它输入口的值不能通过
而使
的C2、C1和C0为000的唯一途径是给锁存器
的G7、G6和G5写入000,若给G8也写入0,则当B
i 1B
i 0=00时,
的D0口输入为高电平,导致其O口输出高电平,它又使异或门
输出高电平,进而使与门
输出高电平,于是该列运算器的输出C
i 00高电平。当B
i 1B
i 0≠00时,C
i 00为低电平。同理可以分析
的G8、G7、G6和G5取其它值时对C
i 00输出值的影响,见表4。再考虑到G3、G2、G1和G0对C
i 01输出值的影响与G8、G7、G6和G5对C
i 00输出值的影响完全相同,于是从表4可以写出将一个列运算器构造成具体的列运算器时,应该写入锁存器
的值,这个值称为列重构命令,相应地把
称为列重构锁存器。
表4.四值逻辑重构锁存器值与列运算器输出(低位)的关系
6.以表4为基础,可以将m位的运算器的每一个位都重构成某种四值逻辑运算器的一位,整个运算器成为有多种四值逻辑运算器的复合运算器,各个逻辑运算器的位数之和为m位。然后就可以将大量的原始数据逐一在该运算器中进行计算,具体操作如下:
1)写出所需逻辑运算的真值表,参考表2。
2)若真值表缺少某列,则将与该列对应的列运算器的G4位写0。若真值表缺少某行,则将真值表行列对调,变成缺列的真值表。
3)根据真值表中1出现的位置,查表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信号选择器
和
的结构不同,其中
是或非门,两个输入端可任意连接A
i 1(数据线A第i号线的高位)和A
i 0(数据线A第i号线的低位);
是单输入端取非的与门,有非门的输入端连接A
i 1,另一输入端连接A
i 0;
也单输入端取非的与门,有非门的输入端连接A
i 0,另一输入端连接A
i 1。鉴于3个列运算器的其它部分完全相同,本说明书仅详细描述一个列运算器的电路结构和工作原理。
本实施例中,每个列运算器包括:输出有效器、输出生成器、A信号选择器、工作允许器、重构锁存器和重构电路。其中,输出有效器落实为与门
输出生成器落实为两个与门
和
A信号选择器分别落实为或非门
一个输入端取非的与门
和
工作允许器落实为与门
重构锁存器落实为锁存器RG
i 0 同理用RG
i k标示运算器第i位的第k列运算器中的重构锁存器;重构电路落实为两个分支部件,一个部件由异或门
四选一选择器
和或非门
组成,另一个部件由异或门
四选一选择器
和或非门
组成。
列运算器中各部分的连接为:或非门
(A信号选择器)的两个输入端分别连接第i条数据线A
i的两位编码线A
i 0和A
i 1,
的输出端连接与门
(工作允许器)的一个输入端;
的另一个输入端(工作允许器的控制端)连接重构锁存器
的G3位(工作允许位)的输出端,
的输出端连接与门
(输出有效器)的一个输入端(输出有效器的控制端);
的另一个输入端连接电源Vcc(高电平),
的输出端同时连接与门
和
(输出生成器低位和高位分支)的一个输入端(输出生成器分支的控制端);
和
的另一个输入端分别连接异或门
和
的输出端(重构电路两部件的输出端),
的输出端(列运算器的低位输出信号)连接或门
(电位迭合器的低位分支)的一个输入端,
的输出端(列运算器的高位输出信号)连接或门
(电位迭合器的高位分支)的一个输入端;
和
的其它输入端分别连接运算器第i位的另外两个列运算器
和
的相应输出信号,
和
的输出端送出运算器第i位的运算结果的低位值C
i 0和高位值C
i 1;重构锁存器
的G5和G4位(结果低位的B信号选择位组)的输出端连接四选一器件
的输入口选择端C1和C0,而
的4个输入口分别连接一个对B
i信号进行筛选的电路:其中D0口连接或非门
的输出端、D1连接B
i信号线的低位B
i 0、D2连接B
i信号线的高位B
i 1、D3连接高电平Vcc;重构锁存器
的G6位(低位输出取反位)连接异或门
的一个输入端(低位输出取反控制端),
的另一个输入端连接四选一器件
的输出端,
的输出端连接与门
(输出生成器的低位分支)的输入端;重构锁存器
的G1和G0位(结果高位的B信号选择位组)的输出端连接四选一器件
的输入口选择端C1和C0,而
的4个输入口分别连接一个对B
i信号进行筛选的电路:其中D0口连接或非门
的输出端、D1连接B
i信号线的低位B
i 0、D2连接B
i信号线的高位B
i 1、D3连接高电平Vcc;重构锁存器
的G2位(高位输出取反位)连接异或门
的一个输入端(高位输出取反控制端),
的另一个输入端连接四选一器件
的输出端,
的输出端连接与门
(输出生成器的高位分支)的输入端;器件
和
的两个输入端分别连接数据线B
i的高位线B
i 1和低位线B
i 0。
列运算器的工作原理为:
1.由于三个列运算器的A信号选择器
和
的结构不同,其中
是或非门、
和
是单输入端取非的与门,于是当数据A的第i位A
i的两位二值符号A
i 1A
i 0=00时,
输出为高电平,若与门
的另一输入端也为高电平,即重构锁存器
的G3位为1,则
输出高电平到与门
的一个输入端,而
的另一个输入端为电源电位Vcc(高电平),故
输出高电平。这个过程在功能上实现了A
i 1A
i 0=00时,高电平通过与门
到达与门
和
的一个输入端(输出生成器的控制端),这时列运算器
的输出信号C
i 01和C
i 00可以分别输出高电平或低电平,于是该运算器位的输出信号C
i=C
i 1C
i 0就可以在{00,01,10}值域上取值,可见此时列运算器
处于工作状态。同时,另外两个列运算器的A信号选择器
和
都输出低电平,于是这两个列运算器都不工作;同理,当A
i 1A
i 0=01时,列运算器
工作;当A
i 1A
i 0=10时,列运算器
工作。即:对于输入数据A的第i位A
i的任何可取值,都有且仅有一个列运算器工作。即:任意时刻只有一个列运算器可能输出高电平。
2.鉴于任意时刻三个列运算器中只有一个列运算器可能输出高电平,其余两个列运算器都输出低电平,故输出信号迭合器
由两个3输入或门
和
构成。
对三个列运算器输出信号的低位值取或,生成运算器第i位输出信号的低位C
i 0;
对三个列运算器输出信号的高位值取或,生成该运算器位输出信号的高位C
i 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(高电平)时,
对
的输出信号开放,即
的输出电平与
的输出电平保持一致,于是
的输出信号成为该列运算器
运算结果的高位值C
i 01。故重构锁存器
的低3位(G2,G1和G0)决定四选一器件
的哪个输入口的哪个值能使该列运算器
输出信号中的高位C
i 01为高电平。同理,锁存器
的高3位(G6,G5和G4)决定四选一器件
的哪个输入口的哪个值能使该列运算器
输出信号中的C
i 00为高电平。
4.锁存器
的中间位G3连接到与门
的一个输入端(工作允许器的控制端),当G3=1时,
对另一个输入端开放,即对A信号选择器
的输出信号开放;若
输出高电平,则
也输出高电平,于是与门
也输出高电平,这时该列运算器
处于工作状态,它就是运算器第i位的当前工作部分;当G3=0时,与门
必定输出低电平,即对另一输入端关闭,于是与门
的输出也总是低电平,于是与门
和
也总是输出低电平,即C
i 00和C
i 01都是0值,二者在或门
和
中不起作用,在功能上实现该列运算器
不工作,即它不参与运算器第i位的运算。这时运算器第i位遵循的逻辑运算真值表相当于从表1中删除对应列后剩余的3X2表。因此,G3决定该列运算器
是否属于当前逻辑运算器第i位的一部分。
显然,若运算器当前遵循的逻辑运算真值表本身就是一个3X2表,则该表中缺失的列所对应的列运算器的重构锁存器中都要设定G3=0。
5.四选一器件
和
的输入信号完全相同,下面只讨论
的输入信号及其功能。输入数据B的第i位B
i的两位二值符号B
i 1B
i 0经
取或非后送入D0端,于是仅在B
i 1B
i 0=00时D0端接入高电平;B
i 0直接送入D1端,于是只要B
i 0=1,D1端就接入高电平;B
i 1直接送入D2端,于是只要B
i 1=1,D2端就接入高电平;Vcc直接送入D3端,于是无论B数据为何值,D3都接入高电平。
从表3可以看到,当
选择端C1和C0为00时,D0输入口被选通,这时只有D0的值会送O端输出,其它输入口的值不能通过
而使
的C1和C0为00的唯一途径是给锁存器
的G5和G4写入00;若给G6也写入0,则当B
i 1B
i 0=00时,
的D0口输入为高电平,导致其O口输出高电平,它又使异或门
输出高电平,进而使与门
输出高电平,于是该列运算器的输出C
i 00高电平。当B
i 1B
i 0≠00时,C
i 00为低电平。同理可以分析
的G6、G5和G4取其它值时对C
i 00输出值的影响,见表6。
表6.三值逻辑重构值与列运算器输出(低位)的关系
再考虑到G2、G1和G0对C
i 01输出值的影响与G6、G5和G4对C
i 00输出值的影响完全相同,于是从表6可以写出将一个列运算器构造成具体的列运算器时,应该写入锁存器
的值,这个值称为列重构命令,相应地把
称为列重构锁存器。
6.以表6为基础,可以将m位的运算器的每一个位都重构成某种三值逻辑运算器的一位,整个运算器成为有多种三值逻辑运算器的复合运算器,各个逻辑运算器的位数之和为m位。然后就可以将大量的原始数据逐一在该运算器中进行计算,具体操作如下:
1)写出所需逻辑运算的真值表,参考表1。
2)若真值表缺少某列,则将与该列对应的列运算器的G3位写0。若真值表缺少某行,则将真值表行列对调,变成缺列的真值表。
3)根据真值表中1出现的位置,查表6,写出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个改变是增加电平比较器
和
以及与门
它们的作用是将输入信号A
i从一位三值信号转换为二位二值信号A
i 0和A
I 1,形成与实施例二相同的输入信号A
i。其工作原理为:当A
i的值为V0伏时,
和
都输出低电平,由于
输出低电平,则
也输出低电平,故A
i 0和A
I 1都为低电平,此时A
I 1A
i 0=00;当A
i的值为V1伏时,
输出高电平,
输出低电平,
的输出取反后成为高电平,它与
输出的高电平同时输入
故
输出高电平,故A
i 0为高电平,A
I 1仍为低电平,此时A
I 1A
i 0=01;当A
i的值为V2伏时,
和
都输出高电平,
的输出取反后成为低电平,它输入
后,
输出低电平,故A
i 0为低电平,而A
I 1为高电平,此时A
I 1A
i 0=10。
第2个改变是增加电平比较器
和
以及与门
它们的作用是将输入信号B
i从一位三值信号转换为二位二值信号B
i 0和B
I 1,形成与实施例二相同的输入信号B
i。其工作原理与
和
对A
i信号的改变相同,不再赘述。
第3个改变是在信号输出端增加了信号合并器
它将实施例二输出的二位二值信号C
i 1和C
i 0转换为一位三值信号C
i。其工作原理为:当C
I 1C
i 0=00时,C
i 0关闭高阻门
C
I 1关闭高阻门
而C
I 1和C
i 0进入或门
输出的低电平取反后成为高电平,它开启高阻门
于是,
输出端、
输出端和
输出端连接在一起形成的第i个运算器位的输出端C
i的当前电平为0伏(V0值);当C
I 1C
i 0=01时,C
i 0开启高阻门
C
I 1关闭高阻门
而C
I 1和C
i 0进入或门
输出的高电平取反后成为低电平,它关闭高阻门
于是,
输出端、
输出端和
输出端连接在一起形成的第i个运算器位的输出端C
i的当前电平为V1伏;当C
I 1C
i 0=10时,C
i 0关闭高阻门
C
I 1开启高阻门
而C
I 1和C
i 0进入或门
输出的高电平取反后成为低电平,它关闭高阻门
于是,
输出端、
输出端和
输出端连接在一起形成的第i个运算器位的输出端C
i的当前电平为V2伏。
鉴于实施例三的
和
与实施例二的
和
完全相同,本说明书不再对
和
进行赘述。
实施例四:
本实施例选择低电平为0V,高电平为Vcc两个电平值来表示信息,分别用符号0和1代表。本实施例的二值逻辑电子运算器每一个运算器位的电路完全相同,所以本说明书仅详细说明第i个运算器位的电路即可。
第i个运算器位的电路详细结构和元器件见图5。其特征在于:该运算器位包含2个列运算器
和
以及两个列运算器输出信号的迭合器——或门
列运算器
包含4个与门
和
一个异或门
一个或门
和一个两位的锁存器
各元件的连接关系为:输入数据A的第i位信号A
i取反后和电源Vcc分别连接与门
的一个输入端,
的输出连接与门
的一个输入端(结果生成控制端),
的输出信号形成该列运算器的输出信号C
i 0,并连接或门
的一个输入端,
的另一个输入端来自列运算器
的输出信号C
i 1。另一方面,输入数据B的第i位的信号B
i连接与门
的一个输入端,
的另一个输入端接锁存器RG
i 0 的低位G0(B信号选择位),电源Vcc连接与门
的另一个输入端接锁存器RG
i 0 的低位G0取反后的信号;与门
的输出端和
的输出端分别接或门
的一个输入端,
的输出端接异或门
的一个输入端,
的另一个输入端接锁存器RG
i 0 的高位G1(取反控制位),
的输出端接与门
的一个输入端。
列运算器
的工作原理为:当A
i=0时,与门
(A信号选择器)输出高电平,列运算器
处于工作状态;这时与门
(结果生成器)的控制端为1,则异或门
输出端的信号能够通过
输出,形成该列运算器计算结果的低位C
i 0;此时另一个列运算器
中的与门
受Ai=0的控制,总是输出0值,即C
i 1=0,故此时运算器的第i位之输出值C
i=C
i 0。同理,当A
i=1时,与门
输出低电平,与门
输出高电平,于是列运算器
处于工作状态,而
不工作,故C
i=C
i 1。
当列运算器
工作时,若给锁存器RG
i 0 的低位G0已经写入1,则与门
关闭,输出始终为0值,而与门
对输入数据B
i信号开放,B
i通过
和或门
形成异或门
的一个输入信号;若
的低位G0已经被清0,则与门
关闭,其输出始终为0值,而与门
对Vcc开放,Vcc通过
和或门
形成异或门
的一个输入信号;由于锁存器RG
i 0 的高位G1连接异或门
的另一个输入端,故,若已经给G1写入1,则控制
对另一输入端的信号取反,若已经将G1清0,则控制
对另一输入端的信号不取反。于是,给锁存器RG
i 0写入的值将决定列运算器
的逻辑运算功能,写入RG
i 0的值称为重构命令,其具体功能见表7。
表7.二值逻辑重构值与列运算器输出(低位)的关系
G1 G0 |
00 |
01 |
10 |
11 |
Bi=0 |
1 |
0 |
0 |
1 |
Bi=1 |
1 |
1 |
0 |
0 |
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。