版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
问题分析手工乘法运算方法在计算机实现时面临困难原码一位乘中,怎样把乘法运算转化为加法运算?原码一位乘中,需要屡次经过加法运算和移位得到部分和,效率低,怎样提升乘效率?1/38A=–0.1101B=0.1011A×B=0.11010.1011×2/38定点乘法运算3/38课程结构4/38分析笔算乘法A=–0.1101B=0.1011A×B=–0.100011110.11010.101111011101000011010.10001111符号位单独处理乘数某一位决定是否加被乘数4个位积一起相加,8位加法乘积位数扩大一倍×乘积符号心算求得
?5/38笔算乘法改进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
•
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第二步右移一位,得新部分积第八步右移一位,得结果③第三步部分积
+
被乘数…右移一位6/38改进后笔算乘法过程(竖式)0.00000.11010.11010.11010.00000.1101初态,部分积=0乘数为1,加被乘数乘数为1,加被乘数乘数为0,加01.001110.1001111.0001111乘数为1,加被乘数0.100011111,得结果1011=0.01101,形成新部分积1101=0.10011,形成新部分积1110=0.01001,形成新部分积1111=
部分积乘数说明++++7/38笔算小结
被乘数只与部分积高位相加
由乘数末位决定被乘数是否与原部分积相加,然后1位形成新部分积,同时乘数
1
位(末位移丢),空出高位存放部分积低位。硬件3
个存放器(被乘数、乘数、部分积),含有移位功效1
个n位全加器
乘法运算可用加和移位实现
n=4,加4次,移4次8/38以小数为例设[x]原
=x0.x1x2
xn…[y]原
=y0.y1y2
yn…=(x0
y0).x*y*[x
•y]原
=(x0
y0).(0.x1x2
xn)(0.y1y2
yn)……式中x*=0.x1x2
xn
为x
绝对值…y*=0.y1y2
yn
为y
绝对值…乘积符号位单独处理x0
y0数值部分为绝对值相乘x*•
y*原码一位乘-运算规则9/38x*•
y*=x*(0.y1y2
yn)…=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原码一位乘-递推公式10/38例已知x=–0.1110y=0.1101求[x•y]原解:数值部分运算0.00000.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*11/38②数值部分按绝对值相乘①乘积符号位
x0
y0=10=1x*•
y*=0.10110110则[x
•
y]原
=1.10110110特点绝对值运算逻辑移位结果用移位次数判断乘法是否结束12/38原码一位乘-逻辑实现13/38(x)×(y)→A操作流程14/38原码两位乘(自学)原码乘符号位和数值位部分分开运算两位乘每次用乘数2位判断原部分积是否加和怎样加被乘数11100100
加“0”2加1倍被乘数2加2倍被乘数2加3倍被乘数23?先减1倍被乘数再加4倍被乘数4–13100–0111
新部分积乘数yn-1
yn(X+4Y)/4=X/4+Y部分积加4倍被乘数,然后右移2位等价于部分积右移两位,然后加被乘数15/38111110101100011010001000操作内容标志位Cj乘数判断位yn-1yn
z2,y*2,Cj
保持“0”
z2,y*2,Cj
保持“1”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*2,y*2,Cj置“0”原码两位乘-运算规则(X+4Y)/4=X/4+Y部分积加4倍被乘数,然后右移2位等价于部分积右移两位,然后加被乘数16/38例已知x=0.111111y=–0.111001求[x·y]原000.000000000.111111000.11111100.1110010初态
z0=0+x*,Cj=0010.00110111000.111000000111111.1001000111001.111110+2x*,Cj=0111.000001–x*,Cj=1000.111111+x*,Cj=00000.001111110011
1020000.100011011100
1121111.111001000111002Cj部分积乘数
说明补码右移补码右移解:数值部分运算补码右移++++17/38②数值部分运算①乘积符号位
x0
y0=01=1x*•
y*=0.111000000111则[x
•
y]原
=1.111000000111结果特点绝对值补码运算算术移位用移位次数判断乘法是否结束18/38原码两位乘和原码一位乘比较符号位操作数移位移位次数最多加法次数x0
y0x0
y0绝对值绝对值补码逻辑右移算术右移nnn2(n为偶数)n2+1(n为偶数)思索
n
为奇数时,原码两位乘移?次最多加?次原码一位乘原码两位乘19/38原码两位乘-两个例子例X=0.100111,Y=0.100111,则:[-|X|]补=1.011001
部分积乘数欠位C000.0000000010011101
C
+[-X]补111.011001111.011001右移2位111.1101100100100110
C
+2X001.001110001.000100右移2位000.0100010001001000
C
+2X001.001110001.011111右移2位000.010111110001
00020/38原码两位乘-两个例子例X=0.1001110,Y=0.1001110,则:[-|X|]补=1.0110010
部分积乘数欠位C+0000.0000000001001110000
C
右移2位000.0000000000010011101
C
+[-X]补111.0110010111.0110010右移2位111.1101100100000100110
C
+2X001.0011100001.0001000右移2位000.0100010001000001000
C
+2X001.0011100001.0111110右移2位000.010111110001000
00021/38原码两位乘-两个例子X=0.1001110,Y=0.1001110,则:[-|X|]补=1.0110010
部分积乘数欠位C
0000000000010011100
0C+2x00100111000010011100右移2位00001001110001001101C+[-|x|]补11101100101111011001右移2位11111101100100010010C+x00010011100001000100右移2位00000100010001000100C+x00010011100001011111右移1位000010111110001000
22/38特点:符号位参加乘法运算,运算结果用补码表示补码与真值关系设[x]补=x0.x1x2…xn,当真值x>=0时,x0=0[x]补=x=0.x1x2…xn=当真值x<0时,x0=1,[x]补=1.x1x2…xn=2+xx=[x]补-2=1.x1x2…xn-2
=-1+0.x1x2…xn=-1+综合:x=-x0+补码一位乘法23/38设被乘数[X]补=x0.x1x2…xn,乘数[Y]补=y0.y1y2…yn
,则有
[X·Y]补=[X]补·(-y0+
)证实:(1)X正负任意,Y为正数
[X]补==2+X=2n+1+Xmod2,[Y]补=Y则:[X]补·[Y]补=2n+1·
Y+X·Y=2+X·Ymod2
所以:[X]补·[Y]补=[X·Y]补=[X]补·(0.y1y2…yn)
(2)X正负任意,Y为负数
[X]补=x0.x1x2…xn,[Y]补=1.y1y2…yn=2+YY=0.y1y2…yn-1X·Y=X(0.y1y2…yn)-X
[X·Y]补=[X(0.y1y2…yn)]补+[-X]补
=[X]补(0.y1y2…yn)+[-X]补
综合:[X·Y]补=[X]补(-Y0+)补码一位乘法0.xxxx10.xxxx10000.xxxx0.yyyyyyyy0.000024/38设[x]补
=x0.x1x2
xn[y]补
=y0.y1y2
yn……[x
·y]补=[x]补(0.y1
yn)–[x]补
·y0…=[x]补(y12-1+y22-2++yn2-n)–[x]补
·y0…=[x]补(–y0+y1
2-1+y22-2++yn2-n)…=[x]补[–y0+(y1–
y12-1)+(y22-1–y22-2)++(yn2-(n-1)–yn2-n)]…=[x]补[(y1–y0)+(y2–y1)2-1++(yn–yn-1)2-(n-1)+(0
–yn)2-n)]…
Y020
+Y12-1++…Yn
2-n–[x]补=+[–x]补
2-1=20
–2-12-2=2-1
–2-22-12-2=[x]补[(y1–y0)+(y2–y1)2-1++(yn+1–yn)2-n]…
附加位
yn+1补码一位乘运算规则(Booth算法)25/38[z0]补=0[z1]补=2-1{(yn+1–yn)[x]补+[z0]补}yn+1=0[zn]补=2-1{(y2–y1)[x]补+[zn-1]补}…[x
·
y]补=(y1–y0)[x]补+[zn]补最终一步不移位怎样实现
yi+1–yi
?000110111+[x]补
1+[–x]补
1101-10yi
yi+1操作yi+1–yi补码一位乘运算规则(Booth算法)[x
·
y]补=(y1-y0)
[x]补+{(y2-y1)[x]补+{(y3-y2)[x]补+…{(yn-yn-1)
[x]补+{(yn+1-yn)
[x]补+0}
2-1}2-1…}2-1
}2-126/38运算规则以下:①
符号位参加运算,运算数均以补码表示。②
被乘数取双符号位参加运算,部分积初值为0。③
乘数取单符号位.④
乘数末位增设附加位yn+1,且初值为0。⑤
按下表进行操作。(右移为算术右移)⑥按照上述算法进行n+1步操作,但第n+1步不再移位,补码一位乘运算规则(Booth算法)27/38例已知x=+0.0011y=–0.1011求[x·y]补解:00.000011.110111.110100.001111.110100.001111.11011.0101000.0001111.11011100.000111111.11011111
[x]补
=0.0011
[y]补
=1.0101[–x]补
=1.1101+[–x]补11.111011010
11+[x]补00.00001110101+[–x]补11.1110111101100.00001111101+[–x]补+[x]补∴
[x·y]补
=1.11011111
最终一步不移位补码右移补码右移补码右移补码右移+++++28/38补码一位乘-Booth算法硬件配置A、B、Q均n+2位移位和加受末两位乘数控制0
A部分积n+1n+2位加法器控制门0B被乘数
n+10Q乘数n
n+1移位和加控制逻辑计数器CGM00,110110右移29/38补码一位乘-Booth算法流程30/38阵列乘法器-不带符号二进制数
a4a3a2a1a0 ×b4b3b2b1b0 00000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSPIA 005-2021公共安全视频图像分析多算法应用技术要求
- T/YYHG 0006-2023注射剂配液分配自控系统实施规范
- T/HAEPCI 45-2022农田土壤重金属污染修复与管控方案编制规范
- T/CIE 207-2024Linux操作系统内核接口调用参考规范
- T/CAOE 47-2023大洋多金属结核资源量估算技术指南
- T/CSAE 465-2025乘用车智能底盘矢量控制及舒适加减速控制道路测试方法
- 2025-2026学年黑龙江省鸡西市初中数学九年级期末上册模考能力提升卷详细参考解析
- PHP 初级面试题及详细答案(真实企业版)
- 2026年教育系统后备干部笔试试题及答案
- PET-CT物理师专业考核试题及详细答案
- 2025全国高校辅导员素质能力大赛考试测试题(含答案)
- 2026年建筑安全员C证考试真题及答案
- 2026年纪检监察案件查办政策考试题及答案
- 2026年度“十八项医疗核心制度”培训考试真题解析含答案
- 2026年江苏省粮食集团有限责任公司人员招聘笔试备考题库及详细答案解析
- 2026年普法考试题目(+答案解析)
- 中国多发性骨髓瘤诊治指南(2026年修订)
- 《物流场所消防安全管理》XFT 3026-2026
- 民工入场基础安全教育试题及答案
- 2026年秋新版道德与法治(道法)六年级上册全册分课时作业附答案
- 2025年县属国有企业招聘考试笔试试题(含答案)
评论
0/150
提交评论