资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,信息管理学院,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,问题,1.510,3,+,2.010,4,=?,1.510,3,2.010,4,=?,X = 0.1101,2,01,Y = (0.1010),2,11,X,+,Y=? X,Y=?,问题1.5103 + 2.0104=?,1,浮点数运算,浮点数运算,2,课程结构,课程结构,3,主要内容,浮点数加减法,浮点数乘除法,浮点数运算流水线,主要内容浮点数加减法,4,x,=,M,x, 2,E,x,y,=,M,y, 2,E,y,(1),求阶差,(2),对阶原则,E,=,E,x, E,y,=,E,x,=,E,y,已对齐,E,x,E,y,E,x,E,y,x,向,y,看齐,y,向,x,看齐,x,向,y,看齐,y,向,x,看齐,小阶向大阶看齐,M,x,1,M,y,1,M,x,1,M,y,1,= 0,0,0,E,x,1,E,y,+1,E,x,+1,E,y,1,1对阶,左移会溢出;右移只会影响精度,x = Mx 2Exy = My 2Ey(1) 求阶,5,例,x,= 0.1101,2,01,y,= (,0.1010),2,11,阶和尾数都用补码表示,求,x,+,y,解:,x,补,=,00, 01; 00.1101 ,y,补,=,00, 11; 11.0110,(1),对阶,E,补,= ,E,x,补, ,E,y,补,= 00, 01,11, 01,11, 10,阶差为负(,2,),M,x,2,E,x,+ 2,对阶,x,补,=,00, 11; 00.0011,+,求阶差,阶为什么用,2,位符号位?,如果阶用移码会怎么样?,例x = 0.1101 201 y = (0,6,2尾数求和,M,x,补,=,00.0011,M,y,补,=,11.0110,11.1001, ,x,+,y,补,= 00, 11; 11. 1001,+,对阶后的,M,x,补,尾数为什么用,2,位符号位?,x,补,=,00, 01; 00.1101 ,y,补,=,00, 11; 11.0110,x,补,=,00, 11; 00.0011,2尾数求和Mx补 = 00.0011 My补=,7,(1),规格化数的定义,(2),规格化数的判断,r,= 2 |,M,|,1,1,2,M,0,真值,原码,补码,反码,规格化形式,M,0,规格化形式,真值,原码,补码,反码,0.1, ,0.1, ,0.1, ,0.1, ,原码 不论正数,、,负数,,,第一数位为,1,补码 符号位和第 一数位不同,0.1,1.1, ,1.0, ,1.0, ,3,规格化,(1) 规格化数的定义(2) 规格化数的判断r = 2,8,(3),左规,(4),右规,尾数左移一位,,,阶码减,1,,,直到数符和第一数位不同为止,上例,x,+,y,补,= 00, 11; 11. 1001,左规后,x,+,y,补,= 00, 10; 11. 0010,x,+,y,= (, 0.1110,),2,10,当,尾数溢出,时,需,右规,即尾数出现,01. ,或,10. ,时,尾数右移一位,,,阶码加,1,当,尾数没溢出,且未规格化时,需,左规,3,规格化,(3) 左规(4) 右规尾数左移一位,阶码减 1,直到数符和,9,例,x,= 0.1101,2,10,y,= 0.1011,2,01,求,x,+,y,(除阶符、数符外,阶码取,3,位,尾数取,6,位),解:,x,补,= 00, 010; 00. 110100,y,补,= 00, 001; 00. 101100,对阶,尾数求和,E,补,= ,E,x,补, ,E,y,补,= 00, 010,11, 111,100, 001,阶差为,+1,M,y,1,E,y,+1, ,y,补,= 00, 010; 00. 010110,M,x,补,= 00. 110100,M,y,补,=,00. 010110,对阶后的,M,y,补,01. 001010,+,+,尾数溢出需右规,右规,x,+,y,补,= 00, 010; 01. 001010,x,+,y,补,= 00, 011; 00. 100101,右规后,x,+,y,= 0. 100101,2,11,例x = 0.1101 210 y = 0.1011,10,4.,舍入,在,对阶,和,右规,过程中,可能出现,尾数末位丢失,引起误差,需考虑舍入,(1),0,舍,1,入法,(2),恒置,“,1”,法,4,舍入,4. 舍入在 对阶 和 右规 过程中,可能出现 尾数末位丢失,11,设机器数为补码,尾数为,规格化形式,,并假设阶符取,2,位,阶码的数值部分取,7,位,数符取,2,位,尾数取,n,位,则该,补码,在数轴上的表示为,上溢,下溢,上溢,对应,负浮点数,对应,正浮点数,00,1111111;11.00 0,00,1111111;00.11 1,11,0000000;11.011 1,11,0000000;00.100 0,2,127,(,1),2,-128,(2,-1,+ 2,-,n,),2,-128,2,-1,2,127,(1,2,-,n,),最小负数,最大负数,最小正数,最大正数,0,阶码,01, ,阶码,01, ,阶码,10, ,按机器零处理,5,溢出判断,设机器数为补码,尾数为 规格化形式,并假设阶,12,浮点加减运算小结,方法:阶码相同时,尾数直接加减;阶码不同时,先对阶,再进行尾数加减。加减完成后需要规格化。,步骤:,首先进行,0操作数的检查,看有无简化操作的可能,;,1. 比较阶码大小并完成对阶(小阶向大阶对齐);,2. 尾数进行加或减运算;,3. 结果规格化并进行舍入处理,4. 溢出判断,浮点加减运算小结方法:阶码相同时,尾数直接加减;阶码不同时,,13,浮点加减运算流程,浮点加减运算流程,14,主要内容,浮点数加减法,浮点数乘除法,浮点数运算流水线,主要内容浮点数加减法,15,浮点乘法和除法运算,设有两个浮点数和:2,E,M,2,E,M,2,(EE),(M,M,),2,(EE),(M,M,),乘除运算分为四步,0操作数检查,阶码加减操作,尾数乘除操作,结果规格化和舍入处理,浮点乘法和除法运算设有两个浮点数和:,16,阶码运算,浮点数的阶码运算(移码的运算规则),x,移,+y,移,=2,n,+x+y,移,(n为不含符号位时整数的位数),x,移,+y,移,=x,补,+2,n,+y,补,+2,n,=x+y,补,+2,n,+2,n,=x+y,移,+2,n,两边同时加,2,n,,有,阶码运算浮点数的阶码运算(移码的运算规则)x移+y移两边同时,17,尾数运算,尾数处理,截断,舍入,尾数用原码表示时,只要尾数最低为,1或者移出位中有1数值位,使最低位置1,0舍1入,尾数用补码表示时,丢失的位全为0,不必舍入 (对真值没有影响)。,丢失的最高位为0,以后各位不全为0时;或者最高为1,以后各位全为0时,不必舍入。,丢失的最高位为1,以后各位不全为0时,则在尾数的最低位入1(加1)的修正操作。,0.xxx,x,;xxxx,0.xxx,1,;xx1x,0.xxx,1,;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,尾数运算尾数处理0.xxxx;xxxx0.xxx1;xx1x,18,举例,例 设有浮点数,2,5,0.0110011,2,3,(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,举例 例 设有浮点数250.0110011,19,解:,移码采用双符号位,尾数补码采用单符号位,则有 ,M,补0.0110011, ,M,补1.0001110,E,移01 011, ,E,补00 011, ,E,移00 011,浮00 011, 0.0110011, ,浮01 011, 1.0001110,(1)判断操作是否为”0”,求阶码和,E,E,移,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 。,最终相乘结果为,浮00 101,1.0100101,其真值为,2,3,(0.1011011),解:,20,主要内容,浮点数加减法,浮点数乘除法,浮点数运算流水线,主要内容浮点数加减法,21,流水线基本概念,1. 产品生产流水线,(1) 一个问题,假设某产品的生产需要4道工序,该产品生产车间以前只有1个工人,1套生产该产品的机器。该工人工作8小时,可以生产120件(即每4分钟生产1件,每道工序需1分钟)。,要将该产品日产量提高到480件,如何能实现目标?,流水线基本概念1. 产品生产流水线,22,(2),两种解决方案,方案一:增加,3,名工人、,3,套设备。,方案二:产品生产采用流水线方式,分为,4,道工序;增加,3,名工人,每人负责一道工序。,流水线基本概念,(2) 两种解决方案流水线基本概念,23,(3),两种方案的工作过程对比,两种方案中,单件产品的生产时间均不变。,但在稳定情况下,,方案一:每,4,分钟,,4,件产品同时进入流水线,,4,件成品同时离开流水线,需要增加,3,套设备。,方案二:每分钟,,1,件产品进入流水线,,1,件成品离开流水线,不需要增加任何设备。,流水线基本概念,(3) 两种方案的工作过程对比流水线基本概念,24,(4),方案二的主要特点,每件产品还是要经过,4,道工序处理,单件产品的加工时间并没有改变,但它将各个工人的操作时间重叠在一起,使得每件产品的产出时间从表面上看是从原来的,4,分钟缩减到,1,分钟,提高了产品的产出率。,流水线基本概念,(4) 方案二的主要特点流水线基本概念,25,提高并行性的两个渠道,空间并行性:增加冗余部件,如增加多操作部件处理机和超标量处理机,时间并行性:改善操作流程如:流水线技术,提高并行性的两个渠道空间并行性:增加冗余部件,如增加多操作部,26,流水线原理,在流水线中必须是,连续的任务,,只有不断的提供任务才能充分发挥流水线的效率,把一个,任务分解,为几个有联系的子任务。每个子任务由一个专门的功能部件实现,在流水线中的每个功能部件之后都要有一个,缓冲寄存器,,或称为锁存器,流水线中,各段的时间应该尽量相等,,否则将会引起“堵塞”和“断流”的现象,流水线需要有,装入时间和排空时间,,只有当流水线完全充满时,才能充分发挥效率,流水线原理在流水线中必须是连续的任务,只有不断的提供任务才能,27,流水线原理,设过程段 S,i,所需的时间为,i,缓冲寄存器的延时为,l,线性流水线的时钟周期定义为,max,i,l,m,l,流水线处理的频率为 f1/。,流水线原理,28,流水线原理,一个具有k 级过程段的流水线处理 n 个任务需要的时钟周期数,T,k,k(n1),,,所需要的时间为:,TT,k, ,而同时,顺序完成的时间为:Tnk,k级线性流水线的加速比:,C,k,TL,n,k .,Tk k(n1),流水线原理一个具有k 级过程段的流水线处理 n 个任务需要的,29,流水线浮点运算器,Aa2,P,Bb2,q,在4级流水线加法器中实现上述浮点加法时,分为以下操作:,(1) 求阶差,(2) 对阶,(3) 相加,(4) 规格化,流水线浮点运算器Aa2P,Bb2q,30,小结,浮点数加减法的过程,对阶、尾数加减、规格化(左规,右规)(含溢出判断)、舍入处理,浮点数乘除法的过程,阶码加减、尾数乘除、规格化(含溢出判断)、舍入处理,流水线概念及浮点运算器中的流水线,小结浮点数加减法的过程,31,作业8,8-1.已知两浮点数:,x=0 011, 0 1001,y=1 111, 0 1011,阶码用以2为基的4位补码表示(最高位为阶符),尾数用5位原码表示(最高位为数符)。分别列出x+y, x/y,的运算步骤,并对结果进行规格化及舍入处理。,作业88-1.已知两浮点数:,32,8-2 假定一台32位字长的机器中浮点数用IEEE754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。假定执行单精度 浮点数加法指令下列运算指令,请用浮点数运算方法计算运算结果。,8-2 假定一台32位字长的机器中浮点数用IEEE754标准,33,Questions?,Questions?,34,
展开阅读全文