定点加法减法运算PPT资料.ppt
- 文档编号:13953883
- 上传时间:2022-10-15
- 格式:PPT
- 页数:49
- 大小:1.17MB
定点加法减法运算PPT资料.ppt
《定点加法减法运算PPT资料.ppt》由会员分享,可在线阅读,更多相关《定点加法减法运算PPT资料.ppt(49页珍藏版)》请在冰豆网上搜索。
一是符号位要作为数的一部分一起参加运算。
二是要在模2的意义下相加,即超过2的进位要丢掉!
定点运算器定点加减法,补码的减法:
X-Y补=X补-Y补=X补+-Y补-Y补=-Y补(证明见课本28页)(-Y)的补码称为Y补的机器负数,由Y补求-Y补的过程称为将Y补“变补”或对Y补求补。
由Y补求-Y补的方法是:
不管Y的真值为正或为负,都是将Y补的各位连同符号位在内全求反加1。
例+0.1101,+0.0110,求-,x补0.1101,y补0.0110-y补1.1010x补0.1101-y补1.1010-补10.0111所以0.0111,定点运算器定点加减法,练习:
X-0.1011Y-0.0110,求XY?
X补=1.0101,-Y补=0.0110,+,1,1,0,1,1.,XY补1.1011XY=-0.0101,x1补1.0010-x1补0.1110x2补0.1101-x2补1.0011,例已知10.1110,20.1101求:
x1补,-x1补,x2补,-x2补,二、溢出及其判别方法:
在计算机中,由于机器码的尾数通常是给定的(如16位字长,32位字长),因此,在计算机中数的表示范围是有限的,若两数进行加减运算的结果超出了给定的取值范围,就称为溢出。
一旦出现溢出,必须及时处理,否则会出现错误。
1、溢出,例1:
X=1010Y=1001求X+Y,解:
X补=01010+Y补=01001,10011,例2:
X=-1010Y=-1011求X+Y,解:
X补=10110+Y补=10101,01011,2、溢出原因:
1)两个正数太大:
产生进位而改变了符号位;
2)两个负数绝对值太大:
对应的补码太小,不能向符号位产生进位,使符号位相加后,向前产生进位。
1、两异号数相加或两同号数相减是否会产生溢出?
2、仅当两同号数相加或两异号数相减时才有可能产生溢出?
问题:
决不会产生溢出,正确,“溢出”检测方法,为了判断“溢出”是否发生,可采用两种检测的方法。
第一种方法:
采用双符号位法,称为“变形补码”或“模4补码”,可使模2补码所能表示的数的范围扩大一倍,第二种溢出检测方法:
采用“单符号位法”。
当最高有效位产生进位而符号位无进位时,或当最高有效位无进位而符号位有进位时,产生溢出。
在定点机中,当运算结果发生溢出时,机器通过逻辑电路自动检查出溢出故障,并进行中断处理。
1、双符号位法(参与加减运算的数采用变形补码表示)x2x0x补=4+x0x-2Sf1Sf200正确(正数)01上溢10下溢11正确(负数)Sf1表示正确的符号,逻辑表达式为V=Sf1Sf2,可以用异或门来实现,X补=00.1100,Y补=00.1000,+,01.0100,正数太大了,向前有进位,而符号位向前无进位;
两个符号位:
01,表示溢出,例:
X-0.1100Y-0.1000,求X+Y?
X补=11.0100,Y补=11.1000,+,10.1100,负数绝对值太大了对应的补码小,向前无进位,而符号位向前有进位;
10,表示溢出,溢出逻辑表达式为:
V=Sf1Sf2(其中Sf1为最高符号位,Sf2为第二符号位,),定点运算器定点加减法,采用“单符号位法”当最高有效位产生进位而符号位无进位时,产生上溢;
当最高有效位无进位而符号位有进位时,产生下溢。
故:
溢出逻辑表达式为:
VCfCo其中:
Cf为符号位产生的进位,Co为最高有效位产生的进位。
(显然:
此逻辑关系可用异或门方便地实现),单符号位法CfC000正确(正数)01上溢10下溢11正确(负数)V=CfC0其中Cf为符号位产生的进位,C0为最高有效位产生,例:
X补=1.0100,Y补=1.1000,+,0.1100,最高有效位向前无进位,而符号位向前有进位;
表示溢出,Cf=1Co=0VCfCo=1溢出,例:
X-0.100Y-0.101,求X+Y?
X补=1.100,Y补=1.011,+,1,1,1,0.,两负数相加,结果应为负数,但运算结果为正数,表明有溢出发生。
数据向前无进位,符号位向前有进位,采用单符号位的判断方法,练习:
X0.1100Y=0.1000求X+Y?
并用2种方法判断是否溢出,x补0.1100,y补0.1000x补0.1100y补0.1000+补1.0100V=CfCo1溢出,x补00.1100,y补00.1000x补00.1100y补00.1000+补01.0100V=Sf1Sf21溢出,三、基本的加法/减法器,1、一位全加器,FA,Ai,Bi,Ci,Ci+1,Si,向高位进位,本位输出结果,表2.2一位全加器真值表,两个输出端的逻辑表达式:
SiAiBiCiCi1AiBiBiCiCiAi,SiAiBiCiCi1AiBiBiCiCiAi按此表达式组成的一位全加器示图:
Ci+1=(AiBi)CiAiBi,n个1位的全加器(FA)可级联成一个n位的行波进位加减器。
M为方式控制输入线,当M0时,作加法(AB)运算;
当M1时,作减法(AB)运算,在后一种情况下,AB运算转化成A补B补运算,求补过程由B1来实现。
2.3.1定点原码乘法,乘法实现方法在现有的加法和减法器的基础上增加适当的以为线路及控制逻辑可以实现用LSI和VLSI工艺实现专用的乘法器编制子程序(单片机等低端机器),2.定点乘法运算,1、定点原码乘法原理,x原=xf.xn-1x1x0y原=yf.yn-1y1y0x.y原=(xfyf)+(0.xn-1x1x0).(0.yn-1y1y0)尾数乘法如下:
设0.1101,0.10110.1101()0.1011()11011101000011010.10001111(),1、定点原码乘法原理,n位乘n位积可能为2n位.乘积的最后是所有部分积之和,有n个数相加,而FA只有两个输入端所以需要改造方法一:
硬件实现方法(串行的“加法和移位”),硬件结构简单,速度太慢(时间延迟太长).方法二:
不带符号位的阵列乘法器,1、定点原码乘法原理,设0.1101,0.1011求x*y部分积乘数部分积初始化为0.000001011部分积右移,前面补+X0.1101乘数最低位为,加上被乘数-0110101011部分积右移,前面补0.011010101乘数最低位为,加上被乘数+X01101-1001110101部分积右移,前面补0100111010乘数最低位为,加上+000000-0100111010部分积右移,前面补0010011101乘数最低位为,加上被乘数+X01101-1000111101部分积右移,前面补0.100011110运算四次结束,数值部分运算,2、不带符号位的阵列乘法器,不带符号阵列乘法器逻辑图,2、不带符号位的阵列乘法器,3、带符号位的阵列乘法器,求补电路原理:
算前求补乘法器算后求补,见下图,3、带符号的阵列乘法器,求补电路小结E=0时,输入和输出相等E=1时,则从数最右端往左边扫描,直到第一个1的时候,该位和右边各位保持不变0A=A,左边各数值位按位取反1A=乛A可以用符号作为E的输入原:
1.11110补:
1.00010时间延迟分析:
转换n+1位带符号的时间延迟为t=n*2T+5T,其中n*2T为或门延迟时间,5T为最高位与门和异或门的时延。
不变,左边数值位取反,3、带符号的阵列乘法器(间接法),原码补码,例20用带求补器原码乘法器(输入/出:
为原码)Y=(+15)*(-13)设最高位为符号位,则输入数据为原01111原11101符号位单独考虑,算前求补级后|1111,|1101算后经求补级输出并加上乘积符号位1,则原码乘积值为111000011。
换算成二进制数真值是(11000011)2=(-195)10十进制数验证:
15(13)195,例21用带求补器补码乘法器(输入/出:
为补码)Y=(-15)*(-13),设最高位为符号位,则输入数据为补10001补10011符号位单独运算=0,算前求补级后|1111,|1101算后经求补级输出并加上符号乘积符号位0,则原码乘积值为011000011。
换算成二进制数真值是(011000011)2=(+195)10十进制数验证:
(-15)(13)+195,2.4定点除法运算,0.1101商q0.10110.10010(r0)被除数0.0101121除数右移1位,减除数0.001110r1得余数r10.00101122除数右移1位,减除数0.0000110r2得余数r20.000101123除数右移1位,不减除数0.00001100r3得余数r30.0000101124除数右移1位,减除数0.00000001r4得余数r4,商0还是商1人可以比较后确定,计算机如何确定?
余数末位补0后,减去除数右移后的值,导致加法器尾数逐渐增多,最后要求加法器的位数必须位被除数的两倍,定点原码一位除法实现方案(手工),0.110111011011011011001011011010011010111,X/Y=0.1101余数=0.0111*2-4,商0还是商1人可以比较后确定,计算机如何确定?
2.4定点除法运算,2.4.22、不恢复余数的除法,加减交替法(不恢复余数法)当i-1次求商的余数为正时,下一次求商的办法是Ri+1=2Ri-Y若Ri0时,则i位上商0,而恢复余数作加法Ri+Y,下一次(即i+1次)求商作减法时Ri+1=2(Ri+Y)-Y=2Ri+YRi0Ri+1=2Ri-Y(2表示左移一位)Ri0Ri+1=2Ri+Y,2、不恢复余数的除法,法则:
余数为正,商1,求下一位商的办法是余数左移,减除数余数为负,商0,求下一位商的办法是余数左移,加除数若最后余数与被除数X异号,则需要纠余,增加如下操作:
若X、Y同号,用+Y纠余;
若X、Y异号,用-Y纠余。
2、不恢复余数的除法,则x/y=0.1101余数为0.0111*2-4(左移了4次)小结:
判断溢出/”0”商的符号由被除数的符号和除数的符号共同决定被除数的位数可以是除数位数的两倍,地位开始放于商的寄存器中.最后一步余数是负数,需要修正再加上除数,移位.直到为正,举例p44,例230.101001,0.111,求。
补1.001除数右移被除数0.101001减1.001余数为负1.1100010q00加0.0111余数为正0.0011010q11减1.11001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定点 加法 减法 运算