- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六讲 定点运算器及浮点数运算
4位之间采用先行进位(并行进位)公式。 根据 Cn+i+1=Yi+XiCn+i ,每一位的进位公式可递推如下: ? 第0位向第1位的进位公式为: Cn+1=Y0+X0Cn (其中Cn是向第0位(末位)的进位) ? 第1位向第2位的进位公式为: Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn ? 第2位向第3位的进位公式为: Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn ? 第3位的进位输出(即整个4位运算进位输出)公式为: Cn+4 =Y3+X3Cn+3 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn Cn+1=Y0+X0Cn Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn Cn+4 =Y3+X3Cn+3 =Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn Cn+4是最后进位输出。 逻辑表达式表明, 这是一个先行进位逻辑。换句话说, 第0位 的进位输入Cn可以直接传送到最高位上去,因而可以实现高速 运算。 下图为用上述原始推导公式实现的4位算术/逻辑运算单元(ALU) ——74181ALU IEEE 标准:尾数用原码; 阶码用“移码”;基为2。 设有两个浮点数x和y, 它们分别为: 完成浮点加减运算的操作过程大体分为四步: 使二数阶码相同(即小数点位置对齐),这个过程叫作对阶。 ? 先求两数阶码 Ex 和 Ey之差,即△E = Ex-Ey 若△E = 0,表示 Ex=Ey 若△E 0, ExEy 若△E 0, ExEy 例: x=201×0.1101, y=211×(-0.1010), 求x+y=? 尾数求和方法与定点加减法运算完全一样。 对阶完毕可得: [x]补=00 11, 00.0011 [y]补=00 11, 11.0110 对尾数求和: 00.0011 + 11.0110 11.1001 即得: [x+y]补=00 11, 11.1001 (1) 0 操作数的检查; (2) 比较阶码大小并完成对阶; (3) 尾数进行加或减运算; (4) 结果规格化。 (5) 舍入处理。 (6)溢出处理。 通过尾数的移动来改变Ex或Ey,使其相等. ? 对阶原则 阶码小的数向阶码大的数对齐; 小阶的尾数右移,每右移一位,其阶码加1(右规)。 (2) 对阶 (1) 0 操作数检查 解:为便于直观了解,两数均以补码表示,阶码、尾数均采用 双符号位。 [x]补=00 01, 00.1101 [y]补=00 11, 11.0110 [△E]补= [ Ex]补-[Ey]补= 00 01+11 01 = 11 10 △E = -2, 表示Ex比Ey小2, 因此将x的尾数右移两位. 右移一位, 得 [x]补=00 10, 00.0110 再右移一位, 得 [x]补=00 11, 00.0011 至此, △E=0, 对阶完毕. (3) 尾数求和运算 (4) 结果规格化 求和之后得到的数可能不是规格化了的数, 为了增加有效数字的位数, 提高运算精度,必须将求和的结果规格化. ①规格化的定义: (二进制) 对正数: S=00.1×××…× 对负数: S=11.0×××…× 采用双符号位的补码: 采用原码: 正数: S=0.1 ×××…× 负数: S=1.1 ×××…× 若不是规格化的数,需要尾数向左移位,以实现规格化的过程,我们称其为向左规格化。 ②向左规格化 前例中, 00 11, 11.1001不是规格化数,因而需要左规,即左移一位,阶码减1,得: [x+y]补=00 10, 11.0010 ③向右规格化 浮点加减运算时,尾数求和的结果也可能得到: 01.×××…× 或 10.×××…×, 即两符号位不等,即结果的绝对值大于1。向左破坏了规格化。 此时,将尾数运算的结果右移一位,阶码加1,称为向右规格化。 例:两浮点数 x=0.1
文档评论(0)