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

下载本文档

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

文档简介

1、CH 3 运算方法及运算器运算方法及运算器-1 定点数乘法运算定点原码一位乘法定点原码一位乘法定点补码一位乘法定点补码一位乘法定点二位法定点二位法2第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲教学目的与要求教学目的与要求1.掌握定点数掌握定点数1位原码乘法的原理和运算过程位原码乘法的原理和运算过程2.掌握定点数掌握定点数1位补码乘法的原理和运算过程位补码乘法的原理和运算过程3.理解定点数理解定点数2位乘法的原理位乘法的原理 3第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲一一. 定点原码定点原码1位乘法位乘法l手工乘法过程:手工乘法过程:已知:已知:X=+1101,Y=+

2、1011,求:,求:X*Y 积(十进制数积(十进制数143)11011011110111010000110110001111部分积部分积乘数(十进制数乘数(十进制数11)被乘数(十进制数被乘数(十进制数13)4第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲一一.定点原码定点原码1位乘法位乘法l原理推导:原理推导:l设:设:X原原=Xf.X1X2 Xn,Y原原=Yf.Y1Y2 Ynl则有:则有:Z原原=X原原Y原原 =(Xf Yf) | (X1X2Xn)(Y1Y2 Yn) l设:设:|X|Y| =X(0.Y1Y2Y3) =X(Y12-1+Y22-2+Y32-3) =2-1(X Y1+2

3、-1(X Y2+2-1(X Y3+0)Z0Z1Z2Z35第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲一一.定点原码定点原码1位乘法位乘法l递推公式:递推公式:lZ0=0Z1=2-1(Z0+XYn)Z2=2-1(Z1+XYn-1) Zn=XY=2-1(Zn-1+XY1)l运算规则:运算规则:两个两个n位数相乘,可用位数相乘,可用n次加法和右移次加法和右移1位操作来实现位操作来实现初始部分积初始部分积Z0=0,乘数末位决定加,乘数末位决定加“X”还是还是“0”每次加法时,部分积高位与被乘数相加每次加法时,部分积高位与被乘数相加符号单独处理,由异或产生符号单独处理,由异或产生6第第3 3

4、章章1 1 定点数乘法运算定点数乘法运算第4讲一一.定点原码定点原码1位乘法位乘法l硬件实现硬件实现l设置设置3个寄存器:部分积寄存器个寄存器:部分积寄存器A,被乘数寄存器,被乘数寄存器B,乘数寄存器乘数寄存器C(部分积寄存器)和(部分积寄存器)和1个计数器。个计数器。lN位数乘位数乘N位数可以看做求位数可以看做求N次次N位数乘位数乘1位数,每求位数,每求出一个加数就与上次的部分积相加。出一个加数就与上次的部分积相加。l每次求出的部分积右移每次求出的部分积右移1位,以便与下一次的部分积位,以便与下一次的部分积相加。一共右移相加。一共右移N次,加次,加N次。次。l部分积右移时,乘数寄存器也右移部

5、分积右移时,乘数寄存器也右移1位。乘数寄存器位。乘数寄存器最低位控制相加数,最高位接收移出的部分积。最低位控制相加数,最高位接收移出的部分积。 lN位加法器实现位加法器实现2个个N位数相乘。位数相乘。7第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲一一.定点原码定点原码1位乘法位乘法l逻辑图。逻辑图。部分积寄存器部分积寄存器A乘数寄存器乘数寄存器C加法器加法器ALU乘法计数器乘法计数器Cd被乘数寄存器被乘数寄存器BC&0 1R S0 1工作脉冲工作脉冲乘法启动乘法启动乘乘法法结结束束8第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲一一.定点原码定点原码1位乘法位乘法

6、l运算流程运算流程开始0 A,NCd被乘数被乘数X B ,乘数,乘数Y CCn=1?(A)+0 A(A)+(B)AAi,C右移一位;右移一位;(Cd) -1CdCn=1?Bf Cf Af结束结束9第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲一一.定点原码定点原码1位乘法位乘法l已知:已知:X=-0.1101,Y=+0.1011,用原码,用原码1位乘的方法求:位乘的方法求:Z=X*Y。l解:解:X原原=1.1101,Y原原=0.1011 符号:符号:Zf=Xf Yf=1 数值部分求解如下:数值部分求解如下: 说明说明 A部分积部分积 C 乘数乘数Y B 被乘数被乘数X: 1101 初

7、始初始 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 10第第3 3章章1 1 定点数乘法运算

8、定点数乘法运算第4讲二二. 定点补码定点补码1位乘法位乘法设设X补补=X0.X1X2Xn ,Y补补=Y0.Y1Y2Ynl补码与真值的关系补码与真值的关系lX0时,时,X0=0,X补补=0.X1X2Xn=X lX0时,时,X0=1,X=X补补-2=1.X1X2Xn-2=-1+0.X1X2Xnl得到对得到对X正负数都合适的公式:正负数都合适的公式:X= -X0+0.X1X2Xn l补码的右移补码的右移l补码连同符号位将数右移补码连同符号位将数右移1位,并保持符号位不变,位,并保持符号位不变,相当于乘相当于乘1/2(即除(即除2)。)。11第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲二二

9、. 定点补码定点补码1位乘法位乘法l补码乘法算法补码乘法算法l被乘数和乘数都使用被乘数和乘数都使用补码补码:XY补补=X补补(-Y0+0.Y1Y2Yn)lX正负任意,正负任意,Y为正数:为正数: XY补补=X补补(0.Y1Y2Yn)lX正负任意,正负任意,Y为负数:为负数: XY补补=X补补(0.Y1Y2Yn)+-X补补l采用双符号位,数据和符号位都参与运算;取乘数采用双符号位,数据和符号位都参与运算;取乘数Y的数值位放入乘数寄存器运算。的数值位放入乘数寄存器运算。12第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲二二. 定点补码定点补码1位乘法位乘法l已知:已知:X=+0.1101

10、,Y=-0.1011,用补码,用补码1位乘的方法求:位乘的方法求:Z=X*Y。l解:解: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

11、右移右移1位位 + 11 0011 +-X补补 11 0111 0001 所以:所以:Z补补=1.0111 0001 所以:所以:Z=-0.1000 111113第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲二二. 定点补码定点补码1位乘法位乘法lBooth补码乘法规则:补码乘法规则:l将部分积将部分积初始初始化为化为0,并在乘数的,并在乘数的尾部尾部增增加加1位位0作为作为Y补补的第的第n+1位;位;l比较比较Yi与与Yi-1(i=n+1,n,2,1)l若若Yi-Yi-1=1 (Yi-1Yi=01),部分积部分积加加X补补;l若若Yi-Yi-1=1 (Yi-1Yi=10),部分积部

12、分积加加-X补补;l若若Yi-Yi-1=0 (Yi-1Yi=11或或00),部分积,部分积加加0。l每次每次运算运算完成后,部分积右移完成后,部分积右移1位,反复位,反复n+1次次,但,但最后一次不移位最后一次不移位;l所得的结果即为所得的结果即为X*Y补补。14第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲二二.定点补码定点补码1位乘法位乘法l已知:已知:X=0.1101, Y=0.1011,用,用Booth补码补码1位乘的方法求:位乘的方法求:Z=X*Y。 l解:解: X补补 = 11.0011,X补补=00.1101, Y补补 = 00.1011 部分积部分积 乘数乘数 初始值

13、初始值,最后一位补最后一位补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

14、 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 111115第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲三三.定点原码定点原码2位乘法位乘法l原理原理:l00部分积部分积Pi 右移两位右移两位l01部分积部分积Pi+X 右移两位右移两位l10 部分积部分积Pi+2X 右移两位右移两位l11 部分积部分积Pi+3X 右移两位;右移两位;Pi+3X 用用(PiX)+4X来替代来替代, +

15、4X用用C=1来标志来标志,归并到归并到下一步执行下一步执行 l法则法则: 表表3.4l-X用用+-X补补代替代替l如果最后如果最后1次次欠下欠下+4X(C=1),则最后则最后1次右次右移移2位后还要位后还要再再+XYn -1 Yn C 操 作 0 0 0 (Pi+ 0 ) 2-2 0 C 0 0 1 (Pi+ X ) 2-2 0 C 0 1 0 (Pi+ X ) 2-2 0 C 0 1 1 (Pi+ 2 X ) 2-2 0 C 1 0 0 (Pi+ 2 X ) 2-2 0 C 1 0 1 (Pi X ) 2-2 1 C 1 1 0 (Pi X ) 2-2 1 C 1 1 1 (Pi+ 0 )

16、 2-2 1 C 16第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲三三.定点原码定点原码2位乘法位乘法l已知:已知: 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 右移两位右移两

17、位,(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.011111 右移两位右移两位 00.010111 1 1 0 0 0 1 0 符号:符号:Zf=Xf Yf=0 所以:所以:XY原原= 0.010111 110001;Z= 0.010111 110001。17第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲四四.定点补码定点补码2位乘法位乘法l加法器使用加法器使用3位符号位,避免位

18、符号位,避免X补补左斜左斜1位送加位送加法器时溢出。法器时溢出。l乘数乘数Y的数值位有的数值位有n位,求部分积操作:位,求部分积操作:l乘数数值位是奇数时:取乘数数值位是奇数时:取1位符号位位符号位,Yn+1=0,共作(共作(n+1)/2次运算,每次运算后右移次运算,每次运算后右移2位,位,但最后一次操作仅右移但最后一次操作仅右移1位;位;l乘数数值位是偶数时:乘数数值位是偶数时:l取符号位取符号位1位,位,Yn+1=0,作,作n/2+1次运算,最次运算,最后后1次操作右移次操作右移1位位l取符号位取符号位2位,共作位,共作n/2+1次运算,最后一次运算,最后一次不必移位。次不必移位。18第第

19、3 3章章1 1 定点数乘法运算定点数乘法运算第4讲四四.定点补码定点补码2位乘法位乘法l组合组合Yn+1、Yn、Yn 1的组合。表的组合。表3.5Yn - 1 Yn Yn + 1 组 合 0 0 0 + 0 0 0 1 + X 补 0 1 0 + X 补 0 1 1 + 2 X 补 1 0 0 + 2 - X 补 1 0 1 + - X 补 1 1 0 + - X 补 1 1 1 + 0 19第第3 3章章1 1 定点数乘法运算定点数乘法运算第4讲四四.定点补码定点补码2位乘法位乘法l已知:已知: 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 011

温馨提示

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

评论

0/150

提交评论