计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机组成原理第七讲(除法-原码恢复余数法)(科大罗克露)定点除法运算:若干余数与除数加减,移位。例:0.10110÷0.11111--------->商为:0.10110余数为:0.10110x2-5实现除法关键:比较余数,除数绝对值大小,以决定上商。恢复余数。1.原码恢复余数法算法:比较两数大小可用减法试探。2X余数-除数=新余数(为正,够减,商为1;为负,不够减,商为0,恢复原余数)实例:X=-0.10110Y=0.11111求X/Y,给出商数Q和余数R。设置寄存器: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.01100A=乘2r0(左移一位)A=01.011001-B+11.000010r1=00.01101(符号位为0,表示够减,商为1)C=0.00001--->Q12<------00.11010A=乘2r1(左移一位)A=00.11010-B+11.000011r2'=11.11011(符号位1,表示不够减,商为0)C=0.00010--->Q23.+B+00.11111(不够减,恢复余数)恢复余数r2=00.110104<---------01.10100A=乘2r2(左移一位)A=00.11010-B+11.000010r3=00.10101(符号位为0,表示够减,商为1)C=0.00101--->Q35.<-----01.01010A=乘2r3(左移一位)A=01.01010-B+11.000010r4=00.01011(符号位为0,表示够减,商为1)C=0.01011--->Q46<-----00.10110A=乘2r4(左移一位)A=00.10110-B+11.000011r5=11.10111(符号位为1,表示不够减,商为0)C=0.10110--->Q57+B00.11111恢复余数r6=00.10110Q=-0.10110R=0.10110x2-5;(余数同被除数符号)X/Y=-0.10110+0.10110x2-5/0.11111结果X/Y就等于商Q加上余数R再除以除数Y;运算规则说明:1.A,B双符号位,X,Y绝对值,|X|小于|Y|。2.运算结束后,余数乘以2-n,余数与被除数同号。注解:这个算法是有缺陷的,不够减,就要恢复余数,需要改进。用原码不恢复余数法。2.原码不恢复余数法(加减交替法)1算法分析:看上例:原码恢复余数法总结:不恢复余数第二步:2r1-B=r2'<0;第二步:2r1-B=r2'<0;第三步:r2'+B=r2(恢复余数)第三步:2r2'+B=r3//直接把r2'左移一位加B第四步:2r2-B=r32r2-B=2(r2'+B)-B=2r2'+B=r3算法表达式:ri+1=2ri+(1-2Qi)Yri为正,则Qi为1,第i+1步作2ri-Y;ri为负,则Qi为0,第i+1步作2ri+Y;实例:X=0.10110,Y=-0.11111求X/Y,给出商数Q和余数R。设置寄存器: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.01100A=乘2r0(左移一位)A=01.011001-B+11.000010(为正)r1=00.01101(符号位为0,表示够减,商为1)C=0.00001--->Q12<------00.11010A=乘2r1(左移一位)A=00.11010-B+11.000011(为负)r2=11.11011(符号位1,表示不够减,商为0)C=0.00010--->Q23.<---------11.10110A=乘2r2(左移一位)A=11.10110+B+00.111110(为正)r3=00.10101(符号位为0,表示够减,商为1)C=0.00101--->Q34.<-----01.01010A=乘2r3(左移一位)A=01.01010-B+11.000010(为正)r4=00.01011(符号位为0,表示够减,商为1)C=0.01011--->Q45<-----00.10110A=乘2r4(左移一位)A=00.10110-B+11.000011(为负)r5=11.10111(符号位为1,表示不够减,商为0)C=0.10110--->Q6+B00.11111恢复余数r6=00.10110Q=-0.10110R=0.10110x2-5;(余数同除数符号)X/Y=-0.10110+0.10110x2-5/-0.11111结果X/Y就等于商Q加上余数R再除以除数Y;运算规则说明:1.A,B双符号位,X,Y绝对值,|X|<|Y|。2.根据余数的正负决定商值及下一步操作。3.求n位商,作n步操作;若第n步余数为负,则第n+1步恢复余数,不移位。3.补码不恢复余数法(加减交替法)问题:1.如何判断是否够减法?如何上商?如何确定商的符号?1.判断够减:(1)同号相除。用绝对值相减(用1表示够减,用0表示不够减)够减:r与X,Y同号。用绝对值相减(用1表示够减,用0表示不够减)不够减:r与X,Y异号。

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功