大学计算机组成原理第2章运算方法和运算器.ppt
《大学计算机组成原理第2章运算方法和运算器.ppt》由会员分享,可在线阅读,更多相关《大学计算机组成原理第2章运算方法和运算器.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.5 定点运算器的组成n2.5.1 逻辑运算n2.5.2 多功能算术逻辑运算单元n2.5.3 内部总线n2.5.4 定点运算器的基本结构 逻辑运算n计算机中除了进行加、减、乘、除等基本算计算机中除了进行加、减、乘、除等基本算术运算外,还可对两个或一个逻辑数进行逻术运算外,还可对两个或一个逻辑数进行逻辑运算。辑运算。n所谓所谓逻辑数逻辑数是指不带符号的二进制数。利用是指不带符号的二进制数。利用逻辑运算可以进行两个数的比较,或者从某逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。个数中选取某几位等操作。n计算机中的逻辑运算,主要是指计算机中的逻辑运算,主要是指逻辑非逻辑非、逻逻辑加
2、辑加、逻辑乘逻辑乘、逻辑异逻辑异四种基本运算。四种基本运算。逻辑运算(续(续1 1)n逻辑非也称逻辑非也称求反求反。对某数进行逻辑非运算,就是按对某数进行逻辑非运算,就是按位求反位求反,常用变量上方加一横来表示。,常用变量上方加一横来表示。设一个数设一个数表示成:表示成:x0 x1x2 xn 对对求逻辑非,则有:求逻辑非,则有:z0z1z2 zn zi xi(i0,1,2,n)1.逻辑非运算逻辑非运算 逻辑运算(续(续2 2)例例2424:x101001011,x211110000 求求x1,x2 解:解:x1 10110100 x2 00001111 逻辑运算(续(续4 4)2逻辑加:逻辑加
3、:对两个数的逻辑加对两个数的逻辑加,就是按位求它们的就是按位求它们的“或或”例例2525:10100001,10011011,求求+。解:解:1 0 1 0 0 0 0 1+1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 即即+10111011 逻辑运算(续(续5 5)n 对两数进行逻辑乘对两数进行逻辑乘,就是按位求它们的就是按位求它们的“与与”,所以逻辑乘又称所以逻辑乘又称“逻辑与逻辑与”,常用记号常用记号“”来来表示。表示。n设有两数设有两数和和,它们表示为,它们表示为 x0 x1x2 xn y y0y1y2 yn若若 z0z1z2 zn则则 zi xiyi (i0,1,2
4、,n)3.逻辑乘运算逻辑乘运算 逻辑运算(续(续6 6)例例2626:10111001,11110011,求求。解:解:1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 即即 10110001 逻辑运算(续(续7 7)对两数进行异就是按位求它们的模对两数进行异就是按位求它们的模2和和,所以逻辑异,所以逻辑异又称又称“按位加按位加”,常用记号,常用记号“”表示。表示。n设有两数设有两数和和:x0 x1x2 xn y y0y1y2 yn若若和和的逻辑异为的逻辑异为:z0z1z2 zn则则 zi xi yi (i0,1,2,n)4.逻辑异运算逻辑异运算
5、逻辑运算(续(续8 8)例例2727:10101011,11001100,求求。解:解:1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 即即 01100111 逻辑运算(续(续9 9)事实上事实上,逻辑加还可以通过逻辑乘和逻辑逻辑加还可以通过逻辑乘和逻辑非来实现:非来实现:i ii i+i i =i i.i i 同样同样,逻辑乘也可以用逻辑加和逻辑非来逻辑乘也可以用逻辑加和逻辑非来实现实现 :i ii i.i i i i+i i 多功能算术/逻辑运算单元(ALU)n由一位全加器由一位全加器(FA)构成的行波进位加法器,构成的行波进位加法器,它可以
6、实现补码数的加法运算和减法运算。它可以实现补码数的加法运算和减法运算。n这种加法这种加法/减法器存在两个问题:减法器存在两个问题:一一是是由由于于串串行行进进位位,它它的的运运算算时时间间很很长长。假假如如加加法法器器由由n位位全全加加器器构构成成,每每一一位位的的进进位位延延迟迟时时间间为为20ns,那那么么最最坏坏情情况况下下,进进位位信信号号从从最最低低位位传传递递到到最最高高位位而而最最后后输输出出稳稳定定,至至少少需需要要n*20ns,这这在高速计算中显然是不利的。在高速计算中显然是不利的。n二是就行波进位加法器本身来说,它二是就行波进位加法器本身来说,它只能完成只能完成加法和减法两
7、种操作而不能完成逻辑操作加法和减法两种操作而不能完成逻辑操作。本。本节我们介绍的多功能算术节我们介绍的多功能算术/逻辑运算单元逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。且具有先行进位逻辑,从而能实现高速运算。多功能算术/逻辑运算单元(ALU)续续1 1)一位全加器一位全加器(FA)(FA)的逻辑表达式为:的逻辑表达式为:F Fi iA Ai iBBi iCCi i C Ci i1 1A Ai iB Bi iB Bi iC Ci iC Ci iA Ai i 1.1.基本思想基本思想 将将AiAi和
8、和BiBi先组合成由先组合成由控制参数控制参数S0,S1,S2,S3S0,S1,S2,S3控制的控制的组合函数组合函数XiXi和和YiYi,然后然后再将再将Xi,YiXi,Yi和下一位进位数通过全加器进行和下一位进位数通过全加器进行全加。这样全加。这样,不同的控制参数可以得到不同不同的控制参数可以得到不同的组合函数的组合函数,因而能够实现多种算术运算和因而能够实现多种算术运算和逻辑运算。因此逻辑运算。因此,一位算术一位算术/逻辑运算单元逻辑运算单元的逻辑表达式为:的逻辑表达式为:F Fi iX Xi iYYi iCCn ni iC Cn ni i1 1X Xi iY Yi iY Yi iC C
9、n ni iC Cn ni iX Xi i图图2.10ALU的逻辑结构原理框图的逻辑结构原理框图 多功能算术/逻辑运算单元(ALU)续续2 2 上式中进位下标用上式中进位下标用n ni i代替原来全加代替原来全加器中的器中的i i,i i代表集成在一片电路上的代表集成在一片电路上的ALUALU的的二进制位数。对于二进制位数。对于4 4位一片的位一片的ALU,iALU,i0,1,2,30,1,2,3。n n代表若干片代表若干片ALUALU组成更大字长的运算组成更大字长的运算器时每片电路的最低位计数器时每片电路的最低位计数,例如当例如当4 4片组片组成成1616位字长的运算器时位字长的运算器时,n
10、,n0,4,8,120,4,8,12。控制参数控制参数S S0 0,S,S1 1,S,S2 2,S,S3 3 分别控制输入分别控制输入A Ai i和和B Bi i,产生产生Y Y和和X X的函数。其中的函数。其中Y Yi i是受是受S S0 0,S,S1 1控制的控制的A Ai i和和B Bi i的组合函数的组合函数,而而X Xi i是受是受S S2 2,S,S3 3控制的控制的A Ai i和和B Bi i组合函数组合函数,其函数关系如表其函数关系如表2.42.4所示。所示。2.2.逻辑表达式逻辑表达式表表2.4 2.4 与控制参数和输入量的关系与控制参数和输入量的关系Ai 1 101 1Ai
11、+Bi1 0Ai Bi1 0Ai+Bi0 1 Ai Bi0 110 0Ai0 0XiS2 S3YiS0 S1根据上面所列的函数关系根据上面所列的函数关系,即可列出即可列出Xi和和Yi的逻辑表达式:的逻辑表达式:XiS2S3S2S3(AiBi)S2S3(AiBi)S2S3AiYiS0S1AiS0S1AiBiS0S1AiBi 定点运算器的组成定点运算器的组成ALU的某一位逻辑表达式如下:的某一位逻辑表达式如下:XiS3AiBiS2AiBiYiAiS0BiS1BiFiX Xi iYYi iCCn ni iCn+i+1YiXiCn+i(1)4 4位之间采用先行进位公式位之间采用先行进位公式,根据式根据
12、式(1 1),每一每一位的进位公式可递推如下:位的进位公式可递推如下:第第0 0位向第位向第1 1位的进位公式为:位的进位公式为:C Cn n1 1Y Y0 0X X0 0C Cn n其中其中C Cn n是向第是向第0 0位(末位)的进位。位(末位)的进位。第第1 1位向第位向第2 2位的进位公式为:位的进位公式为:C Cn n2 2Y Y1 1X X1 1C Cn n1 1Y Y1 1Y Y0 0X X1 1X X0 0X X1 1C Cn n第第2 2位向第位向第3 3位的进位公式为:位的进位公式为:C Cn n3 3Y Y2 2X X2 2C Cn n2 2Y Y2 2Y Y1 1X X
13、1 1Y Y0 0X X1 1X X2 2X X0 0X X1 1X X2 2C Cn n第第3 3位的进位输出(即整个位的进位输出(即整个4 4位运算进位输出)公式为:位运算进位输出)公式为:C Cn n4 4Y Y3 3X X3 3C Cn n3 3Y Y3 3Y Y2 2X X3 3Y Y1 1X X2 2X X3 3Y Y0 0X X1 1X X2 2X X3 3X X0 0X X1 1X X2 2X X3 3C Cn n定点运算器的组成定点运算器的组成设:设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:则:Cn4GPCnG G称为称为进位发生输出进位发生输出,P,
14、P称为称为进位传送输出进位传送输出。在电路中多。在电路中多加这两个进位输出的目的加这两个进位输出的目的,是为了便于实现多片(组)是为了便于实现多片(组)ALUALU之间的先行进位之间的先行进位,为此还需一个配合电路为此还需一个配合电路,称之为称之为先先行进位发生器行进位发生器(CLA)(CLA)。C Cn+4n+4是本片是本片(组组)的最后进位输出。逻辑表达式表明的最后进位输出。逻辑表达式表明,这是一个先行进位逻辑。换句话说这是一个先行进位逻辑。换句话说,第第0 0位的进位输入位的进位输入C Cn n可以直接传送到最高位上去可以直接传送到最高位上去,因而可以实现高速运算。因而可以实现高速运算。
15、设:设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:则:Cn4GPCn定点运算器的组成定点运算器的组成演示 除了除了S S0 0S S3 3四个控制端外四个控制端外,还有一个控制端还有一个控制端,它是用来控制它是用来控制ALUALU是进行算术运算还是进行逻是进行算术运算还是进行逻辑运算的。辑运算的。当当0 0时时,进行进行算术操作。算术操作。对进位信号没对进位信号没有任何影响。此时有任何影响。此时F F不仅与本位的被操作数不仅与本位的被操作数Y Y和操和操作数作数X X有关有关,而且与本位的进位输出而且与本位的进位输出,即即C C有关。有关。当当1 1时时,进行进行逻辑操作
16、。逻辑操作。封锁了各位的进封锁了各位的进位输出位输出,即即C C 0,0,各位的运算结果各位的运算结果F F仅与仅与Y Y和和X X有关。有关。3.算术逻辑运算的实现算术逻辑运算的实现 多功能算术/逻辑运算单元(ALU)续续8 8 表表2.52.5列出了列出了74181ALU74181ALU的运算功能表的运算功能表,它有两种工它有两种工作方式。对正逻辑操作数来说作方式。对正逻辑操作数来说,算术运算称算术运算称高电平操高电平操作作,逻辑运算称逻辑运算称正逻辑操作正逻辑操作(即高电平为即高电平为“1”,“1”,低电平低电平为为“0”)“0”)。对于负逻辑操作数来说。对于负逻辑操作数来说,正好相反。
17、由于正好相反。由于S S0 0S S3 3有有1616种种状态组合状态组合,因此对正逻辑输入与输出而言因此对正逻辑输入与输出而言,有有1616种算术运算功能和种算术运算功能和1616种逻辑运算功能。同样种逻辑运算功能。同样,对于负对于负逻辑输入与输出而言逻辑输入与输出而言,也有也有1616种算术运算功能和种算术运算功能和1616种种逻辑运算功能。逻辑运算功能。表表2.5 74181ALU算术算术/逻辑运算功能表逻辑运算功能表 注意:注意:表表2.52.5中算术运算操作是用补码表示法来表示中算术运算操作是用补码表示法来表示的。其中的。其中“加加”是指是指算术加算术加,运算时要考虑进位运算时要考虑
18、进位,而而符号符号“”是指是指“逻辑加逻辑加”。其次。其次,减法是用减法是用补码补码方方法法进行的进行的,其中数的反码是内部产生的其中数的反码是内部产生的,而结果输出而结果输出“A“A减减B B减减1”1”,因此做减法时需在最末位产生一个因此做减法时需在最末位产生一个强强迫进位迫进位(加加1)1),以便产生以便产生“A“A减减B”B”的结果。的结果。另外另外,“A“AB”B”输出端可指示两个数相等输出端可指示两个数相等,因此因此它与其他它与其他ALUALU的的“A“AB”B”输出端按输出端按“与与”逻辑连接后逻辑连接后,可以检测两个数的可以检测两个数的相等相等条件。条件。多功能算术/逻辑运算单
19、元(ALU)续续13134.两级先行进位的两级先行进位的ALU 74181ALU 74181ALU设置了设置了P P和和G G两个本组先行进位输出两个本组先行进位输出端。如果将四片端。如果将四片7418174181的的P,GP,G输出端送入到输出端送入到7418274182先行进位部件(先行进位部件(CLACLA),又可实现第二级的先行进又可实现第二级的先行进位位,即组与组之间的先行进位。即组与组之间的先行进位。假设假设4 4片(组)片(组)7418174181的先行进位输出依次为的先行进位输出依次为P P0 0,G,G0 0,G,G1 1,P P1 1,P,P2 2,G,G2 2,P,P3
20、3,G,G3 3,74182CLA,74182CLA所提供的进位所提供的进位逻辑关系如下:逻辑关系如下:多功能算术/逻辑运算单元(ALU)续续1414 C Cn nG G0 0P P0 0C Cn nC Cn nG G1 1P P1 1C Cn nG G1 1G G0 0P P1 1P P0 0P P1 1C Cn nC Cn nG G2 2P P2 2C Cn nG G2 2G G1 1P P2 2G G0 0P P1 1P P2 2P P0 0P P1 1P P2 2C Cn n (2.38)(2.38)C Cn n4 4 G G3 3P P3 3C Cn nG G3 3G G2 2P P
21、3 3G G1 1P P2 2P P3 3G G0 0P P1 1P P2 2P P3 3P P0 0P P1 1P P2 2P P3 3C Cn nG G*P P*C Cn n其中:其中:成组进位传送输出:成组进位传送输出:P*P0P1P2P3成组进位发生输出:成组进位发生输出:G*G3G2P3G1P2P3G0P1P2P3 根据以上表达式根据以上表达式,用用TTLTTL器件实现的成组器件实现的成组先行进位部件先行进位部件7418274182的逻辑电路图如图的逻辑电路图如图2.122.12所所示示 其中其中G G*称为称为成组进位发生输出成组进位发生输出,P P*称为称为成组成组进位传送输出进
22、位传送输出。CAIP*=P0P1P2P3=P0+P1+P2+P3G*=G3G2P3G1P2P3G0P1P2P3=G3(G2P3)(G1P2P3)(G0P1P2P3)=G3P3P2G2G3P1G1G2G3G0G1G2G3演示多功能算术/逻辑运算单元(ALU)续续1515n如何用若干个如何用若干个74181ALU位片,与配套的位片,与配套的74182 CLA在一起,构成一个全字长的在一起,构成一个全字长的ALU。n下图示出了用两个下图示出了用两个16位全先行进位部件级联组成位全先行进位部件级联组成的的32位位ALU逻辑方框图。在这个电路中使用了逻辑方框图。在这个电路中使用了8个个74181ALU和
23、和2个个74182CLA器件。对一个器件。对一个16位位来说,来说,CLA部件构成了第二级的先行进位逻辑,即部件构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全实现四个小组(位片)之间的先行进位,从而使全字长字长ALU的运算时间大大缩短。的运算时间大大缩短。图图2.132.13用两个用两个1616位全先行进位部件级联组成位全先行进位部件级联组成的的3232位位ALUALU(组内先行进位,组间串行进位组内先行进位,组间串行进位)进位同时生成进位同时生成由于计算机内部的由于计算机内部的主要工作过程主要工作过程是是信息传送和信息传送和加工加工的过程的过程,因此在机器内部各部
24、件之间的数据因此在机器内部各部件之间的数据传送非常频繁。为了传送非常频繁。为了减少减少内部的传送线并便于内部的传送线并便于控制控制,通常将一些寄存器之间数据传送的通路加通常将一些寄存器之间数据传送的通路加以归并以归并,组成组成总线结构总线结构,使不同来源的信息在此,使不同来源的信息在此传输线上传输线上分时传送分时传送。(总线是计算机内各部件之总线是计算机内各部件之间传送信息的公用的一组连线间传送信息的公用的一组连线)内部总线 内部总线(续续1)n根据总线所在位置,总线分为根据总线所在位置,总线分为内部总线内部总线和和外部总外部总线线两类。两类。n内部总线内部总线是指是指CPU内各部件的连线内各
25、部件的连线n外部总线外部总线是指系统总线,即是指系统总线,即CPU与存储器、与存储器、I/O系统之间的连线。系统之间的连线。n本节只讨论内部总线。本节只讨论内部总线。内部总线(续续2)n按总线的逻辑结构来说,总线可分为按总线的逻辑结构来说,总线可分为单向传送总单向传送总线线和和双向传送总线双向传送总线。n所谓所谓单向总线单向总线,就是信息只能向一个方向传送,就是信息只能向一个方向传送n所谓所谓双向总线双向总线,就是信息可以分两个方向传送,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。既可以发送数据,也可以接收数据。内部总线(续续3)图图2.14(a)2.14(a)是带有缓冲驱动器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 组成 原理 运算 方法 运算器
限制150内