定点加法减法运算.ppt

上传人:wj 文档编号:12770083 上传时间:2023-06-08 格式:PPT 页数:49 大小:1.17MB
下载 相关 举报
定点加法减法运算.ppt_第1页
第1页 / 共49页
定点加法减法运算.ppt_第2页
第2页 / 共49页
定点加法减法运算.ppt_第3页
第3页 / 共49页
定点加法减法运算.ppt_第4页
第4页 / 共49页
定点加法减法运算.ppt_第5页
第5页 / 共49页
定点加法减法运算.ppt_第6页
第6页 / 共49页
定点加法减法运算.ppt_第7页
第7页 / 共49页
定点加法减法运算.ppt_第8页
第8页 / 共49页
定点加法减法运算.ppt_第9页
第9页 / 共49页
定点加法减法运算.ppt_第10页
第10页 / 共49页
定点加法减法运算.ppt_第11页
第11页 / 共49页
定点加法减法运算.ppt_第12页
第12页 / 共49页
定点加法减法运算.ppt_第13页
第13页 / 共49页
定点加法减法运算.ppt_第14页
第14页 / 共49页
定点加法减法运算.ppt_第15页
第15页 / 共49页
定点加法减法运算.ppt_第16页
第16页 / 共49页
定点加法减法运算.ppt_第17页
第17页 / 共49页
定点加法减法运算.ppt_第18页
第18页 / 共49页
定点加法减法运算.ppt_第19页
第19页 / 共49页
定点加法减法运算.ppt_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

定点加法减法运算.ppt

《定点加法减法运算.ppt》由会员分享,可在线阅读,更多相关《定点加法减法运算.ppt(49页珍藏版)》请在冰点文库上搜索。

定点加法减法运算.ppt

2.2定点加法、减法运算,一、补码的加减法运算1、加法任意两个数的补码之和,等于该两数和的补码。

X+Y补=X补+Y补(mod2)分四种情况来证明,见课本26页两个数不管正负,均用补码表示,符号位应当做数值参加运算,符号位相加所产生的进位要丢掉,结果为补码。

定点运算器定点加减法,例:

X0.1011Y-0.0101,求X+Y?

解:

X补=0.1011,Y补=1.1011,+,0,1,1,0,10.,丢掉,1,X补+Y补=0.0110X+Y=0.0110,定点运算器定点加减法,例:

X-11001,Y-00011,求X+Y?

解:

X补=100111,Y补=111101,+,0,0,1,0,11,丢到,1,X补+Y补=100100X+Y=-11100,0,由以上两例看到,补码加法的特点:

一是符号位要作为数的一部分一起参加运算。

二是要在模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-0.1100Y-0.1000,求X+Y?

解:

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余数为负1.1111110q20加0.000111余数为正0.0001100q31故得商qq0.q1q2q30.101余数r(0.00r3r4r5r6)0.000110,2.4.2并行除法器,可控的加法/减法单元CAS单元P=0,作加法运算P=1,作减法运算,可控的加法/减法单元CAS单元P=0,作加法运算P=1,作减法运算,第一行:

P=1减法运算;不恢复余数算法除数右代替部分积左依x/y商Q=0.q3q2q1余数R=0.00r6r5r4r3,2.4.2并行除法器,上级商,作为下一级的P(控制端)输入。

计算机中执行除法时,商的符号位由被除数和除数的符号位通过一个半加器实现;对于数值部分,由于定点小数的绝对值小于1,如果被除数大于或等于除数,则商就大于或等于1,因而会产生溢出,这是不允许的。

因此在执行除法以前,先要判别是否溢出,不溢出时才执行除法运算。

判别溢出的方法是被除数减去除数,若差为正,就表示溢出。

2.5.1逻辑运算,计算机中除了进行加、减、乘、除等基本算术运算外,还可对两个或一个逻辑数进行逻辑运算。

所谓逻辑数,是指不带符号的二进制数。

利用逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。

计算机中的逻辑运算,主要是指逻辑非、逻辑加、逻辑乘、逻辑异四种基本运算。

1.逻辑非运算逻辑非也称求反。

如:

101001011,211110000,求1,2。

1101101002000011112.逻辑加运算按位求它们的“或”10100001,10011011,求。

1010000110011011101110113.逻辑乘运算按位求它们的“与”10111001,11110011,求。

101110011111001110110001,4.逻辑异运算按位求它们的模2和10101011,11001100,求。

解:

101010111100110001100111即01100111,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2