计算机组成原理第二章2

计算机组成原理第二章2

ID:1508709

大小:1.02 MB

页数:42页

时间:2017-11-12

计算机组成原理第二章2_第1页
计算机组成原理第二章2_第2页
计算机组成原理第二章2_第3页
计算机组成原理第二章2_第4页
计算机组成原理第二章2_第5页
资源描述:

《计算机组成原理第二章2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、定点数加减法运算及电路实现补码的加减法运算,全加器,溢出,快速加法运算(进位链),ALU2、定点数乘除运算和电路实现原码、补码,布斯算法,原码恢复余数、不恢复余数3、快速乘除法运算技术和电路实现布斯乘法,阵列乘法器,阵列除法器4、浮点数四则运算以及实现加减乘除本章第二讲安排加法规则:先判符号位,若相同,绝对值相加,结果符号不变;若不同,则作减法,

2、大

3、-

4、小

5、,结果符号与

6、大

7、相同。减法规则:两个原码表示的数相减,首先将减数符号取反,然后将被减数与符号取反后的减数按原码加法进行运算。补码加法1.原码加/减法运算补码加法的公式:[x]补+[y]补=[x+y]补(mod2)

8、在模2意义下,任意两数的补码之和等于该两数之和的补码。这是补码加法的理论基础。2.补码加法运算特点:不需要事先判断符号,符号位与码值位一起参加运算。符号位相加后若有进位,则舍去该进位数字。假设采用定点小数表示,因此证明的先决条件是:︱x︱﹤1,︱y︱﹤1,︱x+y︱﹤1。(1)x﹥0,y﹥0,则x+y﹥0。相加两数都是正数,故其和也一定是正数。正数的补码和原码是一样的,可得:[x]补+[y]补=x+y=[x+y]补(mod2)公式证明:(2)x﹥0,y﹤0,则x+y>0或x+y<0。相加的两数一个为正,一个为负,因此相加结果有正、负两种可能。根据补码定义,∵[x]补=x,[

9、y]补=2+y∴[x]补+[y]补=x+2+y=2+(x+y)当x+y>0时,2+(x+y)>2,进位2必丢失,又因(x+y)>0,故[x]补+[y]补=x+y=[x+y]补(mod2)当x+y<0时,2+(x+y)<2,又因(x+y)<0,故[x]补+[y]补=2+(x+y)=[x+y]补(mod2)(3)x<0,y>0,则x+y>0或x+y<0。同(2),把x和y的位置对调即可。(4)x<0,y<0,则x+y<0。相加两数都是负数,则其和也一定是负数。∵[x]补=2+x,[y]补=2+y∴[x]补+[y]补=2+x+2+y=2+(2+x+y)因为

10、x+y

11、<1,1<(2

12、+x+y)<2,2+(2+x+y)进位2必丢失,又因x+y<0故[x]补+[y]补=2+(x+y)=[x+y]补(mod2)至此证明了在模2意义下,任意两数的补码之和等于该两数之和的补码。其结论也适用于定点整数。补码加法的特点:(1)符号位要作为数的一部分一起参加运算;(2)在模2的意义下相加,即大于2的进位要丢掉。结论:例:x=0.1001,y=0.0101,求x+y。解:[x]补=0.1001,[y]补=0.0101[x]补0.1001+[y]补0.0101[x+y]补0.1110所以x+y=+0.1110例:x=+0.1011,y=-0.0101,求x+y。所以x+y

13、=0.0110解:[x]补=0.1011,[y]补=1.1011[x]补0.1011+[y]补1.1011[x+y]补10.0110补码减法补码减法运算的公式:[x-y]补=[x]补-[y]补=[x]补+[-y]补公式证明:只要证明[–y]补=–[y]补,上式即得证。∵[x+y]补=[x]补+[y]补(mod2)令y=-x∴[0]补=[x]补+[-x]补故[-x]补=-[x]补(mod2)证明:补充作业:请证明[-x]补=[x]补末位加1例:x=+0.1101,y=+0.0110,求x-y。解:[x]补=0.1101[y]补=0.0110,[-y]补=1.1010[x]补0

14、.1101+[-y]补1.1010[x-y]补10.0111x-y=+0.0111解:[x]补=1.0011[y]补=1.1010[x-y]补=0.0110[x]补1.0011+[-y]补0.0110[x-y]补1.1001例:x=-0.1101,y=-0.0110,求x-y=?∴x-y=-0.0111溢出及与检测方法在定点小数机器中,数的表示范围为

15、x

16、<1。在运算过程中如出现大于1的现象,称为“溢出”。机器定点小数表示上溢下溢1.概念解:[x]补=0.1011   [y]补=0.1001[x]补0.1011+  [y]补0.1001[x+y]补1.0100两个正数相加的

17、结果成为负数,这显然是错误的。例:x=+0.1011,y=+0.1001,求x+y。例:x=-0.1101,y=-0.1011,求x+y。解:[x]补=1.0011   [y]补=1.0101[x]补1.0011+  [y]补1.0101[x+y]补0.1000两个负数相加的结果成为正数,这同样是错误的。发生错误的原因,是因为运算结果产生了溢出。两个正数相加:结果大于机器所能表示的最大正数,称为上溢;两个负数相加:结果小于机器所能表示的最小负数,称为下溢。机器定点小数表示上溢下溢[分析]:2.溢出的检测方法[x]补

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。