一、加法运算器
1、半加器
● 功能特性
半加器是在加法中不考虑进位的一种加法器。
一位半加器有两个输入端X和Y,一个输出端S。
输出方程为:S = X ⊕ Y。
真值表如下:
2、全加器
● 功能特性
全加器是在半加器基础上,考虑进位的加法器。
一位全加器有三个输入端X,Y和Ci-1,两个输出端S和Ci。
输出方程为:S = X ⊕ Y ⊕ Ci-1 ;Ci=!Ci-1·X·Y + !X·Y·Ci-1 + !Y·X·Ci-1 + X·Y·Ci-1
真值表如下:
3、串行进位加法器
● 组成
通过将n个全加器相连,可以得到串行进位加法器。
● 功能
串行进位加法器可以进行n位数字的算术加运算。
● 特点
本位全加的结果需要等待低位进位Ci-1的到来后才能进行,运算时间受位数影响。
4、超前进位加法器
● 原理
若想加快加法器的运算速度,需要改变逐位进位的传送路径。解决办法之一是采用超前进位电路。
设Gn为进位产生函数,Gn=Xn·Yn,代表当X和Y均为1时,无论Cn-1是否为1,都必定产生进位;
设Pn为进位传递函数,Pn=Xn+Yn,代表当X和Y有一个为1时,若低位有进位,则本位也会产生进位,相当于将进位传递至高位。
对于4位加法器,其进位Cn有如下关系方程:
C1 = G1 + P1C0
C2 = G2 + P2C1 = G2 + P2G1 + P2P1C0
C3 = G3 + P3C2 = G3 + P3G2 + P3P2G1 + P3P2P1C0
C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0
由此可以发现,所有的进位信号Cn均可以转化成仅关于C0和XnYn的表达式。可以由此设计额外的电路,达到超前进位的目的。
● 组成
超前进位加法器由四个全加器外加一个超前进位电路组成。
● 功能
超前进位加法器可以在级间、组间做到并行加法运算。影响运算速度的因素不再是数字位数,而是进位信号的产生和传递问题。
5、74SL181ALU
算术逻辑运算单元是计算机中组成运算器的核心部件。其不仅需要执行大量算术运算,同时也要执行逻辑运算。
74LS181是一个4位超前进位的ALU。它能够进行16种逻辑运算和16种算术运算,输入端M是状态控制端,控制进行的运算类型;S3S2S1S0是运算选择控制端,控制具体进行的运算。其具体功能表如下:
其中H表示高电平,等效为1;L表示低电平,等效为0;符号 + 表示逻辑或运算,汉字加表示算术加运算。
● 16位快速ALU
使用4片74LS181算术逻辑运算器,并采用类似4位超前运算加法器的方法将这4片运算器连接,就可以得到一个16位快速ALU。
由一位进位产生函数和进位传递函数的概念,可以得到四位一组的进位产生函数和进位传递函数如下:
Gn = G3 + P3G2 + P3P2G1 + P3P2P1G0
Pn = P3P2P1P0
通过此逻辑关系式,可以设计电路,达到4组超前进位的目的。
74LS182是专门与74SL181配套使用的超前进位扩展器。它是实现上述逻辑关系式的集成电路。74LS182可以为4片74LS181提供超前进位支持,实现16位快速ALU。
二、其它运算部件
1、译码器
译码器有n个输入端,2n及以内个输出端。每个根据输入端的输入组合,只有一个输出端被选通。
译码器将二进制数字转为十进制,下标等于输入数字的输出端被选通。这么理解虽然不准确,但比较易懂。
下图是一个两输入四输出译码器,译码器常设置一个使能端E,设置译码器是否处于工作状态。
使能端可以用于扩展译码器。下图是使用两片三输入八输出译码器组成的四输入十六输出译码器:
2、数据选择器
数据选择器又称多路开关,是以与或门或与或非门为主的电路。他在选择信号的作用下,从多个输入信号中选择一个作为输出信号。
下图是双四通道选一数据选择器的逻辑电路与真值表。使能端的功能与译码器相似。
3、寄存器
● 寄存器
寄存器是计算机的一个重要部件,用于暂存数据、指令等。它由触发器和一些控制门组成。在寄存器中,常用的是正边沿触发D触发器和锁存器。
下图是一个正沿触发的D触发器组成的四位寄存器。在CP正沿作用下,外部数据才能进入寄存器。
● 移位寄存器
为适应计算机的乘除操作,计算机中的寄存器需要移位功能,称为移位寄存器。
下图是一个双向四位移位寄存器。它有左移、右移、并行输入及保持功能,采用主-从R-S触发器作寄存元件。