第2章运算方法和运算器PPT讲稿.ppt

上传人:石*** 文档编号:43548739 上传时间:2022-09-17 格式:PPT 页数:115 大小:4.46MB
返回 下载 相关 举报
第2章运算方法和运算器PPT讲稿.ppt_第1页
第1页 / 共115页
第2章运算方法和运算器PPT讲稿.ppt_第2页
第2页 / 共115页
点击查看更多>>
资源描述

《第2章运算方法和运算器PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章运算方法和运算器PPT讲稿.ppt(115页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第2章运算方法和运算器第1页,共115页,编辑于2022年,星期一2.5.1 逻辑运算n计算机中除了进行加、减、乘、除等基本算计算机中除了进行加、减、乘、除等基本算术运算外,还可对两个或一个逻辑数进行逻术运算外,还可对两个或一个逻辑数进行逻辑运算。辑运算。n所谓所谓逻辑数逻辑数是指不带符号的二进制数。利用是指不带符号的二进制数。利用逻辑运算可以进行两个数的比较,或者从某逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。个数中选取某几位等操作。n计算机中的逻辑运算,主要是指计算机中的逻辑运算,主要是指逻辑非逻辑非、逻逻辑加辑加、逻辑乘逻辑乘、逻辑异逻辑异四种基本运算。四种基本运算。第

2、2页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续1 1)n逻辑非也称逻辑非也称求反求反。对某数进行逻辑非运算,就是按位对某数进行逻辑非运算,就是按位求反求反,常用变量上方加一横来表示。,常用变量上方加一横来表示。设一个数设一个数表示成:表示成:x0 x1x2 xn 对对求逻辑非,则有:求逻辑非,则有:z0z1z2 zn zi xi(i0,1,2,n)1.逻辑非运算逻辑非运算 第3页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续2 2)例例2121:x101001011,x211110000 求求x1,x2 解:解:x1 10110100 x2 0000

3、1111第4页,共115页,编辑于2022年,星期一第5页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续4 4)例例2222: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第6页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续5 5)n 对两数进行逻辑乘对两数进行逻辑乘,就是按位求它们的就是按位求它们的“与与”,所以,所以逻辑乘又称逻辑乘又称“逻辑与逻辑与”,常用记号常用记号“”或或“”来表来表示。示。n设有两数设有两数和和,它们表示为

4、,它们表示为 x0 x1x2 xn y y0y1y2 yn若若 z0z1z2 zn则则 zi xiyi (i0,1,2,n)3.逻辑乘运算逻辑乘运算 第7页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续6 6)例例2323: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第8页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续7 7)对两数进行异就是按位求它们的模对两数进行异就是按位求它们的模2和和,所以逻辑异又,所以逻辑异又称称“按位加按

5、位加”,常用记号,常用记号“”表示。表示。n设有两数设有两数和和:x0 x1x2 xn y y0y1y2 yn若若和和的逻辑异为的逻辑异为:z0z1z2 zn则则 zi xi yi (i0,1,2,n)4.逻辑异运算逻辑异运算 第9页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续8 8)例例2323: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 第10页,共115页,编辑于2022年,星期一2.5.1 逻辑运算(续(续9 9)事实上事实上,逻辑加还可以

6、通过逻辑乘和逻辑逻辑加还可以通过逻辑乘和逻辑非来实现:非来实现:i ii ii i =i ii i 同样同样,逻辑乘也可以用逻辑加和逻辑非来逻辑乘也可以用逻辑加和逻辑非来实现实现 :i ii ii i i ii i 第11页,共115页,编辑于2022年,星期一 2.5.2 多功能算术/逻辑运算单元(ALU)n由一位全加器由一位全加器(FA)构成的行波进位加法器,构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。它可以实现补码数的加法运算和减法运算。n这种加法这种加法/减法器存在两个问题:减法器存在两个问题:一一是是由由于于串串行行进进位位,它它的的运运算算时时间间很很长长。假假如如

7、加加法法器器由由n位位全全加加器器构构成成,每每一一位位的的进进位位延延迟迟时时间间为为20ns,那那么么最最坏坏情情况况下下,进进位位信信号号从从最最低低位位传传递递到到最最高高位位而而最最后后输输出出稳稳定定,至至少少需需要要n*20ns,这这在在高高速速计计算算中中显显然然是是不利的。不利的。n二是就行波进位加法器本身来说,它二是就行波进位加法器本身来说,它只能完成加法只能完成加法和减法两种操作而不能完成逻辑操作和减法两种操作而不能完成逻辑操作。本节我们介。本节我们介绍的多功能算术绍的多功能算术/逻辑运算单元逻辑运算单元(ALU)不仅具有多种算不仅具有多种算术运算和逻辑运算的功能,而且具

8、有先行进位逻辑,术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。从而能实现高速运算。第12页,共115页,编辑于2022年,星期一2.5.2 多功能算术/逻辑运算单元(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.基本思想基本思想第13页,共115页,编辑于2022年,星期一 将将AiAi和和BiBi先组合成由先组合成由控制参数控制参数S0,S1,S2,S3S0,S1,S2,S3控制的控制的

9、组合函数组合函数XiXi和和YiYi,然后再将然后再将Xi,YiXi,Yi和下一和下一位进位数通过全加器进行全加。这样位进位数通过全加器进行全加。这样,不同的控不同的控制参数可以得到不同的组合函数制参数可以得到不同的组合函数,因而能够实现因而能够实现多种算术运算和逻辑运算。因此多种算术运算和逻辑运算。因此,一位算术一位算术/逻辑逻辑运算单元的逻辑表达式为:运算单元的逻辑表达式为:F Fi iX Xi iYYi iCCn ni iC Cn ni i1 1X Xi iY Yi iY Yi iC Cn ni iC Cn ni iX Xi i第14页,共115页,编辑于2022年,星期一图图2.10A

10、LU的逻辑结构原理框图的逻辑结构原理框图第15页,共115页,编辑于2022年,星期一2.5.2 多功能算术/逻辑运算单元(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

11、,n0,4,8,120,4,8,12。第16页,共115页,编辑于2022年,星期一 控制参数控制参数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 与控制参数和输入量的关系

12、与控制参数和输入量的关系Ai 1 101 1Ai+Bi1 0Ai Bi1 0Ai+Bi0 1 Ai Bi0 110 0Ai0 0XiS2 S3YiS0 S1第17页,共115页,编辑于2022年,星期一根据上面所列的函数关系根据上面所列的函数关系,即可列出即可列出Xi和和Yi的逻辑表达式:的逻辑表达式:XiS2S3S2S3(AiBi)S2S3(AiBi)S2S3AiYiS0S1AiS0S1AiBiS0S1AiBi根据上面所列的函数关系,化简根据上面所列的函数关系,化简Yi的逻辑表达式得:的逻辑表达式得:YiS0S1AiS0S1AiBiS0S1AiBiAi(S0S1S0S1BiS0S1Bi)Ai

13、(S0S1(BiBi)S0S1BiS0S1Bi)Ai(S0BiS1Bi)Ai(S0Bi)()(S1Bi)Ai(S0S1S0BiS1Bi)AiS0BiS1Bi第18页,共115页,编辑于2022年,星期一根据上面所列的函数关系,化简根据上面所列的函数关系,化简Xi的逻辑表达式得:的逻辑表达式得:XiS2S3S2S3(AiBi)S2S3(AiBi)S2S3AiS2S3S2AiS2BiS3AiS3BiS2S3AiS2S3S2AiS2BiS3BiAi(S3S2)S2S3S2AiS2BiS3BiAiS3AiS2S2S3AiS2BiS3BiAiS3S2S3S2AiAiAiAi(BiBi)S2BiS3BiA

14、iS3BiBiS2(S3AiBi)Ai(S3AiBi)Bi(S3AiBi)(S3AiBi)(S2AiBi)S3AiBiS2AiBi第19页,共115页,编辑于2022年,星期一Ai 1 101 1Ai+Bi1 0Ai Bi1 0Ai+Bi0 1 Ai Bi0 110 0Ai0 0XiS2 S3YiS0 S1进一步化简进一步化简可得可得:XiS3AiBiS2AiBiYiAiS0BiS1BiXiYiS3AiBiS2AiBiAiS0BiS1BiYi将将Xi和和Yi代入前面的进位表达式,可简化为:代入前面的进位表达式,可简化为:Cn+i+1YiXiCn+i=S3AiBiS2AiBiAiS0BiS1Bi

15、AiS0BiS1BiYi第20页,共115页,编辑于2022年,星期一 定点运算器的组成定点运算器的组成综上所述,综上所述,ALU的某一位逻辑表达式如下:的某一位逻辑表达式如下:XiS3AiBiS2AiBiYiAiS0BiS1BiFiX Xi iYYi iCCn ni iCn+i+1YiXiCn+i(2.36)第21页,共115页,编辑于2022年,星期一 4 4位之间采用先行进位公式位之间采用先行进位公式,根据式根据式(2.362.36),每一每一位的进位公式可递推如下:位的进位公式可递推如下:第第0 0位向第位向第1 1位的进位公式为:位的进位公式为:C Cn n1 1Y Y0 0X X0

16、 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 X1 1Y Y0 0X X1 1X X2 2X X0 0X X1 1X X2 2C Cn n第第3 3位的进位输出(即整个位的进位输出(即整个4 4位运算进位输出)公式为

17、:位运算进位输出)公式为: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则:则:Cn4GPCn第22页,共115页,编辑于2022年,星期一G G称为称为进位发生输出进位发生输出,P,P称为称为进位传送输出进位传送输出。在电路中多。在电路中多加这两个进位输出的目的加这两个进位输出的目的,是为了便于实现多片

18、(组)是为了便于实现多片(组)ALUALU之间的先行进位之间的先行进位,为此还需一个配合电路为此还需一个配合电路,称之为称之为先先行进位发生器行进位发生器(CLA)(CLA)。C Cn+4n+4是本片是本片(组组)的最后进位输出。逻辑表达式表明的最后进位输出。逻辑表达式表明,这是一个先行进位逻辑。换句话说这是一个先行进位逻辑。换句话说,第第0 0位的进位输入位的进位输入C Cn n可以直接传送到最高位上去可以直接传送到最高位上去,因而可以实现高速运算。因而可以实现高速运算。设:设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:则:Cn4GPCn第23页,共115页,编辑于20

19、22年,星期一定点运算器的组成定点运算器的组成 图图2.11(a)2.11(a)示出了用负逻辑表示的示出了用负逻辑表示的4 4位位算术算术/逻辑运算单元逻辑运算单元(ALU)(ALU)的逻辑电路图的逻辑电路图(CAICAI演示)演示),它是根据上面的原始推导公它是根据上面的原始推导公式用式用TTLTTL电路实现的。电路实现的。这个器件的商业标号为这个器件的商业标号为74181ALU74181ALU。M(YM(Y2 2Y Y1 1X X2 2 Y Y0 0X X1 1X X2 2X X0 0X X1 1X X2 2C Cn n)M M C Cn n3 3M(YM(Y1 1Y Y0 0X X1 1

20、X X0 0X X1 1C Cn n)M M C Cn n2 2Y3Y2X3Y1X2X3Y0X1X2X3GX0X1X2X3PPG+CnG=G+PCn=Cn+4=Cn+4YiAiS0BiS1BiXiS3AiBiS2AiBiM(YM(Y0 0X X0 0C Cn n)M M C Cn n1 1第24页,共115页,编辑于2022年,星期一 除了除了S S0 0S S3 3四个控制端外四个控制端外,还有一个控制端还有一个控制端,它它使用来控制使用来控制ALUALU是进行算术运算还是进行逻辑运算的。是进行算术运算还是进行逻辑运算的。当当0 0时时,进行进行算术操作。算术操作。对进位信号没有任何对进位信

21、号没有任何影响。此时影响。此时F F不仅与本位的被操作数不仅与本位的被操作数Y Y和操作数和操作数X X有关有关,而且与本位的进位输出而且与本位的进位输出,即即C C有关。有关。当当1 1时时,进行进行逻辑操作。逻辑操作。封锁了各位的进位输出封锁了各位的进位输出,即即C C 0,0,各位的运算结果各位的运算结果F F仅与仅与Y Y和和X X有关。有关。3.算术逻辑运算的实现算术逻辑运算的实现 2.5.2多功能算术/逻辑运算单元(ALU)续续8 8第25页,共115页,编辑于2022年,星期一 图图2.11(b)2.11(b)示出了工作于负逻辑和正逻辑示出了工作于负逻辑和正逻辑操作数方式的操作数

22、方式的74181ALU74181ALU方框图。显然方框图。显然,这个器这个器件执行的正逻辑输入件执行的正逻辑输入/输出方式的一组算术运输出方式的一组算术运算和逻辑操作与负逻辑输入算和逻辑操作与负逻辑输入/输出方式的一组输出方式的一组算术运算和逻辑操作是等效的。算术运算和逻辑操作是等效的。第26页,共115页,编辑于2022年,星期一 表表2.52.5列出了列出了74181ALU74181ALU的运算功能表的运算功能表,它有两种工它有两种工作方式。对正逻辑操作数来说作方式。对正逻辑操作数来说,算术运算称算术运算称高电平操高电平操作作,逻辑运算称逻辑运算称正逻辑操作正逻辑操作(即高电平为即高电平为

23、“1 1”,低电平为低电平为“0 0”)。对于负逻辑操作数来说。对于负逻辑操作数来说,正好相反。由于正好相反。由于S S0 0S S3 3有有1616种种状态组合状态组合,因此对正逻辑输入与输出而言因此对正逻辑输入与输出而言,有有1616种算术运算功能和种算术运算功能和1616种逻辑运算功能。同样种逻辑运算功能。同样,对于负对于负逻辑输入与输出而言逻辑输入与输出而言,也有也有1616种算术运算功能和种算术运算功能和1616种种逻辑运算功能。逻辑运算功能。第27页,共115页,编辑于2022年,星期一表表2.5 74181ALU算术算术/逻辑运算功能表逻辑运算功能表 第28页,共115页,编辑于

24、2022年,星期一注意:注意:表表2.52.5中算术运算操作是用补码表示法来表示中算术运算操作是用补码表示法来表示的。其中的。其中“加加”是指是指算术加算术加,运算时要考虑进位运算时要考虑进位,而而符号符号“”是指是指“逻辑加逻辑加”。其次。其次,减法是用减法是用补码补码方法方法进行的进行的,其中数的反码是内部产生的其中数的反码是内部产生的,而结果输出而结果输出“A A减减B B减减1 1”,因此做减法时需在最末位产生一个因此做减法时需在最末位产生一个强强迫进位迫进位(加加1)1),以便产生以便产生“A A减减B B”的结果。的结果。另外另外,“A AB B”输出端可指示两个数相等输出端可指示

25、两个数相等,因此因此它与其他它与其他ALUALU的的“A AB B”输出端按输出端按“与与”逻辑连接后逻辑连接后,可以检测两个数的可以检测两个数的相等相等条件。条件。第29页,共115页,编辑于2022年,星期一2.5.2多功能算术/逻辑运算单元(ALU)续续13134.两级先行进位的两级先行进位的ALU 74181ALU 74181ALU设置了设置了P P和和G G两个本组先行进位输出端。如果两个本组先行进位输出端。如果将四片将四片7418174181的的P,GP,G输出端送入到输出端送入到7418274182先行进位部件先行进位部件(CLACLA),又可实现第二级的先行进位又可实现第二级的

26、先行进位,即组与组之间的先即组与组之间的先行进位。行进位。假设假设4 4片(组)片(组)7418174181的先行进位输出依次为的先行进位输出依次为P P0 0,G,G0 0,G,G1 1,P P1 1,P,P2 2,G,G2 2,P,P3 3,G,G3 3,74182CLA,74182CLA所提供的进位逻辑关系如下:所提供的进位逻辑关系如下:第30页,共115页,编辑于2022年,星期一2.5.2多功能算术/逻辑运算单元(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 P

27、1 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 P3 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*G3G2P3G1

28、P2P3G0P1P2P3第31页,共115页,编辑于2022年,星期一 根据以上表达式根据以上表达式,用用TTLTTL器件实现的成组器件实现的成组先行进位部件先行进位部件7418274182的逻辑电路图如图的逻辑电路图如图2.122.12所所示示 其中其中G G*称为称为成组进位发生输出成组进位发生输出,P P*称为称为成组成组进位传送输出进位传送输出。CAI第32页,共115页,编辑于2022年,星期一P*=P0P1P2P3=P0+P1+P2+P3G*=G3G2P3G1P2P3G0P1P2P3=G3(G2P3)(G1P2P3)(G0P1P2P3)=G3P3P2G2G3P1G1G2G3G0G1

29、G2G3第33页,共115页,编辑于2022年,星期一2.5.2多功能算术/逻辑运算单元(ALU)续续1515n如何用若干个如何用若干个74181ALU位片,与配套的位片,与配套的74182 CLA在在一起,构成一个全字长的一起,构成一个全字长的ALU。n下图示出了用两个下图示出了用两个16位全先行进位部件级联组成的位全先行进位部件级联组成的32位位ALU逻辑方框图。在这个电路中使用了逻辑方框图。在这个电路中使用了8个个74181ALU和和2个个74182CLA器件。对一个器件。对一个16位来位来说,说,CLA部件构成了第二级的先行进位逻辑,即实现部件构成了第二级的先行进位逻辑,即实现四个小组

30、(位片)之间的先行进位,从而使全字长四个小组(位片)之间的先行进位,从而使全字长ALU的运算时间大大缩短。的运算时间大大缩短。第34页,共115页,编辑于2022年,星期一图图2.132.13用两个用两个1616位全先行进位部件级联组成的位全先行进位部件级联组成的3232位位ALUALU(组内先行进位,组间串行进位组内先行进位,组间串行进位)进位同时生成进位同时生成第35页,共115页,编辑于2022年,星期一用两级CLA(74182)级联组成的6464位具有全先行进位的位具有全先行进位的ALUALU第36页,共115页,编辑于2022年,星期一由于计算机内部的由于计算机内部的主要工作过程主要

31、工作过程是是信息传送和加工信息传送和加工的的过程过程,因此在机器内部各部件之间的数据传送非常因此在机器内部各部件之间的数据传送非常频繁。为了频繁。为了减少减少内部的传送线并便于控制内部的传送线并便于控制,通常将通常将一些寄存器之间数据传送的通路加以归并一些寄存器之间数据传送的通路加以归并,组成组成总总线结构线结构,使不同来源的信息在此传输线上,使不同来源的信息在此传输线上分时传送分时传送。(总线是计算机内各部件之间传送信息的公用的一总线是计算机内各部件之间传送信息的公用的一组连线组连线)2.5.3 内部总线第37页,共115页,编辑于2022年,星期一2.5.3 内部总线(续续1)n根据总线所

32、在位置,总线分为根据总线所在位置,总线分为内部总线内部总线和和外部总线外部总线两类。两类。n内部总线内部总线是指是指CPU内各部件的连线内各部件的连线n外部总线外部总线是指系统总线,即是指系统总线,即CPU与存储器、与存储器、I/O系统之间的连线。系统之间的连线。n本节只讨论内部总线。本节只讨论内部总线。第38页,共115页,编辑于2022年,星期一2.5.3 内部总线(续续2)n按总线的逻辑结构来说,总线可分为按总线的逻辑结构来说,总线可分为单向传送总线单向传送总线和和双向传送总线双向传送总线。n所谓所谓单向总线单向总线,就是信息只能向一个方向传送,就是信息只能向一个方向传送n所谓所谓双向总

33、线双向总线,就是信息可以分两个方向传送,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。既可以发送数据,也可以接收数据。第39页,共115页,编辑于2022年,星期一2.5.3 内部总线(续续3)图图2.14(a)2.14(a)是带有缓冲驱动器的是带有缓冲驱动器的4 4位双向数据总线。位双向数据总线。其中所用的基本电路就是三态逻辑电路。其中所用的基本电路就是三态逻辑电路。当当“发送发送”信号有效时信号有效时,数据从左向右传送。数据从左向右传送。当当“接收接收”信号有效时信号有效时,数据从右向左传送。数据从右向左传送。这种类型的缓冲器通常根据它们的不同用途而分这种类型的缓冲器通常根据

34、它们的不同用途而分别称为别称为总线扩展器总线扩展器、总线驱动器总线驱动器、总线接收器总线接收器等等。等等。第40页,共115页,编辑于2022年,星期一发送发送接收接收发送发送接收接收第41页,共115页,编辑于2022年,星期一 若若E E0,0,触发器触发器Q Q保持保持原值,数据原值,数据D D被封锁,被封锁,不接收。而三态门被打不接收。而三态门被打开,锁存器的数据经三开,锁存器的数据经三态门态门发送发送到数据总线到数据总线D D上。上。若若E E1 1,触发器接收,触发器接收数据数据D D,Q=DQ=D。而三态门。而三态门被禁止被禁止,因而数据总线因而数据总线D D上的数据只能被上的数

35、据只能被接收接收到到锁存器。锁存器。E E输入端控制输入端控制D D的输入的输入发送发送接收接收第42页,共115页,编辑于2022年,星期一 图图2.14(b)2.14(b)所示的是带有锁存器的所示的是带有锁存器的4 4位双向数据总位双向数据总线。它主要由一个线。它主要由一个DEDE触发器和一个三态缓冲器组成。触发器和一个三态缓冲器组成。DEDE触发器是在一个普通触发器是在一个普通D D触发器上另加一个触发器上另加一个E E输入端输入端(允许端)而构成的。此处(允许端)而构成的。此处E E输入端用以控制输入端用以控制D D的输入。的输入。若若E E0,0,触发器的输入触发器的输入D D被封锁

36、,即使被封锁,即使D D为为“1 1”,也不能也不能输入。输入。当接收数据时当接收数据时,E,E1 1,三态门被禁止,三态门被禁止,因而数据总因而数据总线上的数据只能被线上的数据只能被接收接收到锁存器。到锁存器。当发送数据时当发送数据时,E,E0 0,触发器的输入,触发器的输入D D被封锁,而被封锁,而三态门被打开,因而锁存器的数据经三态门三态门被打开,因而锁存器的数据经三态门发送发送到数到数据总线上。据总线上。第43页,共115页,编辑于2022年,星期一2.5.4 定点运算器的基本结构 n 运算器包括运算器包括ALU阵列乘除器阵列乘除器寄存器寄存器多路开关多路开关三态三态缓冲器缓冲器数据总

37、线等逻辑部件数据总线等逻辑部件。n运算器的设计,主要是围绕运算器的设计,主要是围绕ALU和寄存器同数据总线之间和寄存器同数据总线之间如何传送操作数和运算结果进行的。如何传送操作数和运算结果进行的。n在决定方案时,需要考虑数据传送的方便性和操作速在决定方案时,需要考虑数据传送的方便性和操作速度,在微型机和单片机中还要考虑在硅片上制作总线度,在微型机和单片机中还要考虑在硅片上制作总线的工艺。的工艺。n 计算机的运算器大体有如下三种结构形式计算机的运算器大体有如下三种结构形式第44页,共115页,编辑于2022年,星期一2.5.4 定点运算器的基本结构(续续1)1)1.单总线结构的运算器单总线结构的

38、运算器 单总线结构的运算器如单总线结构的运算器如(a)(a)所示。所有部件都接同一所示。所有部件都接同一总线上总线上,所以数据可以在任何两个寄存器之间所以数据可以在任何两个寄存器之间,或者或者在任一个寄存器和在任一个寄存器和ALUALU之间传送。如果具有阵列乘法之间传送。如果具有阵列乘法器或除法器器或除法器,那么它们所处的位置应与那么它们所处的位置应与ALUALU相当。相当。在同一时间内在同一时间内,只能有一个操作数放在单总线上。只能有一个操作数放在单总线上。为了把两个操作数输入到为了把两个操作数输入到ALU,ALU,需要分两次来做需要分两次来做,而而且还需要且还需要A,BA,B两个缓冲寄存器

39、。这种结构的主要两个缓冲寄存器。这种结构的主要缺缺点点是操作速度较慢。是操作速度较慢。第45页,共115页,编辑于2022年,星期一第46页,共115页,编辑于2022年,星期一注意到注意到:虽然在这种结构中,输入数据和操作结果需虽然在这种结构中,输入数据和操作结果需要要三次串行的选通三次串行的选通操作操作,但它并不会对每种指令都但它并不会对每种指令都增加很多执行时间。只有在对全都是增加很多执行时间。只有在对全都是CPUCPU寄存器中寄存器中的两个操作数的两个操作数进行操作时进行操作时,单总线结构的运算器才单总线结构的运算器才会造成一定的时间损失。但是由于它只控制一条会造成一定的时间损失。但是

40、由于它只控制一条总线总线,故故控制电路比较简单控制电路比较简单。第47页,共115页,编辑于2022年,星期一2.5.4 定点运算器的基本结构(续续2)2)n双总线结构的运算器如双总线结构的运算器如(b)所示。所示。n 在这种结构中,两个操作数同时加到在这种结构中,两个操作数同时加到ALU进行运算,只需一进行运算,只需一次操作控制,而且马上就可以得到运算结果次操作控制,而且马上就可以得到运算结果n两条总线各自把其数据送至两条总线各自把其数据送至ALU的输入端。特殊寄存器分为两的输入端。特殊寄存器分为两组,分别与一条总线交换数据。通用寄存器中的数就可进入到组,分别与一条总线交换数据。通用寄存器中

41、的数就可进入到任一组特殊寄存器中,使数据传送更为灵活。任一组特殊寄存器中,使数据传送更为灵活。nALU的输出不能直接加到总线上去。的输出不能直接加到总线上去。因为因为,当形成操作结果的输,当形成操作结果的输出时,两条总线都被输入数占据,因而必须在出时,两条总线都被输入数占据,因而必须在ALU输出端设置缓冲输出端设置缓冲寄存器。寄存器。2.双总线结构的运算器双总线结构的运算器 第48页,共115页,编辑于2022年,星期一第49页,共115页,编辑于2022年,星期一 在双总线结构的运算其中,操作的控制要分在双总线结构的运算其中,操作的控制要分两步完成两步完成:1.1.在在ALUALU的两个输入

42、端输入操作数的两个输入端输入操作数,形成结果形成结果并送入缓冲寄存器并送入缓冲寄存器;2.2.把结果送入目的寄存器。假如在总线把结果送入目的寄存器。假如在总线1,21,2和和ALUALU输入端之间再各加一个输入端之间再各加一个输入缓冲寄存器输入缓冲寄存器,并把并把两个输入数先放至这两个缓冲寄存器两个输入数先放至这两个缓冲寄存器,那么那么,ALU,ALU输输出端就可以直接把操作结果送至出端就可以直接把操作结果送至 总线总线1 1或或总线总线2 2上上去。去。第50页,共115页,编辑于2022年,星期一2.5.4 定点运算器的基本结构(续续3)3)nALU的输入端分别由两条总线供给,ALU的输出

43、与第3三条总线相连。运算操作可以在一步控制内完成。n 由于ALU本身有时间延迟,所以打入输出结果的选通脉冲必须考虑到包括这个延迟。n总线旁路器。如果一个操作数不需要修改,而直接从总线2传送到总线3,可以通过控制总线旁路器把数据传出;如果一个操作数传送时需要修改,那么就借助于ALU。n三总线结构的运算器的特点是操作时间快。三总线结构的运算器的特点是操作时间快。3.三总线结构的运算器三总线结构的运算器 第51页,共115页,编辑于2022年,星期一第52页,共115页,编辑于2022年,星期一2.6 浮点运算方法和浮点运算器n2.6.1 浮点加法、减法运算n2.6.2 浮点乘法、除法运算n2.6.

44、3 浮点运算流水线n2.6.4 浮点运算器实例第53页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算 设有两个浮点数设有两个浮点数和和,它们分别为:它们分别为:2 2E EM M2 2E EM M其中其中E E和和E E分别为数分别为数和和的阶码的阶码,M M和和M M为数为数和和的尾数。的尾数。两浮点数进行加法和减法的运算规则是:两浮点数进行加法和减法的运算规则是:(M M2 2E EE EM M)2 2E E,E E E E第54页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算(续续1)1)n完成浮点加减运算的操作过程大体分为四步:完成浮点加减运

45、算的操作过程大体分为四步:1.0 操作数的检查;操作数的检查;2.比较阶码大小并完成对阶;比较阶码大小并完成对阶;3.尾数进行加或减运算;尾数进行加或减运算;4.结果规格化并进行舍入处理。结果规格化并进行舍入处理。n浮点加减运算的操作流程浮点加减运算的操作流程 第55页,共115页,编辑于2022年,星期一浮点运算浮点运算0操作数检查操作数检查对阶操作对阶操作尾数相加尾数相加(CAICAI演示演示)第56页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算(续续2)2)0 操作数检查操作数检查n浮点加减运算过程比定点运算过程复杂。如果判知两个操浮点加减运算过程比定点运算过程复

46、杂。如果判知两个操作数作数或或中有一个数为中有一个数为0,即可得知运算结果而没有必,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。要再进行后续的一系列操作以节省运算时间。n0操作数检查步骤则用来完成这一功能。操作数检查步骤则用来完成这一功能。第57页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算(续续3)3)比较阶码大小并完成对阶比较阶码大小并完成对阶n两浮点数进行加减,首先要看两数的阶码是否相同,两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐。若二数阶码相同,表示小即小数点位置是否对齐。若二数阶码相同,表示小数点是对齐的,就可以进行

47、尾数的加减运算。若二数点是对齐的,就可以进行尾数的加减运算。若二数阶码不同,表示小数点位置没有对齐,必须使二数阶码不同,表示小数点位置没有对齐,必须使二数阶码相同,这个过程叫作数阶码相同,这个过程叫作对阶对阶。n要对阶,首先应求出两数阶码要对阶,首先应求出两数阶码E和和E之差,即之差,即 E EE第58页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算(续续4)4)nE 0,表示,表示EE,两数阶码相等;两数阶码相等;nE 0,表示,表示E0,表示,表示EE。n当当EE 时,通过尾数的移动以改变时,通过尾数的移动以改变E或或E使之使之相等相等n原则上,既可以通过原则上,既可

48、以通过M移位以改变移位以改变E来达到来达到EE,也可以通过,也可以通过M移位以改变移位以改变E来实现来实现EE。第59页,共115页,编辑于2022年,星期一 但是但是,由于浮点表示的数多是规格化的由于浮点表示的数多是规格化的,尾数尾数左移左移会引起会引起最高有效位最高有效位的丢失的丢失,造成造成很大误差很大误差。尾数。尾数右移右移虽引起虽引起最低有效位最低有效位的丢失的丢失,但造成但造成误差较小误差较小。因此。因此,对阶操作规定使尾数对阶操作规定使尾数右移右移,尾数右移后阶码作相应增尾数右移后阶码作相应增加加,其数值保持不变。显然其数值保持不变。显然,一个增加后的阶码与另一个增加后的阶码与另

49、一个阶码相等一个阶码相等,增加的阶码的一定是小阶。因此在对增加的阶码的一定是小阶。因此在对阶时阶时,总是使总是使小阶向大阶看齐小阶向大阶看齐,即小阶的尾数向右移即小阶的尾数向右移位位(相当于小数点左移)每右移一位相当于小数点左移)每右移一位,其阶码加其阶码加1,1,直直到两数的阶码相等为止到两数的阶码相等为止,右移的位数等于阶差右移的位数等于阶差E E。第60页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算(续续5)5)尾数求和运算尾数求和运算n对阶结束后,即可进行尾数的求和运算。对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法不论加法运算还是减法运

50、算,都按加法进行操作,其方法与定点加减法运算完进行操作,其方法与定点加减法运算完全一样。全一样。第61页,共115页,编辑于2022年,星期一2.6.1 浮点加法、减法运算(续续6)6)结果规格化结果规格化n在浮点加减运算时,尾数求和的结果也可以得到在浮点加减运算时,尾数求和的结果也可以得到01.或或10.,即两符号位不等,这在定,即两符号位不等,这在定点加减法运算中称为溢出,是不允许的。但在浮点加减法运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数求和结果的绝对值大于点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化。此时将运算结果右移以实现向左破坏了规格化。此时将运算结果右

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁