




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四讲定点运算乘法第四讲定点运算乘法1、分析笔算乘法A=–0、1101B=0、1011A×B=–0、100011110、11010、101111011101000011010、10001111符号位单独处理乘数得某一位决定就是否加被乘数4个位积一起相加乘积得位数扩大一倍×乘积得符号心算求得
?2、笔算乘法改进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{A+0、1[0•
A+0、1(A+0、1A)]}=2-1{A+2-1[0•
A+2-1(A+2-1(A+0))]}①②⑧第一步被乘数A
+0第二步右移一位,得新得部分积第八步右移一位,得结果③第三步部分积+
被乘数…右移一位3、改进后得笔算乘法过程(竖式)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=
部分积乘数说明++++小结
被乘数只与部分积得高位相加
由乘数的末位决定被乘数是否与原部分积相加,然后1位形成新的部分积,同时乘数1
位(末位移丢),空出高位存放部分积的低位。硬件3
个寄存器,具有移位功能1
个全加器
乘法运算可用加与移位实现
n=4,加4次,移4次4、原码乘法(1)原码一位乘运算规则以小数为例设[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*(2)原码一位乘递推公式x*•
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例21已知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*②数值部分按绝对值相乘①乘积的符号位
x0
y0=10=1x*•
y*=0、10110110则[x
•
y]原
=1、10110110特点绝对值运算逻辑移位例21结果用移位得次数判断乘法就是否结束(3)原码一位乘得硬件配置A、X、Q均n+1位移位和加受末位乘数控制0An
加法器控制门0Xn
移位和加控制计数器CSGM0Qn右移
R0→
R1→ynR2
计数器i
部分积z
被乘数x
乘数y
LDR0LDR1
T1,T2,…
Ti
QQ加法器RS启动ynCx计数器:对移位得次数进行计数,以便判断乘法运算就是否结束。当计数器i=n时,计数器i得溢出信号使控制触发器Cx
置0,关闭时序脉冲T,乘法操作结束。大家学习辛苦了,还是要坚持继续保持安静(4)原码两位乘(提高乘法运算速度)原码乘符号位与数值位部分分开运算两位乘每次用乘数得2位判断原部分积就是否加与如何加被乘数11100100
加“0”2加1倍的被乘数2加2倍的被乘数2加3倍的被乘数23?先减1倍得被乘数再加4倍得被乘数4–13100–0111
新的部分积乘数yn-1
yn(5)原码两位乘运算规则111110101100011010001000操作内容标志位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”
例22已知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.0011111100111020000.1000110111001121111.111001000111002Cj部分积乘数
说明补码右移补码右移解:数值部分得运算补码右移++++②数值部分得运算①乘积的符号位
x0
y0=01=1x*•
y*=0、111000000111则[x
•
y]原
=1、111000000111例22结果特点绝对值得补码运算算术移位用移位得次数判断乘法就是否结束(6)原码两位乘与原码一位乘比较符号位操作数移位移位次数最多加法次数x0
y0x0
y0绝对值绝对值得补码逻辑右移算术右移nnn2(n为偶数)n2+1(n为偶数)思考n
为奇数时,原码两位乘移?次最多加?次原码一位乘原码两位乘5、补码乘法设被乘数乘数[x]补
=x0.x1x2
xn…[y]补
=y0.y1y2
yn…①被乘数任意,乘数为正同原码乘但加与移位按补码规则运算乘积得符号自然形成②被乘数任意,乘数为负乘数[y]补,去掉符号位,操作同①最后加[–x]补,校正(1)补码一位乘运算规则以小数为例1)、当被乘数x符号任意,乘数y符号为正时:
根据补码定义:==yyyy.]y[nL210补)(modxxxxx.x]x[nn+=+==+L1210222补∴
由于(y1y2…yn)就是大于或等于1得正整数,根据模运算性质(大于2得部分全部丢掉)有:2(y1y2…yn)=2∴(mod2)即:Booth乘法公式证明2)、
当被乘数x符号任意,乘数y符号为负时:)(modyyyy.]y[n22121+==L补xxx.x]x[n210=L补∵∴又因(0、y1y2…yn)>0所以:(mod2)=[x]补·=[x]补·y
为推导出逻辑实现得分步算法,将上式展开得到各项部分积累加得形式。(yn+1就是增加得附加位,初值为0)公式展开递推公式[z0]补=0[z1]补=2-1{(yn+1–yn)[x]补+[z0]补}yn+1=0[zn]补=2-1{(y2–y1)[x]补+[zn-1]补}…[x
·
y]补=[zn]补+(y1–y0)[x]补最后一步不移位如何实现
yi+1–yi
?000110111+[x]补
1+[–x]补
1101-10yi
yi+1操作yi+1–yi由此可见:每次都就是在前次部分积得基础上,由(yi+1-yi)决定对[x]补得操作,然后再右移一位,得到新得部分积;重复进行。yn+1,yn得作用:开始操作时,补充一位yn+1,使其初始为0。由yn+1yn
判断进行什么操作;然后再由ynyn-1
判断第二步进行什么操作…。
若
ynyn+1=01则
yi+1-yi=1做加[x]补运算;ynyn+1=10则
yi+1-yi=-1做加[-x]补运算;ynyn+1=11ynyn+1=00则yi+1-yi=0
[zi]加0,即保持不变;
补码一位乘得运算规则(1)如果yn=yn+1,则部分积[zi]加0,再右移一位;(2)如果ynyn+1=01
,则部分积[zi]加[x]补,再右移一位;(2)如果ynyn+1=10
,则部分积[zi]加[-x]补,再右移一位;
如此重复n+1步,但最后一步不移位。包括一位符号位,所得乘积为2n+1位,其中n为尾数位数。算法流程图
开始结束[zi]补+[x]补→[zi]补[zi]补+[-x]补→[zi]补[z]补=0,i=0ynyn+1=?[zi]补不变i=n+1?[zi]补,y右移一位,i=i+1011000或11YN例23已知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.11101101011+[x]补00.00001110101+[–x]补11.1110111101100.00001111101+[–x]补+[x]补∴
[x·y]补
=1、11011111
最后一步不移位补码右移补码右移补码右移补码右移+++++00、00001、00110yn+1=0+00、1011ynyn+1=10,加[-x]补
00、1011
00、0101110011右移一位+00、0000ynyn+1=11,加000、010100、0010111001右移一位+11、0101ynyn+1=01,加[x]补
11、011111、1011111100右移一位+00、0000ynyn+1=00,加011、101111、1101111110右移一位+00、1011ynyn+1=10,加[-x]补
00、1000111110最后一位不移位例:[x]补=1、0101,[y]补=1、0011,求[x·y]补=?[-x]补=0、1011[x·y]补=0、10001111部分积乘数ynyn+1说明000000101100yn+1=0+000000ynyn+1=00,加0000000
000000010110右移一位+110011ynyn+1=10,加[-x]补
110011111001101011右移一位+000000ynyn+1=11,加011、100111、1100110101右移一位+001101ynyn+1=01,加[x]补
001001000100111010右移一位+110011ynyn+1=10,加[-x]补
110111111010最后一位不移位[x]补=001101,[y]补=10110,[-x]补=110011[x·y]补=1部分积乘数ynyn+1说明例:x=13,y=-10求x·y=?x·y=-010000010=-82H=-130(2)Booth算法得硬件配置A、X、Q均n+2位移位和加受末两位乘数控制0An+1n+2位加法器控制门0Xn+10Qn
n+1移位和加控制逻辑计数器CGM00,110110右移4、补码一位乘逻辑原理图
R0→
R1→ynyn+1R2
计数器i
部分积z
被乘数x乘数y
+1LDR0LDR1
T1,T2,…+1
Ti
QQ加法器RS启动Cx
f
+-yn+1ynyn+1yn多开关路原反1001QQ[注]被乘数寄存器R2得每一位用原码(触发器Q端)或反码(触发器Q端)经多路开关送出;送[-x]补时,即送R2反码且在加法器最末为加1;(2)R0保存部分积,其符号与加法器符号位
f始终一致。(3)当计数器i=n+1时,封锁LDR1、LDR0信号,使最后一步不移位。不带符号得阵列乘法器设有两个不带符号得二进制整数A=am-1…a1a0,B=bn-1…b1b0它们得数值分别为a与b,即:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025濮阳市采购合同范本
- 2025简易版本公寓买卖合同
- 2025城镇房产交易合同范本
- 《创业融资策略》课件
- 2025工程招投标与合同管理案例分析:探秘合同风险与合规策略
- 2025年的家畜购销合同
- 《生物的多样性:课件中的动物主要类群》
- 《蛇咬伤应急处理》课件
- 六年级品德与社会上册《信息社会面面观》教学设计1 辽师大版
- 人教统编版选择性必修 中册11.1 过秦论教案
- 2025年中考数学分类复习:锐角三角函数及其应用(56题)(原卷版)
- 湖北省襄阳襄城区四校联考2025届中考化学模拟试卷含解析
- 100以内加减法练习题
- 微训练 一文多考 备考高效之小说《十八岁的李响》蔡楠-教师版
- 课件:《科学社会主义概论(第二版)》第四章
- 2025年上半年江苏省苏州市总工会招录社会化工会工作者18人易考易错模拟试题(共500题)试卷后附参考答案
- 工厂废料运输清理协议
- 2025超市出兑合同书模板
- 《基于宁德时代的财务报表的公司财务分析》4100字(论文)
- 湖南省长沙市雅礼实验中学-主题班会-《阳光心态美丽青春》【课件】
- 提高单病种上报率
评论
0/150
提交评论