【计算机组成原理】乘法运算( 二 )


辅助位 - MQ最低位 = -1 时 ACC +[-x]补
2、每次ACC如何移动
符号位不动,数值位右移,正数补0,负数补1 。
ACC n+2位,MQ n+2位
X n+2位
设机器字长为5位,(含一位符号位,n=4)x=-0.1101,y=+0.1011
[x]补 = 11.0011 ,[-x]补 = 00.1101
[y]补 = 00.1011
# 初始 ACC置0 MQ 为乘数 X为被乘数ACC 00.0000 MQ 0.1011|0X00.1101# 第一次加法,ACC加[-x]补码ACC 00.1101 MQ 0.1011|0X00.1101# ACC MQ右移ACC 00.0110 MQ 10.101|10X00.1101# 第二次加法,ACC加0ACC 00.0110 MQ 10.101|10X00.1101# ACC MQ 右移ACC 00.0011 MQ 010.10|110X00.1101# 第三次加法,ACC加[x]补码ACC 11.0110 MQ 010.10|110X00.1101# ACC MQ 右移ACC 11.1011 MQ 0010.1|0110X00.1101# 第四次加法,ACC加[-x]补码ACC 00.1000 MQ 0010.1|0110X00.1101# ACC MQ 右移ACC 00.0100 MQ 00010.|10110X00.1101 !# 第五次加法,ACC加[x]补码ACC 11.0111 MQ 00010.|10110X00.1101 第 n+1次没有移位!!!最后结果的补码为11.01110001转为原码为11.10001111数值为-0.10001111
总结
原码和补码的乘法运算
原码补码
步骤比较
n次加法,n次移位
n+1次加法,n次移位
加数比较
+0、+[|x|]原
+0、+[x]补、+[-x]补
移位
逻辑右移(符号位不参与运算)、移位补0
算数右移(符号位参与运算)、移位补当前符号
原码加数和补码加数
原码MQ情况原码ACC加数补码MQ情况原码ACC加数
最低为为0
+0
辅助位-MQ最低位 为1
+[x]补
最低位为1
+[|x|]原
辅助位-MQ最低位 为0
+0
辅助位-MQ最低位 为-1
【【计算机组成原理】乘法运算】+[-x]补