逻辑运算系列(二): 组合逻辑电路

随着半导体制作工艺的发展,许多常用的组合逻辑电路被制作成了中规模集成芯片,一直被广泛应用。作为本系列的第二篇文章,本文将重点讲解组合逻辑电路的相关概念。

算术逻辑单元,简称ALU,是中央处理器(CPU)的执行单元和核心组成部分,由“与门”和“或门”构成的算术逻辑单元,主要功能是进行二位元算术运算,比如加、减、乘(不包括整数除法)。基本上,所有现代CPU的体系结构,是以二进制的补码形式表示。

关于二进制,这里稍微解释下,二进制的最高位(二进制由左到右,最左边为最高位)也叫做符号位,代表二进制的正负,正数为零,负数为一,二进制分为原码、反码和补码。当二进制为正数时,原码、反码和补码相同,当二进制为负数时,将源码按位取反,得到反码,然后最低位加一得到补码。计算机就是以补码形式储存的。

半加器

接下来看第一个ALU——半加器。半加器和全加器是算数逻辑单元的中的基本单元,每完成一位二进制数相加都可以得到一种逻辑电路,如果只考虑两个加数本身,而不考虑低位进位本身的加法运算,称为半加,实现这个逻辑功能的电路叫做半加器,如下图:

上面是逻辑图,下面是真值表:

上图,A、B表示加数,S是本位和,C表示进位数,可以看出这是一个由异或门和与门组成的逻辑电路。

全加器

全加器可以把来自被加数、加数和低位的进位信号相加,并根据求和结果给出该位的进位信号。


其中,A和B为加数和被加数,其中C为低位进位数,S为本位和,v为高位进位数,,由两个半加器和一个或门组成。

多位数半加器

串行进位加法器,若由多位数相加,则可采用并行相加串行进位的方式来完成,将低位的进位输出信号接到高位的进位输出端。因此,任意1位加法运算必须在低一位的运算完成后才能进行,这种进位方式称为串行进位。例如,三个二进制数据相加,可以采用三个全加器,构成三位数加法器。

当然,这种方式既有好处也有坏处,好处是逻辑电路比较简单,但运算速度不够快。

由于串行进位加法器受到进位信号的限制,运行速度不是很快。所以,人们又设计出了多位数超前进位加法逻辑电路,使每位的进位只被加数决定,与低位进位无关。

超前进位的所有位数进位是同时完成的。一个CP脉冲就能完成整个进位过程。优点是运算速度快,明显的缺点是电路复杂。这里就不详细介绍了,后续章节会详细介绍。

还有就是减法运算,加法和减法主要通过输入的高电平或者低电平来控制,逻辑电路也是一样的。

编码器

编码器,数字系统中常用的数据是二进制码表示,用一个二进制代码表示特定含义的信息称为编码,具有这种编码逻辑的逻辑电路叫做编码器。

以4线-2线为例,它有2^n个输入,n位二进制码输出相对应,编码器有两种,分别是普通编码器和优先编码器,各有不同的作用,普通编码器任何时候只允许输入一位编码信号。

稍微介绍一下,四个输入接口I0到I3为高电平有效,输出的是二进制代码Y1,Y0,任何时候I0到I3中只能有一个值为1,并且输出一组二进制代码。除了表中四种组合有效外,其余全部无效,输出为零。

下面是真值表。

下面看看优先编码器,同样以4线-2线为例,优先编码器和普通编码器的区别在于,优先编码器可以同时输入两个以上编码信号。但只对其优先权最高的一个编码,也就是说可以识别信号的优先级。

功能如下图所示,可知I0到I3的级别,相对于I0,只有当I1、I2、I3均为零的时候,才有无效电平输入,而且I0为1的时候,输出00,但是I3不一样,无论其他三个数是否输入有效电平,均输出为11,由此可见,I3的优先级别最高,这四个输入的优先级从高到低分别为I3、I2、I1、I0。

优先编码器允许两个以上的的输入同时为1,但只对优先级别较高的输入进行编码。当所有电路输入为0时,输出Y1、Y2均为0。而当Y0为1时,输出的Y1、Y0也全为零。造成这个的原因是输入条件不同,输出代码相同。

实际使用的编码器一般输入都比较多,下面看一个典型的优先编码器。

这里的GS是优先编码工作状态,EI是高电平有效的输出使能端,EO为输出使能端。当EI为1时,允许编辑器工作,EI为0时,禁止编码器工作,此时不论8个输入端为何种状态,输出皆为低电平,而且GS和EO也均为低电平。

GS的主要功能是,当EI为1时,至少有一个输入端有高电平信号输入时,GS为1,表明编码器处于工作状态。反之,则GS为0。这就相当于一个判断该编码器是否处于工作状态的一个提示。

上面是真值表,可以看出,EI为0时,I7到I0没有输入,也没有输出,GS和EO也分别为零,此编码器处于关闭状态。等于1时,允许编码,I7的优先等级最高。

接下来看译码器。译码和编码相反,译码是编码的逆过程,主要是具有特定含义的二进制码转化为对应的输出信号,这就是译码过程。后续会更新一些汇编和CPU指令等内容,欢迎关注。

相关文章:

《逻辑运算系列(一):入门篇》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章