《计算机组成原理》
3.3加法器与运算部件
运算部件主要由输入逻辑、算术逻辑运算部件(ALU)、输出逻辑三部分组成。ALU是运算部件的核心,可以实现算术运算也可以完成逻辑运算。
3.3.1加法器及其进位逻辑
1.基本的加法单元
如图所示是有一位二进制加法单元示意。
有3个输入量;操作数Ai、Bi和低位传来进位信号Ci-1。
2个输出量:本位和,向高位的进位信号Ci。
这种加法单元考虑了全部3个输入量,称为全加器;只考虑2个输入而不考虑进位,则称为半加器。
全加器功能是求和。不需要暂存数据,因而可用门电路构成。
2.进位信号的基本逻辑
设第i-1为低位,则第i位产生的进位型号逻辑Ci为:
由此可以得出两个结论:
1、当本位的两个输入Ai和Bi中有且仅有一个为1时,若低位有进位传来 Ci-1=1,则此时Ci=0+1=1,故本位将产生进位。
2、当本位两个输入Ai和Bi均为1,无论低位是否有进位传来(Ci-1=0或Ci-1=1),此时都有Ci=1+0=1,故本位将产生进位。
Gi的值取决于本位是输入Ai和Bi,故称为“本位进位”,PiCi-1的值取决于Ai、Bi和传递进位Ci-1,故被称为“传递进位”。
3、串行进位链
串行进位方式是指:逐级地形成各位进位,每一级进位直接依赖于前一级进位,也被称为行波进位。设n位并行加法器中地1位为最低位,第n位为最高位,初始进位为C0,则各进位信号的逻辑如下 :
在n位全加器之间,进位信号采取串联结构,所用元器件较少,但运算时间长,当每位全加器的两个输入Ai和Bi中都只有一个为1,而初始进位C0也为1,加法器运算时间最长,进位信号需从第一位开始逐级传递。
4.并行进位链
采用并行进位结构,并行地形成各级进位,各级不存在依赖关系,也被称为先行进位、同时进位或跳远进位。使用代入方法,可将每个进位逻辑式中所包含的前一级进位消去,得到并行进位逻辑:
将C1等号右边替换C2等号右边C1,然后展开以此类推。可得到逻辑关系如下:
纯并行进位结构在实现时有一个困难,即随输入数据位数增加,高位的进位形成逻辑中输入的变量将随之变多,电路结构也会越来越复杂。因此在数据位较多的加法器中常采用分级、分组的进位链结构。
5.分组进位模式
典型的分组方法是4位一组,组内采用并行进位结构,连同4位全加器集成在一块芯片上;各组间都可以采用串行进位或者并行进位。
若采用组间并行也可将并行进位链集成在专用芯片中;如果加法器位数较长,则可以分级构成并行进位逻辑。
在此结构中,初始进位C0送入第一组,产生C1~C4;C4是第一组的最高进位,又作为第二组初始进位送入第二组,产生C5~C8,同理送入第三组,C12送入第四组。这样链被分为两级,组内为第一级,组间为第二级,两级都可以采用并行进位方式。组间进位用GⅠ、GⅡ、GⅢ、GⅣ 来表示。
(1)组内采用并行进位
采用并行进位链的逻辑结构。
(2)组间并行进位链
各组的组间进位信号是由各组产生的最高进位信号,比如
C1 = C4 = G4 + P4 G3 + P4 P3 G2 + P4 P3 P2 G1+ P4 P3 P2 P1 C0
令G1 、P1分别是第一小组的进位产生函数和进位传递函数,并且G1 = G4 + P4 G3 +P4 P3 G2+P4 P3 P2 G1、 P1= P4 P3 P2 P1,则C1=G1+P1 C0。
采用组内并行进位、组间并行进位方式,硬件结构比全并行更简单,运算速度也比全串行块很多。