第4讲 定点数乘法.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH 3 运算方法及运算器-1 定点数乘法运算 定点原码一位乘法 定点补码一位乘法 定点二位法 教学目的与要求 掌握定点数1位原码乘法的原理和运算过程 掌握定点数1位补码乘法的原理和运算过程 理解定点数2位乘法的原理 一. 定点原码1位乘法 手工乘法过程: 已知:X=+1101,Y=+1011,求:X*Y 一.定点原码1位乘法 原理推导: 设:[X]原=Xf.X1X2 … Xn,[Y]原=Yf.Y1Y2 … Yn 则有: [Z]原=[X]原·[Y]原 =(Xf⊕Yf) | (X1X2‥Xn)(Y1Y2 ‥Yn) 设:|X|·|Y| =X·(0.Y1Y2Y3) =X·(Y12-1+Y22-2+Y32-3) =2-1(X ·Y1+2-1(X ·Y2+2-1(X ·Y3+0))) 一.定点原码1位乘法 递推公式: Z0=0 Z1=2-1(Z0+X·Yn) Z2=2-1(Z1+X·Yn-1) ﹕ Zn=X·Y=2-1(Zn-1+X·Y1) 运算规则: ①两个n位数相乘,可用n次加法和右移1位操作来实现 ②初始部分积Z0=0,乘数末位决定加“X”还是“0” ③每次加法时,部分积高位与被乘数相加 ④符号单独处理,由异或产生 一.定点原码1位乘法 硬件实现 设置3个寄存器:部分积寄存器A,被乘数寄存器B,乘数寄存器C(部分积寄存器)和1个计数器。 N位数乘N位数可以看做求N次N位数乘1位数,每求出一个加数就与上次的部分积相加。 每次求出的部分积右移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=Xf⊕Yf=1 数值部分求解如下: 说明 A部分积 C 乘数Y B 被乘数X: 1101 初始 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 二. 定点补码1位乘法 设[X]补=X0.X1X2…Xn ,[Y]补=Y0.Y1Y2…Yn 补码与真值的关系 X≥0时,X0=0, [X]补=0.X1X2…Xn=X X0时,X0=1, X=[X]补-2=1.X1X2…Xn-2=-1+0.X1X2…Xn 得到对X正负数都合适的公式: X= -X0+0.X1X2…Xn 补码的右移 补码连同符号位将数右移1位,并保持符号位不变,相当于乘1/2(即除2)。 二. 定点补码1位乘法 补码乘法算法 被乘数和乘数都使用补码: [X·Y]补=[X]补·(-Y0+0.Y1Y2…Yn) X正负任意,Y为正数: [X·Y]补=[X]补·(0.Y1Y2…Yn) X正负任意,Y为负数: [X·Y]补=[X]补·(0.Y1Y2…Yn)+[-X]补 采用双符号位,数据和符号位都参与运算;取乘数Y的数值位放入乘数寄存器运算。 二. 定点补码1位乘法 已知:X=+0.1101,Y=-0.1011,用补码1位乘的方法求:Z=X*Y。 解:[X]补=00.1101,[Y]补=11.0101, [-X]补=11.0011 计算过程如下: 部分积 乘数

文档评论(0)

文档精品 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档