计算机的定点运算器原理,计算机组成原理定点运算器的组成和结构

41528d3028836879cd698677c3999917.gif计算机组成原理定点运算器的组成和结构

计算机组成原理 第八章 定点运算器的组成和结构1. 算术逻辑单元(简称 ALU)• 针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。当需完成逻辑运算时,势必需要配置相应的逻辑电路, 而 ALU 电路是既能完成算术运算又能完成逻辑运算的部件。一、ALU 电路下图是 ALU 框图。图中 Ai和 Bi为输入变量;K i为控制信号,K i的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;F i是输出函数。现在 ALU 电路已制成集成电路芯片,如 74181 是能完成四位二进制代码的算逻运算部件 ALU 是一种功能较强的组合逻辑电路。它能进行多种算术运算和逻辑运算。ALU的基本逻辑结构是超前进位加法器,它通过改变加法器的进位产生函数 G 和进位传递函数P 来获得多种运算能力。二、快速进位链随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大,为了提高运算速度,本节将通过对进位过程的分析设计快速进位链引例: 简单串行级联的 4位全加器如下图所示:将 4 个全加器相连可得 4 位加法器(图 2.7),但其加法时间长。这是因为其位间进位是串行传送的。本位全加和 Fi 必须等低位进位 Ci-1 来到后才能进行,加法时间与位数有关。只有改变进位逐位传送的路径,才能提高加法器工作速度。解决办法之一是采用“超前进位产生电路”来同时形成各位进位,从而实行快速加法。我们称这种加法器为超前进位加法器。根据各位进位的形成条件,可分别写出 Ci 的逻辑表达式:C1=X1Y1+(X1+Y1)C0=G1+P1C0其中: Gi=Xi·Yi 称为进位产生函数Pi=Xi+Yi 称为进位传递函数Gi 的意义是:当 XiYi 均为“1”时定会产生向高位的进位Pi 的意义是:当 Xi 和 Yi 中有一个为“1”时,若同时低位有进位输入,则本位也将向高位传送进位。写成通用式为:C1=G1+P1C0C2=G2+P2C1=G2+P2(G1+P1C0)= G2+P2G1+P2P1C0C3=G3+P3 G2+ P3 P2G1+ P3 P2P1C0 C4=G4+P4 G3+ P4 P3 G2+ P4 P3 P2G1+ P4 P3 P2P1C0 当全加器的输入均取反码时,它的输出也均取反码。 (应用反演律采用与非、或非、与或非表示)将上式改写成如下:根据上式可画得“超前进位产生电路”及四位超前进位加法器的逻辑图如下图 2.8。全加器函数发生器FiC i+n+1Cn+1S0S1S2S3XiYiAiBi基本思想---------- 由全加器扩展开来:Fi = Ai ⊕Bi ⊕CiCi+1=AiBi + BiCi + CiAi加入控制参数 s0~s3,对输入进行控制.此时全加器的输入变为 Xi, Yi一位全加器(FA)的逻辑表达式为1. 逻辑表达式下图为控制参数 s0~s3 与输入量的关系:S0 S1 Yi S2 S3 Xi0 0 ~Ai 0 0 10 1 ~AiBi 0 1 ~Ai+~Bi1 0 ~Ai~Bi 1 0 ~Ai+Bi1 1 0 1 1 ~Ai由上表,可得 Xi,Yi 的逻辑表达式(化简后为)Xi= S3AiBi + S2AiBiYi = Ai +S0Bi +S1Bi故: XiYi=Yi代入进位表达式,简化为:Cn+i+1 = Yi + XiCn+i综上所述:ALU 的某一位逻辑表达式可写为:Xi=S3AiBi + S2AiBiYi=Ai + S0Bi + S1BiFi=Yi⊕ Xi⊕ Cn+ICn+i+1=Yi +XiCn+I4 位之间采用先行进位,则由上式,每一位的进位公式可递推如下:第 0 位向第一位的进位: Cn+1 = Y0 + X0Cn第 1 位向第 2 位的进位: Cn+2=Y1+X1Cn+1= Y1+Y0X1+X0X1Cn第 2 位向第 3 位的进位:Cn+3 =Y2+X2Cn+2= Y2+Y1X1+Y0X1X2+X0X1X2Cn第 3 位向第 4 位的进位:Cn+4 = Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn设: G =Y3+Y2X3+Y1X2X3+Y0X1X2X3P = X0X1X2X3故: Cn+4 = G +PCn这样,对一片 ALU来说,可有三个进位输也,其中,G 称为进位发生输出,P 称为进位传送输出.在电路中多加这两个进位输出的目的是为了便于实现多片 ALU之间的先行进位.(第 0位的进位输入 Cn可以直接传到最高位上去,从而实高速运算).下面通过介绍 SN74181型四位 ALU中规模集成电路了介绍 ALU的原理。•它能执行 16种算术运算和 16种逻辑运算,M 是状态控制端,M=H,执行逻辑运算;M=L 执行算术运算。S0 ~S3 是运算选择端,它决定电路执行哪种算术运算或逻辑运算。以正逻辑为例,B 3~B 0和 A3~A 0是两个操作数,F 3~F 0为输出结果。C -l表示最低位的外来进位,C n+4是 7418l 向高位的进位;P、G 可供先行进位使用。M 用于区别算术运算还是逻辑运算;S 3~S 0的不同取值可实现不同的运算。例如,当 M=1,S 3~S 0=0110 时,74181 作逻辑运算 A⊕B;当 M=0,S 3~S 0=0110 时,74181 作算术运算。由上表可见,在正逻辑条件下,M=0,S 3~S 0=0110,且 C-l=1 时,完成 A 减 B 减 1 的操作。若想完成 A 减 B 运算,可使C-l=0。需注意,74181 算术运算是用补码实现的,其中减数的反码是由内部电路形成的,而末位加“1”,则通过 C-l=0 来体现。尤其要注意的是,ALU 为组合逻辑电路,因此实际应用 ALU 时,其输入端口 A 和 B 必须与锁存器相连,而且在运算的过程中锁存器的内容是不变的。其输出也必须送至寄存器中保存。其引脚图如下:74181ALU 设置了 P 和 G 两个本组先行进位输出端,如果将四片 74181 的 P,G 端送到 74181先行进位部件 CLA,又可实现第二级的先行进,即组与组间的先行进位.假设 4 片 74181 的先行进位输出依次为 P0,G0,P1,G1,P2,G2,P3,G3,那么先行进位部件74182CLA 所提供的进位逻辑关系如下:Cn+2 = G1+P1Cn+1 = G1+G0P1+P0P1CnCn+3 = G2+P2Cn+2 = G2+G1P2+G0P1P2+P0P1P2CnCn+4 = G3+P3Cn+3 = G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn其中: P* = P0P1P2P3G* = G3+G2P3+G1P1P2+G0P1P2P3由上述表达式,用 TTL 器件实现的成组先行进位部件 74182 的逻辑电路图如下:下面介绍如何

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值