整理第三章布尔代数,并加入一些数字逻辑的相关内容。
布尔代数
- 布尔表达式和布尔恒等式
- 布尔表达式(Boolean expression)由变量和算符组合,基础算符为AND、OR和NOT,称为与(布尔和)、或(布尔积)和非。下面用+,·和~表示三种运算符。
- 布尔恒等式:
需要注意的一个常见错误是认为~(x · y)= ~x · ~y。恒等式 与形式 或形式 一致律 1 · x = x 0 + x = x 零律 0 · x = 0 1 + x = 1 幂等律 x · x = x x + x = x 互补律 x · ~x = 0 x + ~x = 1 交换律 x · y = y · x x + y = y + x 结合律 (x · y)· z = x ·(y · z) (x + y)+ z = x +(y + z) 分配律 x + y·z =(x + y)·(x + z) x·(y + z) = x · y + x · z 吸收律 x·(x + y) = x x + x · y = x 德摩根律 ~(x · y) = ~x + ~y ~( x + y )= ~x · ~y
以下是几个在布尔表达式化简时常用的恒等式,使用时适当配项。还原律 A · B + A · ~B = A (A + B)·(A + ~B)= A 吸收律 A ·(A + B)= A A ·(A + B)= A 吸收律 A ·(~A + B)= A · B A + ~A · B = A + B 冗余律 A · B + ~A · C + B · C = A · B + ~A · C
- 运算基本规则
- 代入规则:任何一个含有变量A的等式,如果将所有出现A的位置都代之以一个逻辑函数,则等式仍成立。
- 反演规则:求一个逻辑函数F的反码(非函数~F),可将F中的与换成或,或换成与,原变量换成非变量,非变量换成原变量,1换成0,0换成1。要保持原式先与后或的顺序,二变量(含2)以上的非号不变。如F = A + ~(B + ~C + ~(D + ~E)),则~F = ~A · ~(~B · ~C · ~(~D · E))。
- 对偶规则:变量不变,其余和反演的规则相同。
- 通用门电路:常用的门电路是与非门(NAND)和或非门(NOR)。与非门也称万能门,可以构建所有的数字电路。下图给出用与非门实现与门、非门和非门的方法。
使用与非门的电路成本低,并且在物理上构建复杂的集成电路时使用相同的结构模块比使用一些基本结构模块(与、非、或)的集合要容易的多。根据对偶原理,或非门也可以构建任意的数字电路。
数字电路元件
- 集成电路的电子元件直接在半导体芯片上腐蚀制成,与对等的分立器件相比,集成电路上的元件体积更小,工作时消耗的电能更多。
- 组合逻辑电路可以用来构建包含基本布尔算符,输入输出的数字电路,组合逻辑的输出完全取决于给定的输入值。
- 半加器(half-adder):求和操作为异或函数,进位输出等价于一个与门。
- 全加器(full-adder):求和的加法电路有三个输入(x,y和进位输入)。例如要制作16位字的全加器,只需要将下图所示电路复制16次。但因为运算速度慢,现实中不会采用这种方法实现加法运算,改进方法包括使用先行进位加法器,选择进位加法器和存储进位加法器等,目的都是缩短由于两个二进制数字相加的逐位进位过程造成的延迟时间。
- 译码器(decoder):利用输入和对应数值选择某跟特定的输出线。下图是一个2-4译码器的电路构成。
- 多路复用器(multiplexer)用来从众多输入线中选择需要的二进制信息,然后直接用单一输出线输出。通过一组选择变量,或称为控制线,来控制选定某个特定的输入线,每个特定时刻都只有一个输入(被选中的输入)可以通过线路连到输出端,其他输入都会断开。分时共享的计算机和调制解调器网络都是使用多路复用器来分配终端。下图是一个简单的多路复用器的物理电路构成。
- 半加器(half-adder):求和操作为异或函数,进位输出等价于一个与门。
- 时序逻辑电路:对于组合逻辑电路,函数的输出值完全取决于函数的输入值,即没有记忆功能。时序逻辑电路的输出同时时当前的输入和之前的输入的函数,为了记忆之前的输入,时序电路必须具有某种存储单元,称之为触发器(flip-flop),触发器的状态是此前的电路输入的函数。
- 时钟信号:时序电路依赖过去的输入决定当前的输出,因此各种事件的发生必须有先后次序。有的时序电路是异步(asynchronous)的,意味着只要任意的输入值发生改变,这类电路就会被激活。同步(synchronous)时序逻辑电路则利用时钟来对各个事件进行排序。时钟能够产生一系列具有精确宽度和间隔的连续脉冲,脉冲间隔成为时钟的周期时间,速度一般用MHz衡量。大部分时序电路采用边缘出发(有的为水平触发),即电路的状态在时钟脉冲的上升边缘或者下降边缘发生改变。
- 触发器:水平触发电路只要时钟信号在高电平或者低电平时旧可以改变状态。锁存器(latch)属于水平出发类型,而触发器为边缘触发类型。时序电路通过反馈“记忆”过去的状态。可以通过特征表描述触发器,用Q(t)表示电路当前状态,Q(t+1)表示电路的下一个状态。
- SR触发器:三个输入,S、R和当前的输出Q(t)。若S,R均为0,则Q(t+1)= Q(t);若R = 1,S = 0,则Q(t+1)= 0(复位);若R = 0,S = 1,则Q(t+1)= 1(置为);S、R均为1未定义。下面是实际的SR触发器示意图。
- JK触发器:以Jack Kilby命名,是对SR触发器的简单修改,防止了R、S同时为1的非法状态的发生,当J、K都为1时Q(t+1)= ~Q(t)。
- D触发器(data):D触发器是一个真实的计算机存储器单元,如果输入设置为1,则时钟脉冲到来时输出为1,如果输入为0,时钟脉冲到来时输出为0。作用在于时钟脉冲到来时才将数据送出,并且用边沿触发,防止外来干扰在数据传输时的影响。
- 典型时序逻辑电路:下图是一个4位寄存器的逻辑图
- 数字集成电路:数字电路实现的逻辑功能都是以集成电路(IC)形式体现的,具有体积小,可靠性高,功耗低,集成度高等特点。目前广泛采用CMOS电路和TTL电路两种类型。CMOS已成为主导技术并有可能取代TTL。二者相比,前者功耗小,集成度高,后者速度快,但集成度不如CMOS。
- CMOS系列:金属氧化物半导体晶体管作为开关元件的门电路叫MOS电路,分为使用P沟道管的PMOS电路,使用N沟道管的NMOS电路和同时使用的CMOS电路。直流电源下,CMOS可分为+5V和+3.3V两类,3.3V电源是对5V的改进,减少功耗34%。采用5V直流电压的基本CMOS系列有74HC、74HCT、74AC、74ACT、74AHC和74AHCT。采用3.3V直流电压的基本CMOS系列有74LV、74LVC、74ALVC。CMOS和TTL结合的BiCMOS系列有74BCT、74ACT、74LVT、74ALB,BiCMOS是最先进的系列。
- TTL系列:为晶体管-晶体管逻辑电路工艺制造技术的缩写。TTL由5V直流电压供电,有74、74S、74AS、74LS、74ALS、74F等。
- 集成电路使用特性:1)负载能力,一个逻辑门的输出端所能连接的下一级逻辑门输入端结点个数称为该逻辑门的扇出数(负载能力)。一般逻辑门负载能力为8,功率逻辑门负载能力可达25。2)延迟特性,定义输入波形前沿的50%到输出波形前沿的50%之间的时间间隔t1为前沿延迟,同理定义t2为后沿延迟,t = (t1 + t2)/2为平均传输延迟时间(平均时延)。TTL低速器件t > 40ns,中速器件t = 15~40ns,高速器件t = 8~15ns,超高速器件t < 8ns。3)功耗特性,当输出端空载,门电路输出低电平时电路的功耗称为空载导通功耗P-on,当输出端为高电平时电路功耗称为空载截止功耗P-off,P-off < P-on。CMOS门电路平均功耗(P-on + P-off)/2在微瓦数量级。4)未使用的输入端引脚要接到一个固定的逻辑电平。与门和与非门要接到电源电压+Vcc,或门和或非门要接地。
专栏目录:计算机理论基础
此专栏的上一篇文章:计组与体系结构笔记(一):基础概念
此专栏的下一篇文章:计组与体系结构笔记(三):简单体系模型
原创作品,允许转载,转载时无需告知,但请务必以超链接形式标明文章原始出处(http://blog.forec.cn/2015/10/14/Computer-Organization-Architecture2/) 、作者信息(Forec)和本声明。