首页 直接补码并行乘法

直接补码并行乘法

举报
开通vip

直接补码并行乘法直接补码阵列乘法器的设计原理*李澄举(嘉应学院计算机系,广东梅州514015)[摘要]直接补码阵列乘法器的工作原理是《计算机组成原理》课程的难点。本文从组成阵列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。[关键词]直接补码阵列乘法器,负权值,一般化全加器一、引言直接补码阵列乘法器可以直接求出两个补码的相乘积,由于符号位也参加运算,运算速度比起原码阵列乘法器快得多。5位乘5位的直接补码并行阵列乘法器的逻辑结构如图1所示。与原码...

直接补码并行乘法
直接补码阵列乘法器的设计原理*李澄举(嘉应学院计算机系,广东梅州514015)[摘要]直接补码阵列乘法器的工作原理是《计算机组成原理》课程的难点。本文从组成阵列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。[关键词]直接补码阵列乘法器,负权值,一般化全加器一、引言直接补码阵列乘法器可以直接求出两个补码的相乘积,由于符号位也参加运算,运算速度比起原码阵列乘法器快得多。5位乘5位的直接补码并行阵列乘法器的逻辑结构如图1所示。与原码阵列乘法器不同的是,直接补码阵列乘法器除了采用0类全加器之外,还采用了1类和2类全加器,以对应于输入补码符号位的负的位权值;图1左下角的虚框是行波进位加法器,为了缩短加法时间,可以用先行进位加法器代替。设被乘数和乘数(均为补码)分别为A=(a4)a3a2a1a0,B=(b4)b3b2b1b0,其中a4和b4是符号位,用括号括起来是 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示这一位具有负的位权值。根据补码和真值的转换可以知道,补码A的真值a=a4×(-24)+a3×23+a2×22+a1×21+a0×20;补码B的真值b=b4×(-24)+b3×23+b2×22+b1×21+b0×20;即在将补码直接转换成真值时,符号位取负权值,其余位取正权值。如设A=01101(+13),B=11011(-5),计算符号位参加运算A×B的竖式乘法如下:*【作者简介】李澄举(1949—),男,广东梅县人,嘉应学院计算机系副教授在这个竖式中,带括位的位具有负的位权值,即(1)=-1,(0)=0。原乘积最高两位0(1)是带有负位权值的二进制数,相当于0×21+1×(-20)=-1,因(1)1相当于1×(-21)+1×20=-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(进位)都是正权,它的输出函数表达式为我们所熟知:ZXYZXYCXYZZYXZYXZYXS00++=+++=。2、1类全加器1类全加器只有1个负权输入和1个负权的本位输出。对于负权输入,如竖式乘法可见,加法的结果是正权的值的和与负权的值相减。但一位的减法不同于做n位定点整数的补码减法,1类全加器须有如表1所示的真值表(表中带负权值的输入、输出变量前加符号“-”以标识),这种真值表表明了带权输入和带权输出之间的逻辑关系和数值关系:输入端X、Y带正权值,Z带负权值,按手工加法,结果为X+Y+(-Z)的值。只是当结果为1时,应将1变换为进位C=1、本位S=(1),等效于1×21+1×(-20)=1,使本位保持负的位权值,即: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)=1(1)=1×21+1×(-20)=1;0+1+(-1)=0(0)=0×21+0×(-20)=0;1+0+(-0)=1(1)=1×21+1×(-20)=1;1+0+(-1)=0(0)=0×21+0×(-20)=0;1+1+(-0)=1(0)=1×21+0×(-20)=2;1+1+(-1)=1(1)=1×21+1×(-20)=1;故其输出函数表达式为:XZYZXYCXYZZYXZYXZYXS11++=+++=与0类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值的Z取反后代入输出函数表达式,进位函数和0类全加器的一致,而本位函数1S就是0类全加器本位输出的反,即01SS=。由此可见,要实现1类全加器的功能,带负权输入的Z端须经一反相器输入到0类全加器与带正权输入的X、Y做一位的加法,然后本位端取反输出。本位1S是取反后输出,表明本位输出带负的位权值。因此,1类全加器符号中的大圆圈可以看成是0类全加器。3、2类全加器2类全加器有2个负权输入和1个负权的进位输出,输入和输出之间的逻辑、数值关系为:(-X)+(-Y)+Z=(-C)S=C×(-21)+S×20。当数值运算的结果为-1时,应将它变换为(1)1,等效于1×(-21)+1×20=-2+1=-1,使进位C保持负的位权值。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=(1)1=1×(-21)+1×20=-1;(-0)+(-1)+1=(0)0=0×(-21)+0×20=0;(-1)+(-0)+0=(1)1=1×(-21)+1×20=-1;(-1)+(-0)+1=(0)0=0×(-21)+0×20=0;(-1)+(-1)+0=(1)0=1×(-21)+0×20=-2;(-1)+(-1)+1=(1)1=1×(-21)+1×20=-1;故其输出函数表达式为:XZYZXYCXYZZYXZYXZYXS22++=+++=与0类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值的X和Y取反后代入输出函数表达式,本位函数和0类全加器的一致,而进位函数2C就是0类全加器进位输出的反,即02CC=。由此可见,要实现2类全加器的功能,带负权输入的X、Y端须经反相器输入到0类全加器内与带正权输入的Z做一位的加法,然后进位端取反输出。进位2C是取反后输出,表明进位输出带负的位权值。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始终保持负的位权值,其输出函数表达式为:ZXYZXYCXYZZYXZYXZYXS33++=+++=。这与0类全加器的输出函数表达式相同。若将带负权值的X、Y和Z取反后代入输出函数表达式,有03SS=和03CC=。由此可见,要实现3类全加器的功能,所有带负权输入的输入端都须经反相器输入到0类全加器内做一位的加法,然后本位端和进位端都取反输出。进位3C和本位3S都是取反后输出,表明本位和进位输出都带负的位权值。3类全加器符号中的大圆圈同样可以看成是0类全加器。由此可见,这一般化的全加器可以实现二进制数的一位加法或减法的功能。表2列出了以上四类一般化全加器的名称和逻辑符号及所对应的操作。图1所示5位乘5位的直接补码阵列乘法器中用了0类、1类和2类的全加器,应该指出,只是为了画图的方便,图中1类和2类的全加器的带负权值的输出端都省略了标示取反的小圆圈,这是需要特别注意的。在下面举例说明这5位乘5位的直接补码阵列乘法器的工作原理。三、直接补码阵列乘法器的工作原理这里分别以被乘数和乘数的正负来说明直接补码阵列乘法器的工作原理。行波进位加法器的功能还可将乘积中间的带负权值的位进行处理,使它移到最高位(p9)作为符号位。图3右上角用六个0类全加器,它的工作原理容易理解,左边用六个1类全加器的连接的原理是:由a4带负权值,故a4b0带负权值,需用1类全加器,也因本位是负权输出,故接下来也用1类全加器,这一列用了三个1类全加器。这列第4行因a0b4也带负权值,故用2类全加器。其它各列如此类推。1、被乘数和乘数都为负的情况:如10001×10011,即(-15)×(-13)。图3中标出了阵列乘法器在作10001×10011乘法时各类加法器的输入端和输出端的值。左上角第一个1类全加器三个输入端的值分别为(1)、0、0,根据上述1类全加器的工作原理,传到这个1类全加器内的0类全加器输入端为0、0、0,运算结果为00,那么这个1类全加器的进位输出为0,本位则取反输出为(1)。如此类推。可得阵列乘法器的输出为0011000011。补码的二进制数的真值是:p=1×27+1×26+1×21+1×20=128+64+2+1=(+195)10。十进制数乘法验证:(-15)×(-13)=+1952、被乘数为正和乘数为负的情况:如01111×10111,即(+15)×(-9)。如图4所示,在这里虽然a4=0,但因它仍然带负的位权值,故仍接1类全加器的负权输入端。阵列乘法器输出的补码结果为:1101111001。补码的二进制数的真值是:p=1×(-29)+1×28+1×26+1×25+1×24+1×23+1×20=-512+256+64+32+16+1=-135十进制数乘法验证:(+15)×(-9)=-1353、被乘数为负和乘数为正的情况:如10111×01111,即(-9)×(+15)。如图5所示,阵列乘法器输出的补码结果为:1101111001,与上面2的结果相同,演算这个例子可以加深对阵列乘法器工作原理的理解。Direct2'scomplementarraymultiplierprincipleofdesign直接补码阵列乘法器的工作原理是《计算机组成原理》课程的难点。本文从组成阵列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。Thedirect2'scomplementarraymultiplierprincipleofworkis"ComputerOrganizationPrinciple"thecurriculumdifficulty.Thisarticlestartsfromthecompositionarraymultiplierfourkindoffulladdersprincipleofworkanalyses,theunionbasecomplementandthetruevaluetransformationrelations,throughandthemanualcomputationalmethodcontrast,havepromulgatedthedirect2'scomplementarraymultiplierprincipleofworkwithprofundityandaneasy-to-understandapproach.Direct2'scomplementarraymultiplier直接补码阵乘法器NegativepowervalueNegativepositionpowervalue负的位权值Generalizedfulladder一般化全加器2'scomplement补码原码:signedmagnitude1'scomplement反码Negativebitweightingfactor负的位权值
本文档为【直接补码并行乘法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_713593
暂无简介~
格式:doc
大小:37KB
软件:Word
页数:13
分类:互联网
上传时间:2019-02-27
浏览量:48