定点乘法运算市公开课特等奖市赛课微课一等奖课件_第1页
定点乘法运算市公开课特等奖市赛课微课一等奖课件_第2页
定点乘法运算市公开课特等奖市赛课微课一等奖课件_第3页
定点乘法运算市公开课特等奖市赛课微课一等奖课件_第4页
定点乘法运算市公开课特等奖市赛课微课一等奖课件_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

2.3定点乘法运算2.3.1原码乘法

在定点计算机中,两个原码表示数相乘运算规则是:乘积符号位由两数符号位按异或运算得到,而乘积数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示(定点整数也一样适用)被乘数[x]原=xf.xn-1…x1x0乘数[y]原=yf.yn-1…y1y0则乘积式中,xf为被乘数符号,yf为乘数符号。

[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)(2.26)第1页乘积符号运算法则是:同号相乘为正,异号相乘为负。因为被乘数和乘数和符号组合只有四种情况(xfyf=00,01,10,11),所以积符号可按“异或”(按位加)运算得到。数值部分运算方法与普通十进制小数乘法类似,不过对于用二进制表示式数来说,其乘法规则更为简单一些。设x=0.1101,y=0.1011.让我们先用习惯方法求其乘积,其过程以下:运算过程与十进制乘法相同:从乘数y最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“0”,则写下全0。然后在对乘数y最高为进行乘法运算,其规则同上,不过这一位乘数权与最低位乘数权不一样,所以被乘数x要左移一位。以这类推,直到乘数个位乘完为止,最终将它们统统加起来,变得到最终乘积z。第2页假如被乘数和乘数用定点整数表示,我们也会得到一样结果。人们习惯算法对机器并不完全适用。原因之一,机器通常只有n位长,两个n位数相乘,乘积可能为2n位。用这种被乘数左移方法,则需要2n位长加法器,不但不适于定点机形式,而且还必须设法将n个位积一次相加起来,为了简化结构,机器通常只有n位长,而且只有两个操作数相加加法器.为此,必须修改上述乘法实现方法,将x·y改写成适于以下定点机形式:0.1101x0.1011y0.00001101x共右移4次0.0001101x共右移3次0.000000x共右移2次+0.01101x共右移1次0.10001111(z)为了适合于两个操作数相加加法器,将x•y深入改写成以下形式:第3页

x•y=x•(0.1011)=0.1•x+0.00•x+0.001•x+0.0001•x=0.1{x+0.1[0+0.1(x+0.1•x)]}=2-1{x+2-1[0+2-1(x+2-1•x)]}依据此式,按照式中括号所表示层次.从内向外逐次进行移位累加.每算完一层括号2-1(部分积),就得到一个新部分积,最终一个部分积即为乘积.普通而言,设被乘数x,乘数y都是小于1n位定点正数:x=0.x1x2…xny=0.y1y2…yn其乘积为x•y=x(0.y1y2…yn)=x(y12-1+y22-2+…+yn2-n)=2-1(y1x+2-1(y2x+2-1(…+2-1(yn-1x+2-1(ynx+0))…)))第4页令Zi表示第i次部分积,则上式可写成以下递推公式:z0=0z1=2-1(ynx+z0)z2=2-1(yn-1x+z1):zi=2-1(yn-i+1x+zi-1)(2.28):zn=x•y=2-1(y1x+zn-1)显然,欲求x·y,则需设置一个保留部分积累加器.乘法开始时,令部分积初值z0=0,然后求ynx加上z0,右移1位得第1个部分积z1.又将yn-1加上z1,再右移1位得第2个部分积z2.依这类推,直到求得y1x加上zn-1并右移1位得最终部分积zn,即得乘积x·y一zn。显然,两个n位数相乘,需重复进行n次“加”及“有移”操作,·才能得到最终乘积.这就是实现原码一位乘法规则.第5页[例1]x=0.1101,y=0.1011,求x·y.解:部分积乘数说明00.0000yf1011z0=0+00.1101y4=1,+x

00.1101

00.01101yf101右移,得z1+00.1101y3=1,+x01.001100.100111yf10

右移,得z2+00.0000y2=0,+000.100100.0100111yf

1

右移,得z3+00.1101y1=1,+001.000100.10001111yf

右移,得z4=x·y所以x·y=0.10001111第6页

实现原码一位乘法硬件逻辑原理示于图2.5.这里需要三个存放器,其中R0存放部分积z(乘法开始前R0应清“0”,因为z0=0),R2存放被乘数x,Rl存放乘数y.因为乘法开始时先从乘数最低位yn开始,以后则使用yn-1,yn-2,…,yl,所以乘数存放器R1应该是含有右移功效移位存放器.假定加法器不具备右移功效,那么因为部分积需要右移,R0也应该是含有右移功效移位存放器.除了三个存放器R0,R1,R2外,还需一个加法器和一个计数器,前者完成部分积与位积累加,后者对移位次数进行计数,方便判断乘法运算是否结束.

第7页乘法开始时“开启”信号使控制触发器Cx置“1”,于是开启时序脉冲T.当乘数存放器R1最末位为”1”时,部分积Z和被乘数x在加法器中相加,其结果输出至R0输入端.一旦打入控制脉冲T到来,控制信号LDR0使部分积右移1位,与此同时,乘数存放器Ri也在控制信号LDR1作用下右移一位,且计数器i计数1次.当计数器i=n时,计数器i溢出信号使控制触发器Cn置“0”,关闭时序脉冲T,乘法宣告结束.假如将R0和R1连接起来,乘法结束时乘积高n位部分

温馨提示

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

评论

0/150

提交评论