4講 定點(diǎn)數(shù)乘法.ppt_第1頁(yè)
4講 定點(diǎn)數(shù)乘法.ppt_第2頁(yè)
4講 定點(diǎn)數(shù)乘法.ppt_第3頁(yè)
4講 定點(diǎn)數(shù)乘法.ppt_第4頁(yè)
4講 定點(diǎn)數(shù)乘法.ppt_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、CH 3 運(yùn)算方法及運(yùn)算器-1 定點(diǎn)數(shù)乘法運(yùn)算,定點(diǎn)原碼一位乘法 定點(diǎn)補(bǔ)碼一位乘法 定點(diǎn)二位法,第4講,教學(xué)目的與要求,掌握定點(diǎn)數(shù)1位原碼乘法的原理和運(yùn)算過程 掌握定點(diǎn)數(shù)1位補(bǔ)碼乘法的原理和運(yùn)算過程 理解定點(diǎn)數(shù)2位乘法的原理,第4講,一. 定點(diǎn)原碼1位乘法,手工乘法過程:已知:X=+1101,Y=+1011,求:X*Y,積(十進(jìn)制數(shù)143),部分積,乘數(shù)(十進(jìn)制數(shù)11),被乘數(shù)(十進(jìn)制數(shù)13),第4講,一.定點(diǎn)原碼1位乘法,原理推導(dǎo): 設(shè):X原=Xf.X1X2 Xn,Y原=Yf.Y1Y2 Yn 則有:Z原=X原Y原 =(XfYf) | (X1X2Xn)(Y1Y2 Yn) 設(shè):|X|Y| =X(

2、0.Y1Y2Y3) =X(Y12-1+Y22-2+Y32-3) =2-1(X Y1+2-1(X Y2+2-1(X Y3+0),第4講,一.定點(diǎn)原碼1位乘法,遞推公式: Z0=0Z1=2-1(Z0+XYn)Z2=2-1(Z1+XYn-1) Zn=XY=2-1(Zn-1+XY1) 運(yùn)算規(guī)則: 兩個(gè)n位數(shù)相乘,可用n次加法和右移1位操作來實(shí)現(xiàn) 初始部分積Z0=0,乘數(shù)末位決定加“X”還是“0” 每次加法時(shí),部分積高位與被乘數(shù)相加 符號(hào)單獨(dú)處理,由異或產(chǎn)生,第4講,一.定點(diǎn)原碼1位乘法,硬件實(shí)現(xiàn) 設(shè)置3個(gè)寄存器:部分積寄存器A,被乘數(shù)寄存器B,乘數(shù)寄存器C(部分積寄存器)和1個(gè)計(jì)數(shù)器。 N位數(shù)乘N位數(shù)

3、可以看做求N次N位數(shù)乘1位數(shù),每求出一個(gè)加數(shù)就與上次的部分積相加。 每次求出的部分積右移1位,以便與下一次的部分積相加。一共右移N次,加N次。 部分積右移時(shí),乘數(shù)寄存器也右移1位。乘數(shù)寄存器最低位控制相加數(shù),最高位接收移出的部分積。 N位加法器實(shí)現(xiàn)2個(gè)N位數(shù)相乘。,第4講,一.定點(diǎn)原碼1位乘法,邏輯圖。,第4講,一.定點(diǎn)原碼1位乘法,運(yùn)算流程,第4講,一.定點(diǎn)原碼1位乘法,已知:X=-0.1101,Y=+0.1011,用原碼1位乘的方法求:Z=X*Y。 解:X原=1.1101,Y原=0.1011 符號(hào):Zf=XfYf=1 數(shù)值部分求解如下: 說明 A部分積 C 乘數(shù)Y B 被乘數(shù)X: 1101

4、 初始 00 0000 1 0 1 1 +X 00 1101 00 1101 右移1位 00 0110 1 1 0 1 1 丟失 +X 00 1101 01 0011 右移1位 00 1001 1 1 1 0 1 丟失 +0 00 0000 00 1001 右移1位 00 0100 1 1 1 1 0 丟失 +X 00 1101 01 0001 右移1位 00 1000 1 1 1 1 1 丟失 乘積高位 乘積低位 所以:Z原=1.1000 1111 所以:Z=-0.1000 1111,第4講,二. 定點(diǎn)補(bǔ)碼1位乘法,設(shè)X補(bǔ)=X0.X1X2Xn ,Y補(bǔ)=Y0.Y1Y2Yn 補(bǔ)碼與真值的關(guān)系 X

5、0時(shí),X0=0,X補(bǔ)=0.X1X2Xn=X X0時(shí),X0=1,X=X補(bǔ)-2=1.X1X2Xn-2=-1+0.X1X2Xn 得到對(duì)X正負(fù)數(shù)都合適的公式:X= -X0+0.X1X2Xn 補(bǔ)碼的右移 補(bǔ)碼連同符號(hào)位將數(shù)右移1位,并保持符號(hào)位不變,相當(dāng)于乘1/2(即除2)。,第4講,二. 定點(diǎn)補(bǔ)碼1位乘法,補(bǔ)碼乘法算法 被乘數(shù)和乘數(shù)都使用補(bǔ)碼:XY補(bǔ)=X補(bǔ)(-Y0+0.Y1Y2Yn) X正負(fù)任意,Y為正數(shù): XY補(bǔ)=X補(bǔ)(0.Y1Y2Yn) X正負(fù)任意,Y為負(fù)數(shù): XY補(bǔ)=X補(bǔ)(0.Y1Y2Yn)+-X補(bǔ) 采用雙符號(hào)位,數(shù)據(jù)和符號(hào)位都參與運(yùn)算;取乘數(shù)Y的數(shù)值位放入乘數(shù)寄存器運(yùn)算。,第4講,二. 定點(diǎn)補(bǔ)

6、碼1位乘法,已知:X=+0.1101,Y=-0.1011,用補(bǔ)碼1位乘的方法求:Z=X*Y。 解:X補(bǔ)=00.1101,Y補(bǔ)=11.0101, -X補(bǔ)=11.0011 計(jì)算過程如下: 部分積 乘數(shù) 說明 00 0000 0101 初始狀態(tài) + 00 1101 +X補(bǔ) 00 1101 00 0110 1010 右移1位 + 00 0000 +0 00 0110 00 0011 0101 右移1位 + 00 1101 +X補(bǔ) 01 0000 00 1000 0010 右移1位 + 00 0000 +0 00 1000 00 0100 0001 右移1位 + 11 0011 +-X補(bǔ) 11 0111

7、 0001 所以:Z補(bǔ)=1.0111 0001 所以:Z=-0.1000 1111,第4講,二. 定點(diǎn)補(bǔ)碼1位乘法,Booth補(bǔ)碼乘法規(guī)則: 將部分積初始化為0,并在乘數(shù)的尾部增加1位0作為Y補(bǔ)的第n+1位; 比較Yi與Yi-1(i=n+1,n,2,1) 若Yi-Yi-1=1 (Yi-1Yi=01),部分積加X補(bǔ); 若Yi-Yi-1=1 (Yi-1Yi=10),部分積加-X補(bǔ); 若Yi-Yi-1=0 (Yi-1Yi=11或00),部分積加0。 每次運(yùn)算完成后,部分積右移1位,反復(fù)n+1次,但最后一次不移位; 所得的結(jié)果即為X*Y補(bǔ)。,第4講,二.定點(diǎn)補(bǔ)碼1位乘法,已知:X=0.1101, Y=

8、0.1011,用Booth補(bǔ)碼1位乘的方法求:Z=X*Y。 解: X補(bǔ) = 11.0011,X補(bǔ)=00.1101, Y補(bǔ) = 00.1011 部分積 乘數(shù) 初始值,最后一位補(bǔ)0 00 0000 0.1 0 1 1 0 10為 + X補(bǔ)再右移 +X補(bǔ) 00 1101 00 1101 右移1位 00 0110 1 0.1 0 1 1 0 丟失 11 僅右移 +0 00 0000 00 0110 右移1位 00 0011 0 1 0.1 0 1 1 丟失 01為+ X補(bǔ) 再右移 + X補(bǔ) 11 0011 11 0110 右移1位 11 1011 0 0 1 0.1 0 1 丟失 10為+ X補(bǔ)再右移

9、 + X補(bǔ) 00 1101 00 1000 右移1位 00 0100 0 0 0 1 0.1 0 丟失 01為+ X補(bǔ) + X補(bǔ) 11 0011 11 0111 0 0 0 1 不右移 乘積高位 乘積低位 所以:Z補(bǔ)=1.0111 0001 ; 所以:Z=-0.1000 1111,第4講,三.定點(diǎn)原碼2位乘法,原理: 00部分積Pi 右移兩位 01部分積Pi+X 右移兩位 10 部分積Pi+2X 右移兩位 11 部分積Pi+3X 右移兩位;Pi+3X 用(PiX)+4X來替代, +4X用C=1來標(biāo)志,歸并到下一步執(zhí)行 法則: 表3.4 -X用+-X補(bǔ)代替 如果最后1次欠下+4X(C=1),則最

10、后1次右移2位后還要再+X,第4講,三.定點(diǎn)原碼2位乘法,已知: X= 0.100111, Y= 0.100111,用原碼2位乘法求:Z=X*Y。 解: X原=00.100111,X補(bǔ)= 11.011001, Y原=00.100111 2X原=01.001110 部分積 乘數(shù)Y 欠位C 說明 00.000000 1 0 0 1 1 1 0 (PiX)22 1C X 11.011001 -X即+ X補(bǔ) 11.011001 11.110110 0 1 1 0 0 1 1 右移兩位,(Pi+2X)22,0C +2X 01.001110 +2X即X左移1位 1 01.000100 進(jìn)位1丟失 00.0

11、10001 0 0 0 1 1 0 0 右移兩位,(Pi+2X)22,0C +2X 01.001110 01.011111 右移兩位 00.010111 1 1 0 0 0 1 0 符號(hào):Zf=XfYf=0 所以:XY原= 0.010111 110001;Z= 0.010111 110001。,第4講,四.定點(diǎn)補(bǔ)碼2位乘法,加法器使用3位符號(hào)位,避免X補(bǔ)左斜1位送加法器時(shí)溢出。 乘數(shù)Y的數(shù)值位有n位,求部分積操作: 乘數(shù)數(shù)值位是奇數(shù)時(shí):取1位符號(hào)位,Yn+1=0,共作(n+1)/2次運(yùn)算,每次運(yùn)算后右移2位,但最后一次操作僅右移1位; 乘數(shù)數(shù)值位是偶數(shù)時(shí): 取符號(hào)位1位,Yn+1=0,作n/2

12、+1次運(yùn)算,最后1次操作右移1位 取符號(hào)位2位,共作n/2+1次運(yùn)算,最后一次不必移位。,第4講,四.定點(diǎn)補(bǔ)碼2位乘法,組合Yn+1、Yn、Yn 1的組合。表3.5,第4講,四.定點(diǎn)補(bǔ)碼2位乘法,已知: X= 0.1101 Y= 0.1011,用補(bǔ)碼2位乘法求XY補(bǔ) 方法1 : X補(bǔ)= 1.0011,Y補(bǔ)= 1.0101,X補(bǔ)= 111.0011, 2X補(bǔ)=110.0110,X補(bǔ)=000.1101,2X補(bǔ)=001.1010 部分積 乘數(shù) 附加位 說明 000 0000 1.0 1 0 1 0 0 初始,乘數(shù)最后補(bǔ)0 + 001 1010 (Pi2X)22; +2 X補(bǔ) 001 1010 000

13、 0110 1 0 1.0 1 0 1 右移兩位 + 000 1101 (PiX)22;+X補(bǔ) 001 0011 000 0100 1 1 1 0 1.0 1 右移兩位 + 000 1101 (PiX)22 ;+X補(bǔ) 001 0001 000 1000 1 1 1 1 0 1 0 右移1位 乘積高位 乘積低位 XY補(bǔ)=0.1000 1111 0,第4講,四.定點(diǎn)補(bǔ)碼2位乘法,解2:X補(bǔ)= 1.0011 ,Y補(bǔ)= 11.0101(雙符號(hào)數(shù)) X補(bǔ)= 111.0011, 2X補(bǔ)= 110.0110 X補(bǔ)=000.1101,2X補(bǔ)=001.1010 部分積 乘數(shù) 附加位 說明 000 0000 1 1.0 1 0 1 0 初始 + 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論