Lecture 6 定点乘法.ppt

Lecture 6 定点乘法.ppt

ID:48905340

大小:1.83 MB

页数:38页

时间:2020-02-01

Lecture 6 定点乘法.ppt_第1页
Lecture 6 定点乘法.ppt_第2页
Lecture 6 定点乘法.ppt_第3页
Lecture 6 定点乘法.ppt_第4页
Lecture 6 定点乘法.ppt_第5页
资源描述:

《Lecture 6 定点乘法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、问题分析手工乘法运算方法在计算机实现时面临的困难原码一位乘中,如何把乘法运算转化为加法运算的?原码一位乘中,需要多次通过加法运算和移位得到部分和,效率低,如何提高乘的效率?A=–0.1101B=0.1011A×B=0.11010.1011×定点乘法运算课程结构计算机系统统计硬件运算器数据表示数据数据定点原码反码补码移码浮点一般表示规格化IEEE754非数值数据字符汉字BCD码校验码奇偶校验海明校验循环冗余校验运算方法定点数补码加减乘除原码一位乘补码一位乘并行乘法原码除法恢复余数加减交替浮点数加减乘除规格化溢出判断运算器一般运算快

2、速运算典型ALU存储器控制器总线输入输出软硬件接口软件分析笔算乘法A=–0.1101B=0.1011A×B=–0.100011110.11010.101111011101000011010.10001111符号位单独处理乘数的某一位决定是否加被乘数4个位积一起相加,8位加法乘积的位数扩大一倍×乘积的符号心算求得?笔算乘法改进A•B=A•0.1011=0.1A+0.00A+0.001A+0.0001A=0.1A+0.00A+0.001(A+0.1A)=0.1A+0.01[0•A+0.1(A+0.1A)]=0.1{1•A+0.1[0

3、•A+0.1(1•A+0.1(1•A)]}=2-1{1•A+2-1[0•A+2-1(1•A+2-1(1•A+0))]}①②⑧第一步0+被乘数A第二步右移一位,得新的部分积第八步右移一位,得结果③第三步部分积+被乘数…右移一位改进后的笔算乘法过程(竖式)0.00000.11010.11010.11010.00000.1101初态,部分积=0乘数为1,加被乘数乘数为1,加被乘数乘数为0,加01.001110.1001111.0001111乘数为1,加被乘数0.100011111,得结果1011=0.01101,形成新的部分积1101

4、=0.10011,形成新的部分积1110=0.01001,形成新的部分积1111=部分积乘数说明++++笔算小结被乘数只与部分积的高位相加由乘数的末位决定被乘数是否与原部分积相加,然后1位形成新的部分积,同时乘数1位(末位移丢),空出高位存放部分积的低位。硬件3个寄存器(被乘数、乘数、部分积),具有移位功能1个n位全加器乘法运算可用加和移位实现n=4,加4次,移4次以小数为例设[x]原=x0.x1x2xn…[y]原=y0.y1y2yn…=(x0y0).x*y*[x•y]原=(x0y0).(0.x1x2xn)(0.y1y2yn)…

5、…式中x*=0.x1x2xn为x的绝对值…y*=0.y1y2yn为y的绝对值…乘积的符号位单独处理x0y0数值部分为绝对值相乘x*•y*原码一位乘-运算规则x*•y*=x*(0.y1y2yn)…=x*(y12-1+y22-2++yn2-n)…=2-1(y1x*+2-1(y2x*+2-1(ynx*+0)))……z1znz0=0z1=2-1(ynx*+z0)z2=2-1(yn-1x*+z1)zn=2-1(y1x*+zn-1)……z0原码一位乘-递推公式例已知x=–0.1110y=0.1101求[x•y]原解:数值部分的运算0.000

6、00.11100.11100.00000.11100.1110部分积初态z0=0部分积乘数说明0.011101.0001101.01101100.101101101,得z4逻辑右移1101=0.01111,得z10110=0.00111,得z21011=0.10001,得z31101=逻辑右移逻辑右移逻辑右移+++++x*+0+x*+x*②数值部分按绝对值相乘①乘积的符号位x0y0=10=1x*•y*=0.10110110则[x•y]原=1.10110110特点绝对值运算逻辑移位结果用移位的次数判断乘法是否结束原码一位乘-逻辑实

7、现(x)×(y)→A的操作流程原码两位乘(自学)原码乘符号位和数值位部分分开运算两位乘每次用乘数的2位判断原部分积是否加和如何加被乘数11100100加“0”2加1倍的被乘数2加2倍的被乘数2加3倍的被乘数23?先减1倍的被乘数再加4倍的被乘数4–13100–0111新的部分积乘数yn-1yn(X+4Y)/4=X/4+Y部分积加4倍的被乘数,然后右移2位等价于部分积右移两位,然后加被乘数111110101100011010001000操作内容标志位Cj乘数判断位yn-1ynz2,y*2,Cj保持“0”z2,y*2,Cj保持“1”

8、z–x*2,y*2,Cj保持“1”z+2x*2,y*2,Cj保持“0”z+x*2,y*2,Cj保持“0”共有操作+x*+2x*–x*2实际操作+[x*]补+[2x*]补+[–x*]补2补码移z–x*2,y*2,Cj置“1”z+2x*2,y*2,Cj置“0”z+x

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。