4讲 定点数乘法.ppt_第1页
4讲 定点数乘法.ppt_第2页
4讲 定点数乘法.ppt_第3页
4讲 定点数乘法.ppt_第4页
4讲 定点数乘法.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

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

2、0.Y1Y2Y3) =X(Y12-1+Y22-2+Y32-3) =2-1(X Y1+2-1(X Y2+2-1(X Y3+0),第4讲,一.定点原码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” 每次加法时,部分积高位与被乘数相加 符号单独处理,由异或产生,第4讲,一.定点原码1位乘法,硬件实现 设置3个寄存器:部分积寄存器A,被乘数寄存器B,乘数寄存器C(部分积寄存器)和1个计数器。 N位数乘N位数

3、可以看做求N次N位数乘1位数,每求出一个加数就与上次的部分积相加。 每次求出的部分积右移1位,以便与下一次的部分积相加。一共右移N次,加N次。 部分积右移时,乘数寄存器也右移1位。乘数寄存器最低位控制相加数,最高位接收移出的部分积。 N位加法器实现2个N位数相乘。,第4讲,一.定点原码1位乘法,逻辑图。,第4讲,一.定点原码1位乘法,运算流程,第4讲,一.定点原码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

4、 初始 00 0000 1 0 1 1 +X 00 1101 00 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,第4讲,二. 定点补码1位乘法,设X补=X0.X1X2Xn ,Y补=Y0.Y1Y2Yn 补码与真值的关系 X

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

6、码1位乘法,已知:X=+0.1101,Y=-0.1011,用补码1位乘的方法求:Z=X*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

7、 0001 所以:Z补=1.0111 0001 所以:Z=-0.1000 1111,第4讲,二. 定点补码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补。,第4讲,二.定点补码1位乘法,已知:X=0.1101, Y=

8、0.1011,用Booth补码1位乘的方法求:Z=X*Y。 解: X补 = 11.0011,X补=00.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补再右移

9、 + X补 00 1101 00 1000 右移1位 00 0100 0 0 0 1 0.1 0 丢失 01为+ X补 + X补 11 0011 11 0111 0 0 0 1 不右移 乘积高位 乘积低位 所以:Z补=1.0111 0001 ; 所以:Z=-0.1000 1111,第4讲,三.定点原码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),则最

10、后1次右移2位后还要再+X,第4讲,三.定点原码2位乘法,已知: X= 0.100111, Y= 0.100111,用原码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.0

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

12、+1次运算,最后1次操作右移1位 取符号位2位,共作n/2+1次运算,最后一次不必移位。,第4讲,四.定点补码2位乘法,组合Yn+1、Yn、Yn 1的组合。表3.5,第4讲,四.定点补码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

13、 0110 1 0 1.0 1 0 1 右移两位 + 000 1101 (PiX)22;+X补 001 0011 000 0100 1 1 1 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,第4讲,四.定点补码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 初始 + 1

温馨提示

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

评论

0/150

提交评论