欢迎来到天天文库
浏览记录
ID:22630307
大小:309.50 KB
页数:6页
时间:2018-10-30
《alu算术逻辑运算单元》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、多功能算术/逻辑运算单元(ALU),什么是多功能算术/逻辑运算单元(ALU) 由一位全加器(FA)构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。但是这种加法/减法器存在两个问题:一是由于串行进位,它的运算时间很长。假如加法器由n位全加器构成,每一位的进位延迟时间为20ns,那么最坏情况下,进位信号从最低位传递到最高位而最后输出稳定,至少需要n*20ns,这在高速计算中显然是不利的。二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。本节我们介绍的多功能算术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高
2、速运算。 1.基本思想 一位全加器(FA)的逻辑表达式为 Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi (2.35) 我们将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。图2.10 ALU的逻辑结构原理框图 因此,一位算术/逻辑运算单元的逻辑表达式为 Fi=Xi⊕Yi⊕Xn+i Cn+i+1=XiYi+YiCn+i+Cn+iXi 上式中进位下标用n+i
3、代替原来以为全加器中的i,i代表集成在一片电路上的ALU的二进制位数。对于4位一片的ALU,i=0,1,2,3。n代表若干片ALU组成更大字长的运算器时每片电路的进位输入,例如当4片组成16位字长的运算器时,n=0,4,8,12。2.逻辑表达式 控制参数S0,S1,S2,S3分别控制输入Ai和Bi,产生Y和X的函数。其中Yi是受S0,S1控制的Ai和Bi的组合函数,而Xi是受S2,S3控制的Ai和Bi组合函数,其函数关系如表2.4所示。表2.4Xi,Yi与控制参数和输入量的关系 根据上面所列的函数关系,即可列出Xi和Yi的逻辑表达式 Xi=S2S3+S2S3(Ai+Bi)+S2
4、S3(Ai+Bi)+S2S3Ai Yi=S0S1Ai+S0S1AiBi+S0S1AiBi 进一步化简并代入前面的求和与进位表达式,可得ALU的某一位逻辑表达式如下 (2.36)4位之间采用先行进位公式,根据式(2.36),每一位的进位公式可递推如下: 第0位向第1位的进位公式为 Cn+1=Y0+X0Cn 其中Cn是向第0位(末位)的进位。 第1位向第2位的进位公式为 Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn 第2位向第3位的进位公式为 Cn+3=Y2+X2Cn+2=Y2+Y1X2+Y0X1X2+X0X1X2Cn
5、 第3位的进位输出(即整个4位运算进位输出)公式为 Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn 设 G=Y3+Y2X3+Y1X2X3+Y0X1X2X3 P=X0X1X2X3 则 Cn+4=G+PCn (2.37) 这样,对一片ALU来说,可有三个进位输出。其中G称为进位发生输出,P称为进位传送输出。在电路中多加这两个进位输出的目的,是为了便于实现多片(组)ALU之间的先行进位,为此还需一个配合电路,称之为先行进位发生器(CLA),下面还要介绍。Cn+4是本片(组)的最后进位输出。
6、逻辑表达式表明,这是一个先行进位逻辑。换句话说,第0位的进位输入Cn可以直接传送到最高位上去,因而可以实现高速运算。 用正逻辑表示的4位算术/逻辑运算单元(ALU)的逻辑电路图如下,它是根据上面的原始推导公式用TTL电路实现的。这个器件的商业标号为74181ALU。 3.算术逻辑运算的实现 上演示图中除了S0-S3四个控制端外,还有一个控制端M,它使用来控制ALU是进行算术运算还是进行逻辑运算的。 当M=0时,M对进位信号没有任何影响。此时F不仅与本位的被操作数Y和操作数X有关,而且与本位的进位输出,即C有关,因此M=0时,进行算术操作。 当M=1时,封锁了各位的进位
7、输出,即C=0,因此各位的运算结果F仅与Y和X有关,故M=1时,进行逻辑操作。 图2.11(b)示出了工作于负逻辑和正逻辑操作数方式的74181ALU方框图。显然,这个器件执行的正逻辑输入/输出方式的一组算术运算和逻辑操作与负逻辑输入/输出方式的一组算术运算和逻辑操作是等效的。图2.1174181ALU的逻辑电路图和方框图表2.5列出了74181ALU的运算功能表,它有两种工作方式。对正逻辑操作数来说,
此文档下载收益归作者所有