《定点除法运算》PPT课件.ppt
2.4 定点除法运算 2.4.1 原码除法算法原理 两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。设有n位定点小数(定点整数也同样适用):被除数,其原码为原f.n110除数,其原码为原f.n110 则有商q/,其原码为q原(ff)+(0.n110/0.n110)商的数值部分的运算,实质上是两个正数求商的运算。下面仅讨论数值部分的运算。,1.手算方法 设被除数0.1001,除数0.1011,模仿十进制除法运算,以手算方法求的过程如下:0.1 1 0 1商q 0.1 0 1 1 0.1 0 0 1 0(r0)被除数小于除数,商0 0.0 1 0 1 121除数右移1位,减除数,商1 0.0 0 1 1 1 0r1得余数r1 0.0 0 1 0 1 122除数右移1位,减除数,商1 0.0 0 0 0 1 1 0r2得余数r2 0.0 0 0 1 0 1 123除数右移1位,不减除数,商0 0.0 0 0 0 1 1 0 0r3得余数r3 0.0 0 0 0 1 0 1 124除数右移1位,减除数,商1 0.0 0 0 0 0 0 0 1r4得余数r4得的商q0.1101,余数为r0.00000001。,上面的笔算过程如下:1.判断是否小于?现在21,表示够减,小数点后第一位商“1”,作r021,得余数r1。3.比较r1和22,因r122,表示够减,小数点后第二位商“1”,作r122,得余数r2。4.比较r2和23,因r224,表示够减,小数点后第四2位商“1”,作r324,得余数r4,共求四位商,至此除法完毕。,在计算机中采用的方法 在计算机中,小数点是固定的,不能简单地采用手算的办法。为便于机器操作,使“除数右移”和“右移上商”的操作统一起来。(1)恢复余数法(2)加减交替法 早期计算机中,为了简化结构,硬件除法器的设计采用串行的1位除法方案。即多次执行“减法移位”操作来实现,并使用计数器来控制移位次数。由于串行除法器速度太慢,目前已被淘汰。,2.4.2 并行除法器 和阵列乘法器非常相似,阵列式除法器也是一种并行运算部件,采用大规模集成电路制造.与早期的串行除法器相比,阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算速度。阵列除法器有多种多样形式,如不恢复余数阵列除法器,补码阵列除法器等。不恢复余数(加减交替法)的阵列除法器算法,例20 0.101001,0.111,求。解:补1.001被除数 0.1 0 1 0 0 1减除数 1.0 0 1 余数为负商0 1.1 1 0 0 0 1 0 q40除数右移1位加0.0 111 余数为正商1 0.00 1 1 0 1 0 q31除数右移2位减1.1 1 00 1余数为负商0 1.1 1 11 1 1 0 q20除数右移3位加0.0 0 01 1 1余数为正商1 0.0 0 01 1 0 0 q11故得 商 qq4.q3q2q10.101余数 r(0.00r6r5r4r3)0.000110,2.不恢复余数阵列除法器的逻辑结构,该阵列除法器是用一个可控加法/减法(CAS)单元所组成的流水阵列来实现的。可控加法/减法(CAS)单元有四个输出端和四个输入端。当输入线P0时,CAS作加法运算;当P1时,CAS作减法运算。逻辑结构图CAS单元的输入与输出的关系可用如下一组逻辑方程来表示:SiAi(BiP)Ci Ci1(AiCi)(BiP)AiCi,当P0时,该方程式即一位全加器(FA)的公式,当P1时,则得求差公式。在减法情况下,输入Ci称为借位输入,而Ci1称为借位输出。每一个基本的CAS单元的延迟时间为3T单位。,推广到一般情况,一个(n1)位除(n1)位的加减交替除法阵列由(n1)2个CAS单元组成,其中两个操作数(被除数与除数)都是正的。例.n3这里被除数是一个6位的小数(双倍长数值):0.654321 它是由顶部一行和最右边的对角线上的垂直输入线来提供的。除数是一个3位的小数:0.321它沿对角线方向进入这个阵列。这是因为,在除法中将所需要的部分余数保持固定,而将除数沿对角线右移。商q是一个3位的小数:q0.q3q2q1 它在阵列的左边产生。余数r是一个6位的小数:r0.00r6r5r4r3 它在阵列的最下一行产生。,最上面一行所执行的初始操作一定是减法。因此最上面一行的控制线P固定置成“1”。减法是用2的补码运算来实现的,这时右端各CAS单元上的反馈线用作初始的进位输入。每一行最左边的单元的进位输出决定着商的数值。将当前的商反馈到下一行,我们就能确定下一行的操作。由于进位输出信号指示出当前的部分余数的符号,因此,它将决定下一行的操作将进行加法还是减法。对不恢复余数阵列除法器来说,在进行运算时,沿着每一行都有进位(或借位)传播,同时所有行在它们的进位链上都是串行连接。而每个CAS单元的延迟时间为3T单元,因此,对一个2n位除以n位的不恢复余数阵列除法器来说,单元的数量为(n1)2,考虑最大情况下的信号延迟,其除法执行时间为td3(n1)2T其中n为尾数位数。,