《原码一位乘法》PPT课件.ppt

上传人:wuy****n92 文档编号:53641529 上传时间:2022-10-26 格式:PPT 页数:20 大小:180KB
返回 下载 相关 举报
《原码一位乘法》PPT课件.ppt_第1页
第1页 / 共20页
《原码一位乘法》PPT课件.ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《《原码一位乘法》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《原码一位乘法》PPT课件.ppt(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第三章第三章 运算方法与运算器运算方法与运算器本章学习本章学习内容内容运算器的设计方法运算器的设计方法定点数的加、减、定点数的加、减、乘乘、除运算、除运算浮点数的加、减、乘、除运算浮点数的加、减、乘、除运算十进制数的运算十进制数的运算3.3 定点乘法运算 利用乘除运算子程序实现乘除运算利用乘除运算子程序实现乘除运算基本思想:采用基本思想:采用软件软件实现乘除运算。实现乘除运算。通常是利用计算机中的加通常是利用计算机中的加/减运算指令、减运算指令、移位指令及控制类指令组成循环程序,通过在移位指令及控制类指令组成循环程序,通过在运算器中的加法器、移位器等基本部件上的反运算器中的加法器、移位器等基本

2、部件上的反复加复加/减操作,得到运算结果。减操作,得到运算结果。这种方式所需硬件简单,但实现速度较这种方式所需硬件简单,但实现速度较慢,主要应用在早期的小、微型机上。慢,主要应用在早期的小、微型机上。采用乘除运算部件实现乘除运算采用乘除运算部件实现乘除运算基本思想:在加法器的基础上增加左、右基本思想:在加法器的基础上增加左、右移位及计数器等逻辑线路构成移位及计数器等逻辑线路构成乘除运算部乘除运算部件件来实现乘除运算。来实现乘除运算。设置有乘除运算指令,用户只需执行设置有乘除运算指令,用户只需执行乘除指令即可进行乘除运算。乘除指令即可进行乘除运算。实现乘除运算的速度比上一种方式快,实现乘除运算的

3、速度比上一种方式快,但需要根据一定的乘除算法构建乘除运算但需要根据一定的乘除算法构建乘除运算部件,所需的硬件线路较复杂。部件,所需的硬件线路较复杂。利用专用阵列乘除运算器实现乘除运算利用专用阵列乘除运算器实现乘除运算基本思想:将多个加减运算部件排成基本思想:将多个加减运算部件排成乘除乘除运算阵列运算阵列,依靠硬件资源的重复设置,同,依靠硬件资源的重复设置,同时进行多位乘除运算的乘除运算,从而赢时进行多位乘除运算的乘除运算,从而赢得乘除运算的高速度。得乘除运算的高速度。定点乘法运算定点乘法运算 原码乘法运算原码乘法运算 补码乘法运算补码乘法运算定点除法运算定点除法运算 原码除法运算原码除法运算

4、补码除法运算补码除法运算 采用乘除运算部件实现乘除运算采用乘除运算部件实现乘除运算例:例:x x,y y0.1011 0.1011 求求xyxy?现象:现象:(1 1)每个部分积的值是由乘数)每个部分积的值是由乘数y y对应位的数值决定的。对应位的数值决定的。当乘数对应位数值为当乘数对应位数值为1 1时部分积取值为被乘数时部分积取值为被乘数x x,当乘数对应位数值为当乘数对应位数值为0 0时部分积取值为全时部分积取值为全0 0。(2 2)各相加数从乘数的最低位到最高位,逐位求取,)各相加数从乘数的最低位到最高位,逐位求取,并将求得的各相加数逐个左移一位,最后一步一并将求得的各相加数逐个左移一位

5、,最后一步一次求和。次求和。(3 3)两个)两个n n位数相乘得位数相乘得8 8位乘积,共位乘积,共n n个部分积需个部分积需2n2n位位加法器相加。加法器相加。有问题!有问题!(1 1)在最后一步一次完成了)在最后一步一次完成了n n个部分积的求和,而计算机个部分积的求和,而计算机运算器很难实现一次完成多个数据的同时相加运算器很难实现一次完成多个数据的同时相加,通常通常只能完成对两个数的求和。只能完成对两个数的求和。(2 2)每次得到的部分积都需左移一位)每次得到的部分积都需左移一位,最终部分积的位数最终部分积的位数将变为乘数将变为乘数y y位数的两倍位数的两倍,这将要求计算机加法器的位这将

6、要求计算机加法器的位数是寄存器位数的两倍,而计算机设计时加法器的位数是寄存器位数的两倍,而计算机设计时加法器的位数一般与寄存器的位数相同。数一般与寄存器的位数相同。(3 3)部分积取被乘数)部分积取被乘数x x的值还是取零值是由乘数对应位上的值还是取零值是由乘数对应位上的取值为的取值为1 1还是还是0 0决定的决定的,乘数乘数y y每一位的值是每一位的值是0 0还是还是1 1都都能直接看见。而在计算机内从存放乘数的寄存器中逐能直接看见。而在计算机内从存放乘数的寄存器中逐位取出每一位来判别该位值是位取出每一位来判别该位值是0 0还是还是1 1来决定相加数的来决定相加数的值是不方便的。值是不方便的

7、。原码乘法运算在定点机中,两个数的原码乘法运算包括:在定点机中,两个数的原码乘法运算包括:(1)(1)乘积的符号处理乘积的符号处理(2)(2)两数绝对值相乘两数绝对值相乘设设 x x原原x xf f.x.x1 1x x2 2xxn n y y原原y yf f.y.y1 1y y2 2yyn n Z Z原原xx原原yy原原z zf f.z.z1 1z z2 2zzn n符号处理:符号处理:根据根据“同号相乘,乘积为正;异号相乘,乘积为同号相乘,乘积为正;异号相乘,乘积为负负”,得符号运算的表达式为,得符号运算的表达式为 z zf fx xf fyyf f。一位原码乘法运算xyxy1 1y y2

8、2y y3 3y y4 4 x x(2(2-1-1y y1 12 2-2-2y y2 22 2-3-3y y3 32 2-4-4y y4 4)2 2-1-1x xy y1 12 2-2-2x xy y2 22 2-3-3x xy y3 32 2-4-4x xy y4 4 2 2-1-122-3-3x xy y4 42 2-2-2x xy y3 32 2-1-1x xy y2 2x xy y1 1 2 2-1-122-1-122-2-2x xy y4 42 2-1-1x xy y3 3x xy y2 2 x xy y1 1 2 2-1-122-1-122-1-1(2(2-1-1x xy y4 4

9、x xy y3 3)x xy y2 2 x xy y1 1 2 2-1-122-1-122-1-1(2(2-1-1 x xy y3 3)x xy y2 2 x xy y1 1 根据上式,可将乘法转换为一系列加法与移位操根据上式,可将乘法转换为一系列加法与移位操作。将递推公式推广到作。将递推公式推广到n n位,得:位,得:Z Z0 00 0(初始部分积为(初始部分积为0 0)Z Z1 12 2-1-1(Z(Z0 0 xyxyn n)Z Z2 22 2-1-1(Z(Z1 1xyxyn-1n-1)Z Zn n2 2-1-1(Z(Zn-1n-1xyxy1 1)xyxy原码一位乘法的算法积积的的符符号号

10、单单独独按按两两操操作作数数的的符符号号模模2 2加加(异异或或)得到。用被乘数和乘数的数值部分进行运算。得到。用被乘数和乘数的数值部分进行运算。以以乘乘数数的的最最低低位位作作为为乘乘法法判判别别位位,若若判判别别位位为为1 1,则则在在前前次次部部分分积积(初初始始部部分分积积为为0 0)上上加加上上被被乘乘数数,然然后后连连同同乘乘数数一一起起右右移移一一位位;若若判判别别位位为为0 0,则则在在前前次次部部分分积积上上加加0 0(或或不不加加),然然后连同乘数一起右移一位。后连同乘数一起右移一位。重复第重复第步直到运算步直到运算n n次次为为止。止。(n n为为乘数数乘数数值值部分的部

11、分的长长度)度)例例3.9 3.9 根据原码一位乘法的算法计算例。根据原码一位乘法的算法计算例。解:解:xx原原,yy原原,乘积乘积 z z原原xyxy原原 符号位单独处理得符号位单独处理得 z zf f0 01 11 1 将被乘数和乘数的绝对值的数值部分相乘。将被乘数和乘数的绝对值的数值部分相乘。|x|x|原原0.1101|y|0.1101|y|原原0.1011 0.1011 原码一位乘法计算演示动画原码一位乘法计算演示动画数值部分为数值部分为4 4位,共需运算位,共需运算4 4次。次。得:得:|xy|xy|加上符号部分得:加上符号部分得:xyxy原原1.10001111 1.1000111

12、1 即即:x xyy 原码一位乘法的硬件实现A A寄存器:寄存器:存放存放部分积高位部分部分积高位部分,初始为,初始为0 0B B寄存器:寄存器:存放存放被乘数被乘数x xC C寄存器:寄存器:存放存放乘数乘数y y和部分积低位部分和部分积低位部分,初始为,初始为乘数乘数y yCRCR:计数器。用于记录乘法次数计数器。用于记录乘法次数 运算初始时,运算初始时,CRCR0 0,每进行一次运算,每进行一次运算CRCR1 1,当,当计数到计数到CRCRn n时,将时,将C CT T清清0 0,结束运算。,结束运算。C Cj j:进位位进位位C CT T:乘法控制触发器,乘法控制触发器,C CT T1

13、 1,允许发出移位脉冲,进行乘法运算,允许发出移位脉冲,进行乘法运算 C CT T0 0,不允许发出移位脉冲,停止乘法运算,不允许发出移位脉冲,停止乘法运算问题回顾问题回顾(1 1)在最后一步一次完成了)在最后一步一次完成了n n个部分积的求和,而计算机个部分积的求和,而计算机运算器很难实现一次完成多个数据的同时相加运算器很难实现一次完成多个数据的同时相加,通常通常只能完成对两个数的求和。只能完成对两个数的求和。(2 2)每次得到的部分积都需左移一位)每次得到的部分积都需左移一位,最终部分积的位数最终部分积的位数将变为乘数将变为乘数y y位数的两倍位数的两倍,这将要求计算机加法器的位这将要求计

14、算机加法器的位数是寄存器位数的两倍,而计算机设计时加法器的位数是寄存器位数的两倍,而计算机设计时加法器的位数一般与寄存器的位数相同。数一般与寄存器的位数相同。(3 3)部分积取被乘数)部分积取被乘数x x的值还是取零值是由乘数对应位上的值还是取零值是由乘数对应位上的取值为的取值为1 1还是还是0 0决定的决定的,乘数乘数y y每一位的值是每一位的值是0 0还是还是1 1都都能直接看见。而在计算机内从存放乘数的寄存器中逐能直接看见。而在计算机内从存放乘数的寄存器中逐位取出每一位来判别该位值是位取出每一位来判别该位值是0 0还是还是1 1来决定相加数的来决定相加数的值是不方便的。值是不方便的。问题

15、解决啦!问题解决啦!(1 1)设初始部分积的值为)设初始部分积的值为0 0,每求得一个部分积,就同时,每求得一个部分积,就同时与上一次部分积相加,每次运算器都是完成两个数据与上一次部分积相加,每次运算器都是完成两个数据的加法,最终可得到结果。的加法,最终可得到结果。(2 2)将每次的部分积左移一位操作变为加法之前部分积)将每次的部分积左移一位操作变为加法之前部分积右移一位来实现,因为前一次部分积的最低位是不参右移一位来实现,因为前一次部分积的最低位是不参与相加计算的,将右移操作移出位用专门的寄存器来与相加计算的,将右移操作移出位用专门的寄存器来保存。保存。(3 3)每求一次部分积时,使存放乘数每求一次部分积时,使存放乘数y y的寄存器执行一次的寄存器执行一次右移操作,这样每次就从寄存器的最低位直接取值就右移操作,这样每次就从寄存器的最低位直接取值就可以了。可以了。原码一位乘法的运算流程课后延伸编写一个程序计算,将结果输出。编写一个程序计算,将结果输出。提示:大数相乘过程中会超过计算机中整型数提示:大数相乘过程中会超过计算机中整型数据的表示范围,因此必须利用本次学习的乘法据的表示范围,因此必须利用本次学习的乘法运算过程借助于字符串实现。运算过程借助于字符串实现。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com