计算机浮点运算详解深入学习计算机组成原理.ppt
6.4 浮点四则运算,一、浮点加减运算,x=Sx 2jx,y=Sy 2jy,1.对阶,(1)求阶差,(2)对阶原则,j=jx jy=,jx=jy 已对齐,jx jy,jx jy,x 向 y 看齐,y 向 x 看齐,x 向 y 看齐,y 向 x 看齐,小阶向大阶看齐,jx1,jy+1,jx+1,jy1,From:新闻,例如,解:,x补=00,01;00.1101 y补=00,11;11.0110,1.对阶,j补=jx补 jy补,=00,01,11,01,11,10,阶差为负(2),11.1001,x+y补=00,11;11.1001,对阶,x补=00,11;00.0011,+,+,对阶后的Sx补,6.4,求阶差,2.尾数求和,From:新闻,3.规格化,(1)规格化数的定义,(2)规格化数的判断,S0,真值,原码,补码,反码,规格化形式,S 0,规格化形式,真值,原码,补码,反码,原码 不论正数、负数,第一数位为1,补码 符号位和第 一数位不同,6.4,From:新闻,特例,S=1,1补 是规格化的数,6.4,From:新闻,(3)左规,(4)右规,尾数左移一位,阶码减 1,直到数符和第一数位不同为止,上例 x+y补=00,11;11.1001,左规后 x+y补=00,10;11.0010,x+y=(0.1110)210,当 尾数溢出(1)时,需 右规,尾数右移一位,阶码加 1,6.4,From:新闻,例6.27,解:,x补=00,010;00.110100,y补=00,001;00.101100,对阶,尾数求和,j补=jx补 jy补,=00,010,11,111,100,001,阶差为+1,y补=00,010;00.010110,Sx补=00.110100,Sy补=00.010110,对阶后的Sy补,01.001010,+,+,尾数溢出需右规,6.4,From:新闻,右规,x+y补=00,010;01.001010,x+y补=00,011;00.100101,右规后,x+y=0.100101 211,4.舍入,在 对阶 和 右规 过程中,可能出现 尾数末位丢失引起误差,需考虑舍入,(1)0 舍 1 入法,(2)恒置“1”法,6.4,From:新闻,例 6.28,解:,x补=11,011;11.011000,y补=11,100;00.111000,对阶,j补=jx补 jy补,=11,011,00,100,11,111,阶差为 1,x补=11,100;11.101100,x=(0.101000)2-101,y=(0.111000)2-100,+,6.4,From:新闻,尾数求和,Sx补=11.101100,Sy补=11.001000,+,110.110100,右规,x y补=11,100;10.110100,x y补=11,101;11.011010,右规后,x y=(0.100110)2-11,6.4,From:新闻,5.溢出判断,设机器数为补码,尾数为 规格化形式,并假设阶符取 2 位,阶码的数值部分取 7 位,数符取 2 位,尾数取 n 位,则该 补码 在数轴上的表示为,2127(1),2-128(2-1+2-n),2-1282-1,2127(12-n),阶码01,阶码01,阶码 10,按机器零处理,6.4,From:新闻,二、浮点乘除运算,x=Sx 2jx,y=Sy 2jy,1.乘法,x y=(Sx Sy)2jx+jy,2.除法,(1)阶码采用 补码定点加(乘法)减(除法)运算,(2)尾数乘除同 定点 运算,4.浮点运算部件,阶码运算部件,尾数运算部件,3.步骤,(3)规格化,6.4,From:新闻,6.5 算术逻辑单元,一、ALU 电路,组合逻辑电路 Ki 不同取值 Fi 不同,四位 ALU 74181,M=0 算术运算,M=1 逻辑运算,S3 S0 不同取值,可做不同运算,From:新闻,二、快速进位链,1.并行加法器,=Ai Bi+(Ai+Bi)Ci-1,di=Ai Bi 本地进位,ti=Ai+Bi 传送条件,则 Ci=di+tiCi-1,6.5,From:新闻,2.串行进位链,进位链,传送进位的电路,串行进位链,进位串行传送,以 4 位全加器为例,每一位的进位表达式为,C0=d0+t0C-1,C1=d1+t1C0,C2=d2+t2C1,C3=d3+t3C2,4 位 全加器产生进位的全部时间为 8ty,n 位全加器产生进位的全部时间为 2nty,设与非门的级延迟时间为ty,6.5,From:新闻,3.并行进位链,n 位加法器的进位同时产生,以 4 位加法器为例,C0=d0+t0C-1,C1=d1+t1C0,C2=d2+t2C1,C3=d3+t3C2,=d1+t1d0+t1t0C-1,=d2+t2d1+t2t1d0+t2t1t0C-1,=d3+t3d2+t3t2d1+t3t2t1d0+t3t2t1t0C-1,(先行进位,跳跃进位),当 di ti 形成后,只需 2.5ty 产生全部进位,设与或非门的延迟时间为 1.5ty,6.5,From:新闻,n 位全加器分若干小组,小组中的进位同时产生,小组与小组之间采用串行进位,当 di ti 形成后,经 2.5 ty,5 ty,7.5 ty,1 0 ty,(1)单重分组跳跃进位链,产生 C3 C0,产生 C7 C4,产生 C11 C8,产生 C15 C12,6.5,以 n=16 为例,From:新闻,(2)双重分组跳跃进位链,n 位全加器分若干大组,大组中又包含若干小组。每个大组中小组的最高位进位同时产生。大组与大组之间采用串行进位。,以 n=32 为例,6.5,From:新闻,(3)双重分组跳跃进位链 大组进位分析,C3=d3+t3C2=d3+t3d2+t3t2d1+t3t2t1d0+t3t2t1t0C-1,以第 8 小组为例,D8 小组的本地进位 与外来进位无关,T8 小组的传送条件 与外来进位无关 传递外来进位,C7=D7+T7C3,C11=D6+T6C7,进一步展开得,C15=D5+T5C11,C3=D8+T8C-1,C7=D7+T7C3,C11=D6+T6C7,C15=D5+T5C11,第 7 小组,第 6 小组,第 5 小组,同理,D8,T8,=D7+T7D8+T7T8C-1,=D6+T6D7+T6T7D8+T6T7T8C-1,=D5+T5D6+T5T6D7+T5T6T7D8+T5T6T7T8C-1,6.5,From:新闻,(4)双重分组跳跃进位链的 大组 进位线路,以第 2 大组为例,6.5,From:新闻,(5)双重分组跳跃进位链的 小组 进位线路,以第 8 小组为例,只产生 低 3 位 的进位和 本小组的 D8 T8,6.5,From:新闻,(6)n=16 双重分组跳跃进位链,C1412,C108,C64,C20,C-1,经 5 ty,经 7.5 ty,经 3 2 ty,经 1 0 ty,产生 C2、C1、C0、D5 D8、T5 T8,产生 C15、C11、C7、C3,产生 C14C12、C10C8、C6C4,产生 全部进位,产生 全部进位,6.5,经 2.5 ty,当 di ti 和C-1形成后,串行进位链,单重分组跳跃进位链,From:新闻,(7)n=32 双重分组跳跃进位链,当 di ti 形成后,产生 C2、C1、C0、D1 D8、T1 T8,产生 C15、C11、C7、C3,产生 C18 C16、C14C12、C10C8、C6C4 C31、C27、C23、C19,产生 C30C28、C26 C24、C22 C20,经 2.5 ty,5 ty,7.5 ty,1 0 ty,6.5,From:新闻,