东华大学计算机组成原理(第二章第八讲).ppt

上传人:sh****n 文档编号:8710345 上传时间:2020-03-31 格式:PPT 页数:47 大小:2.76MB
返回 下载 相关 举报
东华大学计算机组成原理(第二章第八讲).ppt_第1页
第1页 / 共47页
东华大学计算机组成原理(第二章第八讲).ppt_第2页
第2页 / 共47页
东华大学计算机组成原理(第二章第八讲).ppt_第3页
第3页 / 共47页
点击查看更多>>
资源描述
计算机组成原理 计算机科学与技术学院应用技术系嵌入式系统研究所主讲教师 覃志东qinzhidong 关于课程设计问题 要求学生选择上哪个老师的课程 就跟着哪个老师作课程设计 因为在考核方面有些相关性 务必在这周之内在选课系统中调整过来 在网上改不了的 请找教务处 2 6浮点算术运算方法和浮点运算器 浮点运算表示数据范围大 有效精度高 适合于科学与工程计算的需要 浮点运算复杂 硬件成本高 运算速度慢 浮点数据包括尾数和阶码两部分尾数代表数的有效数字 一般表示为定点小数 阶码代表数的小数点实际位置 一般表示为定点整数 在浮点运算中 阶码与尾数的运算分别进行 与定点运算类似 但增加了阶码的定点运算和结果的规格化处理 浮点运算分为规格化运算和非规格化运算两类 由于规格化运算可使尾数具有最长的有效位 运算精度高 所以通常都采用规格化运算 设两个浮点数x和y分别为 其中 Ex Ey分别是x和y的阶码 Mx和My是x y的尾数 假定它们都是规则化的数 即其尾数绝对值总小于1 用补码表示 允许为1 2 6 1浮点加法 减法运算 完成浮点加减运算的操作过程分为四步 1 0操作数检查 2 比较阶码大小并完成对阶 3 尾数进行加或减运算 4 结果规格化并进行舍入处理 两浮点数进行加法和减法的运算规则是 1 0操作数检查 如果判知两个操作数x和y中有一个数为0 即可得知运算结果而没有必要进行后续的一系列操作 以节省运算时间 2 比较阶码大小并完成对阶 对阶 把两数的小数点对齐 小阶向大阶看齐对阶的第一步是求阶差 E Ex Ey若 E 0 表示两数阶码相等 即Ex Ey 不需要对阶若 E 0 表明Ex Ey若 E 0 表明Ex Ey对于Ex Ey的这种情况 需要对阶 采用 小阶向大阶看齐 的方法 即小阶的尾数右移 E位 小阶的阶码增加 E与大阶相等 设某机浮点数格式为 阶码和尾数均采用补码表示 例 已知x 0 110101 2 0011y 0 111010 2 0010求x y 解 把x y转换成机器数x 000011110101y 100010000110 首先进行对阶 求阶差 E 补 00011 11110 00001 E为正 Ex Ey把y的尾数右移一位 阶码加1 得到 y 100011100011 3 尾数进行加或减运算 对阶完毕 两数阶码相等 即可对其尾数进行加 减运算 尾数运算的规则与定点加 减运算规则相同 若求和 则将两数尾数直接相加 若求差 则将对阶后的减数的尾数变补与被减数的尾数相加 如上例 对阶后作加法没有溢出 但不是规格化数 需要左移 表示为规格化数 对阶后作减法有溢出 需要右移解决溢出 在规格化浮点运算中 若运算结果不是规格化数 必须进行规格化处理 原码表示中 满足1 2 M 1的数为规格化数00 1xx x11 0 xx x补码表示中 满足一1 M 1 2和1 2 M 1的数为规格化数理论上 M可等于 1 2 但 1 2 补 11 100 0 为了便于判别是否是规格化数 不把 1 2列为规格化数 而把 1列入规格化数 1 补 11 00 0 补码规格化的浮点数应有两种形式 00 1xx x11 0 xx x破坏规格化 不满足上述条件的运算结果 称为破坏规格化 向左破坏规格化 尾数发生溢出 向右破坏规格化 尾数未溢出 但不满足上述规格化条件 设浮点数尾数 M 原 Mf M1M2 Mn 如果尾数发生溢出 则为向左破坏规格化 如果尾数未溢出 但M1 0 则为向右破坏规格化 设浮点数尾数 M 补 Mf M1M2 Mn 如果尾数发生溢出 则称为向左破坏规格化 如尾数未溢出 但Mf M1 0 即Mf与M1相同 则为向右破坏规格化 为方便溢出判别 尾数也可采用变形补码表示 即 M 补 Mf1Mf2 M1M2 Mn 若运算结果满足Mf1 Mf2 1 则尾数溢出 即为向左破坏规格化 若MflMf2M1 Mf1Mf2M1 1 则为向右破坏规格化 当运算结果出现向左破坏规格化时 必须向右进行规格化 右规 即将尾数向右移位 每移一位 注意补码右移规则 阶码加1 直到满足规格化要求为止 当运算结果出现向右破坏规格化时 必须向左进行规格化 左规 即将尾数向左移位 每移一位 阶码减1 直到满足规格化要求为止 如上例中 x y 补 000011011000 由于两异号数相加不会溢出 因此不是向左破坏规格化 由于Mf M1 0 所以是向右破坏规格化 将尾数向左移一位 即可满足Mf M1 1 将尾数向左移一位 阶码减1 规格化后 x y 补 000010110000 x y 0 110000 2 0010 x y 补 100011010010由于两正数相加的结果符号为负 显然是尾数发生了溢出 向左破坏规格化 在浮点运算中 通过规格化处理 溢出将不会影响正确的运算 把尾数向右移一位 阶码加1 规格化后 x y 补 000100101001x y 0 101001 2 0100 Y是负数 4 舍入 为减少对阶和向右规格化时 因尾数右移而造成的误差 可进行舍入处理 舍入的原则 误差不超过所允许的范围 一般要求不超过最低位的1 误差应有正有负 不会产生积累误差 A 0舍1入法 若右移时被丢掉数位的最高位为0 则舍去 若右移时被丢掉数位的最高位为1 则将1加到尾数的最低位 这种方法精度较高 但在加1时 会产生进位 使运算速度减慢 B 末位恒置1法 只要右移丢失数据 就将尾数的最低位恒置为1 而不管原来是0还是1 这种方法简单 且没有积累误差 是常用的舍入方法 IEEE754的舍入处理 754列出4种办法 供选择 1 就近舍入 缺省方式 舍向靠近值X x1 xn 有0 0 X 0 中值 1000 0 1 1 X 1 中值的处理x1 xn 100 0 0 截断 或1 最低有效位 1 2 向 舍入正数 多余位不为全0 则 1负数 截断 3 向 舍入与第 2 种相反 4 向0舍入 简单截断 浮点数的溢出判断 由阶码判断是否溢出 设阶码数值部分取7位 符号位取2位 用补码表示 则能表示的最大阶码 E 补 001111111 127 最小阶码 E 补 110000000 128 1 小于 128 称为下溢 发生在左规时 用机器0表示 阶码 尾数全0 2 大于 127时 称为上溢 这是浮点数的真正溢出置溢出标志 作中断处理总结 E 补 01XX X为上溢 真正溢出 需做溢出处理 E 补 10XX X为下溢 浮点数值趋于零 用机器零表示 5 溢出处理 1 浮点乘法 除法运算规则 设浮点数乘法运算的规则为 乘积的阶码由两数阶码相加求得乘积的尾数等于被乘数和乘数的尾数之积可采用定点数乘方法 A 需要对浮点数尾数积进行规格化 左规 右规 均是最多一位 B 舍入 0舍1入 若采用双倍字长乘积时 没有舍入问题 5 溢出处理 设浮点数除法运算的规则为 尾数按定点小数除法运算规则相除 阶码按定点加减规则相减 分别得到商数的尾数和商数的阶码 由于在定点小数除法中 要求 被除数 除数 因此 当 Mx My 时需调整被除数 由于尾数都表示为规格化数 所以一般只需将Sx右移一位 阶码加1 满足 Mx My 后 即可进行除法运算 2 浮点乘法 除法运算步骤 完成浮点乘除运算的操作过程分为四步 1 0操作数检查 2 阶码加 减操作 3 尾数乘 除操作 4 结果规格化并进行舍入处理 移码加减运算及溢出判别 当计算机浮点数的阶码采用移码表示时 浮点加减运算的求阶差及浮点乘除的阶码加减均需按移码加减规则处理 根据移码定义 x 移 2n x 2n x 2n Ex 移 2m Ex m为不含阶符的阶码位数 y 移 2m y x 移 y 移 2m x 2m y 2m 2m x y 2m x y 移 即直接用移码实现求阶码之和 结果比两数之和的移码多了2m 即最高位上多加了一个1 所以要得到移码形式 需对结果最高位 符号位 取反 例 Ex 移 10011 Ey 移 01001则 Ex 移 Ey 移 11100 Ex Ey 移 01100例 Ex 移 01100 Ey 移 10101则 Ex 移 Ey 移 00001 Ex Ey 移 10001 由于补码与移码的数值位相同 符号位相反 因此移码表示的阶码之和也可用下式实现 Ex 移 Ey 补 2m Ex 2m 1 Ey 2m 1 2m Ex Ey 2m 1 Ex Ey 移 Ex Ey 移 mod2m 1 同理 Ex 移 Ey 补 2m Ex 2m 1 Ey 2m 1 2m Ex Ey 2m 1 Ex Ey 移 Ex Ey 移 因为 Ex 补与 Ex 移数值相等 符号相反 所以在进行移码的加减运算时的算法为 在进行移码加减运算时 将加数或减数的移码符号位取反后进行加减 移码运算的溢出判断方法移码运算采用双符号位进行运算 并规定初始时 移码的第二个符号位 最左边符号位 恒为0 并参加运算 若运算结果第二个符号位为1 则表示溢出 此时若第一符号位为0 则表示上溢第一符号位为1 则表示下溢若运算结果第二符号位为0 则表示无溢出 此时若第一符号位为1 表示结果为正第一符号位为0 表示结果为负 设移码的数值位数为m 4 举例如下 例1 Ex 1001 Ey 0101 求 Ex Ey 移解 Ex 移 011001 Ey 补 000101 Ey 补 111011 Ex Ey 移 011001 000101 011110 Ex Ey 移 011001 111011 010100第二符号位为0 没有溢出 第一符号位为1 结果为正 Ex Ey 1110 Ex Ey 0100 例2 Ex 1010 Ey 1001 求 Ex Ey 移解 Ex 移 011010 Ey 补 110111 Ey 补 001001 Ex Ey 移 011010 110111 010001 Ex Ey 移 011010 001001 100011 Ex Ey 移的第二符号位为0 没有溢出 第一符号位为1 结果为正 Ex Ey 1110 Ex Ey 移的第二符号位为1 发生溢出 第一符号位为0 表示结果上溢 例3 Ex 1001 Ey 1101 求 Ex Ey 移解 Ex 移 000111 Ey 补 110011 Ey 补 001101 Ex Ey 移 000111 110011 111010 Ex Ey 移 000111 001101 010100 Ex Ey 移的第二符号位为1 发生溢出 第一符号位为1 表示结果下溢 Ex Ey 移的第二符号位为0 没有溢出 第一符号位为1 结果为正 Ex eEy 0100 尾数处理 2 6 3浮点运算流水线 1 流水线原理 计算机的流水处理过程同工厂中的流水装配线类似为了实现流水 首先必须把输入的任务分割为一系列的子任务 使各子任务能在流水线的各个阶段并发地执行 将任务连续不断地输入流水线 从而实现了子任务的并行 流水处理大幅度地改善了计算机的系统性能 是在计算机上实现时间并行性的一种非常经济的方法 线性流水线的时钟周期定义为 具有k级过程段的流水线处理n个任务需要的时钟周期数为 非流水线 串行处理需要的时钟周期数为 k级线性流水线的加速比为 2 流水线浮点加法器 规格化 对阶 本讲完毕 谢谢 作业 P709题 10题 11题 12题 13题
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!