网站大量收购独家精品文档,联系QQ:2885784924

计算机组与成原理第八讲(运算方法) .ppt

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

计算机组成原理 主讲:颜俊华 第八讲:运算方法 定点加减运算 补码加减运算基本关系式 定点加减运算 补码加减运算基本关系式 定点加减运算 定点加减运算 算法流程 溢出判断 溢出判断方法 在什么情况下可能产生溢出? 溢出判断 硬件判断逻辑一(SA、SB与Sf的关系) 溢出判断 硬件判断逻辑二(Cf与C的关系) 溢出判断 硬件判断逻辑三(双符号位) 移位操作 逻辑移位 逻辑移位:数码位置变化,数值不变 算术移位:数码位置变化,数值变化,符号位不变 移位操作 移位寄存器:在寄存器中移位(串行接口中) 移位门:斜位传送(运算器中) 移位操作 算术移位 正数补码(包括原码)移位规则 移位操作 移位操作 负数补码移位规则 移位操作 移位操作 易出错处(双符号位) 移位操作 舍入方法 0舍1入(原码、补码) 移位操作 舍入方法 末位恒置1(原码、补码) 浮点加减运算 浮点加减运算 浮点加减运算 步骤: 检测能否简化操作 对阶 对阶:使两数阶码相等(小数点实际位置对齐) 对阶规则:小阶向大阶对齐 对阶操作:小阶阶码增大,尾数右移 阶码比较:比较线路或减法 浮点加减运算 尾数相加减 结果规格化 浮点加减运算 结果规格化 浮点加减运算 结果规格化 浮点加减运算 例:A=(0.1101)·21 ,B=(-0.1010)·23, 求X+Y=?(其浮点数的格式:阶码4位,尾数6位,且均为双符号位的补码。) 解: [A]补=0001,00.1101 [B]补=0011,11.0110 检测操作数是否为0 对阶: 求阶差ΔE=[AE]补- [BE]补=0001-0011=1110 即ΔE=-2,将X的尾数右移二位: [A]补=0011,00.0011 浮点加减运算 尾数的加减 [AM]补=00.0011 [BM]补=11.0110 00.0011 +11.0110 11.1001 即[AM+BM]补=11.1001 规格化和判溢出 [A+B]补=0011,11.1001 若运算结果为非规格化的数,需左规 [A+B]补=0010,11.0010 浮点加减运算 设浮点数字长16位,其中阶码8位,尾数8位,且均为双符号位的补码。求A±B=? (1)A= 11/16 ×2-4 , B= 13/16 ×2-3 (2)A= 33/256 , B= -63 定点乘法运算 定点乘法运算 定点乘法运算 例:原码一位乘法0.1101×1.1011 乘积:P = X × Y 符号: SP= SX ⊕ SY 设置初值 A = 00.0000 B = X = 00.1101 C = Y = .1011 算法流程 定点乘法运算 运算规则 操作数、结果用原码表示 绝对值运算,符号单独处理 被乘数、累加和取双符号位 乘数末位(Cn)为判断位,其状态决定下步操作 作n次循环(累加、右移) 定点除法运算 定点除法运算 如何判断够减? 比较逻辑电路:比较两数的大小 减法试探 余数-除数=新余数 如何处理符号位? 如何提高除法运算速度? 手算 0.1101 ×0.1011 1101 1101 0000 1101 0部分积 改进:将一次相加改为分步累加; 部分积左移一位改为累加和右移一位。 问题: 1)加的数增多(N个数,由乘数位数决定)。 2)加数的位数增多(与被乘数、乘数位数有关)。 每次将一位乘数所对应的部分积与原部 分积的累加和相加,并移位。 设置寄存器: A:存放部分积累加和、乘积高位 B:存放被乘数 C:存放乘数、乘积低位 步数 条件 操作 A C 00.0000 .1011 1) Cn=1 +B Cn + 00.1101 00.1101 00.0110 1.101 2) Cn=1 +B + 00.1101 01.0011 00.1001 11.10 3) Cn=0 +0 + 00.0000 00.1001 00.0100 111.1 4) Cn=1 +B + 00.1101 01.0001 00.1000 1111 X原×Y原 = 10 A、X B、Y C、0 CR Cn = 1 ? CR = n ? 1/2(A+B) A,C 1/2(A+0) A,C CR + 1 CR Y Y N N

文档评论(0)

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

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

1亿VIP精品文档

相关文档