计算机组成原理课件第四章计算机中的算术运算.ppt_第1页
计算机组成原理课件第四章计算机中的算术运算.ppt_第2页
计算机组成原理课件第四章计算机中的算术运算.ppt_第3页
计算机组成原理课件第四章计算机中的算术运算.ppt_第4页
计算机组成原理课件第四章计算机中的算术运算.ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章计算机中的算术运算 学时 12学时重点 掌握定点数的四则运算和浮点数的加减运算 定点数的运算加减运算乘法运算原码一位乘法补码一位乘法除法运算原码一位除法补码一位除法定点运算器的组成浮点数的运算浮点运算器的组成 主要内容 补码的加法运算任意两个数的补码之和 等于该两数和的补码 X 补 Y 补 X Y 补两个数不管正负 均用补码表示 符号位应当做数值参加运算 符号位相加所产生的进位要丢掉 结果为补码 定点运算器 定点加减法 例 X 0 1011Y 0 0101 求X Y 解 定点运算器 定点加减法 X 补 0 1011 Y 补 1 1011 0 1 1 0 10 丢到 1 X 补 Y 补 0 0110X Y 0 0110 例 X 11001 Y 00011 求X Y 解 定点运算器 定点加减法 X 补 100111 Y 补 111101 0 0 1 0 11 丢到 1 X 补 Y 补 100100X Y 11100 0 补码的减法 X 补 Y 补 X Y 补 X 补 Y 补 Y 的补码称为 Y 补的机器负数 由 Y 补求 Y 补的过程称为将 Y 补 变补 或对 Y 补求补 由 Y 补求 Y 补的方法是 不管Y的真值为正或为负 都是将 Y 补的各位连同符号位在内全变反后 最低位加1 定点运算器 定点加减法 例 X 0 1011Y 0 0110 求X Y 解 定点运算器 定点加减法 X 补 1 0101 Y 补 0 0110 1 1 0 1 1 11 X Y 补 1 1011X Y 0 0101 溢出及其判别方法 在计算机中 由于机器码的尾数通常是给定的 如16位字长 32位字长 因此 在计算机中数的表示范围是有限的 若两数进行加减运算的结果超出了给定的取值范围 就称为溢出 一旦出现溢出 必须及时处理 否则会出现错误 定点运算器 定点加减法 采用单符号位的判断方法两异号数相加或两同号数相减决不会产生溢出 仅当两同号数相加或两异号数相减时才有可能产生溢出 两同号数相加时 如果结果的符号与参与运算的操作数符号相反 则表明有溢出 两异号数相减时 如果结果的符号与被减数的符号相反 则表明有溢出 定点运算器 定点加减法 例 X 0 100Y 0 101 求X Y 解 定点运算器 定点加减法 X 补 1 100 Y 补 1 011 1 1 1 10 丢到 1 两负数相加 结果应为负数 但运算结果为正数 表明有溢出发生 例 X 100 Y 11 求X Y 解 定点运算器 定点加减法 X 补 0100 Y 补 0110 0 1 1 一个正数减去一个负数 结果为正数 但计算结果为负数 表明有溢出发生 出错 0 采用双符号位的判断方法每个操作数的补码符号用两个二进制数表示 称为变形补码 用 00 表示正数 11 表示负数 左边第一位叫第一符号位 右边第一位称为第二符号位 两个符号位同时参加运算 如果运算结果两符号位相同 则没有溢出发生 如果运算结果两符号位不同 则表明产生了溢出 10 表示负溢出 说明运算结果为负数 01 表示正溢出 说明运算结果为正数 定点运算器 定点加减法 利用进位值的判断方法两补码数进行加减运算时 若最高数值位产生向符号的进位而符号位不产生进位时 发生正溢出 若最高数值位无进位而符号位有进位时 发生负溢出 所谓正溢出 即超出机器所能表示的最大正数 所谓负溢出 即超出机器所能表示的最小负数 定点运算器 定点加减法 定点加减法的逻辑实现 定点运算器 定点加减法 FSF加法器 XSX01寄存器 YSY01寄存器 1 F Y F Y F X F F X A C B 定点加减法的逻辑实现 定点运算器 定点加减法 X 补 Y 补 F X 补 Y 补 1 F Y F Y F X F F X A C B 定点原码一位乘法 UnsignedBinaryMultiplication 设被乘数 X 原 XfXn 1Xn 2 X1X0乘数 Y 原 YfYn 1Yn 2 Y1Y0乘积 Z 原 ZfZ2n 1Z2n 2 Z1Z0运算原则 同号相乘为正 异号相乘为负 符号可按 异或运算得到 数值部分的运算方法与普通的十进制乘数相类似 定点运算器 定点乘法 手工算法 定点运算器 定点乘法 0 1101 0 1011 1101 1101 0000 1101 10001111 0 l两个n位数相乘 其积为2n位 则需要2n位长的加法器 这不适用于定点机的形式 l机器一次只能进行两个数的相加 不能进行多个数据的加法 l手工计算中 乘数的每一位是0还是1都可直接看见 而在计算机中 采用由存放乘数的寄存器的每一位直接决定本次相加数是被乘数还是0是很不方便的 若采用该寄存器的最低一位来执行这种判断就简便了 运算法则 计算机中执行乘法时 积的符号位由被乘数和乘数的符号位通过一个半加器实现 数值部分的运算规则是 从最低位Y0开始 当乘数Yi为1时 将上次部分积加上被乘数的绝对值 然后右移一位 得到新的部分积 当Yi为0时 将部分直接右移一位 得到新的部分积 重复 加 右移 操作N次 可得到最后的乘积 定点运算器 定点乘法 例 X 0 1101 Y 0 1011 求X Y 解 部分积乘数说明 定点运算器 定点乘法 00 0000 00 1101 Yf1011 00 1101 00 0110 00 1101 01 0011 00 1001 00 0000 00 1001 00 0100 00 1101 01 0001 00 1000 1Yf101 11Yf10 111Yf1 1111Yf Z0 0 Y0 1 X Y1 1 X Y2 0 0 Y3 1 X 右移 得Z1 右移 得Z2 右移 得Z3 右移 得Z4 X Y 结果 定点运算器 定点乘法 Zf Xf Yf 0 0 0 Z 原 0 10001111X Y 0 10001111 原码一位乘法的逻辑电路图 定点运算器 定点乘法 存放部分积 存放被乘数 存放乘数 一 R0清零 R2存放被乘数 R1存放乘数 乘法开始时 启动 信号时控制 置 于是开启时序脉冲 当乘数寄存其 最末位为 时 部分积 和被乘数 在加法器中相加 其结果输出至 的输入端 一旦打入控制脉冲 到来 控制信号 使部分积右移 位 与此同时 乘数寄存其 也在控制型号 作用下右移一位 且计数器 记数一次 二 将步骤三重复执行N次三 当计数器 n时 计数器 的溢出信号使控制触法器 置 关闭时序脉冲 乘法宣告结束 定点运算器 定点乘法 xn 1 x0 N BitAdder ShiftandAddControlLogic Multiplicand Add ShiftRight Multiplier C BlockDiagram PartialProducts 原码算法存在的缺点 一是符号位需要单独运算 最后给运算结果以正确的符号 二是对于采用补码存储的机器 从存储器中取出的是操作数的补码 需先将其转换成原码 最后还要将结果转换为补码存放到机器中 这样做很不方便 而且影响速度 定点运算器 定点乘法 定点一位补码乘法 补码乘法的特点是乘数 被乘数用补码表示 符号位参加运算 希望得到的结果就是乘积的补码 符号位在运算中形成 但是与补码加减法不同 两数的补码如果直接相乘 结果不是乘积的补码 设被乘数 X 补 0 1 2 3 和乘数 补 0 1 2 均为任意符号 则有补码乘法算式 这就是有名的布斯公式 Booth sAlgorithm 定点运算器 定点乘法 X Y 补 X 补 Y X 补 Y0 Y12 1 Y2 2 2 Yn2 n X 补 Y0 Y1 Y12 1 Y22 1 Y22 2 YN2 n 1 Yn2 n X 补 Y1 Y0 Y2 Y1 2 1 Yn Yn 1 2 n 1 0 Yn 2 n X 补 Y1 Y0 2 1 X 补 Y2 Y1 2 1 X 补 Y3 Y2 2 1 X 补 Yn Yn 1 2 1 X 补 Yn 1 Yn Yn 1 0 X 补 Yi 1 Yi 2 i Yn 1 0 定点运算器 定点乘法 递推公式为 P0 补 0 P1 补 2 1 P0 补 Yn 1 Yn X 补 P2 补 2 1 P1 补 Yn Yn 1 X 补 Pi 补 2 1 Pi 1 补 Yn i 2 Yn i 1 X 补 Pn 补 2 1 Pn 1 补 Y2 Y1 X 补 Pn 1 补 Pn 补 Y1 Y0 X 补 X Y 补 定点运算器 定点乘法 算法 在乘数 的最低位之后 增加一位补充位 初始值为0 从低位到高位 依次判断相邻的两位乘数的状态 根据比较结果决定本次的操作 见下表 定点运算器 定点乘法 第二步操作循环执行n 次 但最后一步不移位 包括一位符号位 所得乘积为 位 其中 为尾数位数 例 X 补 0 1101 Y 补 0 1011 求X Y 解 部分积乘数说明 定点运算器 定点乘法 00 0000 0 10110 Yn 1 0 11 0011 YnYn 1 10 加 X 补 11 0011 11 1001 1 01011 右移一位 00 0000 YnYn 1 11 加0 11 1001 11 1100 110101 右移一位 00 1101 YnYn 1 01 加 X 补 00 1001 00 0100 111010 右移一位 11 0011 11 0111 YnYn 1 10 加 X 补 11 1011 111101 右移一位 00 1101 YnYn 1 01 加 X 补 00 1000 111101 最后一次不移位 结果 定点运算器 定点乘法 X Y 补 0 10001111 定点运算器 定点乘法 被乘数的符号 和乘数的符号 都参加运算 乘数寄存器 有附加位 其初始状态为 当乘数和部分积每次右移时 部分积最低为移至 的首位位置 故 必须是具有右移功能的寄存器 被乘数寄存器 的每一位用原码或反码经多路开关传送到加法器对应位的一个输入端 而开关的控制信号由 的输出译码器产生 当 0 时 送 补 当 时 送 补 即送 的反码且在加法器最末位加上 保存部分积 它也是具有右移功能的移位寄存器 其符号位与加法器符号位始终一致 当计数器 时 封锁 和 控制信号 使最后一步不移位 原码两位乘法两位乘法即从乘数的最低位开始每次取两位乘数与被乘数相乘得到一次部分积 Yi 1yi 00 相当于0 x 部分积加0 右移两位Yi 1yi 01 相当于1 x 部分积加 x 右移两位Yi 1yi 10 相当于2 x 部分积加2 x 右移两位Yi 1yi 11 相当于3 x 部分积加3 x 右移两位 定点运算器 定点乘法 定点运算器 定点乘法 说明 同原处理码一位乘法一样 数值部分和符号部分分别处理部分积和被乘数采用三个符号位 减 x 的操作是通过加 x 补来实现的 当乘数为偶数位n时 乘数的符号位设置两位00 以便最后一步能处理前面可能留下的欠帐 此时 需做n 2次移位 最多做n 2 1 次加法 当乘数为奇数位n时 乘数的符号位设置一位0 此时 需做 n 1 2次移位 最多做 n 1 2次加法 定点运算器 定点乘法 例 已知x 0 100111 y 0 101110 求x y 解 x 原 1 100111 y 原 0 101110 x 0 100111 x 补 0 10111 x 补 1 011001 定点运算器 定点乘法 定点运算器 定点乘法 部分积乘数说明000 000000001011100初始状态 001 001110yn 1ynCj 100 部分积 2 x 001 001110001011100000 010011100010110部分积 乘数右移两位 0 Cj 111 011001yn 1ynCj 110 部分积 x 111 101100100010110111 111011001000101部分积 乘数右移两位 1 Cj 111 011001yn 1ynCj 101 部分积 x 111 010100001000101111 111011000010001部分积 乘数右移两位 1 Cj 000 100111yn 1ynCj 001 部分积 x 000 011100000010001 x y 原 1 011100000010X y 0 011100000010 定点运算器 定点乘法 定点运算器 定点乘法 补码两位乘 例 x 补 0 0101 y 补 1 0101 求 x y 补解 x 补 1 1011 定点运算器 定点乘法 部分积乘数说明000 00001101010初始状态 000 0101yn 1ynyn 1 010 部分积 x 补000 01011101010000 00010111010部分积 乘数右移两位 000 0101yn 1ynyn 1 010 部分积 x 补000 01100111010000 00011001110部分积 乘数右移两位 111 1011yn 1ynyn 1 110 部分积 x 补111 11001001110 x y 补 1 11001001 x y 0 00110111 定点运算器 定点乘法 硬件乘法器的常规设计是采用 串行移位 和 并行加法 相结合的方法 但是速度太慢 执行一次乘法的运算时间是执行一次加法时间的N倍 目前常用的是流水线式阵列乘法器 定点运算器 定点乘法 请同学们自学阵列式乘法器的工作原理 P38 44 定点原码一位除法在定点计算机中 完成两个原码表示的数相除时 商的符号由两数的符号位按位相加得到 而商的数值部分则是两个正数相除得到 设被除数 X 原 Xf X1X2 Xn除数 Y 原 Yf Y1Y2 Yn则商 Q 原 Xf Yf X1X2 Xn Y1Y2 Yn 定点运算器 定点除法 计算机中执行除法时 商的符号位由被除数和除数的符号位通过一个半加器实现 对于数值部分 由于定点数的绝对值小于1 如果被除数大于或等于除数 则商就大于或等于1 因而会产生溢出 这是不允许的 因此在执行除法以前 先要判别是否溢出 不溢出时才执行除法运算 判别溢出的方法是被除数减去除数 若差为正 就表示溢出 定点运算器 定点除法 手工计算除法的方法 设被除数为X 0 1001 Y 0 1011 求X Y 定点运算器 定点除法 0 110111011011011011001011011010011010111 定点运算器 定点除法 X Y 0 1101余数 0 0111 2 4 恢复余数法的运算规则 计算机中进行除法时 是模仿十进制除法笔算的过程 但又不能完全照搬 在机器中判断是否够减 必须先做减法 若余数为正 表示够减 若余数为负 表示不够减 不够减时 必须恢复原来的余数 以便再继续往下运算 这种方法称为恢复余数法 要恢复原来的余数 只要当前的余数加上除数即可 定点运算器 定点除法 例 X 0 1001 Y 0 1011 用恢复余数法求X Y 解 X 原 X 补 0 1001 Y 补 0 1011 Y 补 1 0101 定点运算器 定点除法 解 被除数 余数商数说明 定点运算器 定点除法 00 1001 11 0101 11 1110 00 1010 00 1001 00 0111 01 0010 11 0101 00 1110 11 0101 00 0011 00 0110 11 0101 11 1011 00 1010 00 0110 00 1100 11 0101 00 0001 00 0001 Y 补 Y 补 Y 补 Y 补 Y 补 Y 补 Y 补 0 0 1 0 11 0 110 0 1101 X减Y 余数r0 0 商 0 恢复余数 r0 商0移入q r0 左移 减Y 余数r1 0 商 1 商1移入q r1左移 减Y 余数r4 0 商 1 商1移入q r2左移 减Y 余数r3 0 商 0 恢复余数 r3 2r2 商0移入q r3 左移 减Y 商1移入q r4不左移 余数r2 0 商 1 Q 原 0 1101 R 原 0 0001 R 2 4 0 0001 定点运算器 定点除法 结果 恢复余数法的缺点 当某一次 Y的差值为负时 要多一次 Y恢复余数的操作 降低了执行速度 又使控制线路变得复杂 因此在计算机中很少采用 定点运算器 定点除法 在恢复余数除法中 若第i 1次求商的余数为 Ri 1时 下一次求商用的方法是Ri 2Ri 1 Y当Ri 0时 第i位的商上0 而恢复余数的操作结果应为Ri Y 下一次 即第i 1次求商的减法操作是Ri 1 2 Ri Y Y 2Ri Y上述公式表明 当某一次求商 其减得的差值为负 即Ri 0时 本次上商为0 继续求下一位商时 可以不必恢复余数 而是直接将负的差值左移一位后 得2Ri 再采用加上除数的方法来完成 即判2Ri Y运算的结果为正还是为负 定点运算器 定点除法 加减交替法得规则 首先作X Y 余数为正 表明产生溢出 应终止除法运算 余数为负 上商为0 作为商的符号位 然后重复下述操作n次 可得商的n位数值a 余数左移一位 b 余数为正时 减除数 余数为负时 加除数 c 所得的新余数为正时 上商为1 为负时 上商为0 由于运算中余数共左移了n次 相当于乘2n 故最后得余数应乘上2 n才是真正的正确余数 定点运算器 定点除法 解 X 原 X 补 X 0 1001 Y 补 0 1011 Y 补 1 0101被除数X 余数r商数q说明 定点运算器 定点除法 00 1001 11 0101 11 1110 11 1100 00 1011 00 0111 00 1110 11 0101 00 0011 00 0110 11 0101 11 1011 11 0110 00 1011 00 0001 Y 补 Y 补 Y 补 Y 补 Y 补 0 0 1 0 11 0 110 0 1101 X减Y 余数r0为负 余数r1为正 余数r2为正 余数r3为负 余数r4为正 商0 r和q左移一位 商1 r和q左移一位 商1 r和q左移一位 商0 r和q左移一位 加Y 减Y 减Y 加Y 商1 仅q左移一位 Q 0 1101R 2 4 0 0001 定点运算器 定点除法 结果 定点运算器 定点除法 寄存器为n位 是双向移位寄存器 R0为双向移位寄存器 除法开始前R1可存放被除数的低n位 R0保存被除数或者余数 在进商左移的过程中 被除数 余数 的低位部分由 串行移至 经n 步后 求得n 位商 每次进商置于R1的最末位 由加法器符号位 f来设置 运算结束后R1存放n位的商 R0中存放余数 补码不恢复余数法两数符号任意时比较大小的方法当两数同号时 应做减法 此时 若得到的余数与除数同号 表示 够减 否则表示 不够减 当两数异号时 应做加法 此时 若得到的余数与除数异号 表示 够减 否则表示 不够减 定点运算器 定点除法 上商的规则如果被除数与除数同号 商为正 则够减时商1 不够减时商0如果被除数与除数异号 商为负 则够减时商0 不够减时商1 定点运算器 定点除法 商符的确定商符是在求商值的过程中自动形成的 定点运算器 定点除法 新余数的确定当被除数和除数同号时 比较它们的大小做减法 如果所得的余数与除数同号表示 够减 将余数左移一位 继续做减法 如果所得的余数异号表示 不够减 将余数左移一位 做加法 当被除数和除数异号时 余数和除数异号时表示 够减 左移一位 做加法 如果余数和除数同号 做减法 定点运算器 定点除法 总的算法 参加运算的数用补码表示符号位参加运算被除数与除数同号 做被除数减除数的运算 被除数与除数异号 做被除数加除数的运算如果余数与除数同号 商1 左移一位 减除数 如果余数与除数异号 商0 左移一位 加除数 重复上步n次 末位恒置1 定点运算器 定点除法 补码一位除法 如果被除数与除数同号 求商时 用被除数减去除数 若二数异号 则用被除数加上除数的办法处理 若余数与除数同号 上商1 左移一位后下次作余数减除数操作 若余数与除数异号 上商0 左移一位后下次作余数加除数操作 商的符号 是在第一次试算时求出的 若定点除不溢出 得到的就是正确的符号位的值 商的修正问题 在对精度要求不高时 将商的最低一位恒置1 此时最大误差为 2 n 若对商的精度要求较高 可对n位数求商n 1次 按得到的不同结果对商进行修正 当商为负时 要在商的最低一位加1 定点运算器 定点除法 定点运算器 定点除法 补码一位除法的流程图 例 X 0 1001 Y 0 1011 求 X Y 补解 X 补 0 1001 Y 补 0 1011 Y 补 1 0101 定点运算器 定点除法 解 X 补 0 1001 Y 补 0 1011 Y 补 1 0101被除数 余数商数说明 定点运算器 定点除法 00 1001 11 0101 11 1110 11 1100 00 1011 00 0111 00 1110 11 0101 00 0011 00 0110 11 0101 11 1011 11 0110 00 1011 00 0001 00 0001 Y 补 Y 补 Y 补 Y 补 Y 补 1 10 101 1011 10110 0 1101 X 补和 Y 补同号 q0 1 减除数 加除数 减除数 减除数 加除数 余数和除数异号 余数和除数同号 余数和除数同号 余数和除数异号 余数和除数同号 左移1位 商1 左移1位 商1 左移1位 商0 左移1位 商0 左移1位 商0 Q 补 0 1101 R 补 0 0001 2 4 定点运算器 定点除法 结果 运算器主要由算术逻辑部件 通用寄存器和状态寄存器组成 算术逻辑部件ALU ArithmeticandLogicUnit 主要完成对二进制信息的定点运算 如 加 减 乘 除 与 或 非 异或 逻辑移位 算术移位等 通用寄存器 主要用来保存参加运算的操作数和运算的结果 状态寄存器 用来记录算术 逻辑运算或测试操作的状态结果 一般有零标志位 负标志位 溢出标志位 进位或借位标志位等 定点运算器的组成 基本思想一位全加器 FA 的逻辑表达式为 Fi Ai Bi CiCi 1 AiBi BiCi CiAi为了将全加器的功能进行扩展以完成多种算术逻辑运算 我们先不将输入Ai和Bi和下一位的进位Ci直接进行全加 而是将Ai和Bi先组合有控制S0 S1 S2 S3控制的组合函数Xi和Yi 然后再将Xi Yi和下一位进位数通过全加器进行全加 这样 不同的控制参数可以得到不同的组合函数 以能够实现多种算术运算和逻辑运算 定点运算器的组成 多功能算术 逻辑运算单元 定点运算器的组成 多功能算术 逻辑运算单元 S1 S3 Xi Yi与控制参数和输入量的关系 定点运算器的组成 多功能算术 逻辑运算单元 ALU的某一位逻辑表达式如下 Xi S3AiBi S2AiBiYi Ai S0Bi S1BiFi Yi Xi Cn iCn i 1 Yi XiCn i 每一位的进位公式可递推如下 定点运算器的组成 多功能算术 逻辑运算单元 Cn 1 Y0 X0Cn Cn 2 Y1 X1Cn 1 Y1 Y0X1 X0X1Cn Cn 3 Y2 X2Cn 2 Y2 X2Y1 Y0X1X2 X0X1X2Cn Cn 4 Y3 X3Cn 3 Y3 X3Y2 X2X3Y1 Y0X1X2X3 X0X1X2X3Cn 设 定点运算器的组成 多功能算术 逻辑运算单元 该式表明 第0位的进位输入可以直接传送到最高进位位上去 因而可以实现高速运算 G Y3 X3Y2 X2X3Y1 Y0X1X2X3P X0X1X2X3 则 Cn 4 G PCn 其中 G称为进位发生输出P称为进位传送输出 运算器包括ALU 阵列乘除器 寄存器 多路开关 三态缓冲器 数据总线等逻辑部件 计算机的运算器的结构一般有三种 定点运算器的基本结构 定点运算器的基本结构 A B ALU 通用寄存器 特殊寄存器 单总线结构的运算器 输入数据和操作结构需要三次串行的选通操作 但它并不会对每种指令都增加很多执行时间 由于只控制一条总线 所以控制电路比较简单 两个操作数同时加到ALU进行运算 只需要一次操作控制 而且马上得到运算结果 ALU的输出不能直接加到总线上去 这是因为 当形成操作结构的输出时 两条总线都被输入数据占据 因而必须在ALU的输出端设置缓冲器 双总线结构的运算器 定点运算器的基本结构 定点运算器的基本结构 ALU的两个输入端分别由总线提供 而ALU的输出则与第三条总线相连 这样 算术逻辑操作就可以在一步的控制之内完成 设置一个总线旁路器 如果一个操作数不需要修改 而直接从总线2传送到总线3 那么可以通过控制总线旁路器把数据传出 浮点数的表示 浮点数的加法 减法运算设有两个浮点数的分别为X Mx 2Ex Y My 2Ey 实现浮点加减法算的基本步骤分为四步完成 0操作数检查 用来判断两个操作数中是否有一个为0 对阶操作 即比较两个浮点数的阶码值的大小 求E Ex Ey 然后将小阶对大阶 尾数进行加或减运算 实现尾数的加减运算 执行两个完成对阶后的浮点数的求和 差 的过程 规格化并进行舍入处理 若得到的结果不满足规格化规则 就必须把它变成规格化的数 舍入操作 在执行对阶或右规操作时 会使位数低位上的一位或若干位的数值被移掉 使数值精度受到影响 可以把移掉的几个高位的值保存起来供舍入使用 浮点运算器 浮点运算方法 取指定位数舍入处理 阶码减1尾数左移1位 尾数加法 带符号 小阶加1尾数右移1位 浮点运算器 浮点运算方法 加法 减法 Y变符号 X 0 Y 0 z y z x z 另一数 z 0 报告上溢 报告下溢 阶码相同 尾数 0 尾数 0 阶码加1尾数右移1位 阶码上溢 阶码下溢 尾数上溢 已是1 M 0操作检查 对阶操作 尾数加减 结果规格化 结束 是 是 是 是 是 是 是 是 否 否 否 否 否 否 否 否 例 设X 2010 0 11011011 Y 2100 0 10101100 求X Y 假设两数均以补码表示 阶码采用双符号位 尾数采用单符号位 浮点运算器 浮点运算方法 解 浮点表示为 X 浮 00010 0 11011011 Y 浮 00100 1 01010100 对阶E Ex Ey 00010 11100 11110即 E为 2 X的阶码小 应使Mx右移两位 Ex加2 得 X 浮 00100 0 00110110 11 浮点运算器 浮点运算方法 浮点运算器 浮点运算方法 2 尾数求和 1 3 规格化和舍入处理结果的符号位与最高符号数值位相同 应执行左规处理 所谓左规格化的规则 就是尾数左移

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论