计算机组成原理N004.ppt

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

第4章 运算方法与运算器 一、补码加减运算与运算器 1、补码加减运算方法 补码的加减运算的公式是: [X+Y]补 = [X]补 + [Y]补 [X-Y]补 = [X]补 + [-Y]补 特点: 符号位如何处理 使用补码进行加减运算,符号位和数值位一样参加运算。 减法如何处理 补码的减法可以用加法来实现,任意两数之差的补码等于被减数的补码与减数相反数的补码之和 。 求补运算:[Y]补 → [-Y]补 求补规则:将[Y]补包括符号位在内每一位取反,末位加1。 若[Y]补 = Y0,Y1……Yn ,则: 若[Y]补 = Y0.Y1……Yn ,则: 补码加减运算举例 例:已知X=+1011,Y=-0100,用补码计算X+Y和X-Y。 写出补码: [X]补 =0,1011 [Y]补 =1,1100 [-Y]补 =0,0100 计算: 教材补充:计算机用补码运算的理由 原码计算缺陷 计算X=2,y=-2的原码加法计算(1+4) 计算X=2,y=-3的原码加法计算(1+4) 反码计算缺陷 计算X=2,y=-2的反码加法计算(1+4) 计算X=-2,y=3的反码加法计算(1+4) 2、补码加减运算的溢出 溢出现象 考虑1+4补码X=12,Y=5,求X+Y补码 考虑1+4补码X=-4,Y=-13,求X+Y补码 溢出现象描述 当运算结果超出机器数的表示范围时,称为溢出。计算机必须具备检测运算结果是否发生溢出的能力,否则会得到错误的结果。 对于加减运算,可能发生溢出的情况 同号(两数)相加,或者异号(两数)相减。 溢出的检测 溢出的检测(C0最高有效数据位进位,Cf符号位进位) 可能产生溢出的情况 两正数加,变负数,上溢(大于机器所能表示的最大数) 两负数加,变正数,下溢(小于机器所能表示的最小数) 溢出判断 双符号位判溢方法举例 例:用2+4补码计算X+Y和X-Y (1)X=+12,Y=+5 (2)X=-4,Y=-13 3、补码加减运算器 二、机器数的移位运算 二进制数据(真值)每相对于小数点左移一位,相当于乘以2;每相对于小数点右移一位,相当于除以2。 计算机中的移位运算分为: 1、逻辑移位 将移位的数据视为无符号数据,各数据位在位置上发生了变化,导致无符号数据的数值(无正负)放大或缩小。 2、算术移位 将移位的数据视为带符号数据(机器数)。算术移位的结果,在数值的绝对值上进行放大或缩小,同时,符号位必须要保持不变。 3、循环移位 所有的数据位在自身范围内进行左移或者右移,左移时最高位移入最低位,右移时最低位移入最高位。 补码的算术移位 算术左移:符号位不变,高位移出,低位补0。 为保证补码算术左移时不发生溢出 移位的数据最高有效位必须与符号位相同。 算术右移: 符号位不变,低位移出,高位正数补0,负数补1,即高位补符号位。 例4.4(P110) X=+13,Y=-13,采用1+5位补码,求X、Y、2X、2Y、X/2、Y/2的补码(利用移位规则) 补码的算术移位举例 例:设X=0.1001,Y=-0.0101,求 [X]补= ? [2X]补= ? [X/2]补=? [Y]补= ? [2Y]补= ? [Y/2]补=? 教材补充:舍入方法 恒舍法 直接舍掉,不管末高位是0还是1 缺点:精度不高 下舍上入法 末高位是1,则有效位在低位+1 缺点:有效位为全1时,低位+1会有数据陷阱 查表法 结合下舍上入法和恒舍法 查表结果 对有效数据全为1的采用恒舍法 对其他采用下舍上入法 教材补充:移位练习 对1.111110,0.10110,0.111101,0.111111 1.000010,1.000001采用恒舍法、下舍上入法,进行(1+4舍入操作),并计算与原值之间的误差大小。 教材补充:移位练习 对1.111110,0.10110,0.111101,0.111111 1.000010,1.000001采用恒舍法、下舍上入法,进行(1+4舍入操作),并计算与原值之间的误差大小。 4.1.3 移码加减运算与判溢(课外自学) 移码和移码计算 移码和补码混合计算 移码运算结果判溢: 4.1.3 移码加减运算与判溢(课外自学) 移码运算结果溢出的判断条件是: 当结果的最高符号位Sf1=1时溢出,Sf1=0时结果正确。 Sf1 Sf2=10时,结果正溢出; Sf1 Sf2=11时,结果负溢出。 由于移码运算用于浮点数的阶码,当运算结果正溢出时,浮点数上溢;当运算结果负溢出时,浮点数下溢,当作机器零处理。 4.1.4 十进制加法运算 计算机中的十进制加法器通常采用BCD码设计,在二进制加法器的基础上,加上适当的校正电路,可以实现BCD码

文档评论(0)

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

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

1亿VIP精品文档

相关文档