




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四講定點(diǎn)運(yùn)算乘法第四講定點(diǎn)運(yùn)算乘法1、分析筆算乘法A=–0、1101B=0、1011A×B=–0、100011110、11010、101111011101000011010、10001111符號(hào)位單獨(dú)處理乘數(shù)得某一位決定就是否加被乘數(shù)4個(gè)位積一起相加乘積得位數(shù)擴(kuò)大一倍×乘積得符號(hào)心算求得
?2、筆算乘法改進(jìn)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))]}①②⑧第一步被乘數(shù)A
+0第二步右移一位,得新得部分積第八步右移一位,得結(jié)果③第三步部分積+
被乘數(shù)…右移一位3、改進(jìn)后得筆算乘法過(guò)程(豎式)0、00000、11010、11010、11010、00000、1101初態(tài),部分積=0乘數(shù)為1,加被乘數(shù)乘數(shù)為1,加被乘數(shù)乘數(shù)為0,加01.001110.1001111.0001111乘數(shù)為1,加被乘數(shù)0.100011111,得結(jié)果1011=0.01101,形成新的部分積1101=0.10011,形成新的部分積1110=0.01001,形成新的部分積1111=
部分積乘數(shù)說(shuō)明++++小結(jié)
被乘數(shù)只與部分積得高位相加
由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加,然后1位形成新的部分積,同時(shí)乘數(shù)1
位(末位移丟),空出高位存放部分積的低位。硬件3
個(gè)寄存器,具有移位功能1
個(gè)全加器
乘法運(yùn)算可用加與移位實(shí)現(xiàn)
n=4,加4次,移4次4、原碼乘法(1)原碼一位乘運(yùn)算規(guī)則以小數(shù)為例設(shè)[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
的絕對(duì)值…y*=0.y1y2
yn
為y
的絕對(duì)值…乘積的符號(hào)位單獨(dú)處理x0
y0數(shù)值部分為絕對(duì)值相乘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]原解:數(shù)值部分得運(yùn)算0、00000、11100、11100、00000、11100、1110部分積初態(tài)z0=0
部分積乘數(shù)說(shuō)明0.011101.0001101.01101100.101101101,得
z4邏輯右移1101=0.01111,得
z10110=0.00111,得
z21011=0.10001,得
z31101=邏輯右移邏輯右移邏輯右移+++++x*+0+x*+x*②數(shù)值部分按絕對(duì)值相乘①乘積的符號(hào)位
x0
y0=10=1x*?
y*=0、10110110則[x
?
y]原
=1、10110110特點(diǎn)絕對(duì)值運(yùn)算邏輯移位例21結(jié)果用移位得次數(shù)判斷乘法就是否結(jié)束(3)原碼一位乘得硬件配置A、X、Q均n+1位移位和加受末位乘數(shù)控制0An
加法器控制門(mén)0Xn
移位和加控制計(jì)數(shù)器CSGM0Qn右移
R0→
R1→ynR2
計(jì)數(shù)器i
部分積z
被乘數(shù)x
乘數(shù)y
LDR0LDR1
T1,T2,…
Ti
QQ加法器RS啟動(dòng)ynCx計(jì)數(shù)器:對(duì)移位得次數(shù)進(jìn)行計(jì)數(shù),以便判斷乘法運(yùn)算就是否結(jié)束。當(dāng)計(jì)數(shù)器i=n時(shí),計(jì)數(shù)器i得溢出信號(hào)使控制觸發(fā)器Cx
置0,關(guān)閉時(shí)序脈沖T,乘法操作結(jié)束。大家學(xué)習(xí)辛苦了,還是要堅(jiān)持繼續(xù)保持安靜(4)原碼兩位乘(提高乘法運(yùn)算速度)原碼乘符號(hào)位與數(shù)值位部分分開(kāi)運(yùn)算兩位乘每次用乘數(shù)得2位判斷原部分積就是否加與如何加被乘數(shù)11100100
加“0”2加1倍的被乘數(shù)2加2倍的被乘數(shù)2加3倍的被乘數(shù)23?先減1倍得被乘數(shù)再加4倍得被乘數(shù)4–13100–0111
新的部分積乘數(shù)yn-1
yn(5)原碼兩位乘運(yùn)算規(guī)則111110101100011010001000操作內(nèi)容標(biāo)志位Cj乘數(shù)判斷位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實(shí)際操作+[x*]補(bǔ)
+[2x*]補(bǔ)
+[–x*]補(bǔ)
2補(bǔ)碼移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初態(tài)
z0=0+x*,Cj=0010.00110111000.111000000111111.1001000111001、111110+2x*,Cj=0111、000001–x*,Cj=1000、111111+x*,Cj=00000.0011111100111020000.1000110111001121111.111001000111002Cj部分積乘數(shù)
說(shuō)明補(bǔ)碼右移補(bǔ)碼右移解:數(shù)值部分得運(yùn)算補(bǔ)碼右移++++②數(shù)值部分得運(yùn)算①乘積的符號(hào)位
x0
y0=01=1x*?
y*=0、111000000111則[x
?
y]原
=1、111000000111例22結(jié)果特點(diǎn)絕對(duì)值得補(bǔ)碼運(yùn)算算術(shù)移位用移位得次數(shù)判斷乘法就是否結(jié)束(6)原碼兩位乘與原碼一位乘比較符號(hào)位操作數(shù)移位移位次數(shù)最多加法次數(shù)x0
y0x0
y0絕對(duì)值絕對(duì)值得補(bǔ)碼邏輯右移算術(shù)右移nnn2(n為偶數(shù))n2+1(n為偶數(shù))思考n
為奇數(shù)時(shí),原碼兩位乘移?次最多加?次原碼一位乘原碼兩位乘5、補(bǔ)碼乘法設(shè)被乘數(shù)乘數(shù)[x]補(bǔ)
=x0.x1x2
xn…[y]補(bǔ)
=y0.y1y2
yn…①被乘數(shù)任意,乘數(shù)為正同原碼乘但加與移位按補(bǔ)碼規(guī)則運(yùn)算乘積得符號(hào)自然形成②被乘數(shù)任意,乘數(shù)為負(fù)乘數(shù)[y]補(bǔ),去掉符號(hào)位,操作同①最后加[–x]補(bǔ),校正(1)補(bǔ)碼一位乘運(yùn)算規(guī)則以小數(shù)為例1)、當(dāng)被乘數(shù)x符號(hào)任意,乘數(shù)y符號(hào)為正時(shí):
根據(jù)補(bǔ)碼定義:==yyyy.]y[nL210補(bǔ))(modxxxxx.x]x[nn+=+==+L1210222補(bǔ)∴
由于(y1y2…yn)就是大于或等于1得正整數(shù),根據(jù)模運(yùn)算性質(zhì)(大于2得部分全部丟掉)有:2(y1y2…yn)=2∴(mod2)即:Booth乘法公式證明2)、
當(dāng)被乘數(shù)x符號(hào)任意,乘數(shù)y符號(hào)為負(fù)時(shí):)(modyyyy.]y[n22121+==L補(bǔ)xxx.x]x[n210=L補(bǔ)∵∴又因(0、y1y2…yn)>0所以:(mod2)=[x]補(bǔ)·=[x]補(bǔ)·y
為推導(dǎo)出邏輯實(shí)現(xiàn)得分步算法,將上式展開(kāi)得到各項(xiàng)部分積累加得形式。(yn+1就是增加得附加位,初值為0)公式展開(kāi)遞推公式[z0]補(bǔ)=0[z1]補(bǔ)=2-1{(yn+1–yn)[x]補(bǔ)+[z0]補(bǔ)}yn+1=0[zn]補(bǔ)=2-1{(y2–y1)[x]補(bǔ)+[zn-1]補(bǔ)}…[x
·
y]補(bǔ)=[zn]補(bǔ)+(y1–y0)[x]補(bǔ)最后一步不移位如何實(shí)現(xiàn)
yi+1–yi
?000110111+[x]補(bǔ)
1+[–x]補(bǔ)
1101-10yi
yi+1操作yi+1–yi由此可見(jiàn):每次都就是在前次部分積得基礎(chǔ)上,由(yi+1-yi)決定對(duì)[x]補(bǔ)得操作,然后再右移一位,得到新得部分積;重復(fù)進(jìn)行。yn+1,yn得作用:開(kāi)始操作時(shí),補(bǔ)充一位yn+1,使其初始為0。由yn+1yn
判斷進(jìn)行什么操作;然后再由ynyn-1
判斷第二步進(jìn)行什么操作…。
若
ynyn+1=01則
yi+1-yi=1做加[x]補(bǔ)運(yùn)算;ynyn+1=10則
yi+1-yi=-1做加[-x]補(bǔ)運(yùn)算;ynyn+1=11ynyn+1=00則yi+1-yi=0
[zi]加0,即保持不變;
補(bǔ)碼一位乘得運(yùn)算規(guī)則(1)如果yn=yn+1,則部分積[zi]加0,再右移一位;(2)如果ynyn+1=01
,則部分積[zi]加[x]補(bǔ),再右移一位;(2)如果ynyn+1=10
,則部分積[zi]加[-x]補(bǔ),再右移一位;
如此重復(fù)n+1步,但最后一步不移位。包括一位符號(hào)位,所得乘積為2n+1位,其中n為尾數(shù)位數(shù)。算法流程圖
開(kāi)始結(jié)束[zi]補(bǔ)+[x]補(bǔ)→[zi]補(bǔ)[zi]補(bǔ)+[-x]補(bǔ)→[zi]補(bǔ)[z]補(bǔ)=0,i=0ynyn+1=?[zi]補(bǔ)不變i=n+1?[zi]補(bǔ),y右移一位,i=i+1011000或11YN例23已知x=+0、0011y=–0、1011求[x·y]補(bǔ)解:00、000011、110111、110100、001111、110100、001111、11011、0101000.0001111.11011100.000111111.11011111
[x]補(bǔ)
=0、0011
[y]補(bǔ)
=1、0101[–x]補(bǔ)
=1、1101+[–x]補(bǔ)11.11101101011+[x]補(bǔ)00.00001110101+[–x]補(bǔ)11.1110111101100.00001111101+[–x]補(bǔ)+[x]補(bǔ)∴
[x·y]補(bǔ)
=1、11011111
最后一步不移位補(bǔ)碼右移補(bǔ)碼右移補(bǔ)碼右移補(bǔ)碼右移+++++00、00001、00110yn+1=0+00、1011ynyn+1=10,加[-x]補(bǔ)
00、1011
00、0101110011右移一位+00、0000ynyn+1=11,加000、010100、0010111001右移一位+11、0101ynyn+1=01,加[x]補(bǔ)
11、011111、1011111100右移一位+00、0000ynyn+1=00,加011、101111、1101111110右移一位+00、1011ynyn+1=10,加[-x]補(bǔ)
00、1000111110最后一位不移位例:[x]補(bǔ)=1、0101,[y]補(bǔ)=1、0011,求[x·y]補(bǔ)=?[-x]補(bǔ)=0、1011[x·y]補(bǔ)=0、10001111部分積乘數(shù)ynyn+1說(shuō)明000000101100yn+1=0+000000ynyn+1=00,加0000000
000000010110右移一位+110011ynyn+1=10,加[-x]補(bǔ)
110011111001101011右移一位+000000ynyn+1=11,加011、100111、1100110101右移一位+001101ynyn+1=01,加[x]補(bǔ)
001001000100111010右移一位+110011ynyn+1=10,加[-x]補(bǔ)
110111111010最后一位不移位[x]補(bǔ)=001101,[y]補(bǔ)=10110,[-x]補(bǔ)=110011[x·y]補(bǔ)=1部分積乘數(shù)ynyn+1說(shuō)明例:x=13,y=-10求x·y=?x·y=-010000010=-82H=-130(2)Booth算法得硬件配置A、X、Q均n+2位移位和加受末兩位乘數(shù)控制0An+1n+2位加法器控制門(mén)0Xn+10Qn
n+1移位和加控制邏輯計(jì)數(shù)器CGM00,110110右移4、補(bǔ)碼一位乘邏輯原理圖
R0→
R1→ynyn+1R2
計(jì)數(shù)器i
部分積z
被乘數(shù)x乘數(shù)y
+1LDR0LDR1
T1,T2,…+1
Ti
QQ加法器RS啟動(dòng)Cx
f
+-yn+1ynyn+1yn多開(kāi)關(guān)路原反1001QQ[注]被乘數(shù)寄存器R2得每一位用原碼(觸發(fā)器Q端)或反碼(觸發(fā)器Q端)經(jīng)多路開(kāi)關(guān)送出;送[-x]補(bǔ)時(shí),即送R2反碼且在加法器最末為加1;(2)R0保存部分積,其符號(hào)與加法器符號(hào)位
f始終一致。(3)當(dāng)計(jì)數(shù)器i=n+1時(shí),封鎖LDR1、LDR0信號(hào),使最后一步不移位。不帶符號(hào)得陣列乘法器設(shè)有兩個(gè)不帶符號(hào)得二進(jìn)制整數(shù)A=am-1…a1a0,B=bn-1…b1b0它們得數(shù)值分別為a與b,即:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中醫(yī)養(yǎng)生保健在療養(yǎng)院的應(yīng)用考核試卷
- 石棉制品在醫(yī)療器械的絕緣應(yīng)用考核試卷
- 糖批發(fā)企業(yè)客戶關(guān)系維護(hù)與管理考核試卷
- 《續(xù)資治通鑒》:畢沅對(duì)北宋興衰的記錄及其價(jià)值探討
- 2025地下倉(cāng)儲(chǔ)租賃合同
- 2025年不簽訂勞動(dòng)合同或不履行合同義務(wù)的法律風(fēng)險(xiǎn)與后果分析
- 蘇教六年級(jí)數(shù)學(xué)上冊(cè)導(dǎo)學(xué)案
- 離婚協(xié)議模板#
- 二零二五廣州買(mǎi)賣(mài)二手房定金合同范例
- 平面設(shè)計(jì)服務(wù)合同模板
- 《基于寧德時(shí)代的財(cái)務(wù)報(bào)表的公司財(cái)務(wù)分析》4100字(論文)
- 湖南省長(zhǎng)沙市雅禮實(shí)驗(yàn)中學(xué)-主題班會(huì)-《陽(yáng)光心態(tài)美麗青春》【課件】
- 提高單病種上報(bào)率
- The+Person+I+respect+高考應(yīng)用文寫(xiě)作+導(dǎo)學(xué)案 高三上學(xué)期英語(yǔ)一輪復(fù)習(xí)專項(xiàng)
- 2025年中考考前物理押題密卷(河北卷)(考試版A4)
- 臨床護(hù)理實(shí)踐指南2024版
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)第七章平面直角坐標(biāo)系-測(cè)試題及答案
- “煎炒烹炸”與中藥療效(安徽中醫(yī)藥大學(xué))知道智慧樹(shù)章節(jié)答案
- 行政事業(yè)單位內(nèi)部控制規(guī)范專題講座
- 加油站卸油時(shí)跑冒油應(yīng)急演練及方案
- 藥品供貨服務(wù)方案
評(píng)論
0/150
提交評(píng)論