《定点运算乘法》PPT课件.ppt

上传人:wuy****n92 文档编号:71075098 上传时间:2023-02-01 格式:PPT 页数:41 大小:877.50KB
返回 下载 相关 举报
《定点运算乘法》PPT课件.ppt_第1页
第1页 / 共41页
《定点运算乘法》PPT课件.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

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

1、第四讲定点运算(乘法)本讲主要内容n n原码一位乘法n n原码两位乘法n n原码乘法的硬件实现n n补码一位乘法(Booth乘法)n nBooth乘法的硬件实现n n补码两位乘法1.分析笔算乘法分析笔算乘法A=0.1101 B=0.1011AB=0.100011110.1 1 0 10.1 0 1 11 1 0 11 1 0 10 0 0 01 1 0 10.1 0 0 0 1 1 1 1符号位单独处理符号位单独处理乘数的某一位决定是否加被乘数乘数的某一位决定是否加被乘数 4个位积一起相加个位积一起相加乘积的位数扩大一倍乘积的位数扩大一倍乘积的符号心算求得乘积的符号心算求得?2.笔算乘法改进笔

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.010 A+0.1(A+0.1A)=0.1A+0.1 0 A+0.1(A+0.1A)=2-1A+2-1 0 A+2-1(A+2-1(A+0)第一步第一步 被乘数被乘数A+0第二步第二步 右移右移 一一 位,得新的部分积位,得新的部分积第八步第八步 右移右移 一一 位,得结果位,得结果第三步第三步 部分积部分积+被乘数被乘数右移一位右移一位3.改进后的笔算乘法过程(竖式)改进后的笔算乘法过程(竖式)0.0 0 0 00.1 1 0 10.1 1

3、0 10.1 1 0 10.0 0 0 00.1 1 0 1初态,部分积初态,部分积=0乘数为乘数为 1,加被乘数,加被乘数乘数为乘数为 1,加被乘数,加被乘数乘数为乘数为 0,加,加 01.0 0 1 110.1 0 0 11 11.0 0 0 11 1 1乘数为乘数为 1,加,加 被乘数被乘数0.1 0 0 01 1 1 11,得结果,得结果1 0 1 1=0.0 1 1 01,形成新的部分积,形成新的部分积1 1 0 1=0.1 0 0 11,形成新的部分积,形成新的部分积1 1 1 0=0.0 1 0 01,形成新的部分积,形成新的部分积1 1 1 1=部部 分分 积积 乘乘 数数 说

4、说 明明小结小结 被乘数只与部分积的高位相加被乘数只与部分积的高位相加 由乘数的末位决定被乘数是否与原部分积相加,由乘数的末位决定被乘数是否与原部分积相加,然后然后 1 位形成新的部分积位形成新的部分积,同时,同时 乘数乘数 1位位(末位移丢),空出高位存放部分积的低位。(末位移丢),空出高位存放部分积的低位。硬件硬件3个寄存器,具有移位功能个寄存器,具有移位功能1个全加器个全加器 乘法乘法 运算可用运算可用 加和移位实现加和移位实现n=4,加加 4 次次,移移 4 次次4.原码乘法原码乘法(1)原码一位乘运算规则原码一位乘运算规则以小数为例以小数为例设设x原原=x0.x1x2 xn y原原=

5、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)

6、zn=2-1(y1x*+zn-1)z0例例21已知已知 x=0.1110 y=0.1101 求求x y原原解:解:数值部分的运算数值部分的运算0.0 0 0 00.1 1 1 00.1 1 1 00.0 0 0 00.1 1 1 00.1 1 1 0部分积部分积 初态初态 z0=0 部部 分分 积积 乘乘 数数 说说 明明0.0 1 1 101.0 0 0 11 01.0 1 1 01 1 00.1 0 1 10 1 1 01,得得 z4逻辑右移逻辑右移1 1 0 1=0.0 1 1 11,得得 z10 1 1 0=0.0 0 1 11,得得 z21 0 1 1=0.1 0 0 01,得得 z

7、31 1 0 1=逻辑右移逻辑右移逻辑右移逻辑右移逻辑右移逻辑右移+x*+0+x*+x*数值部分按绝对值相乘数值部分按绝对值相乘 乘积的符号位乘积的符号位 x0 y0=1 0=1x*y*=0.1 0 1 1 0 1 1 0则则 x y原原 =1.1 0 1 1 0 1 1 0特点特点绝对值运算绝对值运算逻辑移位逻辑移位例例21 结果结果用移位的次数判断乘法是否结束用移位的次数判断乘法是否结束(3)原码一位乘的硬件配置原码一位乘的硬件配置A、X、Q 均均 n+1 位位移位和加受末位乘数控制移位和加受末位乘数控制0 A n 加加 法法 器器控控 制制 门门0 X n 移位和加控制移位和加控制计数器

8、计数器 CSGM0Q n右移右移 R0 R1 y yn nR2 计数器计数器i i 部分积部分积z 被乘数被乘数x x 乘数乘数y LDR0LDR1 T1,T2,Ti QQ加法器加法器RS启动启动ynCx计数器:计数器:对移位的次数进行计数,以便判断乘法运算是否结束。对移位的次数进行计数,以便判断乘法运算是否结束。当计数器当计数器i=ni=n时,计数器时,计数器i i的溢出信号使控制触发器的溢出信号使控制触发器C Cx x 置置0 0,关闭时序脉冲,关闭时序脉冲T T,乘法操作结束。,乘法操作结束。(4)原码两位乘(原码两位乘(提高乘法运算速度提高乘法运算速度)原码乘原码乘符号位符号位 和和

9、数值位数值位 部分部分 分开运算分开运算两位乘两位乘每次用每次用 乘数的乘数的 2 位判断位判断 原部分积原部分积是否加是否加 和和 如何加如何加 被乘数被乘数1 11 11 01 00 10 10 00 0 加加加加“0”20”2加加加加 1 1 倍的被乘数倍的被乘数倍的被乘数倍的被乘数 2 2加加加加 2 2 倍的被乘数倍的被乘数倍的被乘数倍的被乘数 2 2加加加加 3 3 倍的被乘数倍的被乘数倍的被乘数倍的被乘数 2 23?先先 减减 1 倍倍 的被乘数的被乘数再再 加加 4 倍倍 的被乘数的被乘数4 13100 0111 新的部分积新的部分积新的部分积新的部分积乘数乘数乘数乘数y yn

10、 n-1-1 y yn n(5)原码两位乘运算规则原码两位乘运算规则1 11 11 11 11 01 01 10 10 11 10 00 00 01 11 10 01 01 00 00 10 10 00 0 0 0 操操操操 作作作作 内内内内 容容容容标志位标志位标志位标志位 C Cj j乘数判断位乘数判断位乘数判断位乘数判断位 y yn n-1-1y yn n z z 2,2,y y*2,*2,C Cj j 保持保持保持保持“0”0”z z 2,2,y y*2,*2,C Cj j 保持保持保持保持“1”1”z z x x*2,*2,y y*2,*2,C Cj j 保持保持保持保持“1”1”

11、z z+2+2x x*2,*2,y y*2,*2,C Cj j 保持保持保持保持“0”0”z z+x x*2,*2,y y*2,*2,C Cj j 保持保持保持保持“0”0”共有操作共有操作 +x*+2x*x*2实际操作实际操作 +x*补补 +2x*补补 +x*补补 2 补码移补码移z z x x*2,*2,y y*2,*2,C Cj j 置置置置“1”1”z z+2+2x x*2,*2,y y*2,*2,C Cj j 置置置置“0”0”z z+x x*2,*2,y y*2,*2,C Cj j 置置置置“0”0”例例22已知已知 x=0.111111 y=0.111001 求求xy原原0 0

12、0.0 0 0 0 0 00 0 0.1 1 1 1 1 10 0 0.1 1 1 1 1 10 0.1 1 1 0 0 10初态初态 z0=0+x*,Cj=00 1 0.0 0 1 1 0 11 10 0 0.1 1 1 0 0 00 0 0 1 1 1 1 1 1.1 0 0 1 0 00 1 1 1 0 0 1.1 1 1 1 1 0+2x*,Cj=01 1 1.0 0 0 0 0 1 x*,Cj=10 0 0.1 1 1 1 1 1+x*,Cj=000 0 0.0 0 1 1 1 11 1 0 0 1 1 1 0200 0 0.1 0 0 0 1 10 1 1 1 0 0 1 1211

13、 1 1.1 1 1 0 0 1 0 0 0 1 1 1 0 02Cj部部 分分 积积 乘乘 数数 说说 明明补补码码右右移移补补码码右右移移解:解:数值部分的运算数值部分的运算补补码码右右移移+数值部分的运算数值部分的运算 乘积的符号位乘积的符号位 x0 y0=0 1=1x*y*=0.1 1 1 0 0 0 0 0 0 1 1 1则则 x y原原=1.1 1 1 0 0 0 0 0 0 1 1 1例例22 结果结果特点特点绝对值的补码运算绝对值的补码运算算术移位算术移位用移位的次数判断乘法是否结束用移位的次数判断乘法是否结束(6)原码两位乘和原码一位乘比较原码两位乘和原码一位乘比较符号位符号

14、位操作数操作数移位移位移位次数移位次数最多加法次数最多加法次数x0 y0 x0 y0绝对值绝对值绝对值的补码绝对值的补码逻辑右移逻辑右移算术右移算术右移nnn2(n为偶数)为偶数)n2+1(n为偶数)为偶数)思考思考 n 为奇数时,原码两位乘为奇数时,原码两位乘 移移?次?次 最多加最多加?次?次原码一位乘原码一位乘原码两位乘原码两位乘5.补码乘法补码乘法设设 被乘数被乘数乘数乘数x补补=x0.x1x2 xny补补=y0.y1y2 yn 被乘数任意,乘数为正被乘数任意,乘数为正同原码乘同原码乘但但 加加 和和 移位移位 按按 补码规则补码规则 运算运算乘积的符号自然形成乘积的符号自然形成 被乘

15、数任意,乘数为负被乘数任意,乘数为负乘数乘数y补补,去掉符号位去掉符号位,操作同,操作同 最后最后 加加x补补,校正校正(1)补码一位乘运算规则补码一位乘运算规则以小数为例以小数为例1 1)、当被乘数)、当被乘数x x符号任意,乘数符号任意,乘数y y符号为正时:符号为正时:根据补码定义:根据补码定义:=yyyy.ynL210补补)(modxxxxx.xxnn+=+=+L1210222补补 由于(由于(y y1 1y y2 2y yn n)是大于或等于是大于或等于1 1的正整数,根据模运算性质(大于的正整数,根据模运算性质(大于2 2的部分全部丢掉)有:的部分全部丢掉)有:2(y2(y1 1y

16、 y2 2y yn n)=2)=2(mod2)即:即:Booth乘法公式证明乘法公式证明2)、)、当被乘数当被乘数x符号任意,乘数符号任意,乘数y符号为负时:符号为负时:)(modyyyy.yn22121+=L补补xxx.xxn210=L补补又因又因 (0.y1y2yn)0所以:所以:(mod2)=x补补=x补补 y 为推导出逻辑实现的分步算法,将上式展开得到各项部分积为推导出逻辑实现的分步算法,将上式展开得到各项部分积累加的形式。累加的形式。(yn+1是增加的附加位,初值为是增加的附加位,初值为0)公式展开公式展开递推公式递推公式z0补补=0z1补补=2-1(yn+1yn)x补补+z0补补

17、yn+1=0zn补补=2-1(y2y1)x补补+zn-1补补x y补补=zn补补+(y1y0)x补补最后一步不移位最后一步不移位如何实现如何实现 yi+1yi?0 00 11 01 11+x补补 1+x补补 110 1 -1 0 yi yi+1操作操作yi+1yi 由此可见:由此可见:每次都是在前次部分积的基础上,由每次都是在前次部分积的基础上,由(yi+1-yi)决定对决定对x补补的操作,然后再右移一位,得到新的部分积;重复进行。的操作,然后再右移一位,得到新的部分积;重复进行。yn+1,yn的作用:的作用:开始操作时,补充一位开始操作时,补充一位yn+1,使其初始为使其初始为0。由。由yn

18、+1 yn 判断判断进行什么操作;然后再由进行什么操作;然后再由ynyn-1 判断第二步进行什么操作判断第二步进行什么操作。若若 yn n yn n1 1=1 1 则则 yi1 1-yi=1=1 做加做加xx补补运算;运算;yn nyn n1 1=则则 yi1 1-yi=-做加做加-x-x补补运算运算;yn nyn n1 1=1 1yn nyn n1 1=0=0则则 yi1 1-yi=0 z zi i 加加0 0,即保持不变;,即保持不变;补码一位乘的运算规则补码一位乘的运算规则(1)如果如果 yn=yn+1,则部分积,则部分积 zi 加加0,再右移一位;,再右移一位;(2)如果如果 yn y

19、n+1=01,则部分积,则部分积 zi 加加x补补,再右移一位;,再右移一位;(2)如果如果 yn yn+1=10,则部分积,则部分积 zi 加加-x补补,再右移一位;再右移一位;如此重复如此重复n+1n+1步,步,但最后一步不移位但最后一步不移位。包括一位符号位,所得包括一位符号位,所得乘积为乘积为2n+12n+1位位,其中,其中n n为尾数位数。为尾数位数。算法流程图算法流程图 开始开始结束结束zi补补+x补补zi补补zi补补+-x补补zi补补 z补补=0,i=0 yn yn+1=?zi补补不变不变i=n+1?zi补补,y右移一位,右移一位,i=i+1 011000或或11YN例例23已知

20、已知 x=+0.0011 y=0.1011 求求xy补补解:解:0 0.0 0 0 01 1.1 1 0 11 1.1 1 0 10 0.0 0 1 11 1.1 1 0 10 0.0 0 1 11 1.1 1 0 11.0 1 0 100 0.0 0 0 111 1.1 1 0 11 10 0.0 0 0 11 1 11 1.1 1 0 11 1 1 1 x补补=0.0011 y补补=1.0101x补补=1.1101+x补补1 1.1 1 1 01 1 0 1 0 11+x补补0 0.0 0 0 01 1 1 0 101+x补补1 1.1 1 1 01 1 1 1 0110 0.0 0 0

21、0 1 1 1 1 101+x补补+x补补 xy补补 =1.11011111 最后一步不移位最后一步不移位 补码补码右移右移补码补码右移右移补码补码右移右移补码补码右移右移+0 0.0 0 0 0 1.0 0 1 1 0 yn+1=0+0 0.1 0 1 1 ynyn+1=10,加加-x补补 0 0.1 0 1 1 0 0.0 1 0 1 1 1 0 0 1 1 右移一位右移一位+0 0.0 0 0 0 ynyn+1=11,加加0 0 0.0 1 0 1 0 0.0 0 1 0 1 1 1 0 0 1 右移一位右移一位+1 1.0 1 0 1 ynyn+1=01,加加x补补 1 1.0 1 1

22、 1 1 1.1 0 1 1 1 1 1 1 0 0 右移一位右移一位+0 0.0 0 0 0 ynyn+1=00,加加0 1 1.1 0 1 1 1 1.1 1 0 1 1 1 1 1 1 0 右移一位右移一位+0 0.1 0 1 1 ynyn+1=10,加加-x补补 0 0.1 0 0 0 1 1 1 1 1 0 最后一位不移位最后一位不移位例例:x补补=1.0101,y补补=1.0011,求求xy补补=?-x补补=0.1011xy补补=0.10001111部分积部分积乘数乘数 yn yn+1说明说明 0 0 0 0 0 0 1 0 1 1 0 0 yn+1=0+0 0 0 0 0 0 y

23、nyn+1=00,加加0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 右移一位右移一位+1 1 0 0 1 1 ynyn+1=10,加加-x补补 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 右移一位右移一位+0 0 0 0 0 0 ynyn+1=11,加加0 1 1.1 0 0 1 1 1.1 1 0 0 1 1 0 1 0 1 右移一位右移一位+0 0 1 1 0 1 ynyn+1=01,加加x补补 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 右移一位右移一位+1 1 0 0 1 1 ynyn+1=10,加加

24、-x补补 1 1 0 1 1 1 1 1 1 0 1 0 最后一位不移位最后一位不移位x补补=001101,y补补=10110,-x补补=110011xy补补=101111110部分积部分积乘数乘数 yn yn+1说明说明例:例:x=13,y=-10 求求xy=?xy=-01000 0010=-82H=-130(2)Booth 算法的硬件配置算法的硬件配置A、X、Q 均均 n+2 位位移位和加受末两位乘数控制移位和加受末两位乘数控制0 A n+1n+2 位加法器位加法器控控 制制 门门0 X n+10 Q n n+1移位和加移位和加控制逻辑控制逻辑计数器计数器 CGM00,110110右移右移

25、4.4.补码一位乘逻辑原理图补码一位乘逻辑原理图 R0 R1 y yn ny yn+1n+1R2 计数器计数器i i 部分积部分积z 被乘数被乘数x x乘数乘数y+1LDR0LDR1 T1,T2,+1 Ti QQ加法器加法器RS启动启动Cx f+-yn+1ynyn+1yn多开关路多开关路原原反反1001QQ注注(1)被乘数寄存器被乘数寄存器R2的每一位用原码(触发器的每一位用原码(触发器Q端)或端)或(2)反码(触发器反码(触发器Q端)经多路开关送出;送端)经多路开关送出;送-x补补时,时,(3)即送即送R2反码且在加法器最末为加反码且在加法器最末为加1;(4)(2)R0保存部分积,其符号与加

26、法器符号位保存部分积,其符号与加法器符号位 f始终一致。始终一致。(5)(3)当计数器当计数器i=n+1时,封锁时,封锁LDR1、LDR0信号,使最后信号,使最后(6)一步不移位。一步不移位。不带符号的阵列乘法器不带符号的阵列乘法器设有两个不带符号的二进制整数设有两个不带符号的二进制整数 Aam1a1a0 ,Bbn1b1b0它们的数值分别为它们的数值分别为a和和b,即:即:m-1a ai2ii0n-1b bj2jj0在二进制乘法中在二进制乘法中,被乘数被乘数A与乘数与乘数B相乘相乘,产生产生mn位乘积位乘积P:Ppmn1p1p0 乘积乘积P 的数值为的数值为:pm+n-1 pm+n-2 pm+

27、n-3 pn-1 p1 p0 am-1 am-2 a1 a0 )bn-1 b1 b0 am-1b0 am-2b0 a1b0 a0b0 am-1b1 am-2b1 a1b1 a0b1 .+)am-1bn-1 am-2bn-1 a1bn-1 a0bn-1(1)(1)习惯方法运算过程:习惯方法运算过程:带符号的阵列乘法器带符号的阵列乘法器(1)对对2求补器电路求补器电路例例1:对对1010求补。求补。1 0 1 0 0 1 0 1 1 0 1 1 0例例2:对对1011求补。求补。1 0 1 1 0 1 0 0 1 0 1 0 1方法:方法:从数的最右端从数的最右端a0开始开始,由右向左由右向左,直

28、到找出第一个直到找出第一个“1”,例如例如ai1,0in。这样。这样,ai以左的每一个输入位都求反以左的每一个输入位都求反,即即1变变0,0变变1。包括求补级的乘法器又称为包括求补级的乘法器又称为符号求补的阵列乘法器。符号求补的阵列乘法器。在这种逻辑结构中,共使用三个求补器在这种逻辑结构中,共使用三个求补器:两个算前求补器两个算前求补器 作用是:作用是:将两个操作数将两个操作数A和和B在被不带符号的乘法在被不带符号的乘法 阵列阵列(核心部件核心部件)相乘以前,先变成正整数。相乘以前,先变成正整数。算后求补器算后求补器 作用则是作用则是:当两个输入操作数的符号不一致时,:当两个输入操作数的符号不

29、一致时,把运算结果变成带符号的数。把运算结果变成带符号的数。结构结构:在必要的求补操作以后,在必要的求补操作以后,A和和B的码值输送给的码值输送给nn位不带符号的阵列乘法器,并由此产生位不带符号的阵列乘法器,并由此产生2n位的乘积位的乘积:ABPp2n1p1p0p2nanbn 其中其中P2n为符号位。为符号位。乘法小结乘法小结 原码乘原码乘 符号位符号位 单独处理单独处理 补码乘补码乘 符号位符号位 自然形成自然形成 原码乘去掉符号位运算原码乘去掉符号位运算 即为无符号数乘法即为无符号数乘法 不同的乘法运算需有不同的硬件支持不同的乘法运算需有不同的硬件支持 整数乘法与小数乘法完全相同整数乘法与小数乘法完全相同 可用可用 逗号逗号 代替小数点代替小数点

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档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