- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 运算方法和运算部件 3.1 数据的表示方法和转换(数的大小) 运算器 复杂运算 → 四则运算 → 加法运算 关键问题: 如何以加法器为基础,实现各种运算处理 乘法: 转化为部分积累加和移位操作 积的符号=两乘数符号的异或 正正=正(0⊕0= 0)正负=负(0⊕1=1) 负负=正(1⊕1= 0)负正=负(1⊕0=1) 取两乘数的绝对值相乘,积的位数是乘数位数的两倍 原码一位乘法(机内执行过程) 出现的问题 加数增多,而常规的加法器只有两个加数 加数的位数增多,而常规的加法器位数固定 解决方法 多项部分积相加变成部分积累加 部分积累加每次右移 规则:在机器中采用A,B,C寄存器来分别存放部分积,被乘数和乘数。 (1)在机器内一次加法操作只能求出两数之和,因此每求得一个相加数时,就得与上次部分积相加。 (2)人工计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(或被乘数)的两倍。由于在求本次部分积时,前一次部分积的最低位,不再参与运算,因此可将其右移一位。相加数可直送而不必偏移,于是用N位加法器就可实现两个N位数相乘。 (3)部分积右移时乘数寄存器同时右移一位,这样可以用乘数寄存器的最低位来控制相加数(取被乘数或零),同时乘数寄存器的最高位可接收部分积右移出来的一位,因此,完成乘法运算后,A寄存器中保存乘积的高位部分,乘数寄存器C中保存乘积的低位部分。 原码一位乘法(机内执行过程) 00. 0 0 0 0 1 0 1 1 A = 00. 1 1 0 1 + 00. 1 1 0 1 B = 0.1011 00. 1 1 0 1 00. 0 1 1 0 1 1 0 1 1 + 00. 1 1 0 1 01. 0 0 1 1 00. 1 0 0 1 1 1 1 0 1 00. 0 1 0 0 1 1 1 1 0 + 00. 1 1 0 1 01. 0 0 0 1 00. 1 0 0 0 1 1 1 1 1 3.5.2 定点补码一位乘法 原码乘法存在的缺点是符号位需要单独 运算,并要在最后给乘积冠以正确的符号。 补码乘法是指采用操作数的补码进行乘 法运算,最后乘积仍为补码,能自然得到乘 积的正确符号。 补码一位乘法(机内执行过程) [X*Y]补=[X]补*(-Y0+0.Y1Y2Y3……Yn) Y为正数 [X*Y]补=[X]补*(0.Y1Y2Y3……Yn) Y为负数 [X*Y]补=[X]补*(0.Y1Y2Y3……Yn) + [-X]补 移位操作 补码向右移位时, 符号位自得 例:X=0.101 Y=-0.011 求X*Y(补码乘法) [X]补=00.101 [Y]补=11.101 [-X]补=11.011 广泛使用的是Booth算法,也称为比较法。 乘数符号位同数值位一起参加运算 乘数末位添加附加位,初值为0 乘数末位与附加位一起进行判断: 00—无加减操作,部分积右移一位 01---加被乘数, 部分积右移一位 10---减被乘数, 部分积右移一位 11---无加减操作,部分积右移一位 最后一步仅做加减操作,不移位 [X]补=00.101 [-X]补=11.011 [Y]补=1.011 00. 0 0 0 1 0 1 1 0 + 11. 0 1 1 11. 0 1 1 11. 1 0 1 1 1 0 1 1 11. 1 1 0 1 1 1 0 1 + 00. 1 0 1 00. 0 1 1 00. 0 0 1 1 1 1 1 0 + 11. 0 1 1 11. 1 0 0 1 1 1 1 0 习题1 (1)x=0.0011,y=0.0101 (2)x=-0.0011,y= 0. 0101 (3)x= 0. 0011,y=- 0. 01
文档评论(0)