资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,系 统 总 线,存储器,运算器,控制器,接口与通信,输入/输出设备, 计算机组成原理 ,第六章 计算机的运算方法,第六章 计算机的运算方法,3、定点乘法运算 3.1、原码一位乘法 3.2、补码一位乘法(重点:布斯乘法) 3.3、补码两位乘法 3.4、阵列乘法器,方法:充当计算机! 严格按照运算法则去做, 不加思考,态度认真, 保证结果正确。,4、定点除法运算 4.1、原码一位除法 4.2、补码一位除法 4.3、阵列除法器 5、浮点四则运算 5.1、浮点加减运算 对阶、执行加减、规格化、舍入、判溢出 5.2、浮点乘除运算 阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,原码一位除法基本上是从手算演变过来,符号位单独处理。 两个原码表示的数相除运算规则: 商的符号位:两数的符号相异或 商的数值部分:两数的绝对值相除。 运算方法与普通的十进制小数除法相类似, 设 n 位被乘数X 和 乘数Y 用定点小数表示(定点整数同样) 被除数: X原 = Xf . Xn-1 X1 X0 除数: Y原 = Yf . Yn-1 Y1 Y0 商 Q 原= ( Xf Yf ) + (0.Xn-1 X1 X0) / (0.Yn-1 Y1 Y0) 于是原码与原码相除就变成如何进行两个正数相除的问题了。 两种除法: 恢复余数法 不恢复余数法(加减交替法),4.1、原码一位除法,两个数相除,上商时, 人会心算,一看就知道够不够减。 够减商1,不够减商0。 但机器不会,必须先作减法。 若余数为正,才知道够减; 若余数为负,才知道不够减。 不够减时,必须恢复原来的余数。 顾名思义恢复余数法。,4.1、原码一位除法,1)恢复余数法,被除数 X=0.1011 除数Y=0.1101 求 X/Y。商精确到小数点后四位。 手算方法计算步骤如下:,4.1、原码一位除法,0.1101 0.1101 0 . 1011 - 0 . 1101 1 . 1110 + 0 . 1101 0 . 1011 0 . 10110 - 0 . 01101 0 . 01001 0 . 010010 - 0 . 001101 0 . 000101 0 . 0001010 - 0 . 0001101 1 . 1111101 + 0 . 0001101 0 . 0001010 0 . 00010100 - 0 . 00001101 0 . 00000111,- Y 得负数,不够减,商0,X低位补0 - 2-1Y 得正数,够减,商1 X低位补0,- 2-2Y 得正数,够减,商1 X低位补0,- 2-3Y 得负数,不够减,商0 + 2-3Y,恢复余数,- 2-4Y 得正数,够减,商1,+ Y,恢复余数,X低位补0,4.1、原码一位除法,1)恢复余数法,1、符号单独处理, Q f = ( Xf Yf ) ,取绝对值相除; 2、作减法,若不溢出,运算开始; 3、 -Y,若余数 R 为正(够减),商 1 ,左移一位 ; -Y,若余数 R 为负(不够减),商 0 ,恢复余数,左移一位; 4、重复 n 步; 5、若最后一步余数为负(不够减),应恢复余数(+Y补)。 右移 除数Y,可以通过 左移 余数 来替代, 左移出界的 余数 的高位都是无用的零, 对运算不会产生任何影响。,如果,余数一共被左移了n次,最后需要校正。 最终的余数再右移n次。,寄存器A存放 被除数 X = 0.1011 ,后来可存放余数,累次参加运算。 寄存器B存放 除数 Y = 0.1101 寄存器C存放 商 Q = X / Y 另外设置计数器CR控制循环次数。 X原- Y原 运算可以用 X补 + -Y补取代; Y补= 0.1101 -Y补= 1.0011,4.1、原码一位除法,分析:参加运算的数X,Y 都是正数,正数的原码与补码表示相同。,被除数X(余数) 商 操作 0. 1011 0 0 0 0 0 + 1. 0011 - Y (+ -Y补) 1. 1110 0 0 0 0 0 负数:不够减,商0 + 0. 1101 +Y 恢复余数, (+ Y补) 0. 1011 0 0 0 0 0 余数和商同时左移一位 1. 0110 0 0 0 0 0 + 1. 0011 - Y (+ -Y补) 0. 1001 0 0 0 0 1 正数:够减,商1 1. 0010 0 0 0 1 0 余数和商同时左移一位 + 1. 0011 - Y (+ -Y补) 0. 0101 0 0 0 1 1 正数:够减,商1 0. 1010 0 0 1 1 0 余数和商同时左移一位 + 1. 0011 - Y (+ -Y补) 1. 1101 0 0 1 1 0 负数:不够减,商0 + 0. 1101 + Y 恢复余数, (+ Y补) 0. 1010 0 0 1 1 0 余数和商同时左移一位 1. 0100 0 1 1 0 0 + 1. 0011 - Y (+ -Y补) 0. 0111 0 1 1 0 1 正数:够减,商1,余数再右移四位得正确结果: 0.0000 0111。,2)不恢复余数法(加减交替法) 加减交替法是对恢复余数除法的一种修正。 当余数为负时,不恢复,继续求下一位商, 但用加上除数 (+Y) 的办法来取代 (-Y) 操作,其他操作不变。 加减交替法的规则如下: 余数为正,商1,左移一位,减除数(-Y); 余数为负,商0,左移一位,加除数(+Y)。 此方法不用恢复余数,所以又叫不恢复余数法。 但若最后一次上商为0,则仍需恢复余数(+Y补) 。,4.1、原码一位除法,被除数(余数) 商 操作 0. 1011 0 0 0 0 0 + 1. 0011 - Y (+ -Y补) 1. 1110 0 0 0 0 0 负数:商0 1. 1100 0 0 0 0 0 余数和商同时左移一位 + 0. 1101 + Y 0. 1001 0 0 0 0 1 正数:商1 1. 0010 0 0 0 1 0 余数和商同时左移一位 + 1. 0011 - Y (+ -Y补) 0. 0101 0 0 0 1 1 正数:商1 0. 1010 0 0 1 1 0 余数和商同时左移一位 + 1. 0011 - Y (+ -Y补) 1. 1101 0 0 1 1 0 负数:商0 1. 1010 0 1 1 0 0 余数和商同时左移一位 + 0. 1101 + Y 0. 0111 0 1 1 0 1 正数:商1,4.1、原码一位除法,余数再右移四位得正确结果: 0.0000 0111。,CPA,2.3、补码定点加法器,+X,- Y,设开关电路 负数不送回,思考问题: 恢复余数法在电路上实现其实更简单!,4、定点除法运算 4.1、原码一位除法 4.2、补码一位除法 4.3、阵列除法器 5、浮点四则运算 5.1、浮点加减运算 对阶、执行加减、规格化、舍入、判溢出 5.2、浮点乘除运算 阶码加减、尾数乘除、规格化、舍入、判溢出,第六章 计算机的运算方法,4.2、补码一位除法,补码加减交替法, 法则如下: (Ri补为余数,数值部分共n位),1)比较 2)上商 3)求新余数,1)比较 2)上商 3)求新余数,由上式化简,方法:列表格,4)商的符号 两种常见的做法: 方法一:第一步比较XY同号做X补Y补;异号做X补+Y补; 方法二:一开始就将被除数X当作初始余数R0, R0与Y同号商1,异号商0,得的假商最后求反进行校正。 5)商的校正 对于方法一,商符正确,商末位恒置1。 对于方法二,商符取反,商末位恒置1。,4.2、补码一位除法,思考:由于方法一开始比较被除数与除数,后来比较余数与除数, 控制部署不一样。所以采用方法二,硬件电路比较好实现, 全部是比较余数与除数,便于计算机控制。,4.2、补码一位除法,被除数X(余数R) 商Q 操作 0. 1011 0 0 0 0 0 + 1. 0011 X Y 同号:+ -Y补 1. 1110 0 0 0 0 0 R Y 异号:商0 1. 1100 0 0 0 0 0 余数R和商同时左移一位 + 0. 1101 + Y补 0. 1001 0 0 0 0 1 R Y 同号:商1 1. 0010 0 0 0 1 0 余数R和商同时左移一位 + 1. 0011 + -Y补 0. 0101 0 0 0 1 1 R Y 同号:商1 0. 1010 0 0 1 1 0 余数R和商同时左移一位 + 1. 0011 + -Y补 1. 1101 0 0 1 1 0 R Y 异号:商0 1. 1010 0 1 1 0 0 余数R和商同时左移一位 + 0. 1101 + Y补 0. 0111 0 1 1 0 1 商的末位恒置1,使用方法一: X补=0.1011 Y补=0.1101 -Y补=1.0011,余数再右移四位得正确结果,前面补符号位。,4.2、补码一位除法,被除数X(余数R) 商Q 操作 0. 1011 0 0 0 0 1 R Y 同号:商1 1. 0110 0 0 0 1 0 余数R和商同时左移一位 + 1. 0011 + -Y补 0. 1001 0 0 0 1 1 R Y 同号:商1 1. 0010 0 0 1 1 0 余数R和商同时左移一位 + 1. 0011 + -Y补 0. 0101 0 0 1 1 1 R Y 同号:商1 0. 1010 0 1 1 1 0 余数R和商同时左移一位 + 1. 0011 + -Y补 1. 1101 0 1 1 1 0 R Y 异号:商0 1. 1010 1 1 1 0 0
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号