lecture8浮点运算和浮点运算器

上传人:san****019 文档编号:70779991 上传时间:2019-01-18 格式:PPT 页数:34 大小:1.34MB
返回 下载 相关 举报
lecture8浮点运算和浮点运算器_第1页
第1页 / 共34页
lecture8浮点运算和浮点运算器_第2页
第2页 / 共34页
lecture8浮点运算和浮点运算器_第3页
第3页 / 共34页
lecture8浮点运算和浮点运算器_第4页
第4页 / 共34页
lecture8浮点运算和浮点运算器_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《lecture8浮点运算和浮点运算器》由会员分享,可在线阅读,更多相关《lecture8浮点运算和浮点运算器(34页珍藏版)》请在金锄头文库上搜索。

1、问题,1.5103 + 2.0104=? 1.5103 2.0104=? X = 0.1101 201 Y = (0.1010) 211 X +Y=? X Y=?,浮点数运算,课程结构,主要内容,浮点数加减法 浮点数乘除法 浮点数运算流水线,x = Mx 2Ex,y = My 2Ey,(1) 求阶差,(2) 对阶原则,E = Ex Ey =,Ex= Ey 已对齐,Ex Ey,Ex Ey,x 向 y 看齐,y 向 x 看齐,x 向 y 看齐,y 向 x 看齐,小阶向大阶看齐,Ex1,Ey+1,Ex+1,Ey1,1 对阶,左移会溢出;右移只会影响精度,例,解:,x补 = 00, 01; 00.11

2、01 y补 = 00, 11; 11.0110,(1) 对阶,E补 = Ex补 Ey补,= 00, 01,11, 01,11, 10,阶差为负( 2), 对阶,x补 = 00, 11; 00.0011,+, 求阶差,阶为什么用2位符号位?,如果阶用移码会怎么样?,2 尾数求和,11.1001, x+y补 = 00, 11; 11. 1001,+,对阶后的Mx补,尾数为什么用2位符号位?,x补 = 00, 01; 00.1101 y补 = 00, 11; 11.0110,x补 = 00, 11; 00.0011,(1) 规格化数的定义,(2) 规格化数的判断,M0,真值,原码,补码,反码,规格化

3、形式,M 0,规格化形式,真值,原码,补码,反码,原码 不论正数、负数,第一数位为1,补码 符号位和第 一数位不同,3 规格化,(3) 左规,(4) 右规,尾数左移一位,阶码减 1,直到数符和第一数位不同为止,上例 x+y补 = 00, 11; 11. 1001,左规后 x+y补 = 00, 10; 11. 0010, x + y = ( 0.1110)210,当 尾数溢出时,需 右规,尾数右移一位,阶码加 1,当 尾数没溢出且未规格化时,需 左规,3 规格化,例,解:,x补 = 00, 010; 00. 110100,y补 = 00, 001; 00. 101100, 对阶, 尾数求和,E补

4、 = Ex补 Ey补,= 00, 010,11, 111,100, 001,阶差为 +1, y补 = 00, 010; 00. 010110,Mx补 = 00. 110100,My补 = 00. 010110,对阶后的My补,01. 001010,+,+,尾数溢出需右规, 右规,x +y补 = 00, 010; 01. 001010,x +y补 = 00, 011; 00. 100101,右规后, x +y = 0. 100101 211,4. 舍入,在 对阶 和 右规 过程中,可能出现 尾数末位丢失 引起误差,需考虑舍入,(1) 0 舍 1 入法,(2) 恒置 “1” 法,4 舍入,设机器数

5、为补码,尾数为 规格化形式,并假设阶符取 2 位,阶码的数值部分取 7 位,数符取2 位,尾数取 n 位,则该 补码 在数轴上的表示为,2127(1), 2-128(2-1+ 2-n),2-1282-1,2127(12-n),阶码 01, ,阶码 01, ,阶码 10, ,按机器零处理,5 溢出判断,浮点加减运算小结,方法:阶码相同时,尾数直接加减;阶码不同时,先对阶,再进行尾数加减。加减完成后需要规格化。 步骤: 首先进行0操作数的检查,看有无简化操作的可能; 1. 比较阶码大小并完成对阶(小阶向大阶对齐); 2. 尾数进行加或减运算; 3. 结果规格化并进行舍入处理 4. 溢出判断,浮点加

6、减运算流程,主要内容,浮点数加减法 浮点数乘除法 浮点数运算流水线,浮点乘法和除法运算,设有两个浮点数和: 2EM 2EM 2(EE)(MM) 2(EE)(MM) 乘除运算分为四步 0操作数检查 阶码加减操作 尾数乘除操作 结果规格化和舍入处理,阶码运算,浮点数的阶码运算(移码的运算规则) x移+y移=2n+x+y移 (n为不含符号位时整数的位数),x移+y移 =x补+2n+y补+2n =x+y补+2n+2n =x+y移+2n,两边同时加2n,有,尾数运算,尾数处理 截断 舍入 尾数用原码表示时 只要尾数最低为1或者移出位中有1数值位,使最低位置1 0舍1入 尾数用补码表示时 丢失的位全为0,

7、不必舍入 (对真值没有影响)。 丢失的最高位为0,以后各位不全为0时;或者最高为1,以后各位全为0时,不必舍入。 丢失的最高位为1,以后各位不全为0时,则在尾数的最低位入1(加1)的修正操作。,0.xxxx;xxxx,0.xxx1;xx1x,0.xxx1;1xxx,机器数 真值 舍入后真值 0.10,01 1.10,01 -0.0111 -0.10 1.10,10 -0.0110 -0.10 0.10,11 0.1011 0.11 1.10,11 -0.0101 -0.01 1.11,11 -0.0001 0 1.01,11 -0.1001 -0.10,举例,例 设有浮点数250.011001

8、1,23(0.1110010),阶码用4位移码表示,尾数(含符号位)用8位补码表示。求浮。要求用补码完成尾数乘法运算,运算结果尾数保留高8位(含符号位),并用尾数低位字长值处理舍入操作。,移码采用双符号位,尾数补码采用单符号位,则有 M补0.0110011, M补1.0001110, E移01 011, E补00 011, E移00 011, 浮00 011, 0.0110011, 浮01 011, 1.0001110,解: 移码采用双符号位,尾数补码采用单符号位,则有 M补0.0110011, M补1.0001110, E移01 011, E补00 011, E移00 011, 浮00 01

9、1, 0.0110011, 浮01 011, 1.0001110 (1)判断操作是否为”0”,求阶码和 EE移E移E补00 01100 01100 110, 值为移码形式2。 (2) 尾数乘法运算可采用补码阵列乘法器实现,即有 M补M补0.0110011补1.0001110补 1.1010010,1001010补 (3) 规格化处理 乘积的尾数符号位与最高数值位符号相同,不是规格化的数,需要左规,阶码变为00 101(-3), 尾数变为 1.0100101,0010100。 (4) 舍入处理 尾数为负数,取尾数高位字长,按舍入规则,舍去低位字长,故尾数为1.0100101 。 最终相乘结果为

10、浮00 101,1.0100101 其真值为 23(0.1011011),主要内容,浮点数加减法 浮点数乘除法 浮点数运算流水线,流水线基本概念,1. 产品生产流水线 (1) 一个问题 假设某产品的生产需要4道工序,该产品生产车间以前只有1个工人,1套生产该产品的机器。该工人工作8小时,可以生产120件(即每4分钟生产1件,每道工序需1分钟)。 要将该产品日产量提高到480件,如何能实现目标?,(2) 两种解决方案 方案一:增加3名工人、3套设备。 方案二:产品生产采用流水线方式,分为4道工序;增加3名工人,每人负责一道工序。,流水线基本概念,(3) 两种方案的工作过程对比 两种方案中,单件产

11、品的生产时间均不变。 但在稳定情况下, 方案一:每4分钟,4件产品同时进入流水线,4件成品同时离开流水线,需要增加3套设备。 方案二:每分钟,1件产品进入流水线,1件成品离开流水线,不需要增加任何设备。,流水线基本概念,(4) 方案二的主要特点 每件产品还是要经过4道工序处理,单件产品的加工时间并没有改变,但它将各个工人的操作时间重叠在一起,使得每件产品的产出时间从表面上看是从原来的4分钟缩减到1分钟,提高了产品的产出率。,流水线基本概念,提高并行性的两个渠道,空间并行性:增加冗余部件,如增加多操作部件处理机和超标量处理机 时间并行性:改善操作流程如:流水线技术,流水线原理,在流水线中必须是连

12、续的任务,只有不断的提供任务才能充分发挥流水线的效率 把一个任务分解为几个有联系的子任务。每个子任务由一个专门的功能部件实现 在流水线中的每个功能部件之后都要有一个缓冲寄存器,或称为锁存器 流水线中各段的时间应该尽量相等,否则将会引起“堵塞”和“断流”的现象 流水线需要有装入时间和排空时间,只有当流水线完全充满时,才能充分发挥效率,流水线原理,设过程段 Si所需的时间为i,缓冲寄存器的延时为l,线性流水线的时钟周期定义为 maxilml 流水线处理的频率为 f1/。,流水线原理,一个具有k 级过程段的流水线处理 n 个任务需要的时钟周期数 Tkk(n1), 所需要的时间为: TTk 而同时,顺

13、序完成的时间为:Tnk k级线性流水线的加速比: Ck TL nk . Tk k(n1),流水线浮点运算器,Aa2P, Bb2q 在4级流水线加法器中实现上述浮点加法时,分为以下操作: (1) 求阶差 (2) 对阶 (3) 相加 (4) 规格化,小结,浮点数加减法的过程 对阶、尾数加减、规格化(左规,右规)(含溢出判断)、舍入处理 浮点数乘除法的过程 阶码加减、尾数乘除、规格化(含溢出判断)、舍入处理 流水线概念及浮点运算器中的流水线,作业8,8-1.已知两浮点数: x=0 011, 0 1001 y=1 111, 0 1011 阶码用以2为基的4位补码表示(最高位为阶符),尾数用5位原码表示(最高位为数符)。分别列出x+y, x/y的运算步骤,并对结果进行规格化及舍入处理。,8-2 假定一台32位字长的机器中浮点数用IEEE754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。假定执行单精度 浮点数加法指令下列运算指令,请用浮点数运算方法计算运算结果。,Questions?,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号