浮点数运算方法

上传人:su****e 文档编号:243269993 上传时间:2024-09-19 格式:PPT 页数:67 大小:1.58MB
返回 下载 相关 举报
浮点数运算方法_第1页
第1页 / 共67页
浮点数运算方法_第2页
第2页 / 共67页
浮点数运算方法_第3页
第3页 / 共67页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,6.4,浮点四则运算,浮点加减运算,浮点乘除法运算,浮点数的表示,机器中任何一个浮点数可写成:,M,x,为浮点数的尾数,,一般为绝对值小于,1,的规格化数,(,补码表示时允许为,-1),,机器中可用原码或补码表示。,E,x,为浮点数的阶码,,一般为整数,机器中大多用补码或移码表示。,R,为浮点数的基数,,常用,2,、,8,、,10,或,16,表示。以下以基数为,2,进行讨论。,浮点加减运算,设两个浮点数,尾数的加减运算规则与定点数完全相同。,当两浮点数阶码不等时,因两尾数小数点的实际位置不一样,尾数部分无法直接进行加减运算。如:,x=0.123,10,3,y=4.5610,2,= 0.45610,3,浮点加减运算的步骤,对阶,使两数的小数点位置对齐。,尾数求和,将对阶后的两尾数按定点加减运算规则求和,(,差,),。,规格化,为增加有效数字的位数,提高运算精度,必须将求和,(,差,),后的尾数规格化。,舍入,为提高精度,要考虑尾数右移时丢失的数值位。,判断结果 ,即判断结果是否溢出,1.,对阶,这一步操作是将两个加数的小数点对齐。,小阶向大阶看齐,阶码较小的数,其尾数向右移,每右移一位,阶码加“,1”,,直到两数阶码相同为止。,尾数右移时可能会发生数码丢失,影响精度。,例:两浮点数,x = 0.11012,01,,,y = -(0.1010)2,11,,求,x+y,。,(,1,),首先写出,x,、,y,在计算机中的补码表示。,x,补,=00,01;00.1101,,,y,补,=00,11;11.0110,E,X,M,x,E,y,M,y,(,2,)在进行加法前,必须先对阶,故先求阶差:,E,补,=E,x,补,-,E,y,补,=E,x,补,+-,E,y,补,= 00,01+11,01=11,10,即,E=-2,,,表示,x,的阶码比,y,的阶码小,再按小阶向大阶看齐的原则,将,x,的尾数右移两位,其阶码加,2,。,得,x,补,=00,11;00.0011(,01,),此时,,E=0,,,表示对阶完毕。,2.,尾数求和,将对阶后的两个尾数按定点加,(,减,),运算规则进行运算。,注意:并不考虑溢出,溢出由阶码决定,接上例,两数对阶后得:,x,补,=00,11;00.0011,y,补,=00,11;11.0110,则,S,x,+S,y,补,=00.0011+11.0110=11.1001,即,x+y,补,=00,11;11.1001,3.,规格化,尾数,S,的规格化是指尾数满足条件:,如果采用双符号位的补码,则,当,S0,时,其补码规格化形式为,S,补,=00.1,当,S0,时,其补码规格化形式为,S,补,=11.0,但对,S0,时,有两种情况需特殊处理。,S=-1/2,,则,S,补,=11.1000,。对于补码而言,它不满足于上面的规格化表示式。为了便于硬件判断,特规定,-1/2,是规格化的数,(,对补码而言,),。,S=-1,,则,S,补,=11.0000,。因小数补码允许表示,-1,,故,-1,视为规格化的数。,规格化又分左规和右规两种。,左规。当尾数出现,00.0,或,11.1,时,需左规。左规时尾数左移一位,阶码减,1,,直到符合补码规格化表示式为止。,右规。当尾数出现,01.,或,10.,时,表示尾数溢出,这在定点加减运算中是不允许的,但在浮点运算中这不算溢出,可通过右规处理。右规时尾数右移一位,阶码加,1,。,接上例,求和结果为,x+y,补,=00,11;11.1001,尾数的第一数值位与符号位相同,需左规,即将其左移一位,同时阶码减,1,,得,x+y,补,=00,10;11.0010,。,4.,舍入,在对阶和右规的过程中,可能会将尾数的低位丢失,引起误差,影响精度,为此可用舍入法来提高尾数的精度。,进行舍入时应满足两个要求,首先,对每一次运算的结果而言,要保证误差不超过给定的范围。比如,设机器尾数长,39,位,要求每次运算误差不超过末位(即第,39,位)的“,1”,,即小于,2,-39,。,其次在大量的运算过程中要保证误差的平衡,即在每一次运算时,由于舍入处理,可能使运算结果增大了,也可能减少了。但总的说来,增加和减少的机会必需是均等的,否则会产生很大的积累误差。,4.,舍入,常用的舍入方法,“,0,舍,1,入”法:,“,0,舍,1,入”法类似于十进制运算中的“四舍五入”法,即在尾数右移时,被移去的最高数值位为,0,,则舍去;被移去的最高数值位为,1,,则在尾数的末位加,1,。这样做可能使尾数又溢出,此时需,再做一次右规,。,特点:最大误差是最低位上的,-1/2,到接近于,1/2,之间,正误差可以和负误差抵消。属于比较理想的方法,但实现起来比较复杂。,“恒置,1”,法:尾数右移时,不论丢掉的最高数值位是“,1”,或“,0”,,都使右移后的尾数末位恒置“,1”,。这种方法同样有使尾数变大和变小的两种可能。,特点:误差范围扩大,但正负误差可以相互抵消,实现相对容易。,5.,溢出判断,在浮点规格化中已指出,当尾数之和,(,差,),出现,01.,或,10.,时,并不表示溢出,只有将此数右规后,再根据,阶码,来判断浮点运算结果是否溢出。,若机器数为补码,尾数为,规格化,形式,并假设阶符取,2,位,阶码取,7,位,数符取,2,位,尾数取,n,位,则它们能表示的补码在数轴上的表示范围如下图。,A,最小负数,2,+127,(-1),B,最大正数,2,+127,(1-2,-n,),a,最大负数,2,-128,(-2,-1,-2,-n,),b,最小正数,2,-128,2,-1,浮点机的溢出与否可由阶码的符号决定。即,阶码,j,补,=01,,,为上溢。,阶码,j,补,=10,,,为下溢,按机器零处理。,当阶符为“,01”,时,需做溢出处理。,下溢时,浮点数值趋于零,故机器不做溢出处理,仅把它作为机器零。,上溢时才是浮点数真正溢出,机器需停止运算,作溢出中断处理。,一般所说的浮点溢出,均是指上溢。,例:设,x=2,-101,(-0.101000),y=2,-100,(+0.111011),,,并假设阶符取,2,位,阶码取,3,位,数符取,2,位,尾数取,6,位,求,x-y,。,解:由,x=2,-101,(-0.101000),,,y=2,-100,(+0.111011),得,x,补,=11,011;11.011000,,,y,补,=11,100;00.111011,对阶,j,补,=,j,x,补,-,j,y,补,=11,011+00,100=11,111,即,j,=-1,则,x,的尾数向右移一位,阶码相应加,1,,即,x,补,=11,100;11.101100,求和,S,x,补,-,S,y,补,=,S,x,补,+-,S,y,补,=11.101100+11.000101,=10.110001,即,x-y,补,=11,100;10.110001,尾数符号位出现“,10”,,需右规。,(续),:,即,x-y,补,=11,100;10.110001,, 尾数符号位出现“,10”,,需右规。,规格化,右规后得,x-y,补,=11,101;11.011000,1,舍入处理,采用,0,舍,1,入法,其尾数右规时末位丢,1,,则,x-y,补,=11,101;11.01100,1,溢出判断,经舍入处理后阶符为“,11”,,不溢出,故最终结果:,x-y= 2,-011,(-0.100111),浮点数加减运算流程,浮点加减法运算,大型计算机和高档微型机中,浮点加减法运算是由硬件完成的。低档的微型机浮点加减法运算是由软件完成的,但无论用硬件实现或由软件实现加减法运算,基本原理是一致的。,浮点加减法运算要经过对阶、尾数求和、规格化、舍入和溢出判断五步操作。其中尾数运算与定点加减法运算相同,而对阶、舍入、规格化和溢出判断,则是浮点加减法与定点加减法运算不同的操作。,在补码浮点运算中,阶码与尾数可以都用补码表示。在硬件实现的运算中,阶符和数符常常采取双符号位,正数数符用,00,表示,负数数符用,11,表示。,浮点乘除法运算,设两浮点数,则,阶码运算,尾数运算,1.,阶码运算,若阶码用补码运算,,乘积的阶码为,j,x,补,+,j,y,补,,商的阶码为,j,x,补,-,j,y,补,。,若阶码用移码运算,,则,j,x,移,=2,n,+,j,x,-2,n,j,x,2,n,(n,为整数的位数,),j,y,移,=2,n,+,j,y,-2,n,j,y,2,n,(n,为整数的位数,),所以,j,x,移,+,j,y,移,= 2,n,+,j,x,+2,n,+,j,y,= 2,n,+ (2,n,+(,j,x,+,j,y,)= 2,n,+j,x,+,j,y,移,可见,直接用移码求阶码和时,其最高位多加了一个,2,n,,,要得到移码形式的结果,必须减去,2,n,。,由于同一个真值的移码和补码其数值部分完全相同,而符号位正好相反,即,j,y,补,=2,n+1,+,j,y,(mod 2,n+1,),因此如果求阶码和可用下式完成:,j,x,移,+,j,y,补,= 2,n,+,j,x,+2,n+1,+,j,y,= 2,n,+ 2,n,+(,j,x,+,j,y,) = ,j,x,+,j,y,移,(mod 2,n+1,),则直接可得移码形式。,同理,当作除法运算时,商的阶码可用下式完成:,j,x,移,+-,j,y,补,= ,j,x,-,j,y,移,阶码运算,阶码运算方法:,进行移码加减运算时,只需,将移码表示的加数或减数的符号位取反,(,即变为补码,),,然后进行运算,就可得阶和,(,或阶差,),的移码。,溢出判断:,在原有移码符号位的前面,(,即高位,),再增加位符号位,并规定该位恒用“,0”,表示,,而加数或减数的补码的两位符号位则一致。,溢出的条件是运算结果移码的最高符号位为,1,。此时若低位符号位为,0,,表示上溢;低位符号位为,1,,表示下溢。,如果运算结果移码的最高符号位为,0,,即表明没溢出。此时若低位符号位为,1,,表明结果为正:低位符号位为,0,,表示结果为负。,阶码运算,溢出判断举例:,设阶码取三位(不含符号位),,当,j,x,=+101,,,j,y,=+110,时,有,j,x,移,=01,101,,,j,y,补,=00,110,则:,j,x,+,j,y,移,=,j,x,移,+ ,j,y,补,=01,101+00,110=10,001,结果上溢,j,x,-,j,y,移,=,j,x,移,+ -,j,y,补,=01,101+11,100=01,001,结果,+1,2.,尾数运算,(,1,)浮点乘法尾数运算,(,2,)浮点除法尾数运算,(,1,)浮点乘法尾数运算,预处理:检测两个尾数中是否有一个为,0,,若有一个为,0,,乘积必为,0,,不再作其他操作;如果两尾数均不为,0,,则可进行乘法运算。,相乘:两个浮点数的尾数相乘可以采用定点小数的任何一种乘法运算来完成。,规格化:,相乘结果可能要进行左规,左规时调整阶码后如果发生阶下溢,则作机器零处理;如果发生阶上溢,则作溢出处理。,尾数截断:尾数相乘会得到一个双倍字长的结果,若限定只取,1,倍字长,则乘积的若干低位将会丢失。如何处理丢失的各位值,通常有两种办法。,截断处理:,无条件的丢掉正常尾数最低位之后的全部数值。,舍入处理:按浮点加减运算讨论的舍入原则进行舍入处理。,(,1,)浮点乘法尾数运算,舍入处理,对于原码,采用,0,舍,1,入法时,不论其值是正数或负数,“舍”使数的绝对值变小,“入”使数的绝对值变大。,对于补码,采用,0,舍,1,入法时,若丢失的位不是全,0,,对正数来说,“舍”、“入”的结果与原码正好相同;对负数来说,“舍”、“入”的结果与原码分析正好相反,即“舍”使绝对值变大,“入”使绝对值变小。,为了使原码、补码舍入处理后的结果相同,对负数的补码可采用如下规则进行舍入处理。,当丢失的各位均为,0,时,不必舍入;,当丢失的各位数中的最高位为,0,时,且以下各位不全为,0,;或丢失的各位数中的最高位为,1,,且以下各位均为,0,时,则舍去被丢失的各位;,当丢失的各位数中的最高位为,1,,且以下各位又不全为,0,时;则在保留尾数的最末位加,1,修正。,舍入操作实例,x,补,舍入前,舍入后,对应的真值,1.0111,0000,1.0111,1000,1.0111,0101,1.0111,1100,1.0111,(不舍不入),1.0111,(舍),1.0111,(舍),1.1000,(入),-0.1001,-0.1001,-0.1001,-0.1000,对负数的补码可采用如下规则进行舍入处理。,当丢失的各位均为,0,时,不必舍入;,当丢失的各位数中的最高位为,0,时,且以下各位不全为,0,;或丢失的各位数中的最高位为,1,,且以下各位均为,0,时,则舍去被丢失的各位;,当丢失的各位数中的最高位为,1,,且以下各位又不全为,0,时;则在保留尾数的最末位加,1,修正。,x,原,舍入前,舍入后,对应的真值,1.1001,0000,1.1000,1000,1.1000,1011,1.1000,0100,1.1001,(不舍不入),1.1001,(入),1.1001,(入),1.1000,(舍),-0.1001,-0.1001,-0.1001,-0.1000,浮点乘法运算举例,例:设机器数阶码取,3,位,(,不含阶符,),,尾数取,7,位,(,不舍数符,),,要求阶码用移码运算,尾数用补码运算,最后结果保留,1,倍字长。,设,x=2,-101,0.0110011),,,y=2,011,(-0.1110010),求:,x y,。,解:,x,补,=11,,,011,;,00.0110011,y,补,=00,,,011,;,11.0001110,阶码运算,j,x,移,=00,,,011, ,j,y,补,=00,,,011,j,x,+j,y,移,=,j,x,移,+,j,y,补,=00,,,011+00,,,011=00,,,110,对应真值,-2,浮点乘法运算举例(续),尾数相乘(采用,Booth,算法)其过程如下表所示。,部分积,乘 数,y,n+1,说 明,00.0000000,00.0000000,+ 11.1001101,1.000111,0,0 100011,1,00,1,位,+-,S,x,补,11.1001101 11.1100110 11.1110011 11.1111001 + 00.0110011,0 1010001,1,0101000,1,1010100,0,1,1,1,1,位,1,位,1,位,+,S,x,补,00.0101100 00.0010110 00.0001011 00.0000101 + 11.1001101,1010 0101010,0,0010101,0,1001010,1,000,1,位,1,位,1,位,+ -,S,x,补,11.1010010,1001010,相乘的结果为:,S,x,S,y,补,=11.10100101001010,浮点乘法运算举例(续),即,xy,补,=11,110;11.10100101001010,规格化。左规后,xy,补,=11,101;11.01001010010100,舍入处理。尾数为负,按负数的补码的舍入规则,取,1,倍字长,丢失的,7,位为,0010100,应“舍”。,故最终的结果为:,xy,补,=11,101;11.0100101,即:,xy,= 2,-011,(-0.1011011),(,2,)浮点除法尾数运算,步骤:,检测被除数是否为,0,,若为,0,,则商为,0,;再检测除数是否为,0,,若为,0,,则商为无穷大,另作处理。若两数均不为,0,,则可进行除法运算。,两浮点数尾数相除同样可采取定点小数的任何一种除法运算来完成。,对已规格化的尾数,为了防止除法结果溢出,可先比较被除数和除数的绝对值,如果被除数的绝对值大于除数的绝对值,则先将被除数右移一位,其阶码加,1,,再作尾数相除。,此时所得结果必然是规格化的定点小数。,浮点除法尾数运算,例题,例:,x=2,101,0.1001,y=2,011,(-0.1101),,,按补码浮点运算方法求,x,y,。,解:,x,补,=00,101;00.1001, y,补,=00,011;11.0011,,,-,S,y,补,=00.1101,阶码相减。,j,x,补,-,j,y,补,=00,101-00,011=00,101+11,101=00,010,尾数相除(采用补码除法)。,浮点除法尾数运算,例题(续),尾数相除(采用补码除法)。,结果为,S,x,S,y,=1.0101,规格化。尾数相除结果已为规格化数。,所以,x,y,补,=00,010;11.0101,,则,x,y=2,010,(-0.1011),被除数(余数),商,说 明,00.1001 + 11.0011,S,x,补,与,S,y,补,异号,,+,S,y,补,11.1100 11.1000 + 00.1101,1,1,R,补,与,S,y,补,同号,上商,11,位,+-,S,y,补,00.0101 00.1010 + 11.0011,1,0,1 0,R,补,与,S,y,补,异号,上商,01,位,+,S,y,补,11.1101 11.1010 + 00.1101,1 0,1,1 0 1,R,补,与,S,y,补,同号,上商,11,位,+-,S,y,补,00.0111 + 00.1110,1 0 1,0,1 0 1 0,1,R,补,与,S,y,补,异号,上商,01,位,末位商恒置,1,浮点乘除法运算,两浮点数相乘其乘积的阶码为相乘两数阶码之和,其尾数应为相乘两数的尾数之积。,两个浮点数相除,商的阶码为被除数的阶码减去除数的阶码得到的差,尾数为被除数的尾数除以除数的尾数所得的商。,参加运算的两个数都为规格化浮点数,乘除运算都可能出现结果不满足规格化要求的问题,因此也必须进行,规格化、舍入和溢出判断,等操作。规格化时要修改阶码。,浮点运算所需的硬件配置,浮点运算器主要由两个定点运算部件组成:,阶码运算部件:,用来完成阶码加、减,以及控制对阶时小阶的尾数右移次数和规格化时对阶码的调整。,尾数运算部件:,用来完成尾数的四则运算以及判断尾数是否已规格化。,此外,还需有判断运算结果是否溢出的电路等。,现代计算机可把浮点运算部件做成独立的选件,称为协处理器。,浮点协处理器,Inte,l80287,可与,Intel 80286,或,80386,微处理器配合处理浮点数的算术运算和多种函数计算。,也可用编程的办法来完成浮点运算,不过这会影响机器的运算速度。,算术逻辑单元,ALU,电路、快速进位链,ALU,电路,A,i,和,B,i,为输入变量;,K,i,为控制信号,,K,i,的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;,F,i,是输出函数。,74181ALU,集成电路芯片,74181,是能完成四位二进制代码的算逻运算部件,其外特性如下图所示。,正逻辑工作方式,负逻辑工作方式,正逻辑中,“,1”,用高电平表示,“,0”,用低电平表示,而负逻辑刚好相反。,正逻辑与负逻辑的关系为:正逻辑的“与”到负逻辑中变为“或”,即,”,+”,、”,”,互换。,74181ALU,集成电路芯片,注意:,ALU,为组合逻辑电路,因此实际应用,ALU,时,其输入端口,A,和,B,必须与锁存器相连,而且在运算的过程中锁存器的内容是不变的。其输出也必须送至寄存器中保存。,29C101,芯片,将寄存器和,ALU,集成导一个芯片内。,快速进位链,问题:随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大。,并行加法器,多位加法器,串行进位链,并行进位链,单重分组跳跃进位,即:单级分组,双重分组跳跃进位,快速进位链,问题:随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大。,并行加法器,多位加法器,串行进位链,并行进位链,单重分组跳跃进位,即:单级分组,双重分组跳跃进位,半加器(,half adder,),C,O,S,C,A,B,不考虑进位将两个一位二进制数,A,和,B,相加。,全加器(,full adder,),其输入不仅有两个,1,位二进制数相加,还需加上低位送来的进位。,CO,S,C,A,B,CI,CI,双全加器,74LS182,的,1/2,逻辑图,1.,并行(多位)加法器,n,+1,个全加器级联,就组成了一个,n,+1,位的并行加法器(行波进位加法器)。,由于每位全加器的进位输出是高一位全加器的进位输入,因此当全加器有进位时,这种一级一级传递进位的过程,将会大大影响运算速度。,并行加法器,分析:,由全加器的逻辑表达式可知,,C,i,进位有两部分组成:本地进位,A,i,B,i,,,可记作,d,i,,,与低位无关;传递进位(,A,i,B,i,),C,i-1,,,与低位有关,称(,A,i,B,i,),为传递条件,记作,t,i,,,则:,由,C,i,的组成可以将逐级传递进位的结构转换为以进位链的方式实现快速进位。,目前进位链通常采用串行和并行两种。,2.,串行进位链,串行进位链,是指并行加法器中的进位信号采用串行传递。,以四位并行加法器为例,每一位的进位表达式可示为:,由上式可见,采用与非逻辑电路可方便地实现进位传递,如下图所示。注意:,A+B =,(,-A * -B,),串行进位链,延迟时间分析:,若设与非门的级延迟时间为,t,y,,,那么当,d,i,、,t,i,形成后,共需,8,t,y,使可产生最高位的进位。,实际上每增加一位全加器,进位时间就会增加,2,t,y,。,n,位全加器的最长进位时间为,2,nt,y,。,3.,并行进位链,并行进位链,是指并行加法器中的进位信号是同时产生的,又称,先行进位,、,跳跃进位,等。,超前进位加法器,通常并行进位链有,单重分组,和,双重分组,两种实现方案。,理想的并行进位链是,n,位全加器的,n,位进位同时产生,但实际实现有困难。,(,1,)单重分组跳跃进位,单重分组跳跃进位,:将,M,位全加器分成若干小组,小组内的进位同时产生,小组与小组之间采用串行进位。,又称为“组内并行、组间串行”进位。,以四位并行加法器为例,对其进位表示式稍作变换,便可获得并行进位表达式:,四位一组并行进位,对应的逻辑图为:,设与或非门的级延迟时间为,1.5,t,y,,,与非门的级延迟时间仍为,1,t,y,,则,d,i,、,t,i,形成后,只需,2.5,t,y,就可产生全部进位。,单重分组跳跃进位,如果将,16,位的全加器按四位一组分组,便可得单重分组跳跃进位链框图,在,d,i,、,t,i,形成后,经,2.5,t,y,可产生,C,3,、,C,2,、,C,3,、,C,3,四个进位信息,经,10,t,y,就可产生全部进位,。,如前所示,,n=16,的串行进位链的全部进位时间为,32t,y,,则,16,位全加器的,单重分组方案进位时间仅约为串行进位链的,三分之一,。,单重分组跳跃进位,缺点:但随着,n,的增大,其优势便很快减弱。,例如,,n,=64,,,4,位分组,共为,16,组:组间有,16,位串行进位,在,d,i,、,t,i,形成后,还需经,162.5,40,t,y,才能产生全部进位,显然进位时间太长。,如果能使组间进位也同时产生,必然会更大地提高进位速度,这就是组内、组间均为并行进位的方案。,(,2,)双重分组跳跃进位,双重分组跳跃进位,原理:,将,n,位全加器分成几个大组,每个大组又包含几个小组,每个大组内所包含的各个小组的最高位进位是同时形成的,大组与大组间采用串行进位。,各小组最高位进位是同时形成的,小组内的其他进位也是同时形成的,故又有,“组内并行,、,组间并行”,之称,注意:两小组内的其他进位与小组的最高位进位并不是同时产生的,。,双重分组跳跃进位,32,位并行加法器双重分组跳跃进位链的框图,分两大组,每个大组内包含,4,个小组,第一大组内的,4,个小组的最高位进位,C,31,、,C,27,、,C,23,、,C,19,是同时产生的;第二大组内,4,个小组的最高位进位,C,15,、,C,11,、,C,7,、,C,3,也是同时产生的,而第二大组向第一大组的进位,C,15,采用串行进位方式。,双重分组跳跃进位,32,位并行加法器双重分组跳跃进位链的框图,以第二大组为例,分析各进位的逻辑关系。,D,8,与本小组内的,d,i,、,t,i,有关,不依赖外来进,C,-1,,,故称,D,8,为第八小组的本地进位,,T,8,是将低位进位,C,-1,传到高位小组的条件,故称,T,8,为第八小组的传送条件。,双重分组跳跃进位,32,位并行加法器双重分组跳跃进位链的框图,以第二大组为例,分析各进位的逻辑关系。,同理,可写出第五、六、七小组的最高位进位表达式:,双重分组跳跃进位,进一步展开又得:,可得大组跳跃进位链 :,由图可见,当,D,i,、,T,i,(i=5,8),及外来进位,C,-1,形成后,再经过,2.5,t,y,便可同时产生,C,l5,、,C,11,,,C,7,、,C,3,。,双重分组跳跃进位,D,i,和,T,i,它们都是由小组产生的,按其逻辑表达式可画出相应的电路如下图所示。,每小组可产生本小组的本地进位,D,i,和传送条件,T,i,以及组内的各低位进位,但不能产生组内最高位进位,即,第五组形成,D,5,、,T,5,、,C,14,、,C,13,、,C,12,,,不产生,C,15,;,第六组形成,D,6,、,T,6,、,C,10,、,C,9,、,C,8,,,不产生,C,11,;,第七组形成,D,7,、,T,7,、,C,6,、,C,5,、,C,4,,,不产生,C,7,;,第八组形成,D,8,、,T,8,、,C,2,、,C,1,、,C,0,,,不产生,C,3,。,双重分组跳跃进位,由大组跳跃进位链和小组跳跃进位链的线路可构成,16,位加法器的双重分组跳跃进位链框图。,从,D,i,、,T,i,、及,C,-1,(,外来进位,),形成后开始后,,经,2.5,T,y,:,形成,C,2,、,C,1,、,C,0,和全部,D,i,、,T,i,;,再经,2.5,T,y,:,形成大组内的四个进位,C,l5,、,C,l1,、,C,7,、,C,3,;,再经过,2.5,T,y,:,形成第五、六、七小组的其余进位,C,l4,、,C,13,、,C,12,、,C,10,、,C,9,、,C,8,、,C,6,、,C,5,、,C,4,,,可见,按双重分组设计,n=16,的进位链,最长进位时间为,7.5,T,y,,,比单重分组进位链又省了,2.5,T,y,。,随着,n,的增大,双重分组的优越性显得格外突出。,双重分组跳跃进位,32,位并行加法器双重分组跳跃进位链的框图,从,D,i,、,T,i,、及,C,-1,(,外来进位,),形成后开始后,,经,2.5,T,y,:,形成,C,2,、,C,1,、,C,0,和全部,D,i,、,T,i,;,再经,2.5,T,y,:,形成第二大组内的四个进位,C,l5,、,C,l1,、,C,7,、,C,3,;,再经过,2.5,T,y,:,形成,C,l8,16,、,C,l4,12,、,C,10,8,、,C,6,C,4,、,C,31,、,C,27,、,C,23,、,C,19,;,再经过,2.5,T,y,:,形成,C,30,28,、,C,26,24,、,C,22,20,。,进位方案选择和实例,机器究竟采用哪种方案,每个小组内应包含几位,应根据运算速度指标及所选元件等诸方面团素综合考虑。,74181,芯片是,4,位,ALU,电路,其四位进位是同时产生的,多片,74181,级联就犹如本节介绍的单重分组跳跃进位,即组内,(74181,片内,),并行,组间,(74181,片间,),串行。,进位方案选择和实例,74182,为先行进位部件,将,74181,与,74182,芯片配合,就可组成双重分组跳跃进位链。,两片,74182,和,8,片,74181,组成,32,位,ALU,电路。,本章小结,数据的表示方法和转换,无符号数和有符号数,数的定点表示和浮点表示,定点运算,浮点四则运算,算术逻辑单元,ALU,作业,第,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,)。,报告:编写一个完成原码、补码四则运算(定点、浮点)的仿真程序。,输入:,x,,,y,输出:演示运算每个步骤的流程图。,休息是为了走更远的路!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!