并行除法器 ,并行除法器结构原理是什么?
1.可控加法/减法(CAS)单元和阵列乘法器非常相似,阵列式除法器也是一种并行运算部件,采用大规模集成电路制造。与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。阵列除法器有多种多样形式,如不恢复余数阵列除法器,补码阵列除法器等等。首先介绍可控加法/减法(CAS)单元,它将用于并行除法流水逻辑阵列中,它有四个输出端和四个输入端。当输入线P=0时,CAS作加法运算;当P=1时,CAS作减法运算。逻辑结构图:
CAS单元的输入与输出的关系可用如下一组逻辑方程来表示:Si=Ai⊕(Bi⊕P)⊕CiCi+1=(Ai+Ci)·(Bi⊕P)+AiCi (2.32)当P=0时,方程式(2.32)就等于式(2.23),即得我们熟悉的一位全加器(FA)的公式:Si=Ai⊕Bi⊕CiCi+1=AiBi+BiCi+AiCi当P=1时,则得求差公式:Si=Ai⊕Bi⊕CiCi+1=AiBi+BiCi+AiCi (2.33)其中Bi=Bi⊕1。在减法情况下,输入Ci称为借位输入,而Ci+1称为借位输出。为说明CAS单元的实际内部电路实现,将方程式(2.32)加以变换,可得如下形式:Si=Ai⊕(Bi⊕P)⊕Ci=AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiPCi+1=(Ai+Ci)(Bi⊕P)+AiCi=AiBiP+AiBiP+BiCiP+BiCiP+AiCi在这两个表达式中,每一个都能用一个三级组合逻辑电路(包括反向器)来实现。因此每一个基本的CAS单元的延迟时间为3T单元。
2.不恢复余数的阵列除法器假定所有被处理的数都是正的小数。不恢复余数的除法也就是加减交替法。在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法,取决于前一行输出的符号与被除数的符号是否一致。当出现不够减时,部分余数相对于被除数来说要改变符号。这时应该产生一个商位“0”,除数首先沿对角线右移,然后加到下一行的部分余数上。当部分余数不改变它的符号时,即产生商位“1”,下一行的操作应该是减法。下图示出了4位除4位的不恢复余数阵列除法器的逻辑原理图。其中被除数 x=0.x1x2x3x4x5x6 (双倍长)除数y=0.y1y2y3商数q=0.q1q2q3余数r=0.00r3r4r5r6字长n+1=4
图2.9 不恢复余数阵列除法器逻辑结构图
由图看出,该阵列除法器是用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。推广到一般情况,一个(n+1)位除(n+1)位的加减交替除法阵列由(n+1)2个CAS单元组成,其中两个操作数(被除数与除数)都是正的。
单元之间的互连是用n=3的阵列来表示的。这里被除数x是一个6位的小数(双倍长度值):x=0.x1x2x3x4x5x6它是由顶部一行和最右边的对角线上的垂直输入线来提供的。除数y是一个3位的小数:y=0.y1y2y3它沿对角线方向进入这个阵列。这是因为,在除法中所需要的部分余数的左移,可以用下列等效的操作来代替:即让余数保持固定,而将除数沿对角线右移。商q是一个3位的小数:q=0.q1q2q3它在阵列的左边产生。余数r是一个6位的小数:r=0.00r3r4r5r6它在阵列的最下一行产生。最上面一行所执行的初始操作经常是减法。因此最上面一行的控制线P固定置成“1”。减法是用2的补码运算来实现的,这时右端各CAS单元上的反馈线用作初始的进位输入。每一行最左边的单元的进位输出决定着商的数值。将当前的商反馈到下一行,我们就能确定下一行的操作。由于进位输出信号指示出当前的部分余数的符号,因此,它将决定下一行的操作将进行加法还是减法。对不恢复余数阵列除法器来说,在进行运算时,沿着每一行都有进位(或借位)传播,同时所有行在它们的进位链上都是串行连接。而每个CAS单元的延迟时间为3T单元,因此,对一个2n位除以n位的不恢复余数阵列除法器来说,单元的数量为(n+1)2,考虑最大情况下的信号延迟,其除法执行时间为td=3(n+1)2T(2.34)其中n为尾数位数。
[例20] x=0.101001, y=0.111, 求q =x÷y。[解:][x]补=0.101001[y]补=0.111 [-y]补=1.001
故得
商 q=q0.q1q2q3=0.101余数 r=(0.00r3r4r5r6)=0.000110
我们看到,当被除数x和除数y送至阵列除法器输入端后,经过3(n+1)T时间延迟,便在除法器输出端得到稳定的商数q和余数r的信号电平。与串行除法器相比,明显的优点是省去了复杂的控制线路,提高了运算速度。