直接补码并行乘法.doc_第1页
直接补码并行乘法.doc_第2页
直接补码并行乘法.doc_第3页
直接补码并行乘法.doc_第4页
直接补码并行乘法.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

直接补码阵列乘法器的设计原理*【作者简介】李澄举(1949),男,广东梅县人, 嘉应学院计算机系 副教授李澄举 (嘉应学院 计算机系, 广东 梅州 514015)摘要直接补码阵列乘法器的工作原理是计算机组成原理课程的难点。本文从组成阵列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。关键词 直接补码阵列乘法器,负权值,一般化全加器一、引言直接补码阵列乘法器可以直接求出两个补码的相乘积,由于符号位也参加运算,运算速度比起原码阵列乘法器快得多。5位乘5位的直接补码并行阵列乘法器的逻辑结构如图1所示。与原码阵列乘法器不同的是,直接补码阵列乘法器除了采用0类全加器之外,还采用了1类和2类全加器,以对应于输入补码符号位的负的位权值;图1左下角的虚框是行波进位加法器,为了缩短加法时间,可以用先行进位加法器代替。设被乘数和乘数(均为补码)分别为A(a4)a3a2a1a0,B(b4)b3b2b1b0,其中a4和b4是符号位,用括号括起来是表示这一位具有负的位权值。根据补码和真值的转换可以知道,补码A的真值a a4(24)a323a222a121a020;补码B的真值b b4(24)b323b222b121b020;即在将补码直接转换成真值时,符号位取负权值,其余位取正权值。如设A01101(13),B11011(5),计算符号位参加运算AB的竖式乘法如下:在这个竖式中,带括位的位具有负的位权值,即(1)1,(0)0。原乘积最高两位0(1)是带有负位权值的二进制数,相当于0211(20) 1,因(1)1相当于1(21)120 1,故0(1)可以写成(1)1,这扩充符号位(1)便是乘积的符号位。由此可见,在竖式乘法中,若乘积中间位有带负位权值的(1),可照此办法将(1)左移或消去,如果(1)能移到乘积最左边,则说明乘积为负,这(1)便是补码符号位;否则乘积为正,应在乘积最左边的1之左边加一个0作为补码符号位。二、各类全加器的加法逻辑要了解直接补码阵列乘法器的工作原理,首先要了解各类全加器的工作原理。常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。如图2所示各类全加器的逻辑符号,图中凡带有小圆圈的输入端都是负位权值的输入端、带有小圆圈的输出端都是负位权值的输出端。由图可见,0类全加器没有负权输入和负权输出;1类全加器有1个负权输入和1个负权输出;2类全加器有2个负权输入和1个负权输出;3类全加器有3个负权输入和3个负权输出;各类全加器就是按负权值输入的个数命名的。1、0类全加器由于0类全加器3个输入X、Y、Z和2个输出S(本位)和C(进位)都是正权,它的输出函数表达式为我们所熟知:。2、1类全加器1类全加器只有1个负权输入和1个负权的本位输出。对于负权输入,如竖式乘法可见,加法的结果是正权的值的和与负权的值相减。但一位的减法不同于做n位定点整数的补码减法,1类全加器须有如表1所示的真值表(表中带负权值的输入、输出变量前加符号“”以标识),这种真值表表明了带权输入和带权输出之间的逻辑关系和数值关系:输入端X、Y带正权值,Z带负权值,按手工加法,结果为XY(Z)的值。只是当结果为1时,应将1变换为进位C1、本位S(1),等效于1211(20)1,使本位保持负的位权值,即:XY(Z)C(S) C21S(20)X、Y、Z的所有取值组合对应的输出结果如下:00(0)0(0)0210(20) 0;00(1)0(1)0211(20) 1;01(0)1(1)1211(20) 1;01(1)0(0)0210(20) 0;10(0)1(1)1211(20) 1;10(1)0(0)0210(20) 0;11(0)1(0)1210(20) 2;11(1)1(1)1211(20) 1;故其输出函数表达式为:与0类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值的Z取反后代入输出函数表达式,进位函数和0类全加器的一致,而本位函数就是0类全加器本位输出的反,即。由此可见,要实现1类全加器的功能,带负权输入的Z端须经一反相器输入到0类全加器与带正权输入的X、Y做一位的加法,然后本位端取反输出。本位是取反后输出,表明本位输出带负的位权值。因此,1类全加器符号中的大圆圈可以看成是0类全加器。3、2类全加器2类全加器有2个负权输入和1个负权的进位输出,输入和输出之间的逻辑、数值关系为:(X) (Y) Z(C)SC(21)S20。当数值运算的结果为1时,应将它变换为(1)1,等效于1(21) 120 211,使进位C保持负的位权值。X、Y、Z的所有取值组合对应的输出结果如下:(0)(0)0(0)00(21)020 0;(0)(0)1(0)10(21)120 1;(0)(1)0(1)11(21)120 1;(0)(1)1(0)00(21)020 0;(1)(0)0(1)11(21)120 1;(1)(0)1(0)00(21)020 0;(1)(1)0(1)01(21)020 2; (1)(1)1(1)11(21)120 1;故其输出函数表达式为:与0类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值的X和Y取反后代入输出函数表达式,本位函数和0类全加器的一致,而进位函数就是0类全加器进位输出的反,即。由此可见,要实现2类全加器的功能,带负权输入的X、Y端须经反相器输入到0类全加器内与带正权输入的Z做一位的加法,然后进位端取反输出。进位是取反后输出,表明进位输出带负的位权值。2类全加器符号中的大圆圈也可以看成是0类全加器。4、3类全加器3类全加器有3个负权输入和2个负权的本位和进位输出,输入和输出之间的逻辑、数值关系为:(X) (Y) (Z)(C) (S) C(21)S(20)。X、Y、Z的所有取值组合对应的输出结果如下:(0)(0)(0)(0) (0)0(21)0(20) 0;(0)(0)(1)(0) (1)0(21)1(20) 1;(0)(1)(0)(0) (1)0(21)1(20) 1;(0)(1)(1)(1) (0)1(21)0(20) 2;(1)(0)(0)(0) (1)0(21)1(20) 1;(1)(0)(1)(1) (0)1(21)0(20) 2;(1)(1)(0)(1) (0)1(21)0(20) 2;(1)(1)(1)(1) (1)1(21)1(20) 3;数值运算的结果0,进位C和本位S始终保持负的位权值,其输出函数表达式为:。这与0类全加器的输出函数表达式相同。若将带负权值的X、Y和Z取反后代入输出函数表达式,有和。由此可见,要实现3类全加器的功能,所有带负权输入的输入端都须经反相器输入到0类全加器内做一位的加法,然后本位端和进位端都取反输出。进位和本位都是取反后输出,表明本位和进位输出都带负的位权值。3类全加器符号中的大圆圈同样可以看成是0类全加器。由此可见,这一般化的全加器可以实现二进制数的一位加法或减法的功能。表2列出了以上四类一般化全加器的名称和逻辑符号及所对应的操作。图1所示5位乘5位的直接补码阵列乘法器中用了0类、1类和2类的全加器,应该指出,只是为了画图的方便,图中1类和2类的全加器的带负权值的输出端都省略了标示取反的小圆圈,这是需要特别注意的。在下面举例说明这5位乘5位的直接补码阵列乘法器的工作原理。三、直接补码阵列乘法器的工作原理这里分别以被乘数和乘数的正负来说明直接补码阵列乘法器的工作原理。行波进位加法器的功能还可将乘积中间的带负权值的位进行处理,使它移到最高位(p9)作为符号位。图3右上角用六个0类全加器,它的工作原理容易理解,左边用六个1类全加器的连接的原理是:由a4带负权值,故a4 b0带负权值,需用1类全加器,也因本位是负权输出,故接下来也用1类全加器,这一列用了三个1类全加器。这列第4行因a0 b4也带负权值,故用2类全加器。其它各列如此类推。1、被乘数和乘数都为负的情况:如1000110011,即(15) (13)。图3中标出了阵列乘法器在作1000110011乘法时各类加法器的输入端和输出端的值。左上角第一个1类全加器三个输入端的值分别为(1)、0、0,根据上述1类全加器的工作原理,传到这个1类全加器内的0类全加器输入端为0、0、0,运算结果为00,那么这个1类全加器的进位输出为0,本位则取反输出为(1)。如此类推。可得阵列乘法器的输出为0011000011。补码的二进制数的真值是:p1271261211201286421(195)10。十进制数乘法验证:(15) (13)1952、被乘数为正和乘数为负的情况:如0111110111,即(15) (9)。如图4所示,在这里虽然a4 0,但因它仍然带负的位权值,故仍接1类全加器的负权输入端。阵列乘法器输出的补码结果为:1101111001。补码的二进制数的真值是:p 1(29)1281261251241231205122566432161135十进制数乘法验证:(15) (9) 1353、被乘数为负和乘数为正的情况:如1011101111,即(9) (15)。如图5所示,阵列乘法器输出的补码结果为:1101111001,与上面2的结果相同,演算这个例子可以加深对阵列乘法器工作原理的理解。Direct 2s complement array multiplier principle of design直接补码阵列乘法器的工作原理是计算机组成原理课程的难点。本文从组成阵列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。The direct 2s complement array multiplier principle 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 method contrast, have promulgated the direct 2s complement array multiplier principle of work with profundity and an eas

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论