計(jì)算機(jī)組成原理:4-3 數(shù)值的機(jī)器運(yùn)算_第1頁
計(jì)算機(jī)組成原理:4-3 數(shù)值的機(jī)器運(yùn)算_第2頁
計(jì)算機(jī)組成原理:4-3 數(shù)值的機(jī)器運(yùn)算_第3頁
計(jì)算機(jī)組成原理:4-3 數(shù)值的機(jī)器運(yùn)算_第4頁
計(jì)算機(jī)組成原理:4-3 數(shù)值的機(jī)器運(yùn)算_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

復(fù)習(xí)思考題9當(dāng)譯碼器有4個(gè)輸入端時(shí),其輸出端有16個(gè),它在任一時(shí)刻有1個(gè)有效輸出;影響并行加法器速度的關(guān)鍵因素是進(jìn)位產(chǎn)生和進(jìn)位傳遞;若串行進(jìn)位的8位并行加法器的一級全加器的延遲時(shí)間為2ty,則C8最長延遲時(shí)間為_______;若先行進(jìn)位的8位并行加法器的一級全加器的延遲時(shí)間為2ty,則C8最長延遲時(shí)間為_______;第四章數(shù)值的機(jī)器運(yùn)算4.0邏輯電路基礎(chǔ)4.1基本算術(shù)運(yùn)算的實(shí)現(xiàn)4.2定點(diǎn)加減運(yùn)算4.3帶符號數(shù)的移位和舍入操作4.4定點(diǎn)乘法運(yùn)算4.5定點(diǎn)除法運(yùn)算4.6規(guī)格化浮點(diǎn)運(yùn)算4.9運(yùn)算器和基本組成與實(shí)例4.3

帶符號數(shù)的移位和舍入操作移位的意義機(jī)器用語——移位運(yùn)算左移

——絕對值擴(kuò)大右移——絕對值縮小在計(jì)算機(jī)中,移位與加減配合,能夠?qū)崿F(xiàn)乘除運(yùn)算15●m=1500●

cm15相對于小數(shù)點(diǎn)左移2位(小數(shù)點(diǎn)不動(dòng))小數(shù)點(diǎn)右移2位邏輯移位邏輯移位——無符號數(shù)的移位。邏輯左移:低位添0,高位移丟。邏輯右移:高位添0,低位移丟。例:

01010011邏輯左移10100110邏輯右移0010100100算術(shù)移位算術(shù)移位——有符號數(shù)的移位應(yīng)保持符號不變。左移一位使數(shù)值增大一倍,相當(dāng)于該數(shù)乘以2,右移一位使數(shù)值縮小一倍,相當(dāng)于該數(shù)除以2。1.原碼的移位規(guī)則

數(shù)值部分移位后的空出位補(bǔ)000移位前原碼左移一位右移一位0,00110100,01101000,00011011,00110101,01101001,0001101補(bǔ)碼的移位規(guī)則正數(shù):移位后,符號位不變,數(shù)值部分移位后的空出位補(bǔ)0負(fù)數(shù):左移后的空出位補(bǔ)0,右移后的空出位補(bǔ)1。0移位前補(bǔ)碼左移一位右移一位0,00110100,01101000,00011011,11001101,10011001,1110011恒舍(切斷)無論多余部分為何代碼,一律舍去。

馮·諾依曼舍入法(恒置1法)不論多余部分為何代碼,都把結(jié)果的最低位置1。下舍上入法(0舍1入)若要舍去部分的最高位0,則切斷舍去部分,若要舍去部分的最高位1,則余下部分末位加1。帶符號數(shù)的舍入操作分析筆算乘法A=–0.1101B=0.1011A×B=–0.100011110.11010.101111011101000011010.10001111符號位單獨(dú)處理乘數(shù)的某一位決定是否加被乘數(shù)

4個(gè)位積一起相加乘積的位數(shù)擴(kuò)大一倍×乘積的符號心算求得

?4.4定點(diǎn)乘法運(yù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ù)…右移一位筆算乘法改進(jìn)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ù)說明++++改進(jìn)后的筆算乘法過程(豎式)小結(jié)

乘法

運(yùn)算可用加和移位實(shí)現(xiàn)由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加然后右移

1位形成新的部分積,同時(shí)乘數(shù)右移1

位(末位移丟),空出高位存放部分積的低位。

被乘數(shù)只與部分積的高位相加。硬件3

個(gè)寄存器(具有移位功能),1

個(gè)全加器4.4.1原碼一位乘法運(yùn)算規(guī)則設(shè)被乘數(shù)[X]原=Xf.X1X2…Xn

乘數(shù)[Y]原=Yf.Y1Y2…Yn乘積[Z]原=Zf.Z1Z2…Z2nZf=Xf⊕YfZi=Xi×Yi式中,Xf

為被乘數(shù)符號,Yf為乘數(shù)符號。

運(yùn)算原則:乘積的符號位單獨(dú)處理Xf⊕Yf數(shù)值部分為絕對值相乘

0.X1X2…Xn×

0.Y1Y2…Yn

定點(diǎn)原碼一位乘法規(guī)則積的符號位由被乘數(shù)和乘數(shù)的符號位通過異或運(yùn)算實(shí)現(xiàn)。被乘數(shù)、乘數(shù)僅數(shù)值部分參加運(yùn)算,被乘數(shù)、部分積為雙符號數(shù),乘數(shù)為單符號數(shù)

開始zi=0,i=0Yn=1?zi+0zi+Xzi,Y右移一位,i=i+1i=n?

結(jié)束YYnn[X]原=Xf

.X1X2…Xn[Y]原=Yf

.Y1Y2…Yn[Z]原=Zf

.Z1Z2…Z2nZf=Xf⊕Yf

Zi=Xi×Yi

部分積乘數(shù)說明最后結(jié)果:X×Y=1.10001111

00.0000Yf1011

z0=0+00.1101Y4=1,+X00.1101

00.01101Yf101右移,得z1+00.1101Y3=1,+X

01.001100.100111Yf

10右移,得z2+00.0000Y2=0,+0

00.100100.0100111Yf

1右移,得z3+00.1101Y1=1,+X01.000100.10001111Yf右移,得z4=XY[P103例4-8]:X=+0.1101,Y=?0.1011,求X×Y=?

====Zf=Xf⊕Yf=0⊕1=10

An加法器控制門0

Xn

移位和加控制計(jì)數(shù)器CSGM0Qn右移原碼一位乘法運(yùn)算器A:存放部分積的高位,初值=0X:存放被乘數(shù)Q:先存放乘數(shù),后存放乘積結(jié)果低位部分積移位和加受Q的末位乘數(shù)控制計(jì)數(shù)器C:控制逐位相乘次數(shù)S:存放乘積的符號Gm:乘數(shù)標(biāo)記設(shè)被乘數(shù)乘數(shù)[x]補(bǔ)=x0.x1x2

xn…[y]補(bǔ)=y0.y1y2

yn…①被乘數(shù)任意,乘數(shù)為正但加

和移位

按補(bǔ)碼規(guī)則運(yùn)算乘積的符號自然形成②被乘數(shù)任意,乘數(shù)為負(fù)校正法4.4.2補(bǔ)碼一位乘法[x·y]補(bǔ)=[x]補(bǔ)·[y]補(bǔ)=[x]補(bǔ)·y[x·y]補(bǔ)=[x×0.

y1y2…yn]補(bǔ)+[-x]補(bǔ)[x·y]補(bǔ)=[x]補(bǔ)×0.

y1y2…yn+[-x]補(bǔ)×y0

補(bǔ)碼乘法的統(tǒng)一表達(dá)式設(shè)[x]補(bǔ)=x0.x1x2

xn[y]補(bǔ)=y0.y1y2

yn……[x

·y]補(bǔ)=[x]補(bǔ)(0.y1

yn)–[x]補(bǔ)·y0…=[x]補(bǔ)(y12-1+y22-2++yn2-n)–[x]補(bǔ)

·y0…=[x]補(bǔ)(–y0+y1

2-1+y22-2++yn2-n)…=[x]補(bǔ)[–y0+(y1–

y12-1)+(y22-1–y22-2)++(yn2-(n-1)–yn2-n)]…=[x]補(bǔ)[(y1–y0)+(y2–y1)2-1++(yn–yn-1)2-(n-1)+(0

–yn)2-n)]…–[x]補(bǔ)=+[–x]補(bǔ)

2-12-2=[x]補(bǔ)[(y1–y0)+(y2–y1)2-1++(yn+1–yn)2-n]…

附加位

yn+1補(bǔ)碼一位乘法——Booth

算法[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ǔ)最后一步不移位000110111+[x]補(bǔ)

101-10yi

yi+1操作yi+1–yiBooth

算法遞推公式補(bǔ)碼一位乘法算法流程圖

開始結(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重復(fù)n+1步,但最后一步不移位被乘數(shù)和符號(雙符號)和乘數(shù)(單符號)參加運(yùn)算部分積初值為0(雙符號)乘數(shù)末尾附加一個(gè)0(Yn+1=0)所得乘積是2n+1位

00.00000.10110Yn+1=0+00.1101YnYn+1=10,加[-X]補(bǔ)

00.110100.0110101011右移一位+00.0000YnYn+1=11,加000.011000.00110

10101右移一位+11.0011YnYn+1=01,加[X]補(bǔ)

11.011011.1011001010右移一位+00.1101YnYn+1=10,加[-X]補(bǔ)

00.100000.01000001

01右移一位+11.0011YnYn+1=01,加[X]補(bǔ)

11.01110001

10最后一位不移位[P106例4-9][X]補(bǔ)=1.0011,[Y]補(bǔ)=0.1011,求[X·Y]補(bǔ)=?部分積

乘數(shù)YnYn+1說明[-X]補(bǔ)=00.1101[X·Y]補(bǔ)=1.01110001X·Y=-0.10001111A、X、Q均n+2位移位和加受末兩位乘數(shù)控制0An+1n+2位加法器控制門0Xn+10Qn

n+1移位和加控制邏輯計(jì)數(shù)器CGM00,110110右移Booth補(bǔ)碼一位乘法運(yùn)算器整數(shù)乘法與小數(shù)乘法完全相同可用逗號

代替小數(shù)點(diǎn)原碼乘法的符號位單獨(dú)處理

補(bǔ)碼乘法的符號位自然形成原碼乘法去掉符號位運(yùn)算即為無符號數(shù)乘法不同的乘法運(yùn)算需有不同的硬件支持乘法小結(jié)串行乘法器的優(yōu)劣分析?不需要很多器件,硬件結(jié)構(gòu)簡單;?速度太慢,執(zhí)行一次乘法操作的時(shí)間至少是加法操作的n倍;由于乘法操作大約占全部算術(shù)運(yùn)算的1/3,故采用高速乘法部件是非常必要的。

4.4.4

陣列乘法器am-1am-2···

a1a0

)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論