加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

定点乘法运算——补码乘法

(2008-08-25 18:32:51)
标签:

全加器

补码

乘法

加法器

逻辑符号

杂谈

分类: 组成原理

2.3.2 补码乘法           file:///I:/Images/Home07.gif

1.补码与真值得转换公式

  补码乘法因符号位参与运算,可以完成补码数的“直接”乘法,而不需要求补级。这种直接的

方法排除了较慢的对2求补操作,因而大大加速了乘法过程。

  首先说明与直接的补码乘法相联系数学特征。对于计算补码数的数值来说,一种较好的表示

方法是使补码的位置数由一个带负权的符号和带正权的系数。今考虑一个定点补码整数

[N]anan-1a1a0,这里an是符号位。根据[N]的符号,补码数[N]和真值N的关系

可以表示成:

N

file:///I:/Chap02/Images/dakuohao.gif

    n1
+ ai2i      当an = 0([N]为正)时

   i=0

       n-1
-  [1+∑(1-ai)2i] 当an = 1([N]为负)时
       i0

  如果我们把负权因数-2n强加到符号位an上,那么就可以把上述方程组中的两个位置

表达式合并成下面的统一形式:

 

(2.29)

[例19] 已知: [N1] = (01101)2,[N2]=(10011)2,求[N1],[N2]具有的数值。

[解:]

2.一般化的全加器形式

  常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。如右表,0类全加器没有负权输入;1类全加器有1个负权输入和2个正权输入;依次类推。

对0类、3类全加器而言有:

    SXYZXYZXYZXYZ

    CXYYZZX

对1类、2类全加器,则有

    SXYZXYZXYZXYZ

    CXYXZYZ

 

表2.3 四类一般化全加器的名称和逻辑符号

类型
逻辑符号
操作

0类

加法器

file:///I:/Chap02/Images/b2.5a.gif

  X
  Y
+) Z
  CS

1类

加法器

file:///I:/Chap02/Images/b2.5b.gif

   X
   Y
+)-Z
 C(-S)

2类

加法器

file:///I:/Chap02/Images/b2.5c.gif
  -X
  -Y
+)  Z
 (-C)S

3类

加法器

file:///I:/Chap02/Images/b2.5d.gif
   -X
   -Y
+) -Z
(-C)(-S)

  注意,0类和3类全加器是用同一对逻辑方程来表征的,它和普通的一位全加器(0类)是一致

的。这是因为3类全加器可以简单地把0类全加器的所有输入输出值全部反向来得到,反之亦然。

1类和2类全加器之间也能建立类似的关系。由于逻辑表达式具有两级与一或形式,可以用

“与或非”门来实现,延迟时间为2T

  表2.4  描述四类一般化全加器的真值表

   全加器

带权输入

 带权输出

    0类

    3类

                  

   -X      -Y      -Z     

        S

    -C    -S

   

   

   

              0

              1

              0

              1

              0

              

              0

              1

        0

        1

        1

        0

        1

        0

        0

        1

    1类

    2类

                  

   -X      -Y      -Z 

        S

    -C    -S

              0

             

              0

              1

              0

              

              0

             

        0

        1

        1

        0

        1

        0

        0

        1

 

3.直接补码阵列乘法器

  利用混合型的全加器就可以构成直接补码数阵列乘法器。设被乘数A和乘数B是两个5位的二

进制补码数,即

A=(a4)a3a2a1a0

B=(b4)a3a2a1a0

  它们具有带负权的符号位a4b4,并用括号标注。如果我们用括号来标注负的被加项,例如

(aibJ),那么AB相乘过程中所包含的操作步骤如下面矩阵所示:

                      (a4)  a3  a2  a1  a0  =A
                    ×) (b4)   b3   b2  b1  b0  =B 
                      (a4b0) a3b0 a1b0 a1b0 a0b0
                  (a4b1)  a3b1  a2b1 a1b1 a0b1
               (a4b2) a3b2  a2b2  a1b2 a0b2

           (a4b3) a3b3  a2b3  a1b3  a0b3
 +)      a4b4 (a3b4) (a2b4) (a1b4) (a0b4)                
      p9   p8   p7   p6   p5   p4   p3  p2   p1  p0  =P

 

 

 

  5位乘5位的直接补码阵列乘法器逻辑原理演示file:///I:/Images/cai.jpg

  其中使用不同的逻辑符号来代表0类、1类、2类、3类全加器。2类和1类全加器具有同样的结

构,但是使用不同的逻辑符号可使乘法阵列的线路图容易理解。

  在n位乘n位的一般情况下,该乘法器需要(n-2)2个0类全加器,(n-2)个1类全加器,(2n-3)

个2类全加器,1个3类全加器,总共是n(n-1)个全加器。 故所需的总乘法时间是:

        tp=Ta+2(n-1)Tf=2T+(2n-2)2T=(4n-2)T             (2.31)

[例20] 设[A]=(01101)2,[B]=(11011)2,求[A×B]=?

[解:]

   file:///I:/Images/Top.gif

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有