4.3定点小数的乘法运算及实现.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3定点小数的乘法运算及实现.ppt

4.3 定点小数的乘法运算及实现 本节内容 原码乘法及实现 补码乘法及实现 阵列乘法器 在计算机中实现乘除法运算,根据对运算速度和价格的要求通常有三种方式: 1)若对运算速度要求不高可用软件实现; 2)在加减运算电路的基础上增加左、右移位及其他一些逻辑线路以实现乘除运算,并在机器中设有乘除法指令; 3)在要求快速乘除运算的机器中,设置专用的高速阵列乘除运算器,指令系统中有相应的乘除法指令 原码乘法及实现 原码乘法的运算规则: 1)积的符号位由两乘数的符号位异或得到 2)积的原码数值部分由两乘数原码数值部分相乘得到 3)将积的符号与积的数值拼接就得到积的原码 乘法分解为加法和移位操作 例:求(1101)2×(1011)2的手算式 硬件实现原码乘法 例:若[X]原=0,1101,[Y]原=1,1011,求[Z]原=? 原码两位乘 原码一位乘依据Yi 决定操作,原码两位乘每次根据连续两位乘数Yi+1Yi (=2Yi+1+Yi)决定本次操作 n位数的乘法一般只需n/2次操作 原码两位乘运算规则 原码两位乘法 例 例: 若[X]原=0,0111111, [Y]原=1,0111001, 求[Z]原=? 解:符号:Zs = Xs⊕Ys = 0⊕1 = 1 |X| = 000,0111111 2|X| = 000,1111110 [-|X|]补= 111,1000001 ?|X|转换为 +[-|X|]补,所以采用补码加法 因为2X可能溢出, 再+|X|又可能再次溢出, 故采用3位符号位 |Y| =数值位增加一位 注意:运算数是X、Y的绝对值。 结果=1,00111000000111 例: [X]原=0,0111111, [Y]原=1,0111001, 求[Z]原 4.3.2 补码乘法运算 Booth法。目标:求[X·Y]补 设被乘数X、乘数Y均为n+1位的定点小数, X补=x0.x1x2…xn, Y补=y0.y1y2…yn。 则 [Y]补=y0·20+y1·2-1+······+yn·2-n y0=0(Y0)时, Y=Y补=y0·20+y1·2-1+······+y n·2-n 当y0=1(Y0)时, Y补=2+Y可得 Y=Y补-2=y0+y1·2-1+······+yn·2-n - 2y0 = -y0·20+y1·2-1+······+yn·2-n 两式可合写为: Y=-y0·20+y1·2-1+······+yn·2-n Booth乘法操作 [( yi+1 - yi)·2-i ·X]补 = [( yi+1 - yi)· X]补 · 2-i Booth算法 Booth算法描述如下: 1)参加乘法运算的两乘数用补码表示,乘积也是补码 2)符号位参与运算,无须单独处理 3)乘数最低位后附加一位yn+1,初值为0 4)判断ynyn+1,决定+X补或+[-X]补或+0 5)部分积算术右移一位 6)重复4、5步骤,共需做n+1次累加,n次移位,第n+1次不移位。 Booth乘法原理框图 例:已知[X]补=0.1010,[Y]补=1.0011,用Booth法求[X·Y]补 解:[-X]补=1.0110 补码两位乘 将比较Yi-1Yi的状态与比较YiYi+1的状态所执行的运算合成一步 2(Yi- Yi-1 ) + (Yi+1-Yi) = Yi+ 1+ Yi - 2Yi-1 补码两位乘法运算次数的控制方法是: 当乘数数值部分的位数n为偶数时,乘数采用两个符号位,共做n/2+1次操作,最后一次不移位。 当乘数数值部分的位数n为奇数时,乘数采用一个符号位,共做(n+1)/2次操作,最后一次仅移一位。 例:已知[X]补=0,0110011,[Y]补=1,1001110,用补码两位乘求[X·Y]补 解: [-X]补 = 11,1001101 2[-X]补= 11,0011010 2[X]补 = 00,0110011 因为2X可能溢出,故采用双符号位 例:[X]补=0,0110011, [Y]补=1,1001110, 求[X·Y]补 4.3.3 阵列乘法器 随着大规模集成电路的迅速发展以及硬件价格的降低,出现了多种阵列乘法组件,目的就是利用硬件的叠加方法或流水处理的方法来提高乘法运算速度。 设A=a3a2a1a0,B=b3b2b1b0,A×B手算式: 阵列乘法器 进位传递CPA (Carry Propagate Adder)的加法网络 n×n位的乘法, 需要n2个与门, n-1个n位的并行加法器 采用CSA (Carry Save Adder) 进位存储的加法网络 作业 4.6 (2) 4.9 1101 1011 1101 1101 1101 0000X·y0 ·20 X·y1 ·21

您可能关注的文档

文档评论(0)

zhongshanmen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档