《计算机组成原理第4章:浮点数运算方法》由会员分享,可在线阅读,更多相关《计算机组成原理第4章:浮点数运算方法(68页珍藏版)》请在金锄头文库上搜索。
1、第4章 浮点运算规则浮点加减运算浮点乘除法运算计算机组成原理第4章:浮点数运算方法浮点数的表示n机器中任何一个浮点数可写成:nMx为浮点数的尾数,一般为绝对值小于1的规格化数(补码表示时允许为-1),机器中可用原码或补码表示。nEx为浮点数的阶码,一般为整数,机器中大多用补码或移码表示。nR为浮点数的基数,常用2、8 、10或16表示。以下以基数为2进行讨论。 计算机组成原理第4章:浮点数运算方法浮点加减运算n设两个浮点数 尾数的加减运算规则与定点数完全相同。当两浮点数阶码不等时,因两尾数小数点的实际位置不一样,尾数部分无法直接进行加减运算。如:x=0.123103 y=4.56102 = 0
2、.456103计算机组成原理第4章:浮点数运算方法浮点加减运算的步骤1.对阶,使两数的小数点位置对齐。2.尾数求和,将对阶后的两尾数按定点加减运算规则求和(差)。3.规格化,为增加有效数字的位数,提高运算精度,必须将求和(差)后的尾数规格化。4.舍入,为提高精度,要考虑尾数右移时丢失的数值位。5.判断结果 ,即判断结果是否溢出 计算机组成原理第4章:浮点数运算方法1. 对阶n这一步操作是将两个加数的小数点对齐。n小阶向大阶看齐,阶码较小的数,其尾数向右移,每右移一位,阶码加“1”,直到两数阶码相同为止。n尾数右移时可能会发生数码丢失,影响精度。计算机组成原理第4章:浮点数运算方法n例:两浮点数
3、例:两浮点数 x = 0.11012 x = 0.110120101, y = -(0.1010)2 y = -(0.1010)21111,求,求x+yx+y。(1)首先写出x、y在计算机中的补码表示。x补=00,01;00.1101,y补=00,11;11.0110 阶码EX 尾数Mx Ey My(2)在进行加法前,必须先对阶,故先求阶差:E补=Ex补-Ey补=Ex补+-Ey补 = 00,01+11,01=11,10 即E=-2,表示x的阶码比y的阶码小,再按小阶向大阶看齐的原则,将x的尾数右移两位,其阶码加2。得x补=00,11;00.0011(01)此时,E=0,表示对阶完毕。计算机组成
4、原理第4章:浮点数运算方法2. 尾数求和n将对阶后的两个尾数按定点加(减)运算规则进行运算。n注意:并不考虑溢出溢出由阶码决定 接上例,两数对阶后得:x补=00,11;00.0011(01)y补=00,11;11.0110 则Mx+My补=00.0011+11.0110=11.1001(01)即x+y补=00,11;11.1001(01)计算机组成原理第4章:浮点数运算方法3. 规格化n如果采用双符号位的补码,则当M0时,其补码规格化形式为 M补=00.1 当M0时,其补码规格化形式为 M补=11.0 n但对M0时,有两种情况需特殊处理。M=-1/2,则M补=11.1000。对于补码而言,它不
5、满足于上面的规格化表示式。为了便于硬件判断,特规定-1/2是规格化的数(对补码而言)。M=-1,则M补=11.0000。因小数补码允许表示-1,故-1视为规格化的数。 计算机组成原理第4章:浮点数运算方法n规格化又分左规和右规两种。左规。当尾数出现00.0或11.1时,需左规。左规时尾数左移一位,阶码减1,直到符合补码规格化表示式为止。右规。当尾数出现01.或10.时,表示尾数溢出,这在定点加减运算中是不允许的,但在浮点运算中这不算溢出,可通过右规处理。右规时尾数右移一位,阶码加1。 接上例,求和结果为x+y补=00,11;11.1001(01) 尾数的第一数值位与符号位相同,需左规,即将其左
6、移一位,同时阶码减1,得x+y补=00,10;(1)11.0010(1)。计算机组成原理第4章:浮点数运算方法4. 舍入n在对阶和右规的过程中,可能会将尾数的低位丢失,引起误差,影响精度,为此可用舍入法来提高尾数的精度。 n进行舍入时应满足两个要求n首先,对每一次运算的结果而言,要保证误差不超过给定的范围。比如,设机器尾数长39位,要求每次运算误差不超过末位(即第39位)的“1”,即小于 2-39。n其次在大量的运算过程中要保证误差的平衡,即在每一次运算时,由于舍入处理,可能使运算结果增大了,也可能减少了。但总的说来,增加和减少的机会必需是均等的,否则会产生很大的积累误差。计算机组成原理第4章
7、:浮点数运算方法4. 舍入常用的舍入方法n“0舍1入”法:“0舍1入”法类似于十进制运算中的“四舍五入”法,即在尾数右移时,被移去的最高数值位为0,则舍去;被移去的最高数值位为1,则在尾数的末位加1。这样做可能使尾数又溢出,此时需再做一次右规。n特点:最大误差是最低位上的-1/2到接近于1/2之间,正误差可以和负误差抵消。属于比较理想的方法,但实现起来比较复杂。 如上例: x+y补=00,10;(1)11.0010(1) = 00,10;11.0011n“恒置1”法:尾数右移时,不论丢掉的最高数值位是“1”或“0”,都使右移后的尾数末位恒置“1”。这种方法同样有使尾数变大和变小的两种可能。n特
8、点:误差范围扩大,但正负误差可以相互抵消,实现相对容易。计算机组成原理第4章:浮点数运算方法5. 溢出判断n在浮点规格化中已指出,当尾数之和(差)出现01.或10.时,并不表示溢出,只有将此数右规后,再根据阶码来判断浮点运算结果是否溢出。n若机器数为补码,尾数为规格化形式,并假设阶符取2位,阶码取7位,数符取2位,尾数取n位,则它们能表示的补码在数轴上的表示范围如下图。 A最小负数最小负数 2+127(-1)B最大正数最大正数 2+127(1-2-n)a最大负数最大负数 2-128(-2-1-2-n)b最小正数最小正数 2-1282-1 计算机组成原理第4章:浮点数运算方法n浮点机的溢出与否可
9、由阶码的符号决定。即阶码E补=01,为上溢。阶码E补=10,为下溢,按机器零处理。当阶符为“01”时,需做溢出处理。n下溢时,浮点数值趋于零,故机器不做溢出处理,仅把它作为机器零。n上溢时才是浮点数真正溢出,机器需停止运算,作溢出中断处理。n一般所说的浮点溢出,均是指上溢。计算机组成原理第4章:浮点数运算方法n例:设x=2-101(-0.101000),y=2-100(+0.111011),并假设阶符取2位,阶码取3位,数符取2位,尾数取6位,求x-y。 n解:由x=2-101(-0.101000),y=2-100(+0.111011) 得x补=11,011;11.011000,y补=11,1
10、00;00.111011对阶 E补=Ex补-Ey补=11,011+00,100=11,111 即E=-1,则x的尾数向右移一位,阶码相应加1,即 x补=11,100;11.101100求和Mx补-My补=Ex补+-Ey补 =11.101100+11.000101 =10.110001 即 x-y补=11,100;10.110001 尾数符号位出现“10”,需右规。计算机组成原理第4章:浮点数运算方法n(续) :即 x-y补=11,100;10.110001, 尾数符号位出现“10”,需右规。 规格化 右规后得 x-y补=11,101;(1)1.011000(1)舍入处理 采用0舍1入法,其尾数
11、右规时末位丢1,则 x-y补=11,101;11.011001溢出判断 经舍入处理后阶符为“11”,不溢出,故最终结果: x-y= 2-011(-0.100111)计算机组成原理第4章:浮点数运算方法浮点数加减运算流程图 计算机组成原理第4章:浮点数运算方法浮点加减法运算1.大型计算机和高档微型机中,浮点加减法运算是由硬件完成的。低档的微型机浮点加减法运算是由软件完成的,但无论用硬件实现或由软件实现加减法运算,基本原理是一致的。2.浮点加减法运算要经过对阶、尾数求和、规格化、舍入和溢出判断五步操作。其中尾数运算与定点加减法运算相同,而对阶、舍入、规格化和溢出判断,则是浮点加减法与定点加减法运算
12、不同的操作。3.在补码浮点运算中,阶码与尾数可以都用补码表示。在硬件实现的运算中,阶符和数符常常采取双符号位,正数数符用00表示,负数数符用11表示。计算机组成原理第4章:浮点数运算方法浮点乘除法运算n设两浮点数 n则 1.阶码运算2.尾数运算计算机组成原理第4章:浮点数运算方法1. 阶码运算n若阶码用补码运算,乘积的阶码为jx补+jy补,商的阶码为jx补-jy补。n若阶码用移码运算,则 jx移=2n+ jx -2njx2n (n为整数的位数) jy移=2n+ jy -2njy2n (n为整数的位数) 所以jx移+jy移= 2n+ jx +2n+ jy = 2n+ (2n +( jx + jy
13、)= 2n+jx + jy移 可见,直接用移码求阶码和时,其最高位多加了一个2n,要得到移码形式的结果,必须减去2n。 计算机组成原理第4章:浮点数运算方法由于同一个真值的移码和补码其数值部分完全相同,而符号位正好相反,即 jy补=2n+1+ jy (mod 2n+1)n因此如果求阶码和可用下式完成: jx移+jy补= 2n+ jx +2n+1+ jy = 2n+ 2n +( jx + jy) = jx + jy移 (mod 2n+1) 则直接可得移码形式。n同理,当作除法运算时,商的阶码可用下式完成: jx移+-jy补 = jx - jy移计算机组成原理第4章:浮点数运算方法阶码运算n阶码运
14、算方法:进行移码加减运算时,只需将移码表示的加数或减数的符号位取反(即变为补码),然后进行运算,就可得阶和(或阶差)的移码。 n溢出判断:在原有移码符号位的前面(即高位)再增加位符号位,并规定该位恒用“0”表示,而加数或减数的补码的两位符号位则一致。n溢出的条件是运算结果移码的最高符号位为1。此时若低位符号位为0,表示上溢;低位符号位为1,表示下溢。n如果运算结果移码的最高符号位为0,即表明没溢出。此时若低位符号位为1,表明结果为正:低位符号位为0,表示结果为负。计算机组成原理第4章:浮点数运算方法阶码运算n溢出判断举例:n设阶码取三位(不含符号位), 当jx=+101,jy=+110时,有j
15、x移=01,101, jy补=00,110则: jx +jy移=jx移+ jy补=01,101+00,110=10,001 结果上溢 jx -jy移=jx移+ -jy补=01,101+11,100=01,001 结果+1计算机组成原理第4章:浮点数运算方法2. 尾数运算n(1)浮点乘法尾数运算n(2)浮点除法尾数运算 计算机组成原理第4章:浮点数运算方法(1)浮点乘法尾数运算n预处理:检测两个尾数中是否有一个为0,若有一个为0,乘积必为0,不再作其他操作;如果两尾数均不为0,则可进行乘法运算。 n相乘:两个浮点数的尾数相乘可以采用定点小数的任何一种乘法运算来完成。 n规格化:相乘结果可能要进行
16、左规,左规时调整阶码后如果发生阶下溢,则作机器零处理;如果发生阶上溢,则作溢出处理。计算机组成原理第4章:浮点数运算方法n尾数截断:尾数相乘会得到一个双倍字长的结果,若限定只取1倍字长,则乘积的若干低位将会丢失。如何处理丢失的各位值,通常有两种办法。n截断处理:无条件的丢掉正常尾数最低位之后的全部数值。n舍入处理:按浮点加减运算讨论的舍入原则进行舍入处理。 计算机组成原理第4章:浮点数运算方法(1)浮点乘法尾数运算n舍入处理n对于原码,采用0舍1入法时,不论其值是正数或负数,“舍”使数的绝对值变小,“入”使数的绝对值变大。n对于补码,采用0舍1入法时,若丢失的位不是全0,对正数来说,“舍”、“
17、入”的结果与原码正好相同;对负数来说,“舍”、“入”的结果与原码分析正好相反,即“舍”使绝对值变大,“入”使绝对值变小。n为了使原码、补码舍入处理后的结果相同,对负数的补码可为了使原码、补码舍入处理后的结果相同,对负数的补码可采用如下规则进行舍入处理。采用如下规则进行舍入处理。n当丢失的各位均为当丢失的各位均为0 0时,不必舍入;时,不必舍入;n当丢失的各位数中的最高位为当丢失的各位数中的最高位为0 0时,且以下各位不全为时,且以下各位不全为0 0;或;或丢失的各位数中的最高位为丢失的各位数中的最高位为1 1,且以下各位均为,且以下各位均为0 0时,则舍去被时,则舍去被丢失的各位;丢失的各位;
18、n当丢失的各位数中的最高位为当丢失的各位数中的最高位为1 1,且以下各位又不全为,且以下各位又不全为0 0时;时;则在保留尾数的最末位加则在保留尾数的最末位加1 1修正。修正。 计算机组成原理第4章:浮点数运算方法n舍入操作实例x补舍入前舍入后对应的真值1.011100001.011110001.011101011.011111001.0111(不舍不入)1.0111 (舍)1.0111 (舍)1.1000 (入)-0.1001-0.1001-0.1001-0.1000对负数的补码可采用如下规则进行舍入处理。当丢失的各位均为0时,不必舍入;当丢失的各位数中的最高位为0时,且以下各位不全为0;或
19、丢失的各位数中的最高位为1,且以下各位均为0时,则舍去被丢失的各位;当丢失的各位数中的最高位为1,且以下各位又不全为0时;则在保留尾数的最末位加1修正。 x原舍入前舍入后对应的真值1.100100001.100010001.100010111.100001001.1001(不舍不入)1.1001 (入)1.1001 (入)1.1000 (舍)-0.1001-0.1001-0.1001-0.1000计算机组成原理第4章:浮点数运算方法浮点乘法运算举例 n例:设机器数阶码取3位(不含阶符),尾数取7位(不舍数符),要求阶码用移码运算,尾数用补码运算,最后结果保留1倍字长。 n设x=2-1010.0
20、110011),y=2011(-0.1110010) 求: x y。n解:x补=11,011;00.0110011 y补=00,011;11.0001110阶码运算jx移=00,011, jy补=00,011 jx+jy移=jx移+jy补=00,011+00,011=00,110 对应真值-2计算机组成原理第4章:浮点数运算方法浮点乘法运算举例(续)n尾数相乘(采用Booth算法)其过程如下表所示。部分积部分积乘乘数数yn+1说说明明00.000000000.0000000+11.10011011.000111001000111001位位+-Sx补补11.100110111.110011011
21、.111001111.1111001+00.011001101010001101010001101010001111位位1位位1位位+Sx补补00.010110000.001011000.000101100.0000101+11.100110110100101010000101010100101010001位位1位位1位位+-Sx补补11.1010010相乘的结果为:SxSy补=11.110 计算机组成原理第4章:浮点数运算方法浮点乘法运算举例(续) 即xy补=11,110;11.110n 规格化。左规后xy补=11,101;11.100 n舍入处理。尾数为负,按负数的补码的舍入规则,取1倍字
22、长,丢失的7位为0010100,应“舍”。 故最终的结果为:xy补=11,101;11.0100101 即:xy= 2-011(-0.1011011) 计算机组成原理第4章:浮点数运算方法(2)浮点除法尾数运算n步骤:检测被除数是否为0,若为0,则商为0;再检测除数是否为0,若为0,则商为无穷大,另作处理。若两数均不为0,则可进行除法运算。两浮点数尾数相除同样可采取定点小数的任何一种除法运算来完成。对已规格化的尾数,为了防止除法结果溢出,可先比较对已规格化的尾数,为了防止除法结果溢出,可先比较被除数和除数的绝对值,如果被除数的绝对值大于除数被除数和除数的绝对值,如果被除数的绝对值大于除数的绝对
23、值,则先将被除数右移一位,其阶码加的绝对值,则先将被除数右移一位,其阶码加1 1,再作,再作尾数相除。尾数相除。此时所得结果必然是规格化的定点小数。此时所得结果必然是规格化的定点小数。 计算机组成原理第4章:浮点数运算方法浮点除法尾数运算例题n例: x=21010.1001,y=2011(-0.1101),按补码浮点运算方法求xy。n解:x补=00,101;00.1001, y补=00,011;11.0011, -Sy补=00.1101阶码相减。jx补-jy补=00,101-00,011=00,101+11,101=00,010 尾数相除(采用补码除法)。计算机组成原理第4章:浮点数运算方法浮
24、点除法尾数运算例题(续)n尾数相除(采用补码除法)。 结果为SxSy=1.0101规格化。尾数相除结果已为规格化数。所以xy补=00,010;11.0101,则xy=2010(-0.1011)被除数(余数)商说 明 00.1001 + 11.0011Sx补与Sy 补异号,+Sy补 11.1100 11.1000 + 00.1101 1 1R补与Sy 补同号,上商11位+-Sy补 00.0101 00.1010 + 11.0011 1 0 1 0R补与Sy 补异号,上商01位+Sy补 11.1101 11.1010 + 00.1101 1 0 1 1 0 1R补与Sy 补同号,上商11位+-Sy
25、补 00.0111 + 00.1110 1 0 1 0 1 0 1 0 1R补与Sy 补异号,上商01位,末位商恒置1计算机组成原理第4章:浮点数运算方法浮点乘除法运算1.两浮点数相乘其乘积的阶码为相乘两数阶码之和,其尾数应为相乘两数的尾数之积。2.两个浮点数相除,商的阶码为被除数的阶码减去除数的阶码得到的差,尾数为被除数的尾数除以除数的尾数所得的商。3.参加运算的两个数都为规格化浮点数,乘除运算都可能出现结果不满足规格化要求的问题,因此也必须进行规格化、舍入和溢出判断等操作。规格化时要修改阶码。计算机组成原理第4章:浮点数运算方法浮点运算所需的硬件配置n浮点运算器主要由两个定点运算部件组成:
26、n阶码运算部件:用来完成阶码加、减,以及控制对阶时小阶的尾数右移次数和规格化时对阶码的调整。n尾数运算部件:用来完成尾数的四则运算以及判断尾数是否已规格化。n此外,还需有判断运算结果是否溢出的电路等。n现代计算机可把浮点运算部件做成独立的选件,称为协处理器。n浮点协处理器Inte l80287可与Intel 80286或80386微处理器配合处理浮点数的算术运算和多种函数计算。n也可用编程的办法来完成浮点运算,不过这会影响机器的运算速度。计算机组成原理第4章:浮点数运算方法 算术逻辑单元ALU电路、快速进位链 计算机组成原理第4章:浮点数运算方法ALU电路nAi和Bi为输入变量;Ki为控制信号
27、,Ki的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;Fi是输出函数。 计算机组成原理第4章:浮点数运算方法74181ALU集成电路芯片n74181是能完成四位二进制代码的算逻运算部件,其外特性如下图所示。正逻辑工作方式正逻辑工作方式负逻辑工作方式负逻辑工作方式正逻辑中,“1”用高电平表示,“0”用低电平表示,而负逻辑刚好相反。正逻辑与负逻辑的关系为:正逻辑的“与”到负逻辑中变为“或”,即”+”、”互换。计算机组成原理第4章:浮点数运算方法74181ALU集成电路芯片注意:注意:ALUALU为组合为组合逻辑电路,因此逻辑电路,因此实际应用实际应用ALUALU时,时,其输入端口其输入端口
28、A A和和B B必须与锁存器相必须与锁存器相连,而且在运算连,而且在运算的过程中锁存器的过程中锁存器的内容是不变的。的内容是不变的。其输出也必须送其输出也必须送至寄存器中保存。至寄存器中保存。 计算机组成原理第4章:浮点数运算方法29C101芯片n将寄存器和ALU集成导一个芯片内。计算机组成原理第4章:浮点数运算方法快速进位链 n问题:随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大。1.并行加法器 多位加法器2.串行进位链 3.并行进位链 n单重分组跳跃进位n即:单级分组 n双重分组跳跃进位 计算机组成原理第4章:浮点数运算方法快速进位链 n问题:随着操作数位数的增加,电路中进位
29、的速度对运算时间的影响也越大。1.并行加法器 多位加法器2.串行进位链 3.并行进位链 n单重分组跳跃进位n即:单级分组 n双重分组跳跃进位 计算机组成原理第4章:浮点数运算方法半加器(半加器(halfadder)COSCAB不考虑进位将两个一位二进制数A和B相加。计算机组成原理第4章:浮点数运算方法全加器(全加器(fulladder)n其输入不仅有两个其输入不仅有两个1位二进制数相加,还位二进制数相加,还需加上低位送来的进位。需加上低位送来的进位。COSCABCICI计算机组成原理第4章:浮点数运算方法双全加器双全加器74LS182的的1/2逻辑图逻辑图计算机组成原理第4章:浮点数运算方法1
30、. 并行(多位)加法器nn+1个全加器级联,就组成了一个n+1位的并行加法器(行波进位加法器)。 由于每位全加器的进位输出是高一位全加器的进位输入,因此当全加器有进位时,这种一级一级传递进位的过程,将会大大影响运算速度。 计算机组成原理第4章:浮点数运算方法并行加法器n分析:由全加器的逻辑表达式可知,nCi进位有两部分组成:本地进位AiBi,可记作di,与低位无关;传递进位(AiBi)Ci-1,与低位有关,称(AiBi)为传递条件,记作ti,则:n由Ci的组成可以将逐级传递进位的结构转换为以进位链的方式实现快速进位。目前进位链通常采用串行和并行两种。 计算机组成原理第4章:浮点数运算方法2.
31、串行进位链n串行进位链是指并行加法器中的进位信号采用串行传递。 n以四位并行加法器为例,每一位的进位表达式可示为:n由上式可见,采用与非逻辑电路可方便地实现进位传递,如下图所示。注意:A+B =( -A * -B)计算机组成原理第4章:浮点数运算方法串行进位链n延迟时间分析:n若设与非门的级延迟时间为ty,那么当di、ti形成后,共需8ty使可产生最高位的进位。n实际上每增加一位全加器,进位时间就会增加2ty。n位全加器的最长进位时间为2nty。 计算机组成原理第4章:浮点数运算方法3. 并行进位链n并行进位链是指并行加法器中的进位信号是同时产生的,又称先行进位、跳跃进位等。n超前进位加法器n
32、通常并行进位链有单重分组和双重分组两种实现方案。 n理想的并行进位链是n位全加器的n位进位同时产生,但实际实现有困难。计算机组成原理第4章:浮点数运算方法(1)单重分组跳跃进位n单重分组跳跃进位:将M位全加器分成若干小组,小组内的进位同时产生,小组与小组之间采用串行进位。n又称为“组内并行、组间串行”进位。 n以四位并行加法器为例,对其进位表示式稍作变换,便可获得并行进位表达式: 计算机组成原理第4章:浮点数运算方法四位一组并行进位n对应的逻辑图为: 设与或非门的级延迟时间为1.5ty,与非门的级延迟时间仍为1ty,则di、ti形成后,只需2.5ty就可产生全部进位。 计算机组成原理第4章:浮
33、点数运算方法单重分组跳跃进位n如果将16位的全加器按四位一组分组,便可得单重分组跳跃进位链框图在di、ti形成后,经2.5ty可产生C3、C2、C3、C3四个进位信息,经10ty就可产生全部进位。如前所示,n=16的串行进位链的全部进位时间为32ty,则16位全加器的单重分组方案进位时间仅约为串行进位链的三分之一。计算机组成原理第4章:浮点数运算方法单重分组跳跃进位n缺点:但随着n的增大,其优势便很快减弱。n例如,n=64,4位分组,共为16组:组间有16位串行进位,在di、ti形成后,还需经162.5 40ty才能产生全部进位,显然进位时间太长。n如果能使组间进位也同时产生,必然会更大地提高
34、进位速度,这就是组内、组间均为并行进位的方案。 计算机组成原理第4章:浮点数运算方法(2)双重分组跳跃进位n双重分组跳跃进位原理:将n位全加器分成几个大组每个大组又包含几个小组每个大组内所包含的各个小组的最高位进位是同时形成的,大组与大组间采用串行进位。 n各小组最高位进位是同时形成的,小组内的其他进位也是同时形成的n故又有“组内并行、组间并行”之称n注意:两小组内的其他进位与小组的最高位进位并不是同时产生的,。 计算机组成原理第4章:浮点数运算方法双重分组跳跃进位n32位并行加法器双重分组跳跃进位链的框图 分两大组,每个大组内包含4个小组,第一大组内的4个小组的最高位进位C31、C27、C2
35、3、C19是同时产生的;第二大组内4个小组的最高位进位C15、C11、C7、C3也是同时产生的,而第二大组向第一大组的进位C15采用串行进位方式。 计算机组成原理第4章:浮点数运算方法双重分组跳跃进位n32位并行加法器双重分组跳跃进位链的框图 以第二大组为例,分析各进位的逻辑关系。 D8与本小组内的di、ti有关,不依赖外来进C-1,故称D8为第八小组的本地进位, T8 是将低位进位C-1传到高位小组的条件,故称T8为第八小组的传送条件。 计算机组成原理第4章:浮点数运算方法双重分组跳跃进位n32位并行加法器双重分组跳跃进位链的框图 以第二大组为例,分析各进位的逻辑关系。 同理可写出第五、六、
36、七小组的最高位进位表达式: 计算机组成原理第4章:浮点数运算方法双重分组跳跃进位n进一步展开又得: 可得大组跳跃进位链 : 由图可见,当由图可见,当D Di i、T Ti i(i=5(i=58)8)及外来进及外来进位位C C-1-1形成后,再经过形成后,再经过2.52.5t ty y便可同时产生便可同时产生C Cl5l5、C C1111,C C7 7、C C3 3。 计算机组成原理第4章:浮点数运算方法双重分组跳跃进位nDi和Ti它们都是由小组产生的,按其逻辑表达式可画出相应的电路如下图所示。 每小组可产生本小组的本地进位每小组可产生本小组的本地进位D Di i和传送条件和传送条件T Ti i
37、以及组以及组内的各低位进位,但不能产生组内最高位进位,即内的各低位进位,但不能产生组内最高位进位,即第五组形成第五组形成D D5 5、T T5 5、C C1414、C C1313、C C1212,不产生,不产生C C1515;第六组形成第六组形成D D6 6、T T6 6、C C1010、C C9 9、C C8 8,不产生,不产生C C1111;第七组形成第七组形成D D7 7、T T7 7、C C6 6、C C5 5、C C4 4,不产生,不产生C C7 7;第八组形成第八组形成D D8 8、T T8 8、C C2 2、C C1 1、C C0 0 ,不产生不产生C C3 3。计算机组成原理第
38、4章:浮点数运算方法双重分组跳跃进位n由大组跳跃进位链和小组跳跃进位链的线路可构成16位加法器的双重分组跳跃进位链框图。从从D Di i、T Ti i、及、及C C-1-1( (外外来进位来进位) )形成后开始形成后开始后,后,经经2.52.5T Ty y:形成形成C C2 2、C C1 1、C C0 0和全部和全部D Di i、T Ti i;再经再经2.52.5T Ty y :形成大形成大组内的四个进位组内的四个进位C Cl5l5、C Cl1l1、C C7 7、C C3 3;再经过再经过2.52.5T Ty y :形成形成第五、六、七小组的第五、六、七小组的其余进位其余进位C Cl4l4、C
39、 C1313、C C1212、C C1010、C C9 9、C C8 8、C C6 6、C C5 5、C C4 4,可见,按双重分组设计可见,按双重分组设计n=16n=16的进位链,最长的进位链,最长进位时间为进位时间为7.57.5T Ty y,比单重分组进位链又省,比单重分组进位链又省了了2.52.5T Ty y。随着。随着n n的增大,双重分组的优越性的增大,双重分组的优越性显得格外突出。显得格外突出。计算机组成原理第4章:浮点数运算方法双重分组跳跃进位n32位并行加法器双重分组跳跃进位链的框图 从从D Di i、T Ti i、及、及C C-1-1( (外来进位外来进位) )形成后开始后,
40、形成后开始后,经经2.52.5T Ty y:形成形成C C2 2、C C1 1、C C0 0和全部和全部D Di i、T Ti i;再经再经2.52.5T Ty y :形成第二大组内的四个进位形成第二大组内的四个进位C Cl5l5、C Cl1l1、C C7 7、C C3 3;再经过再经过2.52.5T Ty y :形成形成C Cl8l81616、 C Cl4l41212、C C10108 8、C C6 6C C4 4、C C3131、C C2727、C C2323、C C1919;再经过再经过2.52.5T Ty y :形成形成C C30302828、 C C26262424、C C22222
41、020。计算机组成原理第4章:浮点数运算方法进位方案选择和实例n机器究竟采用哪种方案,每个小组内应包含几位,应根据运算速度指标及所选元件等诸方面团素综合考虑。n74181芯片是4位ALU电路,其四位进位是同时产生的,多片74181级联就犹如本节介绍的单重分组跳跃进位,即组内(74181片内)并行,组间(74181片间)串行。 计算机组成原理第4章:浮点数运算方法进位方案选择和实例n74182为先行进位部件,将74181与74182芯片配合,就可组成双重分组跳跃进位链。n两片74182和8片74181组成32位ALU电路。计算机组成原理第4章:浮点数运算方法本章小结1.数据的表示方法和转换2.无
42、符号数和有符号数3.数的定点表示和浮点表示4.定点运算5.浮点四则运算6.算术逻辑单元ALU计算机组成原理第4章:浮点数运算方法作业n第291页294页:4、5、7、9、12、19(1)、19(4)、20(1)、21(1)、24(1)、25(1)、27(1)、28(1)、30(2)。n报告:编写一个完成原码、补码四则运算(定点、浮点)的仿真程序。n输入:x,yn输出:演示运算每个步骤的流程图。计算机组成原理第4章:浮点数运算方法计算机组成原理第4章:浮点数运算方法此课件下载可自行编辑修改,供参考!此课件下载可自行编辑修改,供参考!感谢你的支持,我们会努力做得更好!感谢你的支持,我们会努力做得更好!