浮点数运算与加法器优秀PPT.ppt
《浮点数运算与加法器优秀PPT.ppt》由会员分享,可在线阅读,更多相关《浮点数运算与加法器优秀PPT.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、浮点数运算与加法器你现在浏览的是第一页,共75页3.4 3.4 加法器和加法器和ALUALU3.4.1 3.4.1 加法器与进位链电路加法器与进位链电路1加法器加法器 计算机中最基本的运算部件是加法器,通常,加法器和其他必要的逻辑电路组合在一起,可以在计算机中进行一些基本运算。(1)全加器 基本的加法单元称为全加器。它要求三个输入量:操作数Ai和Bi、低位传来的进位Ci-1,并产生两个输出量:本位和Si、向高位的进位Ci。你现在浏览的是第二页,共75页3.4 3.4 加法器和加法器和ALUALU一位全加器真值表一位全加器真值表S Si iA Ai iBBi iCCi-1i-1C Ci iA A
2、i iB Bi i(A(Ai i B Bi i)C)Ci-1i-1你现在浏览的是第三页,共75页3.4 3.4 加法器和加法器和ALUALU你现在浏览的是第四页,共75页3.4 3.4 加法器和加法器和ALUALU(2 2)串行加法器和并行加法器)串行加法器和并行加法器 加法器可分为串行加法器和并行加法器。在加法器可分为串行加法器和并行加法器。在串行加法器中,只有一个全加器,数据逐位串行串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算,如果操作数长送入加法器进行运算,如果操作数长n n位,加法位,加法就要分就要分n n次进行,串行加法器具有器件少、成本低次进行,串行加法器具有器件少
3、、成本低的优点,但运算速度太慢。的优点,但运算速度太慢。并行加法器由多个全加器组成,其位数的多并行加法器由多个全加器组成,其位数的多少取决于机器的字长,数据的各位同时运算。但少取决于机器的字长,数据的各位同时运算。但存在一个加法的最长运算时间问题。这是因为虽存在一个加法的最长运算时间问题。这是因为虽然操作数的各位是同时提供的,但低位运算所产然操作数的各位是同时提供的,但低位运算所产生的进位会影响高位的运算结果。生的进位会影响高位的运算结果。你现在浏览的是第五页,共75页3.4 3.4 加法器和加法器和ALUALU2.2.进位链电路进位链电路 并行加法器中的每一个全加器都有一并行加法器中的每一个
4、全加器都有一个从低位送来的进位和一个传送给较高位个从低位送来的进位和一个传送给较高位的进位。我们将各位之间传递进位信号的的进位。我们将各位之间传递进位信号的逻辑线路连接起来构成的进位网络称为进逻辑线路连接起来构成的进位网络称为进位链。位链。由全加器的逻辑表达式可知:由全加器的逻辑表达式可知:S Si iA Ai iBBi iCCi-1i-1C Ci iA Ai iB Bi i(A(Ai i B Bi i)C)Ci-1i-1PiGi你现在浏览的是第六页,共75页3.4 3.4 加法器和加法器和ALUALU(1)(1)串行进位链电路串行进位链电路 把把n n个全加器串接起来,就可以进行两个个全加器
5、串接起来,就可以进行两个n n位位数的相加。这种加法器称为串行进位的并行加数的相加。这种加法器称为串行进位的并行加法器。串行进位又称行波进位,每一级进位直法器。串行进位又称行波进位,每一级进位直接依赖于前一级的进位,即进位信号是逐级形接依赖于前一级的进位,即进位信号是逐级形成的。成的。你现在浏览的是第七页,共75页3.4 3.4 加法器和加法器和ALUALU(2)(2)并行进位链电路并行进位链电路 把把n n个全加器串接起来,就可以进行两个个全加器串接起来,就可以进行两个n n位数的相加。位数的相加。这种加法器称为串行进位的并行加法器。串行进位又称这种加法器称为串行进位的并行加法器。串行进位又
6、称行波进位,每一级进位直接依赖于前一级的进位,即进行波进位,每一级进位直接依赖于前一级的进位,即进位信号是逐级形成的。位信号是逐级形成的。并行进位链是指并行加法器中的进位信号是同时产并行进位链是指并行加法器中的进位信号是同时产生的,又称先行进位、同时进位、跳跃进位等,其特点生的,又称先行进位、同时进位、跳跃进位等,其特点是各级进位信号同时形成。是各级进位信号同时形成。单级先行进位方式单级先行进位方式C0=G0+P0C-1C1=G1+P1C0=G1+P1G0+P1P0C-1C2=G2+P2C1=G2+P2G1+P2P1G0+P2 P1P0C-1C3=G3+P3C2=G3+P3G2+P3P2G1+
7、P3P2 P1 G0+P3P2 P1P0C-1你现在浏览的是第八页,共75页3.4 3.4 加法器和加法器和ALUALUC4=G4+P4C3C5=G5+P5C4=G5+P5G4+P5P4C3C6=G6+P6C5=G6+P6G5+P6P5G4+P6 P5P4C3C7=G7+P7C6=G7+P7G6+P7P6G5+P7P6 P5 G4+P7P6 P5P4C3C8=G8+P8C7C9=G9+P9C8=G9+P9G8+P9P8C7C10=G10+P10C9=G10+P10G9+P10P9G8+P10 P9P8C7C11=G11+P11C10=G11+P11G10+P11P10G9+P11P10 P9
8、G8+P11P10 P9P8C7你现在浏览的是第九页,共75页3.4 3.4 加法器和加法器和ALUALUC8=G8+P8C7C9=G9+P9C8=G9+P9G8+P9P8C7C10=G10+P10C9=G10+P10G9+P10P9G8+P10 P9P8C7C11=G11+P11C10=G11+P11G10+P11P10G9+P11P10 P9 G8+P11P10 P9P8C7你现在浏览的是第十页,共75页3.4 3.4 加法器和加法器和ALUALU单级先行进位单级先行进位这种进位方式就是将这种进位方式就是将n n位全加器分成若干个小组,位全加器分成若干个小组,小组内的进位同时产生,实行并行
9、进位,小组与小组内的进位同时产生,实行并行进位,小组与小组之间采用串行进位,这种进位又称为组内并小组之间采用串行进位,这种进位又称为组内并行、组间串行。行、组间串行。以以1616位加法器为例,可分为位加法器为例,可分为4 4组,每组组,每组4 4位。第位。第1 1组组组内的进位逻辑函数组内的进位逻辑函数C0 C0、C1 C1、C2C2、C3C3的表达式的表达式与前述相同,与前述相同,C0-C3C0-C3信号是同时产生的,实现上述进信号是同时产生的,实现上述进位逻辑函数的电路称之为四位先行进位电路位逻辑函数的电路称之为四位先行进位电路CLA(Carry Look Ahead)CLA(Carry
10、Look Ahead),其延迟时间是,其延迟时间是2ty2ty。你现在浏览的是第十一页,共75页3.4 3.4 加法器与加法器与ALUALU你现在浏览的是第十二页,共75页3.4 3.4 加法器和加法器和ALUALU多级先行进位多级先行进位下面以下面以16位的加法器为例,分析两级先行位的加法器为例,分析两级先行进位加法器的设计方法。进位加法器的设计方法。你现在浏览的是第十三页,共75页3.4 3.4 加法器和加法器和ALUALU3.4.2 ALU3.4.2 ALU电路电路为了实现算术为了实现算术/逻辑多功能运算,则必须逻辑多功能运算,则必须对全加器(对全加器(FA)的功能进行扩展,具体方)的功
11、能进行扩展,具体方法是:先不将输入法是:先不将输入Ai、Bi和下一位的进位和下一位的进位数数Ci直接进行全加,而是将直接进行全加,而是将Ai和和Bi先组合先组合成由控制参数成由控制参数S0、S1、S2、S3控制的组控制的组合函数合函数Xi、Yi,如图,如图3-16所示,然后再将所示,然后再将Xi、Yi和下一位进位数通过全加器进行全和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算的组合函数,因而能够实现多种算术运算和逻辑运算。和逻辑运算。你现在浏览的是第十四页,共75页3.4 3.4 加法器和加法器和ALU
12、ALU1 ALU1 ALU电路电路你现在浏览的是第十五页,共75页3.4 3.4 加法器和加法器和ALUALU1 ALU1 ALU电路电路你现在浏览的是第十六页,共75页3.4 3.4 加法器和加法器和ALUALU你现在浏览的是第十七页,共75页3.5 3.5 浮点数的运算方法浮点数的运算方法3.5.1 3.5.1 浮点加减运算浮点加减运算设两浮点数设两浮点数X X,Y Y实现实现 运算,其中:运算,其中:均为规格化数。均为规格化数。执行下面五步完成运算。执行下面五步完成运算。1.1.“对阶对阶”使两数阶码相等使两数阶码相等(对齐两数的小数点)对齐两数的小数点)要对阶,首先求出两数阶码要对阶,
13、首先求出两数阶码E EX X和和E EY Y之差,即之差,即若若0 0,表示两数阶码相等,即,表示两数阶码相等,即E EX XE EY Y。若若0 0,表示,表示E EX XE EY Y若若0 0,表示,表示E EX XE EY Y当当E EX XE EY Y时,要通过尾数的移位来改变时,要通过尾数的移位来改变E EX X或或E EY Y,使之相等。,使之相等。你现在浏览的是第十八页,共75页对阶的规则:对阶的规则:是小阶向大阶看齐(使得误差很小)是小阶向大阶看齐(使得误差很小)若若E EX XE EY Y,不需对阶。,不需对阶。若若E EX XE EY Y,则则M MY Y右移右移,每右移每
14、右移1 1位位,E,EY Y1 1E EY Y,直至直至E EX XE EY Y为止。为止。若若E EX XE EY Y,则则M MX X右移右移,每右移每右移1 1位位,E,EX X1 1E EX X,直至,直至E EX XE EY Y为止。为止。尾数右移后,应对尾数进行舍入。尾数右移后,应对尾数进行舍入。2.2.尾数加尾数加/减减你现在浏览的是第十九页,共75页规则:规则:(1 1)如果结果)如果结果两个符号位的值不同两个符号位的值不同,表示,表示尾数尾数结果结果溢出溢出,将,将尾数右移尾数右移1 1位位,阶码阶码E E1 1,称为,称为“向右规格化向右规格化”,简称,简称“右规右规”。(
15、2 2)如果结果)如果结果两个符号位的值相同两个符号位的值相同,表示,表示尾数尾数结果不溢出。但若结果不溢出。但若最高最高数值位与符号位相同数值位与符号位相同,此时,此时尾数连续左移尾数连续左移,直到最高数值位与符号位直到最高数值位与符号位的值不同为止的值不同为止。同时从。同时从E E中减去移位的位数中减去移位的位数,这称之为,这称之为“向左规格化向左规格化”,简称,简称“左规左规”。3.3.结果规格化结果规格化(尾数用双符号位补码表示尾数用双符号位补码表示)右规右规或或对阶对阶时时尾数低位上的数值会移掉尾数低位上的数值会移掉,使数值精度受影响,使数值精度受影响,常用常用“0 0”舍舍“1 1
16、”入法入法。当。当移掉的最高位为移掉的最高位为1 1时,在时,在尾数的末位加尾数的末位加1 1,如果,如果加加1 1后又使尾数溢出,则要进行右规后又使尾数溢出,则要进行右规。4.4.舍入舍入5.5.检查阶码是否溢出检查阶码是否溢出阶码下溢,则置结果为机器零。若上溢,则置溢出标志阶码下溢,则置结果为机器零。若上溢,则置溢出标志。你现在浏览的是第二十页,共75页规格化浮点数加减运算流程规格化浮点数加减运算流程你现在浏览的是第二十一页,共75页例题例题:两浮点数相加,求两浮点数相加,求X+YX+Y。已知:已知:X X2 2010 010 0.11011011 0.11011011,y y2 2100
17、 100 (-0.10101100)(-0.10101100)计算过程:计算过程:解:解:X X和和Y Y在机器中的浮点补码表示形式为在机器中的浮点补码表示形式为(双符号位双符号位):阶符阶符 阶码阶码 数符数符 尾数尾数 X X:0 0 0 1 0 0 0 1 1 0 1 1 0 1 10 0 0 1 0 0 0 1 1 0 1 1 0 1 1 Y Y:0 0 1 0 0 1 1 0 1 0 1 0 1 0 00 0 1 0 0 1 1 0 1 0 1 0 1 0 0(1 1)对阶操作对阶操作 阶差阶差EEExEx补补+-+-E EY Y 补补=00010+11100=11110=00010
18、+11100=11110 X X阶码小,阶码小,MxMx右移右移2 2位,保留阶码位,保留阶码E E0010000100。MxMx补补=00 00 110 110=00 00 110 110 1111 下划线上的数是右移出去而保留的附加位。下划线上的数是右移出去而保留的附加位。(2 2)尾数相加尾数相加 MxMx补补+M MY Y 补补=0000110110=00001101101111+1101010100=1110001010+1101010100=11100010101111。(3 3)规格化操作规格化操作 左规,移左规,移1 1位,结果:位,结果:1100010101 11000101
19、01 1010;阶码;阶码-1-1,E E0001100011。你现在浏览的是第二十二页,共75页(4 4)舍入)舍入附加位最高位为附加位最高位为1 1,在所得结果的最低位,在所得结果的最低位+1+1。得新结果:得新结果:MM补补=1100010110=1100010110,M M:-0-01110101011101010。(5 5)判溢出)判溢出 阶码符号位为阶码符号位为0000,故不溢出。,故不溢出。最终结果为:最终结果为:X+Y=2X+Y=2011 011 (-0(-011101010)11101010)你现在浏览的是第二十三页,共75页3.5.2 3.5.2 浮点数的乘除法运算(了解)
20、浮点数的乘除法运算(了解)1.1.乘法的步骤乘法的步骤 (1 1)阶码相加:若阶码用移码表示,应注意要减去一个偏)阶码相加:若阶码用移码表示,应注意要减去一个偏移量移量2 2n n.(2 2)尾数相乘:与定点小数乘法算法相同。)尾数相乘:与定点小数乘法算法相同。(3 3)尾数结果规格化)尾数结果规格化2.2.除法的步骤除法的步骤 (1 1)尾数调整:保证)尾数调整:保证M MX XM MY Y (2 2)阶码相加减)阶码相加减 (3 3)尾数相除)尾数相除你现在浏览的是第二十四页,共75页浮点乘法运算例题浮点乘法运算例题设 x=Sx2Ex ,Y=Sy2 Ey则 xY=(SxSy)2 Ex+Ey
21、浮点数乘法运算的规则为:乘积的阶码由两数阶码相加求得乘积的尾数等于被乘数和乘数的尾数之积可采用定点数乘方法可采用定点数乘方法(A A)需要对浮点数尾数积进行规格化(左规、右规:)需要对浮点数尾数积进行规格化(左规、右规:均是最多一位)均是最多一位)(B B)舍入:)舍入:0 0舍舍1 1入,若采用双倍字长乘积时,没有舍入,若采用双倍字长乘积时,没有舍入问题。入问题。你现在浏览的是第二十五页,共75页浮点乘法运算例题浮点乘法运算例题例例 已知已知 x=0.110000 x=0.1100001010101101,y=-0.111000y=-0.1110001010100100,设阶码数值,设阶码数
22、值部分各取部分各取5 5位,阶符位,阶符2 2位;尾数数值部分各取位;尾数数值部分各取6 6位,尾符位,尾符2 2位,位,按机器浮点数运算步骤,求按机器浮点数运算步骤,求xyxy。解解 :(1)(1)求阶和求阶和 EEx x 补补=00 00101 E=00 00101 Ey y 补补=00 00100=00 00100 E E补补=E=Ex x 补补 +E+Ey y 补补 =00 01001=00 01001(2)(2)尾数相乘尾数相乘 可利用原码或补码定点数乘法求尾数之乘积,可得可利用原码或补码定点数乘法求尾数之乘积,可得 SSx xS Sy y 原原 =1.101010000000=1.
23、101010000000 或或 SSx xS Sy y 补补 =1.010110000000=1.010110000000你现在浏览的是第二十六页,共75页浮点乘法运算例题浮点乘法运算例题(3)(3)规格化规格化 SSx xSSy y 原原或或SSx xSSy y 补补已是规格化形式,勿需规已是规格化形式,勿需规格化。格化。(4)(4)舍入舍入 若取单字长乘积,可得若取单字长乘积,可得SSx xSSy y 原原=1.101010=1.101010或或SSx xSSy y 补补=1.010110=1.010110,所以,所以 xyxy原原=1.10101010=1.101010100001001
24、0001001 xy xy补补=1.01011010=1.0101101000010010001001 得得 xy=-0.101010 xy=-0.101010101010011001=-101010000=-101010000你现在浏览的是第二十七页,共75页 作业作业:设设 A=0.101101 2-3,B=0.101001 2-2,首先将首先将A、B表示为规格化表示为规格化的浮点数;的浮点数;你现在浏览的是第二十八页,共75页 要求阶码用要求阶码用4位(含阶符位(含阶符号)移码表示,尾数用号)移码表示,尾数用8位位(含浮点数的符号)补码表(含浮点数的符号)补码表示;再写出示;再写出A+B
25、的计算步骤的计算步骤和每一步的运算结果。和每一步的运算结果。你现在浏览的是第二十九页,共75页答案:答案:0.101101 2-3的浮点数的格的浮点数的格式:式:1 0101 1011010 101001 2-2 的浮点数的格的浮点数的格式:式:0 0110 1010010你现在浏览的是第三十页,共75页 计算计算A+B:(1)求阶差:求阶差:E =01010110 =0001(2)对阶:对阶:A变为变为 1 0110 01011010你现在浏览的是第三十一页,共75页(3)尾数相加,用双符号位尾数相加,用双符号位 11 10100110 +00 1010010 00 0100101(4)规格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浮点 运算 加法器 优秀 PPT
限制150内