资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,2.5,定点运算器的组成,2.5.1,逻辑运算,计算机中的逻辑运算,主要是指逻辑非、逻辑加、逻辑乘、逻辑异四种基本运算,.,2.5.2,多功能算术,/,逻辑运算单元,(ALU),由一位全加器,(FA),构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。但是这种加法,/,减法器存在两个问题:一是由于串行进位,它的运算时间很长。假如加法器由,n,位全加器构成,每一位的进位延迟时间为,20ns,那么最坏情况下,进位信号从最低位传递到最高位而最后输出稳定,至少需要,n,*,20ns,这在高速计算中显然是不利的。二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。下面我们介绍的多功能算术,/,逻辑运算单元,(ALU),不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。,1.,基本思想,一位全加器,(FA),的逻辑表达式为,F,i,A,i,B,i,C,i,C,i,1,A,i,B,i,B,i,C,i,C,i,A,i,将,A,i,和,B,i,先组合成由控制参数,S,0,S,1,S,2,S,3,控制的组合函数,X,i,和,Y,i,然后再将,X,i,Y,i,和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。,图,2.10,ALU,的逻辑结构原理框图,因此,一位算术,/,逻辑运算单元的逻辑表达式为,F,i,X,i,Y,i,C,n,i,C,n,i,1,X,i,Y,i,Y,i,C,n,i,C,n,i,X,i,上式中进位下标用,n,i,代替原来一位全加器中的,i,i,代表集成在一片电路上的,ALU,的二进制位数。对于,4,位一片的,ALU,i,0,1,2,3,。,n,代表若干片,ALU,组成更大字长的运算器时每片电路的进位输入,例如当,4,片组成,16,位字长的运算器时,n,0,4,8,12,。,2.,逻辑表达式,控制参数,S,0,S,1,控制输入,A,i,产生,Y,;,S,2,S,3,控制输入,B,i,产生,X,。其中,Y,i,是受,S,0,S,1,控制的,A,i,和,B,i,的组合函数,而,X,i,是受,S,2,S,3,控制的,A,i,和,B,i,组合函数,其函数关系如表,2.4,所示。,表,2.4,X,i,Y,i,与控制参数和输入量的关系,S,0,S,1,Y,i,S,2,S,3,X,i,00011011,A,i,A,i,B,i,A,i,B,i,0,00011011,1A,i,B,i,A,i,B,i,A,i,根据上面所列的函数关系,即可列出,X,i,和,Y,i,的逻辑表达式,X,i,S,2,S,3,S,2,S,3,(,A,i,B,i,),S,2,S,3,(,A,i,B,i,),S,2,S,3,A,i,Y,i,S,0,S,1,A,i,S,0,S,1,A,i,B,i,S,0,S,1,A,i,B,i,进一步化简并代入前面的求和与进位表达式,可得,ALU,的某一位逻辑表达式如下,X,i,=S,3,A,i,B,i,+S,2,A,i,B,i,Y,i,=A,i,+S,0,B,i,+S,1,B,i,F,i,Y,i,X,i,C,n+i,C,n,i,1,Y,i,X,i,C,n,I,(,2.36,),4,位之间采用先行进位公式,根据式(,2.36,),每一位的进位公式可递推如下:,第,0,位向第,1,位的进位公式为,C,n,1,Y,0,X,0,C,n,其中,C,n,是向第,0,位(末位)的进位。,第,1,位向第,2,位的进位公式为,C,n,2,Y,1,X,1,C,n,1,Y,1,Y,0,X,1,X,0,X,1,C,n,第,2,位向第,3,位的进位公式为,C,n,3,Y,2,X,2,C,n,2,Y,2,Y,1,X,1,Y,0,X,1,X,2,X,0,X,1,X,2,C,n,第,3,位的进位输出(即整个,4,位运算进位输出)公式为,C,n,4,Y,3,X,3,C,n,3,Y,3,Y,2,X,3,Y,1,X,2,X,3,Y,0,X,1,X,2,X,3,X,0,X,1,X,2,X,3,C,n,设,G,Y,3,Y,2,X,3,Y,1,X,2,X,3,Y,0,X,1,X,2,X,3,P,X,0,X,1,X,2,X,3,则,C,n,4,G,PC,n,这样,对一片,ALU,来说,可有三个进位输出。其中,G,称为,进位发生输出,P,称为,进位传送输出,。在电路中多加这两个进位输出的目的,是为了便于实现多片(组),ALU,之间的先行进位,为此还需一个配合电路,称之为先行进位发生器,(CLA),下面还要介绍。,C,n+4,是本片,(,组,),的最后进位输出。逻辑表达式表明,这是一个先行进位逻辑。换句话说,第,0,位的进位输入,C,n,可以直接传送到最高位上去,因而可以实现高速运算。,用正逻辑表示的,4,位算术,/,逻辑运算单元,(ALU),的逻辑电路图见演示,它是根据上面的原始推导公式用,TTL,电路实现的。这个器件的商业标号为,74181ALU,。,3.,算术逻辑运算的实现,以上演示图中除了,S,0,S,3,四个控制端外,还有一个控制端,它使用来控制,ALU,是进行算术运算还是进行逻辑运算的。,当,0,时,对进位信号没有任何影响。此时,F,不仅与本位的被操作数,Y,和操作数,X,有关,而且与本位的进位输出,即,C,有关,因此,0,时,进行算术操作。,当,1,时,封锁了各位的进位输出,即,C,0,因此各位的运算结果,F,仅与,Y,和,X,有关,故,1,时,进行逻辑操作。,图,2.11(b),示出了工作于负逻辑和正逻辑操作数方式的,74181ALU,方框图。显然,这个器件执行的正逻辑输入,/,输出方式的一组算术运算和逻辑操作与负逻辑输入,/,输出方式的一组算术运算和逻辑操作是等效的。,图,2.11,74181ALU,的逻辑电路图和方框图,74181ALU,的运算功能表,它有两种工作方式。对正逻辑操作数来说,算术运算称高电平操作,逻辑运算称正逻辑操作,(,即高电平为“,1”,低电平为“,0”),。对于负逻辑操作数来说,正好相反。由于,S,0,S,3,有,16,种状态组合,因此对正逻辑输入与输出而言,有,16,种算术运算功能和,16,种逻辑运算功能。同样,对于负逻辑输入与输出而言,也有,16,种算术运算功能和,16,种逻辑运算功能。,注意,表,2.5,中算术运算操作是用补码表示法来表示的。其中“加”是指算术加,运算时要考 虑进位,而符号“”是指“逻辑加”。其次,减法是用补码方法进行的,其中数的反码是内部产生的,而结果输出“,A,减,B,减,1”,因此做减法时需在最末位产生一个强迫进位,(,加,1),以便产生“,A,减,B”,的结果。另外,“A,B”,输出端可指示两个数相等,因此它与其他,ALU,的“,A,B”,输出端按“与”逻辑连接后,可以检测两个数的相等条件。,4.,两级先行进位的,ALU,前面说过,74181ALU,设置了,P,和,G,两个本组先行进位输出端。如果将四片,74181,的,P,G,输出端送入到,74182,先行进位部件(,CLA,),又可实现第二级的先行进位,即组与组之间的先行进位。,假设,4,片(组),74181,的先行进位输出依次为,P,0,G,0,G,1,P,1,P,2,G,2,P,3,G,3,那么参考式,(2.37),的进位逻辑表达式,先行进位部件,74182CLA,所提供的进位逻辑关系如下:,C,n,G,0,P,0,C,n,C,n,G,1,P,1,C,n,G,1,G,0,P,1,P,0,P,1,C,n,C,n,G,2,P,2,C,n,G,2,G,1,P,2,G,0,P,1,P,2,P,0,P,1,P,2,C,n,(2.38),C,n,4,G,3,P,3,C,n,G,3,G,2,P,3,G,1,P,1,P,2,G,0,P,1,P,2,P,3,P,0,P,1,P,2,P,3,C,n,G*,P*,C,n,其中,P*,P,0,P,1,P,2,P,3,G*,G,3,G,2,P,3,G,1,P,1,P,2,G,0,P,1,P,2,P,3,根据以上表达式,用,TTL,器件实现的成组先行进位部件,74182,的逻辑电路图如图所示其中,G*,称为成组进位发生输出,P*,称为成组进位传送输出。,下面介绍如何用若干个,74181ALU,位片,与配套的,74182,先行进位部件,CLA,在一起,构成一个全字长的,ALU,。,下图示出了用两个,16,位全先行进位部件级联组成的,32,位,ALU,逻辑方框图。在这个电路中使用了八个,74181ALU,和两个,74182CLA,器件。很显然,对一个,16,位来说,CLA,部件构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全字长,ALU,的运算时间大大缩短。,图,2.13,用两个,6,位全先行进位部件级联组成的,32,位,ALU,
展开阅读全文