大学计算机组成原理第2章运算方法和运算器4

上传人:大米 文档编号:568401495 上传时间:2024-07-24 格式:PPT 页数:91 大小:942KB
返回 下载 相关 举报
大学计算机组成原理第2章运算方法和运算器4_第1页
第1页 / 共91页
大学计算机组成原理第2章运算方法和运算器4_第2页
第2页 / 共91页
大学计算机组成原理第2章运算方法和运算器4_第3页
第3页 / 共91页
大学计算机组成原理第2章运算方法和运算器4_第4页
第4页 / 共91页
大学计算机组成原理第2章运算方法和运算器4_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《大学计算机组成原理第2章运算方法和运算器4》由会员分享,可在线阅读,更多相关《大学计算机组成原理第2章运算方法和运算器4(91页珍藏版)》请在金锄头文库上搜索。

1、2.5 定点运算器的组成n2.5.1 逻辑运算n2.5.2 多功能算术逻辑运算单元n2.5.3 内部总线n2.5.4 定点运算器的基本结构2.5.1 逻辑运算n计算机中除了进行加、减、乘、除等基本算计算机中除了进行加、减、乘、除等基本算术运算外,还可对两个或一个逻辑数进行逻术运算外,还可对两个或一个逻辑数进行逻辑运算。辑运算。n所谓所谓逻辑数逻辑数是指不带符号的二进制数。利用是指不带符号的二进制数。利用逻辑运算可以进行两个数的比较,或者从某逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。个数中选取某几位等操作。n计算机中的逻辑运算,主要是指计算机中的逻辑运算,主要是指逻辑非逻辑非

2、、逻逻辑加辑加、逻辑乘逻辑乘、逻辑异逻辑异四种基本运算。四种基本运算。2.5.1 逻辑运算(续(续1 1)n逻辑非也称逻辑非也称求反求反。对某数进行逻辑非运算,就是按对某数进行逻辑非运算,就是按位求反位求反,常用变量上方加一横来表示。,常用变量上方加一横来表示。 设一个数设一个数表示成:表示成: x0x1x2 xn 对对求逻辑非,则有:求逻辑非,则有: z0z1z2 zn zi xi(i0,1,2,n) 1.逻辑非运算逻辑非运算 2.5.1 逻辑运算(续(续2 2)例例2424: x101001011,x211110000 求求x1,x2 解:解: x1 10110100 x2 0000111

3、12.5.1 逻辑运算(续(续4 4)2逻辑加:逻辑加:对两个数的逻辑加对两个数的逻辑加,就是按位求它们的就是按位求它们的“或或”例例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 即即+ 101110112.5.1 逻辑运算(续(续5 5)n 对两数进行逻辑乘对两数进行逻辑乘,就是按位求它们的就是按位求它们的“与与”,所以逻辑乘又称所以逻辑乘又称“逻辑与逻辑与”,常用记号常用记号 “”来来表示。表示。n设有两数设有两数和和,它们表示为,它们表示为 x0x1x2 xn y y0

4、y1y2 yn若若 z0z1z2 zn则则 zi xiyi (i0,1,2,n) 3.逻辑乘运算逻辑乘运算 2.5.1 逻辑运算(续(续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 即即 101100012.5.1 逻辑运算(续(续7 7)对两数进行异就是按位求它们的模对两数进行异就是按位求它们的模2和和,所以逻辑异,所以逻辑异又称又称“按位加按位加”,常用记号,常用记号“ ”表示。表示。 n设有两数设有两数和和: x0x1x2 xn y y0y1y2 yn若若和和的逻

5、辑异为的逻辑异为: z0z1z2 zn则则 zi xi yi (i0,1,2,n) 4.逻辑异运算逻辑异运算 2.5.1 逻辑运算(续(续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 2.5.1 逻辑运算(续(续9 9) 事实上事实上, ,逻辑加还可以通过逻辑乘和逻辑逻辑加还可以通过逻辑乘和逻辑非来实现:非来实现: i ii i+ +i i =i i . .i i 同样同样, ,逻辑乘也可以用逻辑加和逻辑非来逻辑乘也可以用逻辑加和逻辑非来实现实现

6、 : i ii i . .i i i i + +i i 2.5.2 多功能算术/逻辑运算单元(ALU) n由一位全加器由一位全加器(FA)构成的行波进位加法器,构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。它可以实现补码数的加法运算和减法运算。 n这种加法这种加法/减法器存在两个问题:减法器存在两个问题:一一是是由由于于串串行行进进位位,它它的的运运算算时时间间很很长长。假假如如加加法法器器由由n位位全全加加器器构构成成,每每一一位位的的进进位位延延迟迟时时间间为为20ns,那那么么最最坏坏情情况况下下,进进位位信信号号从从最最低低位位传传递递到到最最高高位位而而最最后后输输出出

7、稳稳定定,至至少少需需要要n*20ns,这这在高速计算中显然是不利的。在高速计算中显然是不利的。n二是就行波进位加法器本身来说,它二是就行波进位加法器本身来说,它只能完成只能完成加法和减法两种操作而不能完成逻辑操作加法和减法两种操作而不能完成逻辑操作。本。本节我们介绍的多功能算术节我们介绍的多功能算术/逻辑运算单元逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。且具有先行进位逻辑,从而能实现高速运算。2.5.2 多功能算术/逻辑运算单元(ALU)续续1 1)一位全加器一位全加器(FA)(FA)的逻辑表

8、达式为:的逻辑表达式为: 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和和BiBi先组合成由先组合成由控制参数控制参数S0,S1,S2,S3S0,S1,S2,S3控制的控制的组合函数组合函数XiXi和和YiYi, ,然后然后再将再将Xi,YiXi,Yi和下一位进位数通过全加器进行和下一位进位数通过全加器进行全加。这样全加。这样, ,不同的控制参数可以得到不同不同的控制参数可以得到不同的组合函数的组合函数, ,因而能够实现多种算术运算和因而能够实现多种算术运算和逻辑

9、运算。因此逻辑运算。因此, ,一位算术一位算术/ /逻辑运算单元逻辑运算单元的逻辑表达式为:的逻辑表达式为: 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图图2.10ALU的逻辑结构原理框图的逻辑结构原理框图2.5.2 多功能算术/逻辑运算单元(ALU)续续2 2 上式中进位下标用上式中进位下标用n ni i代替原来全加代替原来全加器中的器中的i i, ,i i代表集成在一片电路上的代表集成在一片电路上的ALUALU的的二进制位数。对于二进制位数。对于4 4位一片的位一片的ALU,

10、iALU,i0,1,2,30,1,2,3。 n n代表若干片代表若干片ALUALU组成更大字长的运算组成更大字长的运算器时每片电路的最低位计数器时每片电路的最低位计数, ,例如例如当当4 4片组片组成成1616位字长的运算器时位字长的运算器时,n,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

11、 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 + Bi1 0Ai Bi1 0Ai + Bi0 1 Ai Bi0 110 0Ai0 0XiS2 S3YiS0 S1根据上面所列的函数关系根据上面所列的函数关系,即可列出即可列出Xi和和Yi的逻辑表达式:的逻辑表达式:XiS2S3S2S3(AiBi)S2S3(AiBi)S2S3AiYiS0S1AiS0S1AiBiS0S1A

12、iBi 定点运算器的组成ALU的某一位逻辑表达式如下:的某一位逻辑表达式如下:XiS3AiBiS2AiBiYiAiS0BiS1BiFiX Xi iYYi iCCn ni iCn+i+1YiXiCn+i(1) 4 4位之间采用先行进位公式位之间采用先行进位公式, ,根据式根据式(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位的进位公式为:位的进位公式为:

13、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位运算进位输出)公式为:位运算进位输出)公式为:C Cn n4 4Y Y3 3X X3 3C Cn n3 3Y Y3 3Y Y2 2X X3 3Y Y1 1X X2 2X

14、 X3 3Y Y0 0X X1 1X X2 2X X3 3X X0 0X X1 1X X2 2X X3 3C Cn n定点运算器的组成设:设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:则:Cn4GPCnG G称为称为进位发生输出进位发生输出,P,P称为称为进位传送输出进位传送输出。在电路中多。在电路中多加这两个进位输出的目的加这两个进位输出的目的, ,是为了便于实现多片(组)是为了便于实现多片(组)ALUALU之间的先行进位之间的先行进位, ,为此还需一个配合电路为此还需一个配合电路, ,称之为称之为先先行进位发生器行进位发生器(CLA) (CLA) 。C Cn+4n+4

15、是本片是本片( (组组) )的最后进位输出。逻辑表达式表明的最后进位输出。逻辑表达式表明, ,这是一个先行进位逻辑。换句话说这是一个先行进位逻辑。换句话说, ,第第0 0位的进位输入位的进位输入C Cn n可以直接传送到最高位上去可以直接传送到最高位上去, ,因而可以实现高速运算。因而可以实现高速运算。设:设:GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X3则:则:Cn4GPCn定点运算器的组成演示 除了除了S S0 0S S3 3四个控制端外四个控制端外, ,还有一个控制端还有一个控制端, ,它是用来控制它是用来控制ALUALU是进行算术运算还是进行逻是进行算术运算还是进行逻辑运

16、算的。辑运算的。 当当0 0时时, ,进行进行算术操作。算术操作。对进位信号没对进位信号没有任何影响。此时有任何影响。此时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 表表2.52.5列出列出了了74181

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

18、入与输出而言逻辑输入与输出而言, ,也有也有1616种算术运算功能和种算术运算功能和1616种种逻辑运算功能。逻辑运算功能。表表2.5 74181ALU算术算术/逻辑运算功能表逻辑运算功能表 注意:注意: 表表2.52.5中算术运算操作是用补码表示法来表示中算术运算操作是用补码表示法来表示的。其中的。其中“加加”是指是指算术加算术加, ,运算时要考虑进位运算时要考虑进位, ,而而符号符号“”是指是指“逻辑加逻辑加”。其次。其次, ,减法是用减法是用补码补码方方法法进行的进行的, ,其中数的反码是内部产生其中数的反码是内部产生的的, ,而结果输出而结果输出“A A减减B B减减1 1”, ,因此

19、做减法时需在最末位产生一个因此做减法时需在最末位产生一个强强迫进位迫进位( (加加1)1), ,以便产生以便产生“A A减减B B”的结果。的结果。 另外另外, ,“A AB B”输出端可指示两个数相等输出端可指示两个数相等, ,因此因此它与其他它与其他ALUALU的的“A AB B”输出端按输出端按“与与”逻辑连接逻辑连接后后, ,可以检测两个数的可以检测两个数的相等相等条件。条件。2.5.2多功能算术/逻辑运算单元(ALU)续续13134.两级先行进位的两级先行进位的ALU 74181ALU74181ALU设置了设置了P P和和G G两个本组先行进位输出两个本组先行进位输出端。如果将四片端

20、。如果将四片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 3,G,G3 3, 74182CLA, 74182CLA所提供的进位所提供的进位逻辑关系如下:逻辑关系如下:2.5.2多功能算术/逻辑运算单元(ALU)续续1414 C Cn

21、 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 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*

22、*P P* *C Cn n其中:其中:成组进位传送输出:成组进位传送输出: P*P0P1P2P3成组进位发生输出:成组进位发生输出:G*G3G2P3G1P2P3G0P1P2P3 根据以上表达式根据以上表达式, ,用用TTLTTL器件实现的成组器件实现的成组先行进位部件先行进位部件7418274182的逻辑电路图如的逻辑电路图如图图2.122.12所所示示 其中其中G G* *称为称为成组进位发生输出成组进位发生输出, ,P P* *称为称为成组成组进位传送输出进位传送输出。CAIP*=P0P1P2P3=P0+ +P1+ +P2+ +P3G*=G3G2P3G1P2P3G0P1P2P3=G3(G2

23、P3)(G1P2P3)(G0P1P2P3)=G3P3P2G2G3P1G1G2G3G0G1G2G3演示2.5.2多功能算术/逻辑运算单元(ALU)续续1515n如何用若干个如何用若干个74181ALU位片,与配套的位片,与配套的74182 CLA在一起,构成一个全字长的在一起,构成一个全字长的ALU。n下图示出了用两个下图示出了用两个16位全先行进位部件级联组成位全先行进位部件级联组成的的32位位ALU逻辑方框图。在这个电路中使用了逻辑方框图。在这个电路中使用了8个个74181ALU和和2个个74182CLA器件。对一个器件。对一个16位位来说,来说,CLA部件构成了第二级的先行进位逻辑,即部件

24、构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全实现四个小组(位片)之间的先行进位,从而使全字长字长ALU的运算时间大大缩短。的运算时间大大缩短。图图2.132.13用两个用两个1616位全先行进位部件级联组成位全先行进位部件级联组成的的3232位位ALUALU(组内先行进位,组间串行进位组内先行进位,组间串行进位)进位同时生成进位同时生成由于计算机内部的由于计算机内部的主要工作过程主要工作过程是是信息传送和信息传送和加工加工的过程的过程, ,因此在机器内部各部件之间的数据因此在机器内部各部件之间的数据传送非常频繁。为了传送非常频繁。为了减少减少内部的传送线并便于内部

25、的传送线并便于控制控制, ,通常将一些寄存器之间数据传送的通路加通常将一些寄存器之间数据传送的通路加以归并以归并, ,组成组成总线结构总线结构,使不同来源的信息在此,使不同来源的信息在此传输线上传输线上分时传送分时传送。( (总线是计算机内各部件之总线是计算机内各部件之间传送信息的公用的一组连线间传送信息的公用的一组连线)2.5.3 内部总线2.5.3 内部总线 (续续1)n根据总线所在位置,总线分为根据总线所在位置,总线分为内部总线内部总线和和外部总外部总线线两类。两类。n内部总线内部总线是指是指CPU内各部件的连线内各部件的连线n外部总线外部总线是指系统总线,即是指系统总线,即CPU与存储

26、器、与存储器、I/O系统之间的连线。系统之间的连线。n本节只讨论内部总线。本节只讨论内部总线。2.5.3 内部总线 (续续2)n按总线的逻辑结构来说,总线可分为按总线的逻辑结构来说,总线可分为单向传送总单向传送总线线和和双向传送总线双向传送总线。n所谓所谓单向总线单向总线,就是信息只能向一个方向传送,就是信息只能向一个方向传送n所谓所谓双向总线双向总线,就是信息可以分两个方向传送,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。既可以发送数据,也可以接收数据。2.5.3 内部总线 (续续3) 图图2.14(a)2.14(a)是带有缓冲驱动器的是带有缓冲驱动器的4 4位双向数据总线。

27、位双向数据总线。其中所用的基本电路就是三态逻辑电路。其中所用的基本电路就是三态逻辑电路。 当当“发送发送”信号有效时信号有效时, ,数据从左向右传送。数据从左向右传送。 当当“接收接收”信号有效时信号有效时, ,数据从右向左传送。数据从右向左传送。 这种类型的缓冲器通常根据它们的不同用途而分这种类型的缓冲器通常根据它们的不同用途而分别称为别称为总线扩展器总线扩展器、总线驱动器总线驱动器、总线接收器总线接收器等等等等。发送发送接收接收发送发送接收接收 若若E E0,0,触发器触发器Q Q保保持原值,数据持原值,数据D D被封被封锁,不接收锁,不接收。而三态而三态门被打开,锁存器的门被打开,锁存器

28、的数据经三态门数据经三态门发送发送到到数据总线数据总线D D上。上。 若若E E1 1,触发器接触发器接收数据收数据D D,Q=DQ=D。而三而三态门被禁止态门被禁止, ,因而数因而数据总线据总线D D上的数据只上的数据只能被能被接收接收到锁存器。到锁存器。E E输入端控制输入端控制D D的输入的输入发送发送接收接收 图图2.14(b)2.14(b)所示的是带有锁存器所示的是带有锁存器的的4 4位双向数据总位双向数据总线。它主要由一个线。它主要由一个DEDE触发器和一个三态缓冲器组成。触发器和一个三态缓冲器组成。DEDE触发器是在一个普通触发器是在一个普通D D触发器上另加一个触发器上另加一个

29、E E输入端输入端(允许端)而构成的。此处(允许端)而构成的。此处E E输入端用以控制输入端用以控制D D的输入。的输入。若若E E0,0,触发器的输入触发器的输入D D被封锁,即使被封锁,即使D D为为“1 1”, ,也不也不能能输入。输入。 当接收数据时当接收数据时,E,E1 1,三态门被禁止三态门被禁止, ,因而数据总因而数据总线上的数据只能被线上的数据只能被接收接收到锁存器。到锁存器。 当发送数据时当发送数据时,E,E0 0,触发器的输入触发器的输入D D被封锁,而被封锁,而三态门被打开,因而锁存器的数据经三态门三态门被打开,因而锁存器的数据经三态门发送发送到数到数据总线上。据总线上。

30、2.5.4 定点运算器的基本结构 n 运算器包括运算器包括ALU阵列乘除器阵列乘除器寄存器寄存器多路开关多路开关三态缓冲器三态缓冲器数据总线等逻辑部件数据总线等逻辑部件。n运算器的设计,主要是围绕运算器的设计,主要是围绕ALU和寄存器同数据总和寄存器同数据总线之间如何传送操作数和运算结果进行的。线之间如何传送操作数和运算结果进行的。n在决定方案时,需要考虑数据传送的方便性和操作在决定方案时,需要考虑数据传送的方便性和操作速度,在微型机和单片机中还要考虑在硅片上制速度,在微型机和单片机中还要考虑在硅片上制作总线的工艺。作总线的工艺。n 计算机的运算器大体有如下三种结构形式计算机的运算器大体有如下

31、三种结构形式2.5.4 定点运算器的基本结构(续续1)1)1. 单总线结构的运算器单总线结构的运算器 单总线结构的运算器如单总线结构的运算器如(a)(a)所示。所有部件都接所示。所有部件都接同一总线上同一总线上, ,所以数据可以在任何两个寄存器之所以数据可以在任何两个寄存器之间间, ,或者在任一个寄存器和或者在任一个寄存器和ALUALU之间传送。如果具之间传送。如果具有阵列乘法器或除法器有阵列乘法器或除法器, ,那么它们所处的位置应那么它们所处的位置应与与ALUALU相当。相当。 在同一时间内在同一时间内, ,只能有一个操作数放在只能有一个操作数放在单总线上。为了把两个操作数输入到单总线上。为

32、了把两个操作数输入到ALU,ALU,需要分需要分两次来做两次来做, ,而且还需要而且还需要A,BA,B两个缓冲寄存器。这种两个缓冲寄存器。这种结构的主要结构的主要缺点缺点是操作速度较慢。是操作速度较慢。演示注意到注意到: 虽然在这种结构中,输入数据和操作结果需虽然在这种结构中,输入数据和操作结果需要要三次串行的选通三次串行的选通操作操作, ,但它并不会对每种指令都但它并不会对每种指令都增加很多执行时间。只有在对全都是增加很多执行时间。只有在对全都是CPUCPU寄存器中寄存器中的两个操作数的两个操作数进行操作时进行操作时, ,单总线结构的运算器才单总线结构的运算器才会造成一定的时间损失。但是由于

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

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

35、 ; 2.2.把结果送入目的寄存器。假如在总线把结果送入目的寄存器。假如在总线1,21,2和和ALUALU输入端之间再各加一个输入端之间再各加一个输入缓冲寄存器输入缓冲寄存器, ,并并把把两个输入数先放至这两个缓冲寄存器两个输入数先放至这两个缓冲寄存器, ,那么那么,ALU,ALU输输出端就可以直接把操作结果送至出端就可以直接把操作结果送至 总线总线1 1或或总线总线2 2上上去。去。2.5.4 定点运算器的基本结构(续续3)3)nALU的输入端分别由两条总线供给,ALU的输出与第3三条总线相连。运算操作可以在一步控制内完成。n 由于ALU本身有时间延迟,所以打入输出结果的选通脉冲必须考虑到包

36、括这个延迟。n总线旁路器。如果一个操作数不需要修改,而直接从总线2传送到总线3,可以通过控制总线旁路器把数据传出;如果一个操作数传送时需要修改,那么就借助于ALU。n三总线结构的运算器的特点是操作时间快。三总线结构的运算器的特点是操作时间快。 3. 三总线结构的运算器三总线结构的运算器 2.6 浮点运算方法和浮点运算器n2.6.1 浮点加法、减法运算n2.6.2 浮点乘法、除法运算n2.6.3 浮点运算流水线n2.6.4 浮点运算器实例2.6.1 浮点加法、减法运算 设有两个浮点数设有两个浮点数和和, ,它们分别为:它们分别为:2 2E EM M2 2E EM M其中其中E E和和E E分别为

37、数分别为数和和的阶码的阶码, ,M M和和M M为数为数和和的尾数。的尾数。两浮点数进行加法和减法的运算规则是:两浮点数进行加法和减法的运算规则是:( (M M2 2E EE EM M) ) 2 2E E,E E E E2.6.1 浮点加法、减法运算(续续1)1)n完成浮点加减运算的操作过程大体分为四步:完成浮点加减运算的操作过程大体分为四步: 1. 0 操作数的检查;操作数的检查; 2. 比较阶码大小并完成对阶;比较阶码大小并完成对阶; 3. 尾数进行加或减运算;尾数进行加或减运算; 4. 结果规格化并进行舍入处理。结果规格化并进行舍入处理。n浮点加减运算的操作流程浮点加减运算的操作流程 浮

38、点运算0操作数检查操作数检查对阶操作对阶操作尾数相加尾数相加结果规格化、结果规格化、舍入处理舍入处理(CAICAI演示演示) )2.6.1 浮点加法、减法运算(续续2)2) 0 操作数检查操作数检查n浮点加减运算过程比定点运算过程复杂。如果判知浮点加减运算过程比定点运算过程复杂。如果判知两个操作数两个操作数或或中有一个数为中有一个数为0,即可得知运算,即可得知运算结果而没有必要再进行后续的一系列操作以节省结果而没有必要再进行后续的一系列操作以节省运算时间。运算时间。n0操作数检查步骤则用来完成这一功能。操作数检查步骤则用来完成这一功能。2.6.1 浮点加法、减法运算(续续3)3) 比较阶码大小

39、并完成对阶比较阶码大小并完成对阶n两浮点数进行加减,首先要看两数的阶码是否相两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐。若二数阶码相同,同,即小数点位置是否对齐。若二数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运表示小数点是对齐的,就可以进行尾数的加减运算。若二数阶码不同,表示小数点位置没有对齐,算。若二数阶码不同,表示小数点位置没有对齐,必须使二数阶码相同,这个过程叫作必须使二数阶码相同,这个过程叫作对阶对阶。n要对阶,首先应求出两数阶码要对阶,首先应求出两数阶码E和和E之差,即之差,即 E EE2.6.1 浮点加法、减法运算(续续4)4)nE 0,表示表示E

40、E,两数阶码相等;两数阶码相等;nE 0,表示表示E0,表示表示EE。n当当EE 时,通过尾数的移动以改变时,通过尾数的移动以改变E或或E使之相等使之相等n原则上,既可以通过原则上,既可以通过M移位以改变移位以改变E来达到来达到EE,也可以通过,也可以通过M移位以改变移位以改变E来实现来实现EE。 但是但是, ,由于浮点表示的数多是规格化的由于浮点表示的数多是规格化的, ,尾数尾数左移左移会引起会引起最高有效位最高有效位的丢失的丢失, ,造成造成很大误差很大误差。尾数。尾数右移右移虽引起虽引起最低有效位最低有效位的丢失的丢失, ,但造成但造成误差较小误差较小。因此。因此, ,对阶操作规定使尾数

41、对阶操作规定使尾数右移右移, ,尾数右移后阶码作相应增尾数右移后阶码作相应增加加, ,其数值保持不变。显然其数值保持不变。显然, ,一个增加后的阶码与另一个增加后的阶码与另一个阶码相等一个阶码相等, ,增加的阶码的一定是小阶。因此在对增加的阶码的一定是小阶。因此在对阶时阶时, ,总是使总是使小阶向大阶看齐小阶向大阶看齐, ,即小阶的尾数向右移即小阶的尾数向右移位位( (相当于小数点左移)每右移一位相当于小数点左移)每右移一位, ,其阶码加其阶码加1,1,直直到两数的阶码相等为止到两数的阶码相等为止, ,右移的位数等于阶差右移的位数等于阶差E E。2.6.1 浮点加法、减法运算(续续5)5) 尾

42、数求和运算尾数求和运算n对阶结束后,即可进行尾数的求和运算。对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法不论加法运算还是减法运算,都按加法进行操作,其方法与定点加减法运算完进行操作,其方法与定点加减法运算完全一样。全一样。2.6.1 浮点加法、减法运算(续续6)6) 结果规格化结果规格化n在浮点加减运算时,尾数求和的结果也可以得到在浮点加减运算时,尾数求和的结果也可以得到01.或或10.,即两符号位不等,这在即两符号位不等,这在定点加减法运算中称为溢出,是不允许的。但在定点加减法运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数求和结果的绝对值大于浮点运算中,它表

43、明尾数求和结果的绝对值大于1,向左破坏了规格化。此时将运算结果右移以,向左破坏了规格化。此时将运算结果右移以实现规格化表示,称为实现规格化表示,称为向右规格化,简称右规向右规格化,简称右规。规则是规则是:尾数右移:尾数右移1位,阶码加位,阶码加1。n尾数不是尾数不是1.M形式时,需向左规格化,简称左规形式时,需向左规格化,简称左规。2.6.1 浮点加法、减法运算(续续7)7) 舍入处理舍入处理n在对阶或向右规格化时,尾数要向右移位,被右移在对阶或向右规格化时,尾数要向右移位,被右移的尾数的低位部分会被丢掉,从而造成一定误差,的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行因此要进行舍入处

44、理舍入处理。n简单的舍入方法有两种:简单的舍入方法有两种:n一种是一种是“0舍舍1入入”法,即如果右移时被丢掉数法,即如果右移时被丢掉数位的最高位为位的最高位为0则舍去,则舍去,1则将尾数的末位加则将尾数的末位加“1”。n另一种是另一种是“恒置恒置1”法,即只要数位被移掉,就法,即只要数位被移掉,就在尾数的末尾恒置在尾数的末尾恒置1。2.6.1 浮点加法、减法运算(续续8)8)nIEEE754标准中,舍入处理提供了标准中,舍入处理提供了四种可选方法四种可选方法:n就近舍入就近舍入 就是通常所说的就是通常所说的“四舍五入四舍五入”。 例如,尾数超出规定的例如,尾数超出规定的23位的多余位数字是位

45、的多余位数字是10010(10000),多余位的值超过规定的最低有,多余位的值超过规定的最低有效位值的一半效位值的一半(16),故最低有效位应增,故最低有效位应增1。 若多余的若多余的5位是位是01111(10000),则简单的截尾,则简单的截尾即可。即可。 对多余的对多余的5位位10000这种特殊情况:若最低有效位这种特殊情况:若最低有效位为为0则截尾;若为则截尾;若为1,则向上进一位使其变为,则向上进一位使其变为 0。2.6.1 浮点加法、减法运算(续续9)9)n朝朝0舍入舍入 朝数轴原点方向舍入,就是简单的截尾。朝数轴原点方向舍入,就是简单的截尾。无论尾数是正还是负,截尾都使取值的绝对值

46、比无论尾数是正还是负,截尾都使取值的绝对值比原值的绝对值小。这种方法容易导致误差积累。原值的绝对值小。这种方法容易导致误差积累。n朝朝舍入舍入 对正数,只要多余位不全为对正数,只要多余位不全为0则向最低则向最低有效位进有效位进1;对负数,则是简单的截尾。;对负数,则是简单的截尾。n朝朝舍入舍入 处理方法正好与处理方法正好与 朝朝舍入情况相反。舍入情况相反。对正数,只要多余位不全为对正数,只要多余位不全为0则简单截尾;对负数,则简单截尾;对负数,向最低有效位进向最低有效位进1。2.6.1 浮点加法、减法运算(续续10)10) 浮点数的溢出浮点数的溢出n当机器浮点数值大于最大正数当机器浮点数值大于

47、最大正数A值,或小于最小负值,或小于最小负数数B值时,称为值时,称为上溢上溢,这两种情况意味着阶码运算,这两种情况意味着阶码运算值超出了它所表示的范围,机器必须做中断处理。值超出了它所表示的范围,机器必须做中断处理。n当机器浮点数值小于最小正数当机器浮点数值小于最小正数a值,或大于最大负数值,或大于最大负数b值时,称为值时,称为下溢下溢。下溢不是一个严重问题,通常。下溢不是一个严重问题,通常看作为机器零。看作为机器零。2.6.1 浮点加法、减法运算(续续12)12)阶码上溢阶码上溢 超过了阶码可能表示的最大值的正超过了阶码可能表示的最大值的正 指数值指数值, ,一般将其认为一般将其认为是是和和

48、。阶码下溢阶码下溢 超过了阶码可能表示的最小值的负超过了阶码可能表示的最小值的负 指数值指数值, ,一般将其认为是一般将其认为是0 0。尾数上溢尾数上溢 两个同符号尾数相加产生了最高位两个同符号尾数相加产生了最高位 向上的进位向上的进位, ,将尾数右将尾数右移移, ,阶码增阶码增1 1来重新对齐。来重新对齐。尾数下溢尾数下溢 在将尾数右移在将尾数右移时时, ,尾数的最低有效位尾数的最低有效位 从尾数域右端流出从尾数域右端流出, ,要进行舍入处理。要进行舍入处理。2.6.1 浮点加法、减法运算(续续11)11)n浮点数的溢出是以其阶码溢出表现出来的浮点数的溢出是以其阶码溢出表现出来的。n在加减运

49、算过程中要检查是否产生了溢出:若在加减运算过程中要检查是否产生了溢出:若阶码正常,加阶码正常,加(减减)运算正常结束;若阶码溢出,运算正常结束;若阶码溢出,则要进行相应处理。另外对尾数的溢出也需要则要进行相应处理。另外对尾数的溢出也需要处理。处理。2.6.1 浮点加法、减法运算(续续13)13)例例25: 设设2 20100100.11011011,0.11011011, 2 2100100( (0.10101100),0.10101100), 求求。 解解 :为了便于直观理解为了便于直观理解, ,假设两数均以补码表示假设两数均以补码表示, ,阶码采用双符号位阶码采用双符号位, ,尾数采用单符

50、号位尾数采用单符号位, ,则它则它们的浮点表示分别为:们的浮点表示分别为: 浮浮00 010,00 010,0.110110110.11011011 浮浮00 100,00 100,1.010101001.01010100 求阶差并对阶求阶差并对阶 EE补补EE-E-E 补补EE 补补-E-E 补补 00 01000 01011 10011 10011 11011 110即即E E的真值为的真值为-2,-2,的阶码小的阶码小, ,应使应使M M右移右移2 2位位, ,E E+2,+2, 浮浮00 100,0.0011011000 100,0.00110110(11)(11)其中其中(11)(1

51、1)表示表示M M右移右移2 2位后移出的最低两位数。位后移出的最低两位数。 例例2525 尾数求和尾数求和 0. 0 0 1 1 0 1 1 0 0. 0 0 1 1 0 1 1 0 (11)(11) + 1. 0 1 0 1 0 1 0 0 + 1. 0 1 0 1 0 1 0 0 1. 1 0 0 0 1 0 1 0 1. 1 0 0 0 1 0 1 0 (11)(11) 浮浮00 010,00 010,0.110110110.11011011 浮浮00 100,00 100,1.010101001.01010100规格化处理规格化处理尾数运算结果的符号位与最高数值位同值,尾数运算结果的

52、符号位与最高数值位同值,1.100010101.10001010(11)(11)应执行左规处理,结果为应执行左规处理,结果为1.00010101(10),阶码减阶码减1,即:即:00100+11111=00011。浮点运算舍入处理舍入处理采用采用0 0舍舍1 1入法处理入法处理, ,则有:则有:1. 0 0 0 1 0 1 0 11. 0 0 0 1 0 1 0 1 0. 0 0 0 0 0 0 0 10. 0 0 0 0 0 0 0 1 1. 0 0 0 1 0 1 1 01. 0 0 0 1 0 1 1 0判溢出判溢出 阶码符号位为阶码符号位为00,00,不溢出不溢出, ,故得最终结果为故

53、得最终结果为2 2011011( (0.11101010)0.11101010)2.6.3 浮点运算流水线 n计算机的流水处理过程同工厂中的流水装配线类似。计算机的流水处理过程同工厂中的流水装配线类似。n 为了实现流水,首先必须把输入的任务分割为一为了实现流水,首先必须把输入的任务分割为一系列的子任务,使各子任务能在流水线的各个阶段系列的子任务,使各子任务能在流水线的各个阶段并发地执行。将任务连续不断地输入流水线,从而并发地执行。将任务连续不断地输入流水线,从而实现了子任务的并行。实现了子任务的并行。n流水处理大幅度地改善了计算机的系统性能,是在流水处理大幅度地改善了计算机的系统性能,是在计算

54、机上实现计算机上实现时间并行性时间并行性的一种非常经济的方法。的一种非常经济的方法。1. 流水线原理流水线原理 2.6.3 浮点运算流水线(续(续1 1)n 在流水线中,原则上要求各个阶段的处理时间都在流水线中,原则上要求各个阶段的处理时间都相同。若某一阶段的处理时间较长,势必造成其他阶相同。若某一阶段的处理时间较长,势必造成其他阶段的空转等待。因此对子任务的划分,是决定流水线段的空转等待。因此对子任务的划分,是决定流水线性能的一个关键因素,它取决于操作部分的效率、所性能的一个关键因素,它取决于操作部分的效率、所期望的处理速度,以及成本价格等等。期望的处理速度,以及成本价格等等。n假定作业假定

55、作业 T 被分成被分成 k 个子任务,可表达为个子任务,可表达为 TT1,T2,Tk n各个子任务之间有一定的优先关系:若各个子任务之间有一定的优先关系:若ik nk 时时, C, Ck kkk 。 理论上理论上k k级线性流水线处理几乎可以提高级线性流水线处理几乎可以提高k k倍速度。倍速度。但实际上由于但实际上由于存储器冲突存储器冲突、数据相关数据相关, ,这个理想的这个理想的加速比不一定能达到。加速比不一定能达到。浮点运算流水线 T TL LT Tk k nk nkk k(n(n1)1)非流水线时所需周期数非流水线时所需周期数流水线时所需周期数流水线时所需周期数 n例 X=1.1000

56、y=1.1100 0.011024+1.11002410.001024 其结果要进行规格化,将尾数向右移其结果要进行规格化,将尾数向右移1 1位,阶码位,阶码加加1 1。即规格化的结果为。即规格化的结果为1.00011.00012 25 5。在。在图图2.182.18标标出了上述例子在每一个过程段和出了上述例子在每一个过程段和锁存器锁存器L L中保存的中保存的流水运算结果值。流水运算结果值。演示 例例2929上述演示中上述演示中 ,(1),(1)假设每个过程段所需的假设每个过程段所需的时间为:求阶差时间为:求阶差1 170ns,70ns,对阶对阶2 260ns,60ns,相加相加3 390ns

57、,90ns,规格化规格化4 480ns,80ns,缓冲寄存缓冲寄存器器L L的延时为的延时为 t tl l10ns,10ns, 求求: (1) 4 : (1) 4 级流水线加法器的加速比为多少级流水线加法器的加速比为多少? (2)(2)如果每个过程段的时间相同如果每个过程段的时间相同, ,即都为即都为75ns,(75ns,(包括缓冲寄存器时间包括缓冲寄存器时间),),加速比是多少加速比是多少? 解解:(1)(1)加法器的流水线时钟周期至少为加法器的流水线时钟周期至少为: :90ns90ns10ns10ns100ns100ns 如果采用同样的逻辑电路如果采用同样的逻辑电路, ,但不是流水线但不是

58、流水线方式方式, ,则浮点加法所需的时间为则浮点加法所需的时间为:1 12 23 34 4 300ns 300ns 因此因此,4,4级流水线加法器的加速比为级流水线加法器的加速比为: : C Ck k300/100300/1003 3(2) (2) 当每个过程段的时间都是当每个过程段的时间都是75ns75ns时时, ,加速比为加速比为: : C Ck k300/75300/754 4 例例30 30 已知计算一维向量已知计算一维向量, ,的求和表达式如下:的求和表达式如下: 试用试用4 4段的浮点加法流水线来实现一维向量的求段的浮点加法流水线来实现一维向量的求和运算和运算, ,这这4 4段流水

59、线是段流水线是阶码比较阶码比较、对阶操作对阶操作、尾数相尾数相加加、规格化规格化。只要求画出向量加法计算流水时空图。只要求画出向量加法计算流水时空图。 浮点运算流水线5620.50114.369.63.146514.63367.272.81.4112112135.135.1336336121.5121.5142.4142.44.554.55 =+ 解解:运算流水线对向量计算显示出很大的优越性运算流水线对向量计算显示出很大的优越性, ,即即流水线被填流水线被填“满满”时具有较高的加速比和吞吐率。我时具有较高的加速比和吞吐率。我们们用字母用字母 C,S,A,N C,S,A,N 分别表示流水线的阶码

60、比较、对阶分别表示流水线的阶码比较、对阶操作、尾数相加、规格化四个段操作、尾数相加、规格化四个段, ,那么向量加法计算那么向量加法计算的流水时空图如图的流水时空图如图2.192.19所示。图中左面表示所示。图中左面表示Xi,YiXi,Yi两两个元素输入流水线的时间个元素输入流水线的时间, ,右面表示求和结果右面表示求和结果ZiZi输出输出流水线的时间。每隔一个时钟周期流水线的时间。每隔一个时钟周期, ,流水线便吐出一流水线便吐出一个运算结果。个运算结果。演示2.6.4 浮点运算器实例n1. CPU之外的浮点运算器 以以 80X87 80X87 浮点运算器为例浮点运算器为例, ,说明其特说明其特

61、点和内部结构点和内部结构 (1)(1)以异步方式与以异步方式与8038680386并行工作,并行工作,80878087相当于相当于386386的一的一个个I/OI/O部件,本身有它自己的指令,但不能单独使用,它只能部件,本身有它自己的指令,但不能单独使用,它只能作为作为386386主主CPUCPU的协处理器才能运算。的协处理器才能运算。因为真正的读写主存的工因为真正的读写主存的工作不是作不是80878087完成,而是由完成,而是由386386执行的。如果执行的。如果386386从主存读取的从主存读取的指令是指令是80878087浮点运算指令,则它们以输出的方式把该指令送浮点运算指令,则它们以输

62、出的方式把该指令送到到80878087,80878087接受后进行译码并执行浮点运算。接受后进行译码并执行浮点运算。80878087进进行运算期间,行运算期间,386386可取下一条其他指令予以执行,因而实现了可取下一条其他指令予以执行,因而实现了并行工作。如果在并行工作。如果在80878087执行浮点运算指令过程中执行浮点运算指令过程中386386又取来又取来了一条了一条80878087指令,则指令,则80878087以给出以给出“忙忙”的标志信号加以拒的标志信号加以拒绝,绝,使使386386暂停向暂停向80878087发送命令。只有待发送命令。只有待80878087完成浮点运算而完成浮点运

63、算而取消取消“忙忙”的标志信号以后,的标志信号以后,386386才可以进行一次发送操作。才可以进行一次发送操作。 (2)(2)可处理包括二进制浮点数、二进制整数、和可处理包括二进制浮点数、二进制整数、和压缩十进制数串三大类压缩十进制数串三大类7 7种数据,其中浮点数的格式种数据,其中浮点数的格式符合符合IEEE754IEEE754标准。标准。7 7种数据类型在寄存器中表示如下:种数据类型在寄存器中表示如下:字整数(字整数(1616位整数)位整数) (二进制补码)(二进制补码)字整数(字整数(3232位整数)位整数) (二进制补码)(二进制补码)字整数(字整数(6464位整数)位整数) (二进制

64、补码)(二进制补码)短实数(短实数(3232位整数)位整数)长实数长实数(64(64位浮点数位浮点数) )临时实数临时实数(80(80位浮点数位浮点数) )十进数串十进数串( (十进制十进制1818位位) )S15位位S31位位S63位位S阶码阶码尾数尾数(23位位)S阶码阶码尾数尾数(52位位)S阶码阶码尾数尾数(64位位)S d17d16d1d0浮点运算器实例 上面的表格中上面的表格中S S为一位符号位,为一位符号位,0 0代表正,代表正,1 1代表代表负。三种浮点数阶码的基值均为负。三种浮点数阶码的基值均为2 2。阶码值用移码表。阶码值用移码表示,尾数用原码表示。浮点数有示,尾数用原码表

65、示。浮点数有3232位、位、6464位、位、8080位三位三种。种。80878087从存储器取数和向存储器写数时,均用从存储器取数和向存储器写数时,均用8080位的临时实数和其他位的临时实数和其他6 6种数据类型执行自动转换。全种数据类型执行自动转换。全部数据在部数据在80878087中均以中均以8080位临时数据的形式表示。因位临时数据的形式表示。因此此80878087具有具有8080位字长的内部结构,并有八个位字长的内部结构,并有八个8080位字位字长以长以“先进后出先进后出”方式管理的寄存器组,又称寄存器方式管理的寄存器组,又称寄存器堆堆栈。栈。浮点运算器实例 图图2.202.20示出示

66、出80878087的内部结构逻辑框图。由图看的内部结构逻辑框图。由图看出,它不仅仅是一个浮点运算器,还包括了执行数据出,它不仅仅是一个浮点运算器,还包括了执行数据运算所需要的全部控制路线。就运算部分讲,有处理运算所需要的全部控制路线。就运算部分讲,有处理浮点数指数部分的部件和处理尾数部分的部件,还有浮点数指数部分的部件和处理尾数部分的部件,还有加速移位操作的移位器路线,它们通过指数总线和小加速移位操作的移位器路线,它们通过指数总线和小数总线与八个数总线与八个8080位字长的寄存器堆栈相连接。这些寄位字长的寄存器堆栈相连接。这些寄存器按存器按“先进后出先进后出”方式工作,此时栈顶被用作累加方式工

67、作,此时栈顶被用作累加器;器;也可以按寄存器的编号直接访问任何一个寄存器。也可以按寄存器的编号直接访问任何一个寄存器。为了保证操作的正确执行,为了保证操作的正确执行,80878087内部还设置了三个内部还设置了三个各为各为1616位字长的寄存器,分别为:特征寄存器、控制位字长的寄存器,分别为:特征寄存器、控制寄存器和状态寄存器。寄存器和状态寄存器。 特征寄存器特征寄存器用每两位表示寄存器堆栈中每个寄存器的状态,用每两位表示寄存器堆栈中每个寄存器的状态,即特征值为即特征值为00110011四种组合时表明相应的寄存器有正确数据、四种组合时表明相应的寄存器有正确数据、数据为数据为0 0、数据非法、无

68、数据四种情况。、数据非法、无数据四种情况。控制字寄存器控制字寄存器用于控制用于控制8028780287的内部操作。的内部操作。状态字寄存器状态字寄存器用于表示用于表示8028780287的结果处理情况,例如当的结果处理情况,例如当“忙忙”标志为标志为1 1时,表示正在执行一条浮点运算指令,为时,表示正在执行一条浮点运算指令,为0 0则表示则表示80878087空闲。状态寄存器的低空闲。状态寄存器的低6 6位指出异常错误的位指出异常错误的6 6种类型,与种类型,与控制寄存器低控制寄存器低6 6位相对应。当对应的控制寄存器位为位相对应。当对应的控制寄存器位为0(0(未屏蔽未屏蔽) )而状态寄存器位为而状态寄存器位为1 1时,因发生某种异常错误而产生中断请求。时,因发生某种异常错误而产生中断请求。本章习题:本章习题:P69P691 1,2 2,3,43,4,5,65,6,7 7,8 8,9 9

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号