计算机原理74181芯片,计算机组成原理

第五节 算术逻辑单元

针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。当需完成逻辑运算时,势必需要配置相应的逻辑电路, 而ALU电路是既能完成算术运算又能完成逻辑运算的部件。

一、ALU电路

下图是ALU框图。图中Ai和Bi为输入变量;Ki为控制信号,Ki的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算;Fi是输出函数。

835f0002f2ffbe17511a9d6cc98f4b37.png

现在ALU电路已制成集成电路芯片,如74181是能完成四位二进制代码的算逻运算部件,其外特性如下图所示。

ee303a42e67f2a45787e3a0db96924bc.png

74181有两种工作方式:正逻辑和负逻辑。下表列出其算术/逻辑运算功能。

1192518afe61902446178c9a5579fae7.png

以正逻辑为例,B3~B0和A3~A0是两个操作数,F3~F0为输出结果。C-l表示最低位的外来进位,Cn+4是7418l向高位的进位;P、G可供先行进位使用。M用于区别算术运算还是逻辑运算;S3~S0的不同取值可实现不同的运算。例如,当M=1,S3~S0=0110时,74181作逻辑运算A⊕B;当M=0,S3~S0=0110时,74181作算术运算。由上表可见,在正逻辑条件下,M=0,S3~S0=0110,且C-l=1时,完成A减B减1的操作。若想完成A减B运算,可使C-l=0。需注意,74181算术运算是用补码实现的,其中减数的反码是由内部电路形成的,而末位加“1”,则通过C-l=0来体现。尤其要注意的是,ALU为组合逻辑电路,因此实际应用ALU时,其输入端口A和B必须与锁存器相连,而且在运算的过程中锁存器的内容是不变的。其输出也必须送至寄存器中保存。

二、快速进位链

随着操作数位数的增加,电路中进位的速度对运算时间的影响也越大,为了提高运算速度,本节将通过对进位过程的分析设计快速进位链。

1.并行加法器

并行加法器由若干个全加器组成,如下图所示。n+1个全加器级联,就组成了一个n+1位的并行加法器。

1895dfa7655c5fd2556797ff13122483.png

由于每位全加器的进位输出是高一位全加器的进位输入,因此当全加器有进位时,这种一级一级传递进位的过程,将会大大影响运算速度。

由全加器的逻辑表达式可知:

d0e8440971903a7fbdba32a5f4b33b93.gif

进位2aa123188e30e291889f162b5e70db4e.gif

可见,Ci进位有两部分组成:本地进位AiBi,可记作di,与低位无关;传递进位5d91c0ca7dcba421c7d34203397e979b.gif

,与低位有关;可称53ae1dea0021f57f342e3df5b1d232c8.gif

为传递条件,记作ti则:

74a9b4c8b2649f06587f201743517170.gif

由Ci的组成可以将逐级传递进位的结构,转换为以进位链的方式实现快速进位。目前进位链通常采用串行和并行两种。

2.串行进位链

串行进位链是指并行加法器中的进位信号采用串行传递。

以四位并行加法器为例,每一位的进位表达式可示为:

9cc17ad16825a6ea75e63ab03b07acce.gif

由上式可见,采用与非逻辑电路可方便地实现进位传递,如下图所示。

fc1bc3b66c013ed80fe18de9fdca55cd.png

若设与非门的级延迟时间为ty,那么当di、ti形成后,共需8ty使可产生最高位的进位。实际上每增加一位全加器,进位时间就会增加2ty。n位全加器的最长进位时间为2nty。

3.并行进位链

并行进位链是指并行加法器中的进位信号是同时产生的,又称先行进位、跳跃进位等。理想的并行进位链是n位全加器的n位进位同时产生,但实际实现有困难;通常并行进位链有单重分组和双重分组两种实现方案。

(1)单重分组跳跃进位。单重分组跳跃进位就是将M位全加器分成若干小组,小组内的进位同时产生,小组与小组之间采用串行进位,这种进位又有组内并行、组间串行之称。

以四位并行加法器为例,对其进位表示式稍作变换,便可获得并行进位表达式:

16d6d92c15f91a26f34363183ceac05f.gif

可得与其对应的逻辑图。如下图所示。

e66f4b45ddd2887aeb78f4fc8e087d30.png

设与或非门的级延迟时间为1.5ty,如与非门的级延迟时间仍为1ty,则di、ti形成后,只需2.5ty就可产生全部进位。

如果将16位的全加器按四位一组分组,便可得单重分组跳跃进位链框图,如下图所示。

0d1209a73eaa69cda43398ed735daa12.png

不难理解在di、ti形成后,经2.5ty可产生C3、C2、C3、C3四个进位信息,经10ty就可产生全部进位,而n=16的串行进位链的全部进位时间为32ty,可见单重分组方案进位时间仅为串行进位链的三分之一。

但随着n的增大,其优势便很快减弱,如当n=64时,按4位分组,共为16组,组间有16位串行进位,在di、ti形成后,还需经40ty才能产生全部进位,显然进位时间太长。如果能使组间进位也同时产生,必然会更大地提高进位速度,这就是组内、组间均为并行进位的方案。

(2)双重分组跳跃进位。双重分组跳跃进位就是将n位全加器分成几个大组,每个大组又包含几个小组,而每个大组内所包含的各个小组的最高位进位是同时形成的,大组与大组间采用串行进位。因各小组最高位进位是同时形成的,小组内的其他进位也是同时形成的(注意两小组内的其他进位与小组的最高位进位并不是同时产生的),故又有组(小组)内并行、组(小组)间并行之称。下图是一个32位并行加法器双重分组跳跃进位链的框图。

e8778827e0afa7225fe8ad522bd50f65.png

图中共分两大组,每个大组内包含4个小组,第一大组内的4个小组的最高位进位C31、C27、C23、C19是同时产生的;第二大组内4个小组的最高位进位C15、C11、C7、C3也是同时产生的,而第二大组向第一大组的进位C15采用串行进位方式。

以第二大组为例,分析各进位的逻辑关系。

例写出第八小组的最高位进位表达式:

ecc9c0a3ffac7016f3f0c4b811117a68.gif

式中ff9dba439424d2db2171e6e729ca416e.gif

仅与本小组内的di、ti有关,不依赖外来进C-l,故称D8为第八小组的本地进位:42d62a3c2f73b5e9107135f4d944a529.gif

是将低位进位C-1传到高位小组的条件,故称T8为第八小组的传送条件。

同理可写出第五、六、七小组的最高位进位表达式:

第七小组d34e309197eb787faae45102faee1f64.gif

第六小组221c231eaf989f7a8bbc449fbc28742a.gif

第五小组3eae4bf699c0d38de47ffd55cc5a14ef.gif

进一步展开又得:

feac09e686bc8706750688076053f579.gif

可得大组跳跃进位链,如下图所示。

e56aa78b05513d0b037b81e949375ea8.png

由图可见,当Di、Ti(i=5~8)及外来进位C-1形成后,再经过2.5ty便可同时产生Cl5、C11,C7、C3。至于Di和Ti它们都是由小组产生的,按其逻辑表达式可画出相应的电路如下图所示。

62687509d3fa533f81fa9be4d945bdb2.png

可见,每小组可产生本小组的本地进位Di和传送条件Ti以及组内的各低位进位,但不能产生组内最高位进位,即

第五组形成D5、T5、C14、C13、C12,不产生C15;

第六组形成D6、T6、C10、C9、C8,不产生C11;

第七组形成D7、T7、C6、C5、C4,不产生C7;

第八组形成D8、T8、C2、C1、C0不产生C3。

用上两种类型的线路可构成16位加法器的双重分组跳跃进位链框图,如下图所示。

9f5f0dc96602ac56104fd580bfb865e5.png

由此可计算出从Di、Ti、及C-1(外来进位)形成后开始,经2.5Ty形成C2、C1、C0和全部Di、Ti;再经2.5Ty形成大组内的四个进位Cl5、Cl1、C7、C3;再经过2.5Ty形成第五、六、七小组的其余进位Cl4、C13、C12、C10、C9、C8、C6、C5、C4,可见,按双重分组设计n=16的进位链,最长进位时间为7.5Ty,比单重分组进位链又省了2.5Ty。随着n的增大,双重分组的优越性显得格外突出。

机器究竟采用哪种方案,每个小组内应包含几位,应根据运算速度指标及所选元件等诸方面团素综合考虑。

由上述分析可知,Di和Ti均是由小组进位链产生的,它们与低位进位无关。而Di和Ti又是大组进位链的输入,因此,引入Di和Ti可采用双重分组进位链,大大提高了运算速度。

74181芯片是4位ALU电路,其四位进位是同时产生的,多片74181级联就犹如本节介绍的单重分组跳跃进位,即组内(74181片内)并行,组间(74181片间)串行。74181芯片的G、P输出就如本节介绍的D、T。当需要进一步提高进位速度时,将74181与74182芯片配合,就可组成双重分组跳跃进位链,如下图所示。

8d3fe8fef68c6468632b62ad5905e987.png

图中74182为先行进位部件,两片74182和8片74181组成32位ALU电路,该电路采用双重分组先行进位方案,在此图中74182还提供了大组的本地进位G和大组的传送条件P。

  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值