计算机组成原理 第4新章.pptxVIP

  1. 1、本文档共161页,可阅读全部内容。
  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文档。上传文档
查看更多

第4章 机器数的运算方法及运算器;4.1 机器数的加减运算及其实现;1.符号相同的两个原码相加;【例4.2】设X=-10001,Y=-01011,求Z=X+Y。;2.符号相异的两个原码相加;【例4.4】设X=+01010,Y=-10111,求Z=X+Y。;用原码进行符号不同的两个数相加时有以下三步运算:;[X+Y];【例4.5】设X=+11010,Y=-10101,用补码的加法求Z=X+Y。;【例4.6】设X=+10101,Y=-11010,用补码的加法求Z=X+Y。;【例4.7】设有两个定点小数X=-0.10011,Y=-0.11001求这两个负数补码的补码。;【例4.8】设有两个定点小数X=-0.1101,Y=0.0111(-1<X+Y<0),求这两数之和。;可见,用补码做加法是数值位连同符号位一起参加运算的。但是在有溢出的情况下,用一般的补码加法就得不到正确的结果,再看下面的例子。;【例4.10】设X=-0.10111,Y=-0.10001,用补码;为什么在上面的两个例子中用一般的补码加法运算得不出正确的结果呢?原因是它们的和超出了机器数所能表示的最大范围,即产生了溢出,在有溢;【例4.11】设有两个定点小数X=+0.10111,Y=-0.10001,用补码的加法求Z=X+Y。;【例4.12】设有两个定点小数X=-0.10111,Y=+0.10001,用补码的加法求Z=X+Y。;2.变形补码加法

变形补码是符号位用两位来表示的补码。变形补码的定义为:;用该公式进行加法运算就能及时判断出溢出。用双符号位进行判断,若和的两个符号位相同(00或11),不发生溢出;若和的两个符号位相异(01或10)就说明发生了溢出。遇到溢出,就要停机进行如下

处理:选取一个合理的比例因子H=2i,对每个加数都除以H,然后相加,Ev其a结lu果at再io乘n以onHl,y即.得所求。;【例4.13】设X=+10111,Y=+10001,用变形补码的加法求Z=X+Y。;【例4.14】设X=-10111,Y=-10001,用变形补码的加法求Z=X+Y。;说明:;(2) 符号位扩展。补码在右移时,要注意符号位要一起移,且最左边一位要补上原符号位的值,这就叫做符号位扩展,即把符号位扩展到为3位。;两数相减的减法运算仍可用补码的加法进行。性质3 两数之差的补码等于被减数的补码与负;【例4.15】两个正数相减,被减数大于减数的例子。设X=+11001,Y=+10001,求Z=X-Y。;【例4.16】两个正数相减,被减数小于减数的例子。设X=+10011,Y=+11001,求Z=X-Y。;【例4.17】两负数相???,被减数大于减数的例子。设X=-10011,Y=-11001,求Z=X-Y。;【例4.18】两负数相减,被减数小于减数的例子。设X=-11001,Y=-10011,求Z=X-Y。;在线路实现上,若已有[Y]补,求[-Y]补可用把[Y]

补每一位(包括符号位和数值位)取反,再在最低

位加1来实现。实现补码加减运算的逻辑电路如图;图4.1实现补码加减运算的逻辑电路;图中各个部件的名称和功能是:;B“与或”门,功能是通过控制信号Y→F和→F分别把Y寄存器中的内容是原数据送加法器F还是各位取反后送加法器F。;4.2 定点乘法及其实现;在计算机中实现乘法运算的方法是移位相加,采用部分积右移的方法。其运算规则是:根据乘数Y绝对值每个数位上的值Yi是“1”还是“0”(从最低位Y0开始),决定本次部分积是加上被乘数X的绝对值,还是加上全“0”,得到的新部分积右移一位,再重复上面的动E作v,al直ua到ti乘o法no做n完l完y为.止。

atedwithAspose.Slidesfor.NET3.5ClientProCopyright2004-2011AsposePtyLtd.;【例4.19】X=+11010,Y=+10110,求Z=X*Y。解: [X]原=0.11010,[Y]原=0.10110;即为乘积的符号。图4.2给出了实现原码一位乘法;图4.2实现原码一位乘法的逻辑电路框图;主要组成部件有:;乘法开始时,寄存器A被清零,作为初始部分积。通过控制命令A→F和B→F把部分积和被乘数送入加法器,实现部分积和被乘数相加,得到新的部分积,部分积的右移是通过控制信号A/2→A实现的。

乘法运算开始时,发“启动”信号,使控制触发器Cx置“1”,于是开Ev启a时lu序at脉io冲nTo。nl当y乘.数寄存;图中,寄存器A与寄存器C是连接起来的,右移时寄存器A的最低位将移入寄存器C的最高数值位,乘法结束时,乘积的高位部分保留在寄存器A中,而积的低位部分保存在寄存器C中,原来的乘数在;很多计算机是直接用补码相乘的。

您可能关注的文档

文档评论(0)

183****9213 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档