讲定点数乘法.ppt

上传人:rrsccc 文档编号:8871736 上传时间:2021-01-21 格式:PPT 页数:21 大小:273KB
返回 下载 相关 举报
讲定点数乘法.ppt_第1页
第1页 / 共21页
讲定点数乘法.ppt_第2页
第2页 / 共21页
讲定点数乘法.ppt_第3页
第3页 / 共21页
讲定点数乘法.ppt_第4页
第4页 / 共21页
讲定点数乘法.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《讲定点数乘法.ppt》由会员分享,可在线阅读,更多相关《讲定点数乘法.ppt(21页珍藏版)》请在三一文库上搜索。

1、CH 3 运算方法及运算器-1 定点数乘法运算,定点原码一位乘法 定点补码一位乘法 定点二位法,教学目的与要求,掌握定点数1位原码乘法的原理和运算过程 掌握定点数1位补码乘法的原理和运算过程 理解定点数2位乘法的原理,一. 定点原码1位乘法,手工乘法过程:已知:X=+1101,Y=+1011,求:X*Y,积(十进制数143),部分积,乘数(十进制数11),被乘数(十进制数13),一.定点原码1位乘法,原理推导: 设:X原=Xf.X1X2 Xn,Y原=Yf.Y1Y2 Yn 则有:Z原=X原Y原 =(XfYf) | (X1X2Xn)(Y1Y2 Yn) 设:|X|Y| =X(0.Y1Y2Y3) =X

2、(Y12-1+Y22-2+Y32-3) =2-1(X Y1+2-1(X Y2+2-1(X Y3+0),一.定点原码1位乘法,递推公式: Z0=0Z1=2-1(Z0+XYn)Z2=2-1(Z1+XYn-1) Zn=XY=2-1(Zn-1+XY1) 运算规则: 两个n位数相乘,可用n次加法和右移1位操作来实现 初始部分积Z0=0,乘数末位决定加“X”还是“0” 每次加法时,部分积高位与被乘数相加 符号单独处理,由异或产生,一.定点原码1位乘法,硬件实现 设置3个寄存器:部分积寄存器A,被乘数寄存器B,乘数寄存器C(部分积寄存器)和1个计数器。 N位数乘N位数可以看做求N次N位数乘1位数,每求出一个

3、加数就与上次的部分积相加。 每次求出的部分积右移1位,以便与下一次的部分积相加。一共右移N次,加N次。 部分积右移时,乘数寄存器也右移1位。乘数寄存器最低位控制相加数,最高位接收移出的部分积。 N位加法器实现2个N位数相乘。,一.定点原码1位乘法,逻辑图。,一.定点原码1位乘法,运算流程,一.定点原码1位乘法,已知:X=-0.1101,Y=+0.1011,用原码1位乘的方法求:Z=X*Y。 解:X原=1.1101,Y原=0.1011 符号:Zf=XfYf=1 数值部分求解如下: 说明 A部分积 C 乘数Y B 被乘数X: 1101 初始 00 0000 1 0 1 1 +X 00 1101 0

4、0 1101 右移1位 00 0110 1 1 0 1 1 丢失 +X 00 1101 01 0011 右移1位 00 1001 1 1 1 0 1 丢失 +0 00 0000 00 1001 右移1位 00 0100 1 1 1 1 0 丢失 +X 00 1101 01 0001 右移1位 00 1000 1 1 1 1 1 丢失 乘积高位 乘积低位 所以:Z原=1.1000 1111 所以:Z=-0.1000 1111,二. 定点补码1位乘法,设X补=X0.X1X2Xn ,Y补=Y0.Y1Y2Yn 补码与真值的关系 X0时,X0=0,X补=0.X1X2Xn=X X0时,X0=1,X=X补-

5、2=1.X1X2Xn-2=-1+0.X1X2Xn 得到对X正负数都合适的公式:X= -X0+0.X1X2Xn 补码的右移 补码连同符号位将数右移1位,并保持符号位不变,相当于乘1/2(即除2)。,二. 定点补码1位乘法,补码乘法算法 被乘数和乘数都使用补码:XY补=X补(-Y0+0.Y1Y2Yn) X正负任意,Y为正数: XY补=X补(0.Y1Y2Yn) X正负任意,Y为负数: XY补=X补(0.Y1Y2Yn)+-X补 采用双符号位,数据和符号位都参与运算;取乘数Y的数值位放入乘数寄存器运算。,二. 定点补码1位乘法,已知:X=+0.1101,Y=-0.1011,用补码1位乘的方法求:Z=X*

6、Y。 解:X补=00.1101,Y补=11.0101, -X补=11.0011 计算过程如下: 部分积 乘数 说明 00 0000 0101 初始状态 + 00 1101 +X补 00 1101 00 0110 1010 右移1位 + 00 0000 +0 00 0110 00 0011 0101 右移1位 + 00 1101 +X补 01 0000 00 1000 0010 右移1位 + 00 0000 +0 00 1000 00 0100 0001 右移1位 + 11 0011 +-X补 11 0111 0001 所以:Z补=1.0111 0001 所以:Z=-0.1000 1111,二.

7、 定点补码1位乘法,Booth补码乘法规则: 将部分积初始化为0,并在乘数的尾部增加1位0作为Y补的第n+1位; 比较Yi与Yi-1(i=n+1,n,2,1) 若Yi-Yi-1=1 (Yi-1Yi=01),部分积加X补; 若Yi-Yi-1=1 (Yi-1Yi=10),部分积加-X补; 若Yi-Yi-1=0 (Yi-1Yi=11或00),部分积加0。 每次运算完成后,部分积右移1位,反复n+1次,但最后一次不移位; 所得的结果即为X*Y补。,二.定点补码1位乘法,已知:X=0.1101, Y=0.1011,用Booth补码1位乘的方法求:Z=X*Y。 解: X补 = 11.0011,X补=00.

8、1101, Y补 = 00.1011 部分积 乘数 初始值,最后一位补0 00 0000 0.1 0 1 1 0 10为 + X补再右移 +X补 00 1101 00 1101 右移1位 00 0110 1 0.1 0 1 1 0 丢失 11 仅右移 +0 00 0000 00 0110 右移1位 00 0011 0 1 0.1 0 1 1 丢失 01为+ X补 再右移 + X补 11 0011 11 0110 右移1位 11 1011 0 0 1 0.1 0 1 丢失 10为+ X补再右移 + X补 00 1101 00 1000 右移1位 00 0100 0 0 0 1 0.1 0 丢失

9、01为+ X补 + X补 11 0011 11 0111 0 0 0 1 不右移 乘积高位 乘积低位 所以:Z补=1.0111 0001 ; 所以:Z=-0.1000 1111,三.定点原码2位乘法,原理: 00部分积Pi 右移两位 01部分积Pi+X 右移两位 10 部分积Pi+2X 右移两位 11 部分积Pi+3X 右移两位;Pi+3X 用(PiX)+4X来替代, +4X用C=1来标志,归并到下一步执行 法则: 表3.4 -X用+-X补代替 如果最后1次欠下+4X(C=1),则最后1次右移2位后还要再+X,三.定点原码2位乘法,已知: X= 0.100111, Y= 0.100111,用原

10、码2位乘法求:Z=X*Y。 解: X原=00.100111,X补= 11.011001, Y原=00.100111 2X原=01.001110 部分积 乘数Y 欠位C 说明 00.000000 1 0 0 1 1 1 0 (PiX)22 1C X 11.011001 -X即+ X补 11.011001 11.110110 0 1 1 0 0 1 1 右移两位,(Pi+2X)22,0C +2X 01.001110 +2X即X左移1位 1 01.000100 进位1丢失 00.010001 0 0 0 1 1 0 0 右移两位,(Pi+2X)22,0C +2X 01.001110 01.01111

11、1 右移两位 00.010111 1 1 0 0 0 1 0 符号:Zf=XfYf=0 所以:XY原= 0.010111 110001;Z= 0.010111 110001。,四.定点补码2位乘法,加法器使用3位符号位,避免X补左斜1位送加法器时溢出。 乘数Y的数值位有n位,求部分积操作: 乘数数值位是奇数时:取1位符号位,Yn+1=0,共作(n+1)/2次运算,每次运算后右移2位,但最后一次操作仅右移1位; 乘数数值位是偶数时: 取符号位1位,Yn+1=0,作n/2+1次运算,最后1次操作右移1位 取符号位2位,共作n/2+1次运算,最后一次不必移位。,四.定点补码2位乘法,组合Yn+1、Y

12、n、Yn 1的组合。表3.5,四.定点补码2位乘法,已知: X= 0.1101 Y= 0.1011,用补码2位乘法求XY补 方法1 : X补= 1.0011,Y补= 1.0101,X补= 111.0011, 2X补=110.0110,X补=000.1101,2X补=001.1010 部分积 乘数 附加位 说明 000 0000 1.0 1 0 1 0 0 初始,乘数最后补0 + 001 1010 (Pi2X)22; +2 X补 001 1010 000 0110 1 0 1.0 1 0 1 右移两位 + 000 1101 (PiX)22;+X补 001 0011 000 0100 1 1 1

13、0 1.0 1 右移两位 + 000 1101 (PiX)22 ;+X补 001 0001 000 1000 1 1 1 1 0 1 0 右移1位 乘积高位 乘积低位 XY补=0.1000 1111 0,四.定点补码2位乘法,解2:X补= 1.0011 ,Y补= 11.0101(双符号数) X补= 111.0011, 2X补= 110.0110 X补=000.1101,2X补=001.1010 部分积 乘数 附加位 说明 000 0000 1 1.0 1 0 1 0 初始 + 111 0011 (Pi+X)22,+X补 111 0011 111 1100 1 1 1 1.0 1 0 右移两位 + 111 0011 (Pi+X)22,+X补 110 1111 111 1011 1 1 1 1 1.1 0 右移两位 + 000 1101 (PiX)22,+X补 000 1000 符号位运算 不需右移 乘积高位 乘积低位 XY补=0.1000 111,作业,Page 61 3.2,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1