《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt

上传人(卖家):momomo 文档编号:5900169 上传时间:2023-05-14 格式:PPT 页数:23 大小:1.07MB
下载 相关 举报
《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt_第1页
第1页 / 共23页
《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt_第2页
第2页 / 共23页
《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt_第3页
第3页 / 共23页
《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt_第4页
第4页 / 共23页
《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、第3章 运算器与运算方法3.3定点乘法运算3.3定点乘法运算二进制的乘法笔-纸运算过程,类似于十进制的乘法运算。例例3-6已知X=+0.1011B,Y=0.1101B,用笔-纸运算XY的结果先判断符号位同号还是异号,因为异号,所以乘积的符号位为-。乘积的数值为两数的绝对值逐位乘法运算的结果。所以(+0.1011)(-0.1101)=0.10001111。3.3.1原码一位乘法计算机中实现正数乘法,就是类似笔-纸乘法方法。但是为了提高效率等因素,做了以下改进:1)乘数的每1位乘以被乘数得到的结果X*yi后,将结果与前面所得结果累加,称为部分积Pi。没有等到所有位计算完了再一次求和,这就节省了保存

2、每次相乘结果X*yi的开销。2)每次求得X*yi后,不是将它左移和前次的部分积Pi相加,而是将部分积右移一位与X*yi相加。因为加法运算始终对部分积中的高n位进行。因此,只需一个n位的加法器就可实现两个n位数的相乘。3)对乘数中yi为1的位,执行部分积加X的运算,对为0的位不做加法运算。这样,可以节省部分积的生成时间。3.3.1原码一位乘法已知两正小数X和Y,Y=0.y1y2yn,则X*Y=X*(0.y1y2yn)=X*y1*2-1+X*y2*2-2+X*y3*2-3+X*yn*2-n 这个算式可以用递归计算过程实现:设Pi是乘法运算的部分积,则有初始P0=0P1=2-1(P0+X*yn)P2

3、=2-1(P1+X*yn-1)Pi+1=2-1(Pi+X*yn-i)(i=0,1n-1)Pn=2-1(Pn-1+X*y1)而 X*Y=Pn3.3.1原码一位乘法上述每一步的迭代过程可以归结为:1)对乘数代码,由低位到高位逐次取出1位判断2)若yn-i的值是“1”,则将上一步的部分积与X相加。若yn-i的值是“0”,则什么也不做。3)将结果右移一位,产生本次的迭代部分积。整个过程,从乘数的最低位开始yn和部分积P0开始,经过n次“判断-加法-右移”循环求出Pn为止。Pn为乘法的结果。3.3.1原码一位乘法3.3.1原码一位乘法1)寄存器X:用于存放被乘数2)乘商寄存器Y:运算开始时,用于存放乘数

4、Y。在乘法运算过程中,乘数已经判断过的位不再有存在的必要,将Y寄存器右移,可以将空出的高位部分用于保存部分积的低位部分。3)累加寄存器P:用于存放部分积的高位部分。初始值为0。运算过程中部分积的低位部分不参加累加计算,通过右移至Y寄存器高位保存。等到运算结束时,P中为部分积的高位部分。4)加法器F:是乘法运算的核心部件。在Y的最低位为“1”时,将累加寄存器P中保存的上一次迭代部分积和寄存器X的内容相加,将结果送至P。5)触发器C:保存加法器运算过程中产生的进位。6)计数器Cn:存放循环迭代的次数。初值为n(乘数的数值位数),每循环迭代一次,Cn减1,当Cn减到0时,乘法运算结束。(3)原码一位

5、乘法举例 例3-7已知X=+0.1101B,Y=+0.1011B,用原码一位乘法逻辑电路运算X*Y原。X原=01101,Y原=01011 符号位单独计算:0 0=0 数值部分按照原码1位乘法规则计算 1)从低到高取乘数中1位判断 2)为0不做,为1加被乘数 3)上一步结果右移一位 循环第一步,直至乘数每位判断完毕。(3)原码一位乘法举例3.3.2 原码两位乘法 3.3.2 原码两位乘法 上述操作中,需要将上一步部分积做+X,+2X,+3X运算后右移两位。X可以在X寄存器中获得,2X可以将X寄存器左移一位后得到。+3X若用+X和+2X两次加法运算实现,则运算速度较低。在本次运算中只执行-X,+4

6、X则归并到下一拍执行。-X可以用+-X补实现。因为下一拍部分积已右移了两位,上拍欠下的+4X就变成了+X。因此,设置一个触发器T,用于记录本拍是否有欠下+X。3.3.2 原码两位乘法3.3.2 原码两位乘法 例3-8已知X=+0.1101B,Y=+0.1011B,用原码两位乘法方法计算求X*Y原。X原=0.1101,Y原=0.1011 符号位单独计算:0 0=03.3.3补码一位乘法 原码乘法容易理解,但是符号位与数值位需要分别处理。计算机中的数据多用补码表示,希望能够用补码直接进行乘法运算。(1)补码一位乘法的实现原理 布斯(A.D.Booth)提出了一种算法,将相乘两数用补码表示,它们的符

7、号位和数值位一起参与运算过程,直接得出用补码表示的乘法结果,且正数和负数同等对待。这种算法是补码一位乘法,又称为布斯乘法。3.3.3补码一位乘法3.3.3补码一位乘法3.3.3补码一位乘法 最后归纳补码乘法的运算规则如下:1)乘数最低位增加一个辅助位0,用于求P1时,和yn组合 2)判断yn-iyn-i+1的值,相应地对上一步部分积执行+X、或-X,或不做运算。然后右移一位,得到新的部分积。3)重复第2)步,直到乘数符号位参加判断,执行+X、或-X,或不做运算。不移位。得到乘积。3.3.3补码一位乘法 例3-9已知X=+0.1101B,Y=0.1010B,采用布斯乘法计算X*Y补。X补=0.1101,Y补=1.0110,-X补=1.00113.3.3补码一位乘法X*Y补=1011111103.3.3补码两位乘法3.3.3补码两位乘法3.3.3补码两位乘法3.3.4阵列乘法器 在计算机内为了提高乘法运算速度,采用多级加法器,排列成阵列结构的形式,可以构成一个实现笔-纸执行过程的乘法器,称为阵列乘法器(Array Multiplier)。

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《计算机组成原理》课件第三章运算器与运算方法-3.3.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|