- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
河北大学计算机组成原理实验报告
学院年级专业
学号姓名
实验日期实验地点指导老师
实验项目不恢复余数阵列除法器成绩
一、实验目的:
理解除法器的原理。
二、实验原理:
这次实验实现原码不恢复余数法的阵列除法器算法(余数左移除数固定),详细计算过程如下。
例题:X=0.10110,y=0.111,求[x/y]原。则[x]补=0.10110,[y*]补=0.111,[-y*]补=1.001
被除数商步骤说明
00.101100减去除数
+11.001(减去除数)
11.1101000余数为负,商上0,左移一位,加上[y*]补,
11.101000(左移一位)此时count=3
+00.111(加上除数)
00.10000001余数为正,商上1,左移一位,减去除数,
01.000000(左移一位)此时count=2
+11.001(减去除数)
00.001000011余数为正,商上1,左移一位,减去除数,
00.010000(左移一位)此时count=1
+11.001(减去除数)
11.0110000110余数为负,商上0,此时count=0,停止运
+00.111(加上除数)算,发现余数小于0,加上[y*]补恢复
00.010000
由于除数被除数都为正,因此最后结果为正,直接在最后的结果加上“+”,商为+0.110,但是由于除数在
-5
计算的过程中被逻辑左移了3次,所以要乘以2^进行恢复,故余数为0.000010000。
原码不恢复余数法原理说明:
①符号位单独处理,参加运算的是除数和被除数的绝对值的补码,除数的绝对值用y*表示;
②合法的除法运算中,被除数必须小于除数,因此第一次上商肯定是r=0,否则溢出,停止运算;
6
③原码恢复余数法来源于手算的竖式除法。若余数为正,表示够减,商上1,左移一位,减去[y*]补,也就是加上[-y*]补;若
余数为负,表示不够减,商上0,恢复余数(加上除数),变成减去除数之前的结果,继续左移一位,加上[-y*]补。
④原码不恢复余数法建立在原码恢复余数法的基础之上,假设当前的余数为R。当余数大于0时,下一步余数是先左移一位
再减去除数,即下一步余数应该为R’=2R-y*;当余数小于0时先恢复余数,然后再左移一位再减去除数,假设当前余数为R,
那么下一步余数应该为R’=2(R+y*)-y*=2R+y*。以上两个式子将恢复余数法的步骤定量化了,也就是说,要么左移一位加上y*,
要么左移一位减去y*,这就是加减交替的含义。
⑤除数和被除数具有3位尾数的合法的除法,需要逻辑移位3次,上商3+1=4次。可以设置一个计数器count来控制循环次
数,达到3次就停止。
⑥若最后一步为负,表示不够减,商上0,需要恢复余数,即加上除数,否则不需要。
接下来介绍原码不恢复余数阵列除法器
①可控加法/减法(CAS)单元
原理是利用一个可控加法/减法CAS单元所组成的流水阵
列来实现的它有四个输出端和四个输入端。当输入线P=0
时,CAS作加法运算;当P=1时,CAS作减法运算。逻辑
结构图如图所示。不恢复余数阵列除法器的逻辑结构
图CAS单元的输入与输出的关系可用如下一组逻辑方程来
表示:
Si=Ai⊕(Bi⊕P)⊕C,Ci+1=(Ai+Ci)·(Bi
文档评论(0)