计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)_第1页
计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)_第2页
计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)_第3页
计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)_第4页
计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露) 定点除法运算:若干余数与除数加减,移位。例:0.10110 0.11111->商为:0.10110 余数为:0.10110 x 2-5实现除法关键:比较余数,除数绝对值大小,以决定上商。恢复余数。1.原码恢复余数法算法:比较两数大小可用减法试探。2 X 余数 除数 =新余数 (为正,够减,商为1;为负,不够减,商为0,恢复原余数)实例:X= -0.10110 Y=0.11111 求X/Y,给出商数Q和余数R。设置寄存器:A:被除数,余数 B:除数 C:商初值: A=|X|=00.10110;B=|Y|=00.11111;-B=1

2、1.00001;C=|Q|=0.00000分步运算过程:步骤 判断条件 操作 A=00.10110(看作余数r0) C=0.00000(Cn=0最末位) 符号位SA <- 01.01100 A= 乘2r0(左移一位)A=01.011001 -B + 11.00001 0 r1 = 00.01101 (符号位为0,表示够减,商为1) C=0.00001->Q12 <- 00.11010 A=乘2r1(左移一位) A=00.11010 -B +11.00001 1 r2 = 11.11011 (符号位1,表示不够减,商为0) C=0.00010->Q23. +B + 00.

3、11111 (不够减,恢复余数) 恢复余数 r2 = 00.11010 4 <- 01.10100 A=乘2r2 (左移一位) A=00.11010 -B +11.00001 0 r3 = 00.10101 (符号位为0,表示够减,商为1) C=0.00101->Q35. <- 01.01010 A=乘2r3 (左移一位) A=01.01010 -B + 11.00001 0 r4 = 00.01011 (符号位为0,表示够减,商为1) C=0.01011->Q4 6 <- 00.10110 A=乘2r4 (左移一位) A=00.10110 -B + 11.000

4、01 1 r5 = 11.10111 (符号位为1,表示不够减,商为0) C=0.10110->Q5 7 +B 00.11111 恢复余数 r6 = 00.10110 Q=-0.10110 R= 0.10110 x 2-5;(余数同被除数符号)X/Y = -0.10110 + 0.10110 x 2-5/0.11111结果X/Y就等于商Q加上余数R再除以除数Y;运算规则说明:1.A,B双符号位,X,Y绝对值,|X|小于|Y|。2.运算结束后,余数乘以2-n,余数与被除数同号。注解:这个算法是有缺陷的,不够减,就要恢复余数,需要改进。用原码不恢复余数法。2.原码不恢复余数法(加减交替法)1

5、算法分析:看上例:原码恢复余数法 总结:不恢复余数第二步:2r1 - B = r2 < 0; 第二步:2r1 - B = r2 < 0; 第三步:r2 + B =r2(恢复余数) 第三步:2r2 + B = r3 /直接把r2左移一位加B第四步:2r2 - B=r3 2r2 - B=2(r2 + B)- B =2r2 + B = r3 算法表达式:ri + 1 = 2ri + (1 - 2Qi) Y ri为正,则Qi为1,第i+1步作2ri - Y; ri为负,则Qi为0,第i+1步作2ri + Y; 实例: X=0.10110, Y=-0.11111 求X/Y,给出商数Q和余数R

6、。设置寄存器:A:被除数,余数 B:除数 C:商初值: A=|X|=00.10110;B=|Y|=00.11111;-B=11.00001;C=|Q|=0.00000分步运算过程:步骤 判断条件 操作 A=00.10110(看作余数r0) C=0.00000(Cn=0最末位) 符号位SA <- 01.01100 A= 乘2r0(左移一位)A=01.011001 -B + 11.00001 0(为正) r1 = 00.01101 (符号位为0,表示够减,商为1) C=0.00001->Q12 <- 00.11010 A=乘2r1(左移一位) A=00.11010 -B +11.

7、00001 1 (为负) r2 = 11.11011 (符号位1,表示不够减,商为0) C=0.00010->Q23. <- 11.10110 A=乘2r2 (左移一位) A=11.10110 +B + 00.11111 0(为正) r3 = 00.10101 (符号位为0,表示够减,商为1) C=0.00101->Q34. <- 01.01010 A=乘2r3 (左移一位) A=01.01010 -B + 11.00001 0 (为正) r4 = 00.01011 (符号位为0,表示够减,商为1) C=0.01011->Q4 5 <- 00.10110 A

8、=乘2r4 (左移一位) A=00.10110 -B + 11.00001 1(为负) r5 = 11.10111 (符号位为1,表示不够减,商为0) C=0.10110->Q6 +B 00.11111 恢复余数 r6 = 00.10110 Q=-0.10110 R= 0.10110 x 2-5;(余数同除数符号)X/Y = -0.10110 + 0.10110 x 2-5/-0.11111结果X/Y就等于商Q加上余数R再除以除数Y; 运算规则说明:1.A,B双符号位,X,Y绝对值,|X|<|Y|。2.根据余数的正负决定商值及下一步操作。3.求n位商,作n步操作;若第n步余数为负,则第n+1步恢复余数,不移位。 3.补码不恢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论