多功能算术/逻辑运算单元(ALU) ,什么是多功能算术/逻辑
读趣百科>科普>科技数码

多功能算术/逻辑运算单元(ALU) ,什么是多功能算术/逻辑

多功能算术/逻辑运算单元(ALU) ,什么是多功能算术/逻辑运算单元(ALU)

由一位全加器(FA)构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。但是这种加法/减法器存在两个问题:一是由于串行进位,它的运算时间很长。假如加法器由n位全加器构成,每一位的进位延迟时间为20ns,那么最坏情况下, 进位信号从最低位传递到最高位而最后输出稳定,至少需要n*20ns,这在高速计算中显然是不利的。二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。本节我们介绍的多功能算术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑, 从而能实现高速运算。1.基本思想一位全加器(FA)的逻辑表达式为Fi=Ai⊕Bi⊕CiCi+1=AiBi+BiCi+CiAi (2.35)我们将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。

图2.10 ALU的逻辑结构原理框图

因此,一位算术/逻辑运算单元的逻辑表达式为Fi=Xi⊕Yi⊕Xn+iCn+i+1=XiYi+YiCn+i+Cn+iXi上式中进位下标用n+i代替原来以为全加器中的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.4 Xi,Yi与控制参数和输入量的关系

根据上面所列的函数关系,即可列出Xi和Yi的逻辑表达式Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3AiYi=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第3位的进位输出(即整个4位运算进位输出)公式为Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn设

G=Y3+Y2X3+Y1X2X3+Y0X1X2X3P=X0X1X2X3则Cn+4=G+PCn (2.37)这样,对一片ALU来说,可有三个进位输出。其中G称为进位发生输出,P称为进位传送输出。在电路中多加这两个进位输出的目的,是为了便于实现多片(组)ALU之间的先行进位,为此还需一个配合电路,称之为先行进位发生器(CLA),下面还要介绍。

Cn+4是本片(组)的最后进位输出。逻辑表达式表明,这是一个先行进位逻辑。换句话说,第0位的进位输入Cn可以直接传送到最高位上去,因而可以实现高速运算。用正逻辑表示的4位算术/逻辑运算单元(ALU)的逻辑电路图如下,它是根据上面的原始推导公式用TTL电路实现的。这个器件的商业标号为74181ALU。

3.算术逻辑运算的实现上演示图中除了S0-S3四个控制端外,还有一个控制端M,它使用来控制ALU是进行算术运算还是进行逻辑运算的。当M=0时,M对进位信号没有任何影响。此时F 不仅与本位的被操作数Y和操作数X 有关,而且与本位的进位输出,即C 有关,因此M=0时,进行算术操作。当M=1时,封锁了各位的进位输出,即C =0,因此各位的运算结果F 仅与Y 和X 有关,故M=1时,进行逻辑操作。图2.11(b)示出了工作于负逻辑和正逻辑操作数方式的74181ALU方框图。显然,这个器件执行的正逻辑输入/输出方式的一组算术运算和逻辑操作与负逻辑输入/输出方式的一组算术运算和逻辑操作是等效的。

图2.11 74181ALU的逻辑电路图和方框图

表2.5列出了74181ALU的运算功能表,它有两种工作方式。对正逻辑操作数来说,算术运算称高电平操作,逻辑运算称正逻辑操作(即高电平为“1”,低电平为“0”)。对于负逻辑操作数来说,正好相反。由于S -S 有16种状态组合,因此对正逻辑输入与输出而言,有16种算术运算功能和16种逻辑运算功能。同样,对于负逻辑输入与输出而言,也有16种算术运算功能和16种逻辑运算功能。

表2.5 74181ALU算术/逻辑运算功能表

说明:(1)H=高电平,L=低电平.(2)*表示每一位均移到下一个更高位,即A*=2A注意,表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的先行进位输出依次为P0,G0,G1P1,P2,G2,P3,G3,那么参考式(2.37)的进位逻辑表达式,先行进位部件74182CLA所提供的进位逻辑关系如下:Cn+x=G0+P0CnCn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn Cn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+P0P1P2Cn(2.38) Cn+4 =G3+P3Cn+z=G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn   =G*+P*Cn其中P*=P0P1P2P3 G*=G3+G2P3+G1P1P2+G0P1P2P3根据以上表达式,用TTL器件实现的成组先行进位部件74182的逻辑电路图如下所示,其中G*称为成组进位发生输出,P*称为成组进位传送输出。

下面介绍如何用若干个74181ALU位片,与配套的74182先行进位部件CLA在一起,构成一个全字长的ALU。下图示出了用两个16位全先行进位部件级联组成的32位ALU逻辑方框图。在这个电路中使用了八个74181ALU和两个74182CLA器件。很显然,对一个16位来说,CLA部件构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全字长ALU的运算时间大大缩短。

图2.13 用两个6位全先行进位部件级联组成的32位ALU

最新科技数码科普

如何拆分合并excel单元格

在使用excel的过程中,有需要合并或者拆分单元格的,就是将多个单元格合并成一个,或者将一个大的单元格拆分成单个的很多个。那么怎么拆分合并excel单元格?本...
展开详情

autocad如何在相片上标尺寸

在我们实际工作中,为了更加准确的描述某个实物,常遇到标尺寸的问题。本章就利用AUTOCAD软件在相片上标尺寸方法解决这一问题。方法/步骤1、利用手机拍下你要标...
展开详情

雀巢胶囊咖啡机怎样 雀巢胶囊咖啡机优点及使用方法

雀巢胶囊咖啡机操作十分方便,能一键萃取咖啡,相比半自动咖啡机和全自动咖啡机来说更易于操作,雀巢胶囊咖啡机在使用的过程中不需要拆开,所使用的胶囊用完后可直接回收...
展开详情

天骏空气净化器怎么样 天骏空气净化器特点介绍

随着科学技术的进步,人们对于生活用水的好坏越来越注重,饮用水的好坏直接影响着人体健康, 净水器能够有效的保障饮用水的健康,天骏 空气净化器 就是其中的优秀代表...
展开详情

PS怎么精确移动像素px值

在PS中做设计的时候,经常需要对图层进行不停的移动来调整位置, 已达到需求的效果,那么如何知道移动的精确位置呢?自己总结了几点,希望可以对大家有帮助!1、打开...
展开详情

iPod电池有哪些常见问题 常见苹果iPod电池问题解决方法

常见苹果iPod电池问题解决方法,iPod是APPLE推出的一种大容量MP3播放器容量高达10~160GB,可存放2500~10000首MP3歌曲,它还有完善...
展开详情

买macbookpro后悔了,Mac太贵而且端口极其不便捷

这么多年来,MacBook Air一直是Mac用户想要购买超轻薄笔记本的首选,不过苹果在刚刚发布的MacBook Pro上,进行了大刀阔斧的设计变革,让Mac...
展开详情

微软两周狂发7个预览版:Windows10 RedStone 2重磅升级很可能月底推送

进入三月份之前就曾报道微软的Windows 10 RedStone 2公开推送已经箭在弦上,距离发射只差一步。ps.这是继2015年11月、2016年8月之后...
展开详情
热门推荐

风管机如何才能省电 风管机省电技巧

风管机和空调,在我们居民朋友的眼中都是比较耗电的。无论是大品牌还是小品牌,在使用风管机和空调的时候,因为要耗费大量的电力,所以居民朋友一般都不敢长时间的使用,...
展开详情

海信电视的屏幕大小怎么调 海信电视的屏幕大小怎样调

以海信电视:LED32N2000为例。打开电视,按下遥控器上的【设置】按钮,会在电视上弹出【设置菜单】。然后找到并点击【图像设置】,接着进入系统浏览器,找到选...
展开详情

哈啰顺风车一天可以接几单 哈啰顺风车一天可以接几单

顺风车的出现无疑给跨城出行的人们带来了方便,很多人需要跨城出行时都会选择在哈啰顺风车里预约车辆,这就使很多车主想要成为哈啰顺风车司机。不过由于跨城出行距离较远...
展开详情

风管机怎么用才能省电 风管机省电小技巧

现在我们购买产品,除了保证所购买的产品性能好之外,还要求这个产品要省电,因为只有省电的电器,我们才不用额外去多支付一些电费,给我们的经济带来压力。现在是夏天,...
展开详情

如何取消手机上网包流量套餐

现在上网有很多种方式,我们可以通过GPRS数据流量进行上网,同时我们也可以使用WLAN进行上网。不管是哪一种上网方式我们都需要开通相应的业务才能实现,那么这些...
展开详情