- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 计算机组成原理第三章 知识点二:定点数乘法运算 主讲教师:秦磊华 问题引入 乘法运算是计算机中最基本的运算类型之一,如何实现乘法?如何提高乘法运算的速度? 学习建议 ?系统观:与数据表示的知识关联,选择合适的数据表示方法,便于乘法运算方法和运算器设计的简化; 在理解乘法过程的基础上,思考如何优化包含乘法运算的程序。 ?构造观:乘法器的设计与实现方法。 1.机器数的移位操作 移位是乘/除法运算的基本操作,分为逻辑移位与算术移位,每种移位操作又可分为左移和右移. 符号位不变,其余各位依次右移,最 右边位移出,将符号位拷贝到左边空 出位,一次移位相当于除211101110 右移 依次左移,右边空出位补0,移一位 相当于乘2,符号位改变表明溢出;11101110 左移 算术 移位 依次右移,右边位移出,左边空出位补011101110 右移 依次左移,左边位移出,右边空位补011101110 左移 逻辑 移位 特点 移位后 移位前 移位类型 2.原码一位乘法 1)二进制手工乘法过程 a. 说明乘法可由加法实现 b. 存在的问题: ?需要长度为2n的积寄存器; ?每步运算中被乘数左移次数不同,不便于控制; ?需要多输入端的FA。 ?循环累加代替手工算法中的一次集中加,可利用FA实现乘法; ?每次右移部分积,克服手工算法中需要多次左移被乘数的问题。 例1: 已知 X = 0.110 Y= - 0.101 计算[X]原 · [Y]原 解: [X]原 = 0.110 [Y]原 = 1.101 , 仅取数值部分参加运算 部分积 乘数 / 判断位 说明 00.000 Y0.101 Y3 =1 部分积 + |X| + 00.110 00.110 每次运算结果右移1位 ? 00.011 0 Y0.10 Y3 =0 部分积 + 0 + 00.000 00.011 ? 00.001 10 Y0.1 Y3 =1 部分积 + |X| + 00.110 00.111 ?00.011 110 Y0 [X]原·[Y]原 = X0 ?Y0.011110 =1.011110 ?R0存放部分积,初值为0,R2存放X的绝对值; ?R1开始存放Y,运算中还保存部分积; ?yn位作为部分积累加数据的判断条件; 3.补码一位乘法 设[X]补=X0X1X2…Xn,[Y]补=Y0Y1Y2…Yn,补码一位乘法的运算规则如下: (1)被乘数一般取双符号位、乘数取单符号位参加运算; (2)乘数末位增设附加位y n十1,且初值为0; (3)利用y n十1 ? yn的值决定对部分积的下次操作控制: ? R1末端增设附加yn+1且其初值为0, R2存放[X]补; ? y n+1-yn的值决定每步累加的值是0、[X]补还是[-X]补; ?R2与ALU的通路上取反电路实现求[-x]补的功能。 4.阵列乘法器 设A= 0.a3a2a1a0, B=0.b3b2b1b0 0.a3 a2 a1 a0 0.b3 b2 b1 b0 a3b0 a2b0 a1b0 a0b0 A3b1 a2b1 a1b1 a0b1 A3b2 a2b2 a1b2 a0b2 A3b3 a2b3 a1b3 a0b3 思考与讨论 设计A为 整数,如何才能快速实现2×A ? *
文档评论(0)