第6讲 多功能算术与逻辑运算单元ALU.ppt_第1页
第6讲 多功能算术与逻辑运算单元ALU.ppt_第2页
第6讲 多功能算术与逻辑运算单元ALU.ppt_第3页
第6讲 多功能算术与逻辑运算单元ALU.ppt_第4页
第6讲 多功能算术与逻辑运算单元ALU.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程系系统结构教研室,一、算术逻辑运算的实现,计算机中最基本的算术运算是加法运算,不论加、减、乘、除运算最终都可以归结为加法运算。所以首先讨论最基本、最核心的运算部件加法器,以及并行加法器的进位问题。加法器是由全加器和其它必要的逻辑电路组成的,所以我们从全加器开始讨论。,信息工程系系统结构教研室,1、全加器(FA),全加器(FA)是最基本的运算单元,由它构成加法器。全加器有三个输入量:操作数Ai、Bi、以及低位传来的进位信号Ci-1。全加器有两个输出量:本位和Si、以及向高位的进位信号Ci。,信息工程系系统结构教研室,全加器的逻辑方程和电路,根据真值表得:Si=AiBiCi-1Ci=AiBi+(AiBi)Ci-1Si:本位和Ci:向高位的进位,实现电路,逻辑框图,一个全加器只完成一位加法,信息工程系系统结构教研室,全加器构成加法器,全加器并不存储信息,可用门电路来实现。用全加器能够方便地构成加法器。加法器分为串行加法器和并行加法器。串行加法器只有一个全加器,数据逐位串行送入加法器进行计算。由于运算速度慢,一般不用。并行加法器则由若干个这样的全加器构成,各位数据同时运算。并行加法器的位数与操作数的位数相等。并行加法器的最长运算时间主要取决于进位信号的传递时间。例如:1111和0001相加,最低位产生的进位将逐位影响到最高位.由此可见,提高并行加法器速度的关键是尽量加快进位产生和传递的速度。,信息工程系系统结构教研室,2、进位产生与传递,进位链的概念:并行加法器中的每一个全加器都有一个从低位送来的进位输入和一个传送给高位的进位输出。我们把构成进位信号产生和传递的逻辑网络称为进位链。进位链上每一位的进位表达式为:Ci=AiBi+(AiBi)Ci-1设Gi=AiBi,称为进位产生函数Pi=AiBi,称为进位传递函数进位表达式Ci=Gi+PiCi-1,信息工程系系统结构教研室,串行进位,把n个全加器串联起来,就可以实现两个n位数的相加。这种加法器称为串行进位的并行加法器,串行进位又叫行波进位。,其中:C1=G1+P1C0C2=G2+P2C1Cn=Gn+PnCn-1,串行进位的并行加法器,总的延迟时间正比于字长,字长越长,总延迟时间也越长。若一位进位需2ty时间,完成n位进位就需要2nty.要提高加法运算速度,必须改进进位方式。,信息工程系系统结构教研室,设n位并行加法器的序号是:第1位为最低位,第n位为最高位,则各进位符号的逻辑式如下:,信息工程系系统结构教研室,为了提高运算速度,现在广泛采用并行进位(先行进位)结构,即并行地形成各级进位。逻辑式如下:,进位传递函数Pi=XiYi进位产生函数Gi=XiYi,信息工程系系统结构教研室,并行进位的特点,并行进位的特点是各级进位信号同时形成,与字长无关,提高了整体运算速度。并行进位又叫先行进位。最长延迟时间仅为2ty。随着加法器位数的增加,Ci的逻辑表达式会变得越来越长,输入变量会越来越多,电路结构也会变得越来越复杂,导致电路实现也越来越困难。并行进位方式需继续改进,才能有实用价值。这就是下面要介绍的分组进位方式。,信息工程系系统结构教研室,以16位加法器为例,将其分为4组,每组4位。在组内,按照并行进位函数直接产生C1C4,这些进位可同时得到。实现这种进位逻辑的电路称为4位先行进位电路(CLA),如74181ALU。利用这种4位一组的CLA电路和4位全加器可以构成4位CLA加法器。注意,4位CLA加法器包含了两部分逻辑:4位全加器和4位一组的先行进位链,这个组内的进位为一级进位。在组间,每个组的进位输入是前一个组的进位输出,而每个组的进位输出是下一个组的进位输入.,构成16位加法器很容易实现,单级先行进位,信息工程系系统结构教研室,单级先行进位(续一),上述组内并行、组间串行的进位方式也称为单级先行进位方式,原理如下图所示。,信息工程系系统结构教研室,组内并行、组间并行的进位链,第一小组的有关进位逻辑:其余各组可照此类推,仅下标序号相应变化。如C1是第一组产生的组间进位,作为第二小组的初始进位。,信息工程系系统结构教研室,信息工程系系统结构教研室,单级先行进位(续二),组内并行、组间串行进位的时间图(16位)如下:完成进位时间8ty.进位时间与组数成正比,组数越多,进位时间越长。,信息工程系系统结构教研室,多级先行进位,为说明问题,我们不妨仍以16位加法器为例,仍然4位一组,分成4个小组,先就第一小组的进位输出函数C4做一下分析:C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0G1*P1*=G1*+P1*C0G1*称为组进位产生函数,P1*称为组进位传递函数;这两个函数类似于进位产生函数G和进位传递函数P.,信息工程系系统结构教研室,多级先行进位(续一),四个组内的最高进位C16、C12、C8、C4可以分别表示为:C4=G1*+P1*C0C8=G2*+P2*C4C12=G3*+P3*C8C16=G4*+P4*C12现在逐项代入、并展开得关系式:C4=G1*+P1*C0C8=G2*+P2*C4=G2*+P2*G1*+P2*P1*C0C12=G3*+P3*G2*+P3*P2*G1*+P3*P2*P1*C0C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C0可以看出,这4组进位结构与前述4位先行进位逻辑完全相同,组间进位信号只与最低进位C0有关,所以能同时产生。,信息工程系系统结构教研室,多级先行进位(续二),组内进位信号能同时产生、组间进位信号也能同时产生,由此可以构成多级并行进位逻辑。16位2级先行进位加法器如下图所示。,信息工程系系统结构教研室,多级先行进位(续三),问题是这4个组间进位信号如何用硬件来产生呢?对于多级先行进位的实现可以按如下思路来理解:先把单级先行进位加法器的串行进位链断开;增加一级先行进位链,这个新增加的先行进位链的进位称为二级进位;组间进位信号C4、C8、C12、C16由二级进位链来产生,其逻辑关系式已经得到;让一级进位链多产生两个辅助函数Gi*和Pi*,并且作为二级进位链的输入。,信息工程系系统结构教研室,多级先行进位(续四),16位2级先行进位时间图,进位产生次序如下:产生第一小组的C1C3、所有组进位产生函数Gi*和组进位传递函数Pi*,时间为2ty.由CLA电路产生第二、三、四小组的组间进位信号C4、C8、C12、C16,时间为2ty.产生第二、三、四小组的组内进位信号C5、C6、C7、C9、C10、C11、C13、C14、C15,时间为2ty.,信息工程系系统结构教研室,4、多功能算术逻辑部件ALU,前面介绍了运算器的算术运算功能,为了完成多种算术逻辑运算,需要将加法器的功能进行扩展,扩展的基本思想如下:,参加运算的两个数Ai、Bi和低位进位Ci-1先不进行全加,先把两个输入Ai、Bi和四个控制参数S0、S1、S2、S3进行组合,形成函数Xi和Yi,然后再将Xi、Yi和低位进位Ci-1通过全加器进行全加。这样一来,控制参数不同,得到的组合函数也不同,从而实现多种算术和逻辑运算。,信息工程系系统结构教研室,一位全加器(FA)的逻辑表达式为FiAiBiCiCi1AiBiBiCiCiAi将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。因此,一位算术/逻辑运算单元的逻辑表达式为FiXiYiCniCni1XiYiYiCniCniXi,定点运算器的组成,1.基本思想,图2.10ALU的逻辑结构原理框图,信息工程系系统结构教研室,上式中进位下标用ni代替原来以为全加器中的i,i代表集成在一片电路上的ALU的二进制位数。对于4位一片的ALU,i0,1,2,3。n代表若干片ALU组成更大字长的运算器时每片电路的最低位计数,例如当4片ALU组成16位字长的运算器时,n0,4,8,12。,定点运算器的组成,信息工程系系统结构教研室,控制参数S0,S1,S2,S3分别控制输入Ai和Bi,产生Y和X的函数。其中Yi是受S0,S1控制的Ai和Bi的组合函数,而Xi是受S2,S3控制的Ai和Bi组合函数,其函数关系如表2.4所示。,定点运算器的组成,2.逻辑表达式,表2.4与控制参数和输入量的关系,信息工程系系统结构教研室,定点运算器的组成,综上所述,ALU的某一位逻辑表达式如下:XiS3AiBiS2AiBiYiAiS0BiS1BiFiXiYiCniCn+i+1YiXiCn+i,(2.36),信息工程系系统结构教研室,例如:S3S2S1S00000代入:,四个控制参数则可以处理16种算术逻辑运算,每种运算只针对1位二进制编码思考:如何设计4位ALU?16位呢?,功能之一:16种算术逻辑运算,信息工程系系统结构教研室,信息工程系系统结构教研室,功能之二:先行进位逻辑(实现高速运算),4位ALU问题1:片内是串行进位还是并行进位?,信息工程系系统结构教研室,4位之间采用先行进位公式,根据式(2.36),每一位的进位公式可递推如下:第0位向第1位的进位公式为:Cn1Y0X0Cn其中Cn是向第0位(末位)的进位。第1位向第2位的进位公式为:Cn2Y1X1Cn1Y1Y0X1X0X1Cn第2位向第3位的进位公式为:Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn第3位的进位输出(即整个4位运算进位输出)公式为:Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn,定点运算器的组成,设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:Cn4GPCn,(G),(P),信息工程系系统结构教研室,这样,对每一片ALU来说,都有三个进位输出。其中G称为进位发生输出,P称为进位传送输出。在电路中多加这两个进位输出的目的,是为了便于实现多片(组)ALU之间的先行进位,为此还需一个配合电路,称之为先行进位发生器(CLA),下面还要介绍。Cn+4是本片(组)的最后进位输出。逻辑表达式表明,这是一个先行进位逻辑。换句话说,第0位的进位输入Cn可以直接传送到最高位上去,因而可以实现高速运算。,定点运算器的组成,设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:Cn4GPCn(3个进位输出项),信息工程系系统结构教研室,定点运算器的组成,图2.11(a)示出了用负逻辑表示的4位算术/逻辑运算单元(ALU)的逻辑电路图,它是根据上面的原始推导公式用TTL电路实现的。这个器件的商业标号为74181ALU。,信息工程系系统结构教研室,前面说过,74181ALU设置了P和G两个本组先行进位输出端。如果将四片74181的P,G输出端送入到74182先行进位部件(CLA),又可实现第二级的先行进位,即:组与组之间的先行进位。假设4片(组)74181的先行进位输出依次为:P0,G0;G1,P1;P2,G2;P3,G3,那么参考式(2.37)的进位逻辑表达式,先行进位部件74182CLA所提供的进位逻辑关系如下:,定点运算器的组成,两级先行进位的ALU,CnG0P0CnCnG1P1CnG1G0P1P0P1CnCnG2P2CnG2G1P2G0P1P2P0P1P2Cn(2.38)Cn4G3P3CnG3G2P3G1P2P3G0P1P2P3P0P1P2P3CnG*P*Cn其中:P*P0P1P2P3G*G3G2P3G1P2P3G0P1P2P3,信息工程系系统结构教研室,根据以上表达式,用TTL器件实现的成组先行进位部件74182的逻辑电路图如图2.12所示其中G*称为成组进位发生输出,P*称为成组进位传送输出。,定点运算器的组成,信息工程系系统结构教研室,信息工程系系统结构教研室,下面介绍如何用若干个74181ALU位片,与配套的74182先行进位部件CLA在一起,构成一个全字长的ALU。下图示出了用两个16位全先行进位部件级联组成的32位ALU逻辑方框图。在这个电路中使用了八个74181ALU和两个74182CLA器件。很显然,对一个16位来说,CLA部件构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全字长ALU的运算时间大大缩短。图2.13用两个16位全先行进位部件级联组成的32位ALU(组内先行进位,组间串行进位),定点运算器的组成,信息工程系系统结构教研室,5、运算器的组织,运算器主要由算逻部件ALU、寄存器、多路转换器、内部数据总线组成。基本的运算器组织包含如下逻辑组成:实现基本算术、逻辑运算功能的ALU,提供操作数与暂存运算结果的寄存器组,有关的判别逻辑(如结果是否为0,正负,进位,溢出),或加上局部控制电路等。将这些功能模块连接成一个整体时,需要解决一个问题,就是如何向ALU提供操作数?一种方法是在ALU输入端加多路选择器,另一种方法是在ALU输入端加一级锁存器(暂存器)。,信息工程系系统结构教研室,带多路选择器的运算器,信息工程系系统结构教研室,带锁存器的运算器,信息工程系系统结构教研室,运算器的内部总线结构,在运算器内部,各功能模块之间的连接大都采用总线结构,称为运算器的内部总线,ALU和各寄存器都挂在上面。运算器大体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论