第2章运算方法和运算器课件.ppt
《第2章运算方法和运算器课件.ppt》由会员分享,可在线阅读,更多相关《第2章运算方法和运算器课件.ppt(116页珍藏版)》请在三一办公上搜索。
1、2.5.1 逻辑运算,计算机中除了进行加、减、乘、除等基本算术运算外,还可对两个或一个逻辑数进行逻辑运算。所谓逻辑数是指不带符号的二进制数。利用逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。计算机中的逻辑运算,主要是指逻辑非、逻辑加、逻辑乘、逻辑异四种基本运算。,2.5.1 逻辑运算(续1),逻辑非也称求反。对某数进行逻辑非运算,就是按位求反,常用变量上方加一横来表示。设一个数表示成:x0 x1x2 xn 对求逻辑非,则有:z0z1z2 zn zi xi(i0,1,2,n),1.逻辑非运算,2.5.1 逻辑运算(续2),例21:x101001011,x211110000 求x1
2、,x2 解:x1 10110100 x2 00001111,2.5.1 逻辑运算(续4),例22: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,2.5.1 逻辑运算(续5),对两数进行逻辑乘,就是按位求它们的“与”,所以逻辑乘又称“逻辑与”,常用记号“”或“”来表示。设有两数和,它们表示为 x0 x1x2 xn y y0y1y2 yn若 z0z1z2 zn则 zi xiyi(i0,1,2,n),3.逻辑乘运算,2.5.1 逻辑运算(续6),例23:10111001,1111001
3、1,求。解: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,2.5.1 逻辑运算(续7),对两数进行异就是按位求它们的模2和,所以逻辑异又称“按位加”,常用记号“”表示。设有两数和:x0 x1x2 xn y y0y1y2 yn若和的逻辑异为:z0z1z2 zn则 zi xiyi(i0,1,2,n),4.逻辑异运算,2.5.1 逻辑运算(续8),例23: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 逻
4、辑运算(续9),事实上,逻辑加还可以通过逻辑乘和逻辑非来实现:iii=ii 同样,逻辑乘也可以用逻辑加和逻辑非来实现:iii ii,2.5.2 多功能算术/逻辑运算单元(ALU),由一位全加器(FA)构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。这种加法/减法器存在两个问题:,一是由于串行进位,它的运算时间很长。假如加法器由n位全加器构成,每一位的进位延迟时间为20ns,那么最坏情况下,进位信号从最低位传递到最高位而最后输出稳定,至少需要n*20ns,这在高速计算中显然是不利的。,二是就行波进位加法器本身来说,它只能完成加法和减法两种操作而不能完成逻辑操作。本节我们介绍的多功能算
5、术/逻辑运算单元(ALU)不仅具有多种算术运算和逻辑运算的功能,而且具有先行进位逻辑,从而能实现高速运算。,2.5.2 多功能算术/逻辑运算单元(ALU)续1),一位全加器(FA)的逻辑表达式为:FiAiBiCi Ci1AiBiBiCiCiAi,1.基本思想,将Ai和Bi先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。因此,一位算术/逻辑运算单元的逻辑表达式为:FiXiYiCniCni1XiYiYiCniCniXi,图2.10 ALU的逻辑结构原
6、理框图,2.5.2 多功能算术/逻辑运算单元(ALU)续2,上式中进位下标用ni代替原来全加器中的i,i代表集成在一片电路上的ALU的二进制位数。对于4位一片的ALU,i0,1,2,3。n代表若干片ALU组成更大字长的运算器时每片电路的最低位计数,例如当4片组成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的某一位逻
7、辑表达式如下:XiS3AiBiS2AiBi YiAiS0BiS1Bi FiXiYiCni Cn+i+1YiXi Cn+i,(2.36),4位之间采用先行进位公式,根据式(2.36),每一位的进位公式可递推如下:第0位向第1位的进位公式为:Cn1Y0X0Cn其中Cn是向第0位(末位)的进位。第1位向第2位的进位公式为:Cn2Y1X1Cn1Y1Y0X1X0X1Cn第2位向第3位的进位公式为:Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn第3位的进位输出(即整个4位运算进位输出)公式为:Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn,定点运算器的组成,
8、设:GY3Y2X3Y1X2X3Y0X1X2X3 PX0X1X2X3则:Cn4GPCn,G称为进位发生输出,P称为进位传送输出。在电路中多加这两个进位输出的目的,是为了便于实现多片(组)ALU之间的先行进位,为此还需一个配合电路,称之为先行进位发生器(CLA)。Cn+4是本片(组)的最后进位输出。逻辑表达式表明,这是一个先行进位逻辑。换句话说,第0位的进位输入Cn可以直接传送到最高位上去,因而可以实现高速运算。,设:GY3Y2X3Y1X2X3Y0X1X2X3 PX0X1X2X3则:Cn4GPCn,定点运算器的组成,图2.11(a)示出了用负逻辑表示的4位算术/逻辑运算单元(ALU)的逻辑电路图(
9、CAI演示),它是根据上面的原始推导公式用TTL电路实现的。这个器件的商业标号为74181ALU。,除了S0S3四个控制端外,还有一个控制端,它使用来控制ALU是进行算术运算还是进行逻辑运算的。当0时,进行算术操作。对进位信号没有任何影响。此时F不仅与本位的被操作数Y和操作数X有关,而且与本位的进位输出,即C有关。当1时,进行逻辑操作。封锁了各位的进位输出,即C 0,各位的运算结果F仅与Y和X有关。,3.算术逻辑运算的实现,2.5.2多功能算术/逻辑运算单元(ALU)续8,图2.11(b)示出了工作于负逻辑和正逻辑操作数方式的74181ALU方框图。显然,这个器件执行的正逻辑输入/输出方式的一
10、组算术运算和逻辑操作与负逻辑输入/输出方式的一组算术运算和逻辑操作是等效的。,表2.5列出了74181ALU的运算功能表,它有两种工作方式。对正逻辑操作数来说,算术运算称高电平操作,逻辑运算称正逻辑操作(即高电平为“1”,低电平为“0”)。对于负逻辑操作数来说,正好相反。由于S0S3有16种状态组合,因此对正逻辑输入与输出而言,有16种算术运算功能和16种逻辑运算功能。同样,对于负逻辑输入与输出而言,也有16种算术运算功能和16种逻辑运算功能。,表2.5 74181ALU算术/逻辑运算功能表,注意:表2.5中算术运算操作是用补码表示法来表示的。其中“加”是指算术加,运算时要考虑进位,而符号“”
11、是指“逻辑加”。其次,减法是用补码方法进行的,其中数的反码是内部产生的,而结果输出“A减B减1”,因此做减法时需在最末位产生一个强迫进位(加1),以便产生“A减B”的结果。另外,“AB”输出端可指示两个数相等,因此它与其他ALU的“AB”输出端按“与”逻辑连接后,可以检测两个数的相等条件。,2.5.2多功能算术/逻辑运算单元(ALU)续13,4.两级先行进位的ALU,74181ALU设置了P和G两个本组先行进位输出端。如果将四片74181的P,G输出端送入到74182先行进位部件(CLA),又可实现第二级的先行进位,即组与组之间的先行进位。假设4片(组)74181的先行进位输出依次为P0,G0
12、,G1,P1,P2,G2,P3,G3,74182CLA所提供的进位逻辑关系如下:,2.5.2多功能算术/逻辑运算单元(ALU)续14,CnG0P0CnCnG1P1CnG1G0P1P0P1CnCnG2P2CnG2G1P2G0P1P2P0P1P2Cn(2.38)Cn4 G3P3CnG3G2P3G1P2P3G0P1P2P3P0P1P2P3CnG*P*Cn其中:成组进位传送输出:P*P0P1P2P3成组进位发生输出:G*G3G2P3G1P2P3G0P1P2P3,根据以上表达式,用TTL器件实现的成组先行进位部件74182的逻辑电路图如图2.12所示 其中G*称为成组进位发生输出,P*称为成组进位传送输
13、出。,CAI,2.5.2多功能算术/逻辑运算单元(ALU)续15,如何用若干个74181ALU位片,与配套的74182 CLA在一起,构成一个全字长的ALU。下图示出了用两个16位全先行进位部件级联组成的32位ALU逻辑方框图。在这个电路中使用了8个74181ALU和2个74182CLA器件。对一个16位来说,CLA部件构成了第二级的先行进位逻辑,即实现四个小组(位片)之间的先行进位,从而使全字长ALU的运算时间大大缩短。,图2.13用两个16位全先行进位部件级联组成的32位ALU(组内先行进位,组间串行进位),用两级CLA(74182)级联组成的64位具有全先行进位的ALU,由于计算机内部的
14、主要工作过程是信息传送和加工的过程,因此在机器内部各部件之间的数据传送非常频繁。为了减少内部的传送线并便于控制,通常将一些寄存器之间数据传送的通路加以归并,组成总线结构,使不同来源的信息在此传输线上分时传送。(总线是计算机内各部件之间传送信息的公用的一组连线),2.5.3 内部总线,2.5.3 内部总线(续1),根据总线所在位置,总线分为内部总线和外部总线两类。内部总线是指CPU内各部件的连线外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。本节只讨论内部总线。,2.5.3 内部总线(续2),按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线。所谓单向总线,就是信息只能向一
15、个方向传送所谓双向总线,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据。,2.5.3 内部总线(续3),图2.14(a)是带有缓冲驱动器的4位双向数据总线。其中所用的基本电路就是三态逻辑电路。当“发送”信号有效时,数据从左向右传送。当“接收”信号有效时,数据从右向左传送。这种类型的缓冲器通常根据它们的不同用途而分别称为总线扩展器、总线驱动器、总线接收器等等。,发送,接收,若E0,触发器Q保持原值,数据D被封锁,不接收。而三态门被打开,锁存器的数据经三态门发送到数据总线D上。若E1,触发器接收数据D,Q=D。而三态门被禁止,因而数据总线D上的数据只能被接收到锁存器。,E输入端控制D的
16、输入,图2.14(b)所示的是带有锁存器的4位双向数据总线。它主要由一个DE触发器和一个三态缓冲器组成。DE触发器是在一个普通D触发器上另加一个E输入端(允许端)而构成的。此处E输入端用以控制D的输入。若E0,触发器的输入D被封锁,即使D为“1”,也不能输入。当接收数据时,E1,三态门被禁止,因而数据总线上的数据只能被接收到锁存器。当发送数据时,E0,触发器的输入D被封锁,而三态门被打开,因而锁存器的数据经三态门发送到数据总线上。,2.5.4 定点运算器的基本结构,运算器包括ALU阵列乘除器寄存器多路开关三态缓冲器数据总线等逻辑部件。运算器的设计,主要是围绕ALU和寄存器同数据总线之间如何传送
17、操作数和运算结果进行的。在决定方案时,需要考虑数据传送的方便性和操作速度,在微型机和单片机中还要考虑在硅片上制作总线的工艺。计算机的运算器大体有如下三种结构形式,2.5.4 定点运算器的基本结构(续1),1.单总线结构的运算器,单总线结构的运算器如(a)所示。所有部件都接同一总线上,所以数据可以在任何两个寄存器之间,或者在任一个寄存器和ALU之间传送。如果具有阵列乘法器或除法器,那么它们所处的位置应与ALU相当。在同一时间内,只能有一个操作数放在单总线上。为了把两个操作数输入到ALU,需要分两次来做,而且还需要A,B两个缓冲寄存器。这种结构的主要缺点是操作速度较慢。,注意到:虽然在这种结构中,
18、输入数据和操作结果需要三次串行的选通操作,但它并不会对每种指令都增加很多执行时间。只有在对全都是CPU寄存器中的两个操作数进行操作时,单总线结构的运算器才会造成一定的时间损失。但是由于它只控制一条总线,故控制电路比较简单。,2.5.4 定点运算器的基本结构(续2),双总线结构的运算器如(b)所示。在这种结构中,两个操作数同时加到ALU进行运算,只需一次操作控制,而且马上就可以得到运算结果两条总线各自把其数据送至ALU的输入端。特殊寄存器分为两组,分别与一条总线交换数据。通用寄存器中的数就可进入到任一组特殊寄存器中,使数据传送更为灵活。ALU的输出不能直接加到总线上去。因为,当形成操作结果的输出
19、时,两条总线都被输入数占据,因而必须在ALU输出端设置缓冲寄存器。,2.双总线结构的运算器,在双总线结构的运算其中,操作的控制要分两步完成:1.在ALU的两个输入端输入操作数,形成结果并送入缓冲寄存器;2.把结果送入目的寄存器。假如在总线1,2和ALU输入端之间再各加一个输入缓冲寄存器,并把两个输入数先放至这两个缓冲寄存器,那么,ALU输出端就可以直接把操作结果送至 总线1或总线2上去。,2.5.4 定点运算器的基本结构(续3),ALU的输入端分别由两条总线供给,ALU的输出与第3三条总线相连。运算操作可以在一步控制内完成。由于ALU本身有时间延迟,所以打入输出结果的选通脉冲必须考虑到包括这个
20、延迟。总线旁路器。如果一个操作数不需要修改,而直接从总线2传送到总线3,可以通过控制总线旁路器把数据传出;如果一个操作数传送时需要修改,那么就借助于ALU。三总线结构的运算器的特点是操作时间快。,3.三总线结构的运算器,2.6 浮点运算方法和浮点运算器,2.6.1 浮点加法、减法运算2.6.2 浮点乘法、除法运算2.6.3 浮点运算流水线2.6.4 浮点运算器实例,2.6.1 浮点加法、减法运算,设有两个浮点数和,它们分别为:2EM2EM其中E和E分别为数和的阶码,M和M为数和的尾数。两浮点数进行加法和减法的运算规则是:(M2EEM)2E,E E,2.6.1 浮点加法、减法运算(续1),完成浮
21、点加减运算的操作过程大体分为四步:1.0 操作数的检查;2.比较阶码大小并完成对阶;3.尾数进行加或减运算;4.结果规格化并进行舍入处理。浮点加减运算的操作流程,浮点运算,(CAI演示),2.6.1 浮点加法、减法运算(续2),0 操作数检查浮点加减运算过程比定点运算过程复杂。如果判知两个操作数或中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。0操作数检查步骤则用来完成这一功能。,2.6.1 浮点加法、减法运算(续3),比较阶码大小并完成对阶两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐。若二数阶码相同,表示小数点是对齐的,就可以进行尾数的加
22、减运算。若二数阶码不同,表示小数点位置没有对齐,必须使二数阶码相同,这个过程叫作对阶。要对阶,首先应求出两数阶码E和E之差,即 E EE,2.6.1 浮点加法、减法运算(续4),E 0,表示EE,两数阶码相等;E 0,表示EE。当EE 时,通过尾数的移动以改变E或E使之相等原则上,既可以通过M移位以改变E来达到EE,也可以通过M移位以改变E来实现EE。,但是,由于浮点表示的数多是规格化的,尾数左移会引起最高有效位的丢失,造成很大误差。尾数右移虽引起最低有效位的丢失,但造成误差较小。因此,对阶操作规定使尾数右移,尾数右移后阶码作相应增加,其数值保持不变。显然,一个增加后的阶码与另一个阶码相等,增
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 方法 运算器 课件
链接地址:https://www.31ppt.com/p-3583184.html