版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、可以证明:X+YX+Y补= X= X补+Y+Y补X-YX-Y补= X= X补+-Y+-Y补 -Y-Y补的求法:将YY补连同符号位求反加1 1。例例11: X+1001 Y+0101,求,求 X+Y? 解解: X补=01001 Y补=00101 X+Y补=X补+Y补=01001+00101 =01110所以所以X+Y=+1110第1页/共117页定点运算器 定点加减法 例例12: X+0.1011 Y-0.0101,求求 X+Y? 解解:X补=0. 1 0 1 1Y补=1. 1 0 1 1+011010.丢失1 X补+Y补=0.0110X+Y=0.0110第2页/共117页定点运算器 定点加减法
2、 例例(补充补充): X-11001 ,Y-00011,求,求 X+Y? 解解:X补=1 0 0 1 1 1Y补=1 1 1 1 0 1+00101 1丢失1 X补+Y补=100100X+Y=-111000由以上两例看到,补码加法的特点:一是符号位要作为数的一部分一起参加运算。二是要在模2或2n+1的意义下相加,即超过2或2n+1的进位要丢掉!第3页/共117页定点运算器定点加减法2、补码减法: XX补- Y- Y补=X+=X+(-Y-Y) 补=X=X补+-Y+-Y补 (-Y-Y)的补码称为YY补的机器负数,由YY补求-Y-Y补的过程称为将YY补“变补”或对YY补求补,由YY补求-Y-Y补的方
3、法是,不管Y Y的真值为正或为负,都是将YY补的各位连同符号位在内全变反后,最低位加1 1。第4页/共117页定点运算器 定点加减法 例例: X-0.1011 Y-0.0110,求,求 XY? 解解:X补=1. 0 1 0 1-Y补=0. 0 1 1 0+1101 1.XY补1.1011XY=-0.0101第5页/共117页3 3、溢出及其判别方法: 在计算机中,由于机器码的尾数通常是给定的(如1616位字长,3232位字长),因此,在计算机中数的表示范围是有限的,若两数进行加减运算的结果超出了给定的取值范围,就称为溢出。一旦出现溢出,必须及时处理,否则会出现错误。第6页/共117页(1)、溢
4、出例15:X=1011 Y=1001 求 X+Y解: X补= 0 1 0 1 1+ Y补= 0 1 0 0 1 1 0 1 0 0例2:X=-1010 Y=-1011 求 X+Y解: X补= 1 0 1 1 0+ Y补= 1 0 1 0 1 0 1 0 1 1较大正数相加产生进位,影响符号位较大的负数对应较小的正数补码相加无进位,符号位自己相加第7页/共117页(2)(2)溢出原因:溢出原因: 之所以发生错误之所以发生错误, ,是因为运算结果产生了溢出。两个正数相加是因为运算结果产生了溢出。两个正数相加, ,结果结果大于机器所能表示的最大正数大于机器所能表示的最大正数, ,称为称为上溢上溢。而
5、两个负数相加。而两个负数相加, ,结果小于机结果小于机器所能表示的最小负数器所能表示的最小负数, ,称为称为下溢下溢。v 两异号数相加或两同号数相减是否两异号数相加或两同号数相减是否 会产生溢出?会产生溢出?v 仅当两同号数相加或两异号数相减仅当两同号数相加或两异号数相减 时才有可能产生溢出?时才有可能产生溢出?问题:决不会产生溢出正确第8页/共117页 为了判断“溢出”是否发生, ,可采用两种检测的方法。第一种方法是采用双符号位法, ,这称为“变形补码”或“模4 4补码”。从而可使模2 2补码所能表示的数的范围扩大一倍。第9页/共117页定点运算器 定点加减法1) 采用双符号位的判断方法 每
6、个操作数的补码符号用两个二进制数表示,称为变形补码,用“0000”表示正数,“1111”表示负数,左边第一位叫第一符号位,右边第一位称为第二符号位,两个符号位同时参加运算,如果运算结果两符号位相同,则没有溢出发生。如果运算结果两符号位不同,则表明产生了溢出。“1010”表示负溢出(下溢出),说明运算结果为负数,“0101”表示正溢出(上溢出),说明运算结果为正数。 第10页/共117页定点运算器 定点加减法采用双符号位的判断方法 高符号位高符号位低符号位低符号位 结果结果00正正01上溢上溢10下溢下溢11负负第11页/共117页 例17: X+0.1100 Y+0.1000,求 X+Y? 解
7、:X补=00. 1100Y补=00. 1000+01.0100正数太大了,向前有进位,而符号位向前无进位;两个符号位:0101,表示正溢出第12页/共117页n例: X-0.1100 Y-0.1000,求 X+Y? 解:X补=11. 0100Y补=11. 1000+10.1100 负数绝对值太大了对应的补码小,向前无进位,而符号位向前有进位; 两个符号位:1010,表示负溢出溢出逻辑表达式为:V=Sf1 Sf2 (其中Sf1为最高符号位,Sf2为第二符号位)第13页/共117页 由此可以得出如下结论: 1. 1. 当以模4 4补码运算, ,运算结果的二符号位相异时, ,表示溢出;相同时, ,表
8、示未溢出。 2. 2. 模4 4补码相加的结果, ,不论溢出与否, ,最高符号位始终指示正确的符号。第14页/共117页 例例: X-0.100 Y-0.101,求,求 X+Y? 解解:X补=1. 1 0 0Y补=1. 0 1 1+11110.丢失1 两负数相加,结果应为负数,但运算结果为正数,表两负数相加,结果应为负数,但运算结果为正数,表明有溢出发生明有溢出发生。数据向前无进位,符号位向前有进位数据向前无进位,符号位向前有进位2)采用单符号位的判断方法第15页/共117页 例例: X100 ,Y-110,求,求 X-Y? 解:X补=0 1 0 0 -Y补=0 1 1 0+01 1一个正数减
9、去一个负数,结果为正数,但计算结果为负数,表一个正数减去一个负数,结果为正数,但计算结果为负数,表明有溢出发生,出错明有溢出发生,出错数据向前有进位,符号位向前无进位数据向前有进位,符号位向前无进位0溢出逻辑表达式为:V=Cf C0 (其中Cf为符号位产生的进位, C0为最高有效位产生的进位)第16页/共117页4、基本的二进制加法/减法器1、一位全加器FAAiBiCiCi+1Si向高位进位本位输出结果输入输出AiBiCiSiCi+10000000110010100110110010101011100111111表2.2 一位全加器真值表两个输出端的逻辑表达式:SiAi Bi CiCi1AiB
10、iBiCiCiAi第17页/共117页SiAi Bi CiCi1AiBiBiCiCiAi按此表达式组成的一位全加器示图:Ci+1=(Ai Bi)Ci AiBi1位全加器Si时间延迟为6T,Ci1延迟为5T(书本错误,图2.3(a)错误)第18页/共117页n个1位的全加器(FA)可级联成一个n位的行波进位加减器。M为方式控制输入线,当M0时,作加法(AB)运算;当M1时,作减法(AB)运算,在后一种情况下,AB运算转化成A补B补运算,求补过程由B1来实现。时间延迟 tan2T9T动画演示第19页/共117页十进制加法器 N位数字的行波进位BCD加法器 一位BCD加法器单元的逻辑结构第20页/共
11、117页定点运算器定点乘法1、原码并行乘法设被乘数XX原=X=Xf fX Xn-1n-1X Xn-2n-2X X1 1X X0 0 乘 数YY原=Y=Yf fY Yn-1n-1Y Yn-2n-2Y Y1 1Y Y0 0 乘 积XX原=Z=Zf fZ Z2n-12n-1Z Z2n-22n-2Z Z1 1Z Z0 0 运算原则:同号相乘为正,异号相乘为负,符号可按:异或运算得到,数值部分的运算方法与普通的十进制乘数相类似 。第21页/共117页定点运算器定点乘法 手工算法0. 1 1 0 10. 1 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1+ 1 0 0 0 1
12、1 1 1 0.l 两个n位数相乘,其积为2n位,则需要2n位长的加法器,这不适用于定点机的形式。l 机器一次只能进行两个数的相加,不能进行多个数据的加法。l 手工计算中,乘数的每一位是0还是1都可直接看见,而在计算机中,采用放乘数的寄存器的每一位直接决定本次相加数是被乘数还是0是很不方便的,若采用该寄存器的最低一位来执行这种判断就简便了。第22页/共117页定点运算器定点乘法运算法则: 计算机中执行乘法时,积的符号位由被乘数和乘数的符号位计算机中执行乘法时,积的符号位由被乘数和乘数的符号位通过一个半加器实现。通过一个半加器实现。 数值部分的运算规则是:从最低位数值部分的运算规则是:从最低位Y
13、 Y0 0开始,当乘数开始,当乘数Y Yi i为为1 1时,时,将上次部分积加上被乘数的绝对值,然后右移一位,得到新的部将上次部分积加上被乘数的绝对值,然后右移一位,得到新的部分积;当分积;当Y Yi i为为0 0时,则写下全时,则写下全0 0。然后再对乘数。然后再对乘数Y Y的高一位进行类的高一位进行类似乘法运算。重复似乘法运算。重复“加加右移右移”操作操作N N次,可得到最后的乘积。次,可得到最后的乘积。 第23页/共117页定点运算器定点乘法 例:X=0.1101,Y=0.1011, 求X*Y=? 解: |X|=00.1101 |Y|=00.1011 部分积 乘数 说明0 0. 0 0
14、0 00 0. 1 1 0 1+Yf 1 0 1 10 0. 1 1 0 10 0. 0 1 1 0 0 0. 1 1 0 1+0 1. 0 0 1 10 0. 1 0 0 10 0. 0 0 0 0+0 0. 1 0 0 10 0. 0 1 0 00 0. 1 1 0 10 1. 0 0 0 10 0. 1 0 0 0+1 Yf 1 0 11 1 Yf 1 01 1 1 Yf 11 1 1 1 YfY0=1, +XY1=1, +XY2=0, +0Y3=1, +X右移,得Z1=1右移,得Z2=1右移,得Z3 =1右移,得Z4=1第24页/共117页定点运算器定点乘法 结果: X*Y=0.100
15、01111X*Y=1. 01001110计算:X=-0.1101 Y=0.0110,求X*Y?第25页/共117页定点运算器定点乘法(了解)原码一位乘法的逻辑电路图存放部分积,存放被乘数,存放存放部分积,存放被乘数,存放乘数。乘数。一、一、 R0清零,清零,R2存放被乘数,存放被乘数,R1存放乘数。存放乘数。乘法开始时,乘法开始时,“启动启动”信号时控制信号时控制置,置,于是开启时序脉冲,于是开启时序脉冲, 当乘数寄存其最末位为当乘数寄存其最末位为“时,时,部分积和被乘数在加法器中相加,其结果部分积和被乘数在加法器中相加,其结果输出至的输入端。一旦控制脉冲到来,输出至的输入端。一旦控制脉冲到来
16、,控制信号使部分积右移位,与此同控制信号使部分积右移位,与此同时,乘数寄存其也在控制型号作时,乘数寄存其也在控制型号作用下右移一位,且计数器记数一次,用下右移一位,且计数器记数一次,二、二、 将步骤三重复执行将步骤三重复执行N次次三、三、 当计数器当计数器n时,计数器的溢出信号时,计数器的溢出信号使控制触法器使控制触法器置,关闭时序脉冲,乘置,关闭时序脉冲,乘法宣告结束。法宣告结束。 第26页/共117页原码并行乘法 不带符号的阵列乘法器手工操作如下:第27页/共117页图2.4 mn位不带符号得阵列乘法器逻辑框图第28页/共117页演示动画第29页/共117页原码并行乘法 带符号的阵列乘法器
17、 首先来看算术运算部件设计中常常用到的求补电路第30页/共117页演示动画E=1时启动对2求补操作第31页/共117页用这种对2求补器来转换一个(n + 1)位带符号的数,所需的总时间延迟为tTC = n2T + 5T = (2n + 5)T 第32页/共117页图2.7 (n + 1)位(n + 1)位带求补器的阵列乘法器逻辑方框图 第33页/共117页图2.7所示的带求补级的阵列乘法器既适用于原码乘法,也适用于间接的补码乘法。不过在原码乘法中,算前求补和算后求补都不需要,因为输入数据都是立即可用的。而间接的补码阵列乘法却需要使三个求补器。为了完成所必须的求补与乘法操作,时间大约比原码阵列乘
18、法增加1倍例20 例21第34页/共117页直接补码并行乘法(不做要求) 补码与真值的转换公式公式2.29 2.30 P42N补anan1a1a0 其中an为符号位,则补码数N补和真值N的关系可以表示成: n1ai2i 当an 0(N补为正)时 i0 n11(1ai)2i当an 1(N补为负)时i0 可化为: n1 N an2nai2i i=0 (2n可以看成12n-1+2n-2+20)N(2.29)第35页/共117页补码与真值的转换公式 又 -N补anan-1a1a0+1,其中: ai=1-ai所以 -N补可以表示为: n1 N (1-an)2n(1-ai)2i +1 i0(2.30)例1
19、9 已知: N补 01101,N补10011,求N补,N补具有的数值。第36页/共117页表2.3 四类一般化全加器的名称和逻辑符号第37页/共117页 对0类、3类全加器而言有: 对1类、2类全加器,则有第38页/共117页直接补码阵列乘法器 利用混合型的全加器就可以构成直接补码数阵列乘法器。设被乘数A和乘数B是两个5位的二进制补码数,即其A(a4)a3a2a1a0B(b4)a3a2a1a0 它们具有带负权的符号位a4和b4,并用括号标注。第39页/共117页直接补码阵列乘法器 (a4) a3 a2a1 a0A) (b4) b3 b2b1 b0B (a4b0)a3b0a1b0a1b0a0b0
20、(a4b1) a3b1 a2b1a1b1a0b1 (a4b2)a3b2a2b2 a1b2a0b2(a4b3) a3b3 a2b3a1b3 a0b3 )a4b4(a3b4)(a2b4)(a1b4)(a0b4)p9 p8 p7 p6 p5 p4p3p2 p1 p0P 第40页/共117页也可以如动画演示所示第41页/共117页定点运算器定点除法定点原码除法 在定点计算机中,完成两个原码表示的数相在定点计算机中,完成两个原码表示的数相除时,商的符号由两数的符号位和原码乘法运算方除时,商的符号由两数的符号位和原码乘法运算方法一样,用模法一样,用模2求和得到,而商的数值部分则是两求和得到,而商的数值部分
21、则是两个正数相除得到。个正数相除得到。设有有设有有n位定点小数位定点小数(定点整数也同样适用定点整数也同样适用): 被除数被除数 X原原=f . n110 除除 数数 Y原原=f .n110 则则 商商Q原原=(ff f)+)+(0.n110/0.n110))第42页/共117页定点运算器定点除法 计算机中执行除法时,商的符号位由被除数计算机中执行除法时,商的符号位由被除数和除数的符号位通过一个半加器实现;和除数的符号位通过一个半加器实现; 对于数值部分,由于定点小数的绝对值小于对于数值部分,由于定点小数的绝对值小于1 1,如果被除数大于或等于除数,则商就大于或,如果被除数大于或等于除数,则商
22、就大于或等于等于1 1,因而会产生溢出,这是不允许的。,因而会产生溢出,这是不允许的。 因此在执行除法以前,先要判别是否溢出,因此在执行除法以前,先要判别是否溢出,不溢出时才执行除法运算。判别溢出的方法是被不溢出时才执行除法运算。判别溢出的方法是被除数减去除数,若差为正,就表示溢出。除数减去除数,若差为正,就表示溢出。 第43页/共117页定点运算器定点除法 手工计算除法的方法: 设被除数为X=0.1001,Y=0.1011,求X/Y=?第44页/共117页定点运算器定点除法X/Y=0.1101余数=0.0111*2-4第45页/共117页恢复余数法恢复余数法的运算规则: 计算机中进行除法时,
23、是模仿十进制除法笔算的过程,但又计算机中进行除法时,是模仿十进制除法笔算的过程,但又不能完全照搬。不能完全照搬。 在机器中判断是否够减,必须先做减法,若余数为正,表示在机器中判断是否够减,必须先做减法,若余数为正,表示够减;若余数为负,表示不够减够减;若余数为负,表示不够减 ,不够减时,必须恢复原来的,不够减时,必须恢复原来的余数,以便再继续往下运算,这种方法称为余数,以便再继续往下运算,这种方法称为恢复余数法。恢复余数法。 要恢复原来的余数,只要当前的余数加上除数即可。要恢复原来的余数,只要当前的余数加上除数即可。第46页/共117页定点运算器定点除法 例:X=0.1001 , Y=0.1011, 用恢复余数法求X/Y=?解: X原=X补=0.1001 Y补=0.1011 -Y补=1.0101第47页/共117页 解: 被除数/余数 商数 q 说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年绿色建筑中的智能控制技术
- 2026春招:小学教师题库及答案
- 2026年桥梁健康监测的数据共享平台建设
- 货运汛期行车安全培训课件
- 妇产科新业务拓展进展报告
- 医疗行业市场趋势预测
- 2026年黑龙江建筑职业技术学院单招职业技能考试参考题库带答案解析
- 货台安全培训课件
- 医疗行业创新项目团队建设与管理
- 妇科护理工作实践与挑战
- 光伏基础吊装施工方案
- 专题05病句辨析与修改-2023年小升初语文高频考点100题(部编版)
- 合肥市瑶海区S社区居家养老服务站建设研究:现状、问题与优化路径
- 《黄土原位测试规程》
- 水平定向钻施工技术应用与管理
- 风险金管理办法
- 烟花爆竹安全生产会议
- 绿化养护中病虫害重点难点及防治措施
- 学堂在线 雨课堂 学堂云 工程伦理2.0 章节测试答案
- 生态旅游区建设场地地质灾害危险性评估报告
- 网络传播法规(自考14339)复习题库(含答案)
评论
0/150
提交评论