文档详情

2.2 逻辑运算与加减运算解析

简****9
实名认证
店铺
PPT
677.50KB
约38页
文档ID:104880528
2.2 逻辑运算与加减运算解析_第1页
1/38

计 算 机 组 成 原 理,广东海洋大学信息学院计算机系,信计1091-1092,E-mail:xiaoxia7761@,第一章 计算机系统概论 (2) 第二章 运算方法和运算器(10) 第三章 内部存储器 (8) 第四章 指令系统 (4) 第五章 中央处理机 (8) 第六章 总线系统 (4) 第八章 输入输出系统 (4),目 录,数据运算,数据与文字的表示方法我们已经知道,那么计算机是怎么对它们进行处理、运算的呢? 计算机运算有算术运算及逻辑运算算术运算就是按照二进制的进位原则进行运算;而逻辑运算不考虑进位,参加逻辑运算的操作数均为不带符号的二进制数1 “与”逻辑 2 “或”逻辑 3 “非”逻辑,补充:数字逻辑,逻辑运算:逻辑变量之间的运算称为逻辑运算是按位进行的,位与位之间不像加减运算那样有进位和借位的联系,逻辑运算中每一位都是独立的一、基本的逻辑运算,逻辑符号:,逻辑式:F=A • B,逻辑乘法 逻辑与∧,1、与逻辑:决定事件发生的各条件中,所有条件都具备,事件才会发生(成立),与逻辑运算规则:,0 • 0=0 0 • 1=0 1 • 0=0 1 • 1=1,真值表,,逻辑与实现方法:可直接由“与门’来实现,常用逻辑符号如所示。

作用: 在计算机中,“逻辑与”运算常用来“分离字段” 例如:X=10110101,如果需要取出X低端的5位,那么可将Y定义为: Y=000lllll,利用8个逻辑与门即可实现,如图所示:,,,,于是 Z=X· Y=00000101,逻辑符号:,逻辑式:F=A+B,逻辑加法 逻辑或∨,2、或逻辑:决定事件发生的各条件中,有一个或一个以上的条件具备,事件就会发生(成立),或逻辑运算规则:,0+0=0 0+1=1 1+0=1 1+1=1,真值表,“逻辑或” 实现方法:“逻辑或”可直接由逻辑或门电路来实现;,,,,作用:“逻辑或”运算常用来‘合并字段” 例如:X=00001001,Y=11010000,利用8个独立的逻辑或门,可将X的低 4位与Y的高4位合并为一个字节,如图所示逻辑符号:,逻辑非 逻辑反,逻辑式:,运算规则:,3、“非”逻辑:决定事件发生的条件只有一个, 条件不具备时事件发生(成立),条件具备时事件不发生真值表,二、几种常用的逻辑关系,“与”、“或”、“非”是三种基本的逻辑关系,任何其它的逻辑关系都可以以它们为基础表示与非:条件A、B都具备,则F 不发生,或非:条件A、B任一具备,则F 不发生,,,,,,,异或:条件A、B有一个具备,另一个不具备则F 发生,,,,同或:条件A、B相同,则F 发生,,基本逻辑门,,,A,,逻辑异或运算 运算规则:相同则0 实现方法:“逻辑异或”可直接由逻辑异或门电路来实现,常用的逻辑符号如图,,,,,作用:①异或运算应用很广,常用来比较两数是否相等。

例如:X=101l1001,Y=10101001,要比较两数是否相同,可用8个异或门来实 现如图所示于是Z=00010000不等于0,说明X不等于Y,反之,若Z=0则X=Y,,② 除此之外,异或门还可用来将某个数(X)以正、反两种方式输出 例如:X=10010111,使用8个异或门如图所示 当Y=0时,Z=X=10010111, 当Y=1时,Z=X=01101000至于其他的逻辑运算,比如“移位”也是逻辑运算,将X左移一位得2X,将X右移一位得x / 2 ,依此类推,还有由多种逻辑运算组合起来构成的“与非”、“或非”、“与或非”运算等均属于逻辑运算的范畴,不再说明,三、逻辑函数与逻辑电路图,,几种表示方法,逻辑代数式 (逻辑表示式, 逻辑函数式),逻辑电路图:,真值表:将逻辑函数输入变量取值的不同组合与所对应的输出变量值用列表的方式一一对应列出的表格请写出下列逻辑电路图对应的逻辑代数式,AB,逻辑代数的基本运算规则,加运算规则:,0+0=0 ,0+1=1 ,1+0=1,1+1=1,乘运算规则:,0•0=0 0•1=0 1•0=0 1•1=1,非运算规则:,四、逻辑代数的运算规律,1、交换律,2、结合律,3、分配律,A+B=B+A,A• B=B • A,A+(B+C)=(A+B)+C=(A+C)+B,A• (B • C)=(A • B) • C,A(B+C)=A • B+A • C,A+B • C=(A+B)(A+C),4、吸收规则,(1)原变量的吸收:,A+AB=A,证明:,A+AB=A(1+B)=A•1=A,利用运算规则可以对逻辑式进行化简。

例如:,,吸收是指吸收多余(冗余)项,多余(冗余)因子被取消、去掉  被消化了长中含短,留下短字母上面没有非运算符的叫做原变量 有非运算符的叫做反变量,(2)反变量的吸收:,证明:,例如:,,长中含反,去掉反5、反演定理,可以用列真值表的方法证明:,,德 • 摩根 (De • Morgan)定理:,2.2 定点数加、减法运算,在计算机中进行定点加、减法运算基本上都是采用补码, 极少数机器中也可采用反码,但是绝对没有采用原码进行加 减法运算的,因为采用原码的加减运算操作太复杂由于在计算机中数值有定点和浮点两种表示方式,因此算术运算应有定点数的算术运算和浮点数的算术运算之分§算术运算,1. 补码加、减法,(1) 运算方法:,[X+Y]补= [X]补+ [Y]补 [X-Y]补= [X]补+ [-Y]补,求[-Y]补,可 通过对 [Y]补逐位取反,再在最低位加 1完成,例1: 已知: X= + 0.125,Y= + 0.625 求X+Y= ? X-Y=?,,解:X= + 0.0010 Y= + 0.1010,〔X〕原= 0.0010 〔Y〕原= 0.1010,〔X〕补= 0.0010 〔Y〕补= 0.1010,〔X+Y〕补=〔X〕补+ 〔Y〕补,= 0.0010 + 0.1010,= 0.1100,X+Y= 十0.1100 =+0.75,X - Y= -0.1000=-0.5,〔X-Y〕补=〔X〕补+ 〔-Y〕补,= 0.0010 +1.0110,= 1.1000,,,,[例2] 已知机器字长为8位,X=-44,Y=-53,求X+Y、X-Y,解:,[x]补=,11010100,[y]补=,11001011,[x]补 11010100,+[y]补 11001011,[x+y]补 110011111,所以:,X=-101100,Y=-110101,[-y]补=,00110101,[x]补 11010100,+[-y]补 00110101,[x-y]补 100001001,X-y=+0001001=9,x+y=-1100001=-97,[x+y]补= 10011111,[x-y]补,=00001001,,,,从上述的例子可得出如下的重要结论: (l)采用补码进行运算可变减法为加法运算,使得运算器中只需要设置一 个加法器,便可完成加、减法运算。

(2)补码加法运算中,符号位要作为数的一部分一起参加运算 (3)符号位向更高位的进位(即超过模)自然丢失,并不影 响运算结果的 正确性运算溢出:是指运算结果大于机器所能表示的最大正数或者小于机器 所能表示的最小负数运算溢出只对带符号数的运算有效2. 补码加、减法运算溢出:,产生运算溢出条件: ①两个正数相加,结果为负(即:大于机器所能表示的最大正数),称为上溢 ②两个负数相加 ,结果为正(即:小于机器所能表示的最小负数),称为下溢 ③异号数相减,溢出是一种错误,计算机在运算过程中必须能发现这种溢出现象, 在定点机中机器能通过逻辑电路自动检查出溢出,并进行必要的中断处 理,否则将带来严重后果[例] x=+0.1011, y=+0.1001,求x+y[解:] [x]补=0.1011 , [y]补=0.1001 [x]补 0.1011 + [y]补 0.1001 [x+y]补 1.0100 两正数相加,结果为负,显然错误 --运算中出现了“上溢”,[又例] x=+0.1011, y=+0.0010, 求x+y[解:] [x]补=0.1011 , [y]补=0.0010 [x]补 0.1011 + [y]补 0.0010 [x+y]补 0.1101 两正数相加,结果无溢出,[例13] x=-0.1101, y=-0.1011, 求x+y。

[解:] [x]补=1.0011 [y]补=1.0101 [x]补 1.0011 + [y]补 1.0101 [x+y]补 0.1000,,两负数相加,结果为正,显然错误 --运算中出现了“下溢”,[又例] x=-0.1101, y=-0.0010, 求x+y[解:] [x]补=1.0011 [y]补=1.1110 [x]补 1.0011 + [y]补 1.1110 [x+y]补 1.0001,,两负数相加,结果为负,无 溢出溢出”检测方法:,第一种方法:采用双符号位法, 称为“变形补码”或“模4补码”,参与加减运算的数采用变形补码表示,变形补码:补码的符号位用两位表示,正数的两个符号位都为“0”,负数的两个符号位都是“1”假设结果的两符号位分别是Sf1、Sf2则有 Sf1 Sf2 0 0 (正确) 0 1 (上溢) 1 0 (下溢) 1 1 (正确),V=Sf1⊕Sf2 可用异或门实现,第二种方法:采用“单符号位法”当最高有效位产生进位而符号位无进位时,产生上溢; 当最高有效位无进位而符号位有进位时,产生下溢 故:溢出逻辑表达式为: V=Cf⊕Co 其中: Cf为符号位产生的进位,Co为最高有效位产生的 进位。

显然:此逻辑关系也可用异或门方便地实现) 在定点机中,当运算结果发生溢出时,机器通过逻 辑电路自动检查出溢出故障,并进行中断处理2.2.4 基本的二进制加法/减法器,在计算机中采用全加器来完成两个二进制数位相加,并且同时考虑低位的进位,即全加器完成三个一位数相加的功能不考虑进位的称为半加器) 设:Ai表示被加数的第i位 Bi表示加数的第i位 Ci为第i-1位向第i位产生的进位 Ci+1为第i位向第i+1位产生的进位 Si为第i位产生的和 则全加器以Ai、Bi、Ci为输入,以Ci+1、Si为输出构成一个逻辑图2.2.4 基本的二进制加法/减法器,全加器的表达式为: Si = Ai Bi Ci Ci+1 = AiBi + BiCi + AiCi = AiBi + (Ai Bi)Ci,一位全加器演示,进位链:进位传递逻辑,在现代计算机中,运算器基本上都采用并行加法器,即多位全加器一步实现多位数同时相加,所用全加器的位数与操作数位数相同加法器的运算速度不仅与全加器速度有关,更主要的是取决于进位传递速率Ci = AiBi + (Ai Bi)Ci-1,将上述逻辑式表示为: Ci=Gi+PiCi-1 式中:Gi = AiBi ,称为第i位的进位产生函数(若两个输入均为1必然产生进位)。

Pi称为进位传递函数(当Pi=1时低位传来的进位Ci-1将能通过第i位向更高位传递),进位信号的基本逻辑,构成各种进位链结构的基本逻辑,串行进位方式,逐级地形成各位进位,每一级进位直接依赖于前一级进位因此也称为行波进位各位信号的逻辑式如下:,C0,图:采用串行进位的并行加法器,Gi = AiBi, Pi= Ai Bi,行波进位二进制补码加法/减法器,从图中可看出:用串行进位方式的n位并行加法器的主体是n个全加器,其进位信号Ci从低位向高位逐位串行传送,其中最高位是符号位,低端的(n-l)位是其数码位图中左上方的异或门是用来判定加减法运算结果是否产生了溢出延迟时间: Ta = N*Tc +Ts 其中,Ta为N位加法器的总传播延时,Tc为。

下载提示
相似文档
正为您匹配相似的精品文档