直接补码阵列乘法器的工作原理分析.doc

直接补码阵列乘法器的工作原理分析.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直接补码阵列乘法器的工作原理分析

直接补码阵列乘法器的设计原理 *?李澄举 (嘉应学院 计算机系, 广东 梅州 514015) [摘要]直接补码阵列乘法器的工作原理是《计算机组成原理》课程的难点。本文从组成阵列乘法器的四类全加器的工作原理分析开始,结合补码和真值的转换关系,通过和手工计算方法的对比,深入浅出地揭示了直接补码阵列乘法器的工作原理。 [关键词] 直接补码阵列乘法器,负权值,一般化全加器 一、引言 直接补码阵列乘法器可以直接求出两个补码的相乘积,由于符号位也参加运算,运算速度比起原码阵列乘法器快得多。5位乘5位的直接补码并行阵列乘法器的逻辑结构如图1所示。 与原码阵列乘法器不同的是,直接补码阵列乘法器除了采用0类全加器之外,还采用了1类和2类全加器,以对应于输入补码符号位的负的位权值;图1左下角的虚框是行波进位加法器,为了缩短加法时间,可以用先行进位加法器代替。 设被乘数和乘数(均为补码)分别为A=(a4)a3a2a1a0,B=(b4)b3b2b1b0,其中a4和b4是符号位,用括号括起来是表示这一位具有负的位权值。根据补码和真值的转换可以知道, 补码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的竖式乘法如下: 在这个竖式中,带括位的位具有负的位权值,即(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(进位)都是正权,它的输出函数表达式为我们所熟知:   。 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; 故其输出函数表达式为:      与0类全加器的输出函数比较,它们的本位函数相同但进位函数不同。若将带负权值的Z取反后代入输出函数表达式,进位函数和0类全加器的一致,而本位函数就是0类全加器本位输出的反,即。由此可见,要实现1类全加器的功能,带负权输入的Z端须经一反相器输入到0类全加器与带正权输入的X、Y做一位的加法,然后本位端取反输出。本位是取反后输出,表明本位输出带负的位权值。因此,1类全加器符号中的大圆圈可以看成是0类全加器。

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档