欢迎来到天天文库
浏览记录
ID:49412464
大小:416.50 KB
页数:49页
时间:2020-02-06
《计算机组成原理三章1.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、§3.4二进制乘法运算3.4.1定点数一位乘法8/7/202111.定点原码一位乘法[X٠Y]原=(X0⊕Y0)
2、(X1X2…Xn)٠(Y1Y2…Yn)用我们传统人工方法(二进制)X=0.1101,Y=0.1011X٠Y=0.100011110.1101x0.101111011101000011010.100011118/7/20212机器实现在传统人工的方法的基础上做些修改.(1)形成部分积.(2)部分积右移.(3)乘数右移(空出高位存乘积的低位).用N位加法器实现2N位积的运算.8/7/20213运算过程举例:X=0.1101
3、,Y=0.1011求X٠Y[用双符号位]乘积高位乘积低位X٠Y=0.10001111积的符号:0⊕0=08/7/20214实现加法运算的逻辑结构8/7/20215图3.5实现原码一位乘法的逻辑电路框图8/7/20216图3.6乘法运算的控制流程8/7/202172.定点补码一位乘法补码运算的几个基本问题(1)补码与真值的转换关系X=-X0+∑Xi×2-ini=1p75(2)补码右移:二进制条件下,定点小数补码整体右移一位,符号不变,相当于除2若[X]补=X0.X1X2…XnX=-X0+∑Xi×2-ini=1X/2=-X0/2+∑X
4、i×2–i×2-1nX/2=-X0/2+∑Xi×2–(i+1)+X0/2-X0/2i=1i=1nX/2=-X0+∑Xi×2–(i+1)ni=0若[X]补=X0.X1X2…Xn有[X/2]补=X0.X0X1X2…Xn8/7/20218(3)补码一位乘法的一般讨论p75X负Y正[X]补٠[Y]补=2n+1٠Y+X٠Y=2+X٠Ymod2[X٠Y]补=[X]补٠[Y]补[X٠Y]补=[X]补(0.Y1Y2…Yn)X正负Y负[X٠Y]补=[X]补(0.Y1Y2…Yn)–[X]补X,Y正负都有[X٠Y]补=[X]补(0.Y1Y2…Yn)–[
5、X]补٠Y0p76例3.333.34p76-778/7/20219设:[Y]补=Y0Y1Y2…YnY=-Y0+∑Yi×2-ini=1[X×Y]补=[X]补×[-Y0+∑Yi×2-i]ni=1=[X]补×[-Y0+Y1×2-1+Y2×2-2+…+Yn×2-n]=[X]补×[-Y0+(Y1-Y1×2-1)+(Y2×2-1-Y2×2-2)+…+(Yn×2-(n-1)–Yn×2-n)]=[X]补×[(Y1-Y0)+(Y2-Y1)×2-1+…+(Yn-Yn-1)×2-(n-1)+(0-Yn)×2-n]=[X]补×∑(Yi+1-Yi)×2-i
6、ni=0定点补码一位乘法(1)布斯Booth算法原理8/7/202110(2).分步运算逻辑实现的递推[P1]补=2-1(Yn+1-Yn)×[X]补[P2]补=2-1([P1]补+(Yn-Yn-1)×[X]补)∶∶[Pi]补=2-1([Pi-1]补+(Yn-i+2-Yn-i+1)×[X]补)∶∶[Pn]补=2-1([Pn-1]补+(Y2-Y1)×[X]补)[X*Y]补=[Pn+1]补=([Pn]补+(Y1-Y0)×[X]补)Yn+1=08/7/202111(3).补码一位乘法的运算规则c、Yn与Yn+1构成了各步运算的乘数判断位。
7、规则:a、被乘数与部分积取双符号位,并参与运算。b、乘数取单符号位,但在最末位要加一附加位 (Yn+1),其初始值为“0”YnYn+1操作———————————————————————00[Pi]右移一位01[Pi]+[X]补后,再右移一位10[Pi]+[-X]补后,再右移一位11[Pi]右移一位———————————————————————8/7/202112e、按补码右移规则,部分积为正时,补“0”,部分积为负时补“1”。d、按上述算法进行N+1步(N为乘数的数值位数)但第N+1步不再右移。(4)补码一位乘法举例已知:[X]补
8、=11.0011,[Y]补=0.1011;求[XY]补解:由题有[-X]补=0.1101按补码一位乘法,设置部分积,乘数及操作说明完成运算8/7/202113部分积乘数YnYn+1(附加位)操作说明000000010110初始情形,设置附加位Yn+1+001101判别位10,+[-X]补000110101011右移一位+000000|判别为11,+0000110|+110011判别位01,+[X]补1101110001|最后一次不移位∴[XY]补=1101110001XY=-0.10001111001101000011010101
9、右移一位110110111011001010右移一位+001101判别位10,+[-X]补001000000100000101右移一位+110011判别位01,+[X]补8/7/2021143.4.2定点两位乘法一位乘法是以乘数单一数位处理为基础。
此文档下载收益归作者所有