收藏 分享(赏)

直接补码阵列乘法器的设计原理.pdf

上传人:精品资料 文档编号:9985275 上传时间:2019-09-24 格式:PDF 页数:7 大小:170.34KB
下载 相关 举报
直接补码阵列乘法器的设计原理.pdf_第1页
第1页 / 共7页
直接补码阵列乘法器的设计原理.pdf_第2页
第2页 / 共7页
直接补码阵列乘法器的设计原理.pdf_第3页
第3页 / 共7页
直接补码阵列乘法器的设计原理.pdf_第4页
第4页 / 共7页
直接补码阵列乘法器的设计原理.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 直接补码阵列乘法器的设计原理 摘要直接补码阵列乘法器的工作原理是计算机组成原理课程的难点。本文从组成阵 列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算 方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。 关键词 直接补码阵列乘法器,负权值,一般化全加器 一、引言 直接补码阵列乘法器可以直接求出两个补码的相乘积,由于符号位也参加运算,运算 速度比起原码阵列乘法器快得多。5 位乘 5 位的直接补码并行阵列乘法器的逻辑结构如图 1 所示。 与原码阵列乘法器不同的是,直接补码阵列乘法器除了采用 0 类全加器之外,还采用 了 1 类和 2类全加器,以对应于输入

2、补码符号位的负的位权值;图 1 左下角的虚框是行波进 位加法器,为了缩短加法时间,可以用先行进位加法器代替。 设被乘数和乘数(均为补码)分别为 A(a 4 )a 3 a 2 a 1 a 0 ,B(b 4 )b 3 b 2 b 1 b 0 ,其中 a 4 和 b 4 是符 号位,用括号括起来是表示这一位具有负的位权值。根据补码和真值的转换可以知道, 补码A 的真值a a 4 (2 4 )a 3 2 3 a 2 2 2 a 1 2 1 a 0 2 0 ; 补码B 的真值b b 4 (2 4 )b 3 2 3 b 2 2 2 b 1 2 1 b 0 2 0 ; 即在将补码直接转换成真值时,符号位取负

3、权值,其余位取正权值。 如设A01101(13),B11011(5),计算符号位参加运算AB 的竖式乘法如下: 在这个竖式中,带括位的位具有负的位权值,即(1)1, (0)0。原乘积最高两位 0(1) 是带有负位权值的二进制数,相当于 02 1 1(2 0 ) 1,因(1)1 相当于 1(2 1 )1 2 01,故 0(1)可以写成(1)1,这扩充符号位(1)便是乘积的符号位。由此可见,在竖式 乘法中,若乘积中间位有带负位权值的(1),可照此办法将(1)左移或消去,如果(1)能移到乘 积最左边,则说明乘积为负,这(1)便是补码符号位;否则乘积为正,应在乘积最左边的 1 之左边加一个 0 作为补

4、码符号位。 二、各类全加器的加法逻辑 要了解直接补码阵列乘法器的工作原理,首先要了解各类全加器的工作原理。 常规的一位全加器可假定它的 3 个输入和 2 个输出都是正权。这种加法器通过把正权 或负权加到 输入/输出端, 可以归纳出 四类加法单 元。如图 2所 示各类全加 器的逻辑符 号,图中凡带 有小圆圈的输入端都是负位权值的输入端、带有小 圆圈的输出端都是负位权值的输出端。由图可见, 0 类全加器没有负权输入和负权输出; 1 类全加器有 1 个负权输入和 1 个负权输出;2 类全加器有 2 个负 权输入和 1 个负权输出;3 类全加器有 3 个负权输 入和 3 个负权输出;各类全加器就是按负

5、权值输入 的个数命名的。 1、0 类全加器 由于 0 类全加器 3 个输入 X、Y、Z和 2 个输出 S(本位)和C(进位)都是正权,它的输出函数表 达式为我们所熟知: ZX YZ XY C XYZ Z Y X Z Y X Z Y X S 0 0 。 2、1 类全加器 1 类全加器只有 1 个负权输入和 1 个负权的本 位输出。对于负权输入,如竖式乘法可见,加法的 结果是正权的值的和与负权的值相减。但一位的减 法不同于做 n 位定点整数的补码减法,1 类全加器须有如表 1 所示的真值表(表中带负权值的输入、输出变量前加符号“”以标识) ,这种 真值表表明了带权输入和带权输出之间的逻辑关系和数值

6、关系:输入端 X、Y 带正权值,Z 带负权值,按手工加法,结果为 XY(Z)的值。只是当结果为 1 时,应将 1 变换为 进位C1、本位S(1),等效于 12 1 1(2 0 )1,使本位保持负的位权值,即: XY(Z)C(S) C2 1 S(2 0 ) X、Y、Z 的所有取值组合对应的输出结果如下: 00(0)0(0)02 1 0(2 0 ) 0; 00(1)0(1)02 1 1(2 0 ) 1; 01(0)1(1)12 1 1(2 0 ) 1; 01(1)0(0)02 1 0(2 0 ) 0; 10(0)1(1)12 1 1(2 0 ) 1; 10(1)0(0)02 1 0(2 0 ) 0

7、; 11(0)1(0)12 1 0(2 0 ) 2; 11(1)1(1)12 1 1(2 0 ) 1; 故其输出函数表达式为: X Z Y Z XY C XYZ Z Y X Z Y X Z Y X S 1 1 与 0 类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值 的Z 取反后代入输出函数表达式,进位函数和 0 类全加器的一致,而本位函数 1 S 就是 0 类 全加器本位输出的反,即 0 1 S S 。由此可见,要实现 1 类全加器的功能,带负权输入的Z 端须经一反相器输入到 0 类全加器与带正权输入的X、Y 做一位的加法,然后本位端取反输 出。本位 1 S 是取反后输

8、出,表明本位输出带负的位权值。因此,1 类全加器符号中的大圆 圈可以看成是 0 类全加器。 3、2 类全加器 2 类全加器有 2 个负权输入和 1 个负权的进位 输出,输入和输出之间的逻辑、数值关系为: (X) ( Y) Z(C)SC(2 1 )S2 0 。 当数值运算的结果为1 时,应将它变换为 (1)1,等效于 1(2 1 ) 12 0211, 使进位C 保持负的位权值。 X、Y、Z 的所有取值组合对应的输出结果如下: (0)(0)0(0)00(2 1 )02 00; (0)(0)1(0)10(2 1 )12 01; (0)(1)0(1)11(2 1 )12 01; (0)(1)1(0)0

9、0(2 1 )02 00; (1)(0)0(1)11(2 1 )12 01; (1)(0)1(0)00(2 1 )02 00; (1)(1)0(1)01(2 1 )02 02; (1)(1)1(1)11(2 1 )12 01; 故其输出函数表达式为: X Z Y Z XY C XYZ Z Y X Z Y X Z Y X S 2 2 与 0 类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值 的X 和Y 取反后代入输出函数表达式,本位函数和 0 类全加器的一致,而进位函数 2 C 就是 0 类全加器进位输出的反,即 0 2 C C 。由此可见,要实现 2 类全加器的功能,带负

10、权输入 的X、Y 端须经反相器输入到 0 类全加器内与带正权输入的Z 做一位的加法,然后进位端取 反输出。进位 2 C 是取反后输出,表明进位输出带负的位权值。2 类全加器符号中的大圆圈 也可以看成是 0 类全加器。 4、3 类全加器 3 类全加器有 3 个负权输入和 2 个负权的本位和进位输出,输入和输出之间的逻辑、数 值关系为:(X) ( Y) (Z)(C) (S) C(2 1 )S(2 0 )。 X、Y、Z 的所有取值组合对应的输出结果如下: (0)(0)(0)(0) (0)0(2 1 )0(2 0 ) 0; (0)(0)(1)(0) (1)0(2 1 )1(2 0 ) 1; (0)(1

11、)(0)(0) (1)0(2 1 )1(2 0 ) 1; ; (0)(1)(1)(1) (0)1(2 1 )0(2 0 ) 2; (1)(0)(0)(0) (1)0(2 1 )1(2 0 ) 1; (1)(0)(1)(1) (0)1(2 1 )0(2 0 ) 2; (1)(1)(0)(1) (0)1(2 1 )0(2 0 ) 2; (1)(1)(1)(1) (1)1(2 1 )1(2 0 ) 3; ; 数值运算的结果0,进位C 和本位S始终保持负的位权值,其输出函数表达式为: ZX YZ XY C XYZ Z Y X Z Y X Z Y X S 3 3 。 这与 0 类全加器的输出函数表达式相

12、同。若将带负权值的X、Y 和Z 取反后代入输出函 数表达式,有 0 3 S S 和 0 3 C C 。由此可见,要实现 3 类全加器的功能,所有带负权输 入的输入端都须经反相器输入到 0类全加器内做一位的加法, 然后本位端和进位端都取反输 出。进位 3 C 和本位 3 S 都是取反后输出,表明本位和进位输出都带负的位权值。3 类全加器 符号中的大圆圈同样可以看成是 0类全加器。 由此可见,这一般化的全加器可以实现二进制数的一位加法或减法的功能。 表 2 列出了以上四类一般化全加器的名称和逻辑符号及所对应的操作。 图 1 所示 5位乘 5 位的直接补码阵列乘法器中用了 0 类、 1类和 2 类的

13、全加器,应该指 出,只是为了画图的方便,图中 1 类和 2 类的全加器的带负权值的输出端都省略了标示取反 的小圆圈,这是需要特别注意的。在下面举例说明这 5 位乘 5位的直接补码阵列乘法器的工 作原理。 三、直接补码阵列乘法器的工作原理 这里分别以被乘数和乘数的正负来说明直接补码阵列乘法器的工作原理。行波进位加 法器的功能还可将乘积中间的带负权值的位进行处理,使它移到最高位(p9)作为符号位。图 3 右上角用六个 0 类全加器,它的工作原理容易理解,左边用六个 1 类全加器的连接的原理 是:由a 4 带负权值,故a 4b 0 带负权值,需用 1 类全加器,也因本位是负权输出,故接下来 也用 1

14、 类全加器,这一列用了三个 1 类全加器。这列第 4 行因a 0b 4 也带负权值,故用 2 类 全加器。其它各列如此类推。 1、被乘数和乘数都为负的情况:如 1000110011,即(15) (13)。 图 3中标出了阵列乘法器在作 1000110011乘法时各类加法器的输入端和输出端的值。 左上角第一个 1 类全加器三个输入端的值分别为(1)、0、0,根据上述 1 类全加器的工作原 理,传到这个 1 类全加器内的 0 类全加器输入端为 0、0、0,运算结果为 00,那么这个 1 类全加器的进位输出为 0,本位则取反输出为(1)。如此类推。 可得阵列乘法器的输出为 0011000011。 补

15、码的二进制数的真值是: p12 7 12 6 12 1 12 0 1286421(195) 10 。 十进制数乘法验证:(15) (13)195 2、被乘数为正和乘数为负的情况:如 0111110111,即(15) (9)。 如图 4 所示,在这里虽然 a 40,但因它仍然带负的位权值,故仍接 1 类全加器的负 权输入端。阵列乘法器输出的补码结果为:1101111001。 补码的二进制数的真值是: p 1(2 9 )12 8 12 6 12 5 12 4 12 3 12 05122566432161135 十进制数乘法验证:(15) (9) 135 3、被乘数为负和乘数为正的情况:如 1011

16、101111,即(9) (15)。 如图 5 所示,阵列乘法器输出的补码结果为:1101111001,与上面 2 的结果相同,演算 这个例子可以加深对阵列乘法器工作原理的理解。 Direct 2s complement array multiplier principle of design 直接补码阵列乘法器的工作原理是计算机组成原理课程的难点。本文从组成阵列 乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方 法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。 The direct 2s complement array multiplier princ

17、iple of work is “Computer Organization Principle“ the curriculum difficulty. This article starts from the composition array multiplier four kind of full adders principle of work analyses, the union base complement and the true value transformation relations, through and the manual computational meth

18、od contrast, have promulgated the direct 2s complement array multiplier principle of work with profundity and an easy-to-understand approach. Direct 2s complement array multiplier直接补码阵乘法器 Negative power value Negative position power value负的位权值 Generalized full adder一般化全加器 2s complement 补码 原码:signed magnitude 1s complement 反码 Negative bit weighting factor负的位权值

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报