22逻辑运算与加减运算

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

任课教师:叶晓霞广东海洋大学信息学院计算机系信计1091-1092E-mail:xiaoxia7761@yahoo.com.cn☼第一章计算机系统概论(2)☼第二章运算方法和运算器(10)☼第三章内部存储器(8)☼第四章指令系统(4)☼第五章中央处理机(8)☼第六章总线系统(4)☼第八章输入输出系统(4)目录数据运算数据与文字的表示方法我们已经知道,那么计算机是怎么对它们进行处理、运算的呢?计算机运算有算术运算及逻辑运算。算术运算就是按照二进制的进位原则进行运算;而逻辑运算不考虑进位,参加逻辑运算的操作数均为不带符号的二进制数。1“与”逻辑2“或”逻辑3“非”逻辑补充:数字逻辑逻辑运算:逻辑变量之间的运算称为逻辑运算。是按位进行的,位与位之间不像加减运算那样有进位和借位的联系,逻辑运算中每一位都是独立的。一、基本的逻辑运算&ABF逻辑符号:逻辑式:F=A•B逻辑乘法逻辑与∧1、与逻辑:决定事件发生的各条件中,所有条件都具备,事件才会发生(成立)与逻辑运算规则:0•0=00•1=01•0=01•1=1EFABABAB111001001000真值表逻辑与实现方法:可直接由“与门’来实现,常用逻辑符号如所示。作用:在计算机中,“逻辑与”运算常用来“分离字段”。例如:X=10110101,如果需要取出X低端的5位,那么可将Y定义为:Y=000lllll,利用8个逻辑与门即可实现,如图所示:于是Z=X·Y=000001011ABF逻辑符号:逻辑式:F=A+B逻辑加法逻辑或∨2、或逻辑:决定事件发生的各条件中,有一个或一个以上的条件具备,事件就会发生(成立)或逻辑运算规则:0+0=00+1=11+0=11+1=1AEFBABA+B111001001110真值表“逻辑或”实现方法:“逻辑或”可直接由逻辑或门电路来实现;作用:“逻辑或”运算常用来‘合并字段”。例如:X=00001001,Y=11010000,利用8个独立的逻辑或门,可将X的低4位与Y的高4位合并为一个字节,如图所示。逻辑符号:逻辑非逻辑反AEFRAF逻辑式:运算规则:10,01AF13、“非”逻辑:决定事件发生的条件只有一个,条件不具备时事件发生(成立),条件具备时事件不发生。AA0110真值表二、几种常用的逻辑关系“与”、“或”、“非”是三种基本的逻辑关系,任何其它的逻辑关系都可以以它们为基础表示。BAF与非:条件A、B都具备,则F不发生&ABFBAF或非:条件A、B任一具备,则F不发生1ABFBABABAF异或:条件A、B有一个具备,另一个不具备则F发生=1ABF同或:条件A、B相同,则F发生=1ABFBABAABF基本逻辑门&ABFABF≥11FA&ABFABF≥1=1ABF表示式F=ABF=A+BF=ABAFABFBAFABFABF国标惯用国外与或非与非或非异或逻辑符号ABFABFAFAFAABFBFABFABFABFABF⊕逻辑异或运算运算规则:相同则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,依此类推,还有由多种逻辑运算组合起来构成的“与非”、“或非”、“与或非”运算等均属于逻辑运算的范畴,不再说明三、逻辑函数与逻辑电路图几种表示方法逻辑代数式(逻辑表示式,逻辑函数式)11&&≥1ABF逻辑电路图:n2n个输入变量种组合。真值表:将逻辑函数输入变量取值的不同组合与所对应的输出变量值用列表的方式一一对应列出的表格。BABAF请写出下列逻辑电路图对应的逻辑代数式BABY=AB+ABABA1&AB&1≥1逻辑代数的基本运算规则加运算规则:0+0=0,0+1=1,1+0=1,1+1=1乘运算规则:0•0=00•1=01•0=01•1=1非运算规则:1001AA0,,1,00AAAAAAAA1,,11,0AAAAAAAA四、逻辑代数的运算规律1、交换律2、结合律3、分配律A+B=B+AA•B=B•AA+(B+C)=(A+B)+C=(A+C)+BA•(B•C)=(A•B)•CA(B+C)=A•B+A•CA+B•C=(A+B)(A+C)4、吸收规则(1)原变量的吸收:A+AB=A证明:A+AB=A(1+B)=A•1=A利用运算规则可以对逻辑式进行化简。例如:CDAB)FE(DABCDAB被吸收吸收是指吸收多余(冗余)项,多余(冗余)因子被取消、去掉被消化了。长中含短,留下短。字母上面没有非运算符的叫做原变量有非运算符的叫做反变量(2)反变量的吸收:BABAA证明:BAABABAABA)AA(BA例如:DEBCADCBCAA被吸收长中含反,去掉反。5、反演定理BABABABAABAB0001111010110110010111110000BAABBA可以用列真值表的方法证明:德•摩根(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.0010Y=+0.1010〔X〕原=0.0010〔Y〕原=0.1010〔X〕补=0.0010〔Y〕补=0.1010〔X+Y〕补=〔X〕补+〔Y〕补=0.0010+0.1010=0.1100X+Y=十0.1100=+0.75X-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=-101100Y=-110101[-y]补=00110101[x]补11010100+[-y]补00110101[x-y]补100001001X-y=+0001001=9x+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则有Sf1Sf200(正确)01(上溢)10(下溢)11(正确)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为输出构成一个逻辑图。全加器逻辑图CiAiBiSiCi+1FA计算机组成原理⊙第二章运算方法和运算器2.2.4基本的二进制加法/减法器CiAiBiSiCi+1输出输入0110100001101000100010100010111010111111表2-2全加器真值表全加器的表达式为:Si=AiBiCiCi+1=AiBi+BiCi+AiCi=AiBi+(AiBi)Ci一位全加器演示计算机组成原理⊙第二章运算方法和运算器进位链:进位传递逻辑在现代计算机中,运算器基本上都采用并行加法器,即多位全加器一步实现多位数同时相加,所用全加器的位数与操作数位数相同。加法器的运算速度不仅与全加器速度有关,更主要的是取决于进位传递速率。Ci=AiBi+(AiBi)Ci-1将上述逻辑式表示为:Ci=Gi+PiCi-1式中:Gi=AiBi,称为第i位的进位产生函数(若两个输入均为1必然产生进位)。Pi称为进位传递函数(当Pi=1时低位传来的进位Ci-1将能通过第i位向更高位传递)进位信号的基本逻辑构成各种进位链结构的基本逻辑计算机组成原理⊙第二章运算方法和运算器串行进位方式逐级地形成各位进位,每一级进位直接依赖于前一级进位。因此也称为行波进位。各位信号的逻辑式如下:C1=G1+P1C0C2=G2+P2C1C3=G3+P3C2…Cn=Gn+PnCn-1C0C1C2Cn-1CnA1B1S1A2B2S2AnBn…Sn图:采用串行进位的并行加法器Gi=AiBi,Pi=AiBi计算机组成原理⊙第二章运算方法和运算器行波进位二进制

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功