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

下載本文檔

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

文檔簡介

復(fù)習(xí)思考題10對(duì)二進(jìn)制數(shù),若小數(shù)點(diǎn)右移1位,則數(shù)值乘以2;已知[X/2]補(bǔ)=C6H,設(shè)機(jī)器字長為8位,則[X]補(bǔ)=8CH

;若兩個(gè)數(shù)值位為n位長的定點(diǎn)數(shù),采用原碼算法實(shí)現(xiàn)乘法運(yùn)算,則乘積的數(shù)值有2n位,其符號(hào)位由異或運(yùn)算決定;第四章數(shù)值的機(jī)器運(yùn)算4.0邏輯電路基礎(chǔ)4.1基本算術(shù)運(yùn)算的實(shí)現(xiàn)4.2定點(diǎn)加減運(yùn)算4.3帶符號(hào)數(shù)的移位和舍入操作4.4定點(diǎn)乘法運(yùn)算4.5定點(diǎn)除法運(yùn)算4.6規(guī)格化浮點(diǎn)運(yùn)算4.7十進(jìn)制加法器4.9運(yùn)算器和基本組成與實(shí)例補(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ù)和符號(hào)(雙符號(hào))和乘數(shù)(單符號(hào))參加運(yùn)算部分積初值為0(雙符號(hào))乘數(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ǔ)=11.0011,[Y]補(bǔ)=0.1011,求[X·Y]補(bǔ)=?部分積

乘數(shù)YnYn+1說明[-X]補(bǔ)=00.1101[X·Y]補(bǔ)=1.01110001X·Y=-0.10001111補(bǔ)碼一位乘邏輯原理圖

R0→

R1→YnYn+1R2

計(jì)數(shù)器i

部分積z

被乘數(shù)X乘數(shù)Y

+1LDR0LDR1

T1,T2,…+1

Ti

QQ加法器RS啟動(dòng)CXf

+-Yn+1YnYn+1Yn多路開關(guān)原反1001QQ&&&被乘數(shù)寄存器R2的每位用原碼(觸發(fā)器Q端)或反碼(觸發(fā)器非Q端)經(jīng)多路開關(guān)送出;送[-X]補(bǔ)時(shí),即送R2反碼且在加法器最末位加1串行乘法器的優(yōu)劣分析?不需要很多器件,硬件結(jié)構(gòu)簡單;?速度太慢,執(zhí)行一次乘法操作的時(shí)間至少是加法操作的n倍;由于乘法操作大約占全部算術(shù)運(yùn)算的1/3,故采用高速乘法部件是非常必要的。

4.4.4

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

a1a0

)

bn-1···

b1b0

am-1b0am-2b0···

a1b0a0b0am-1b1am-2b1···

a1b1a0b1......+)am-1bn-1am-2bn-1

···a1bn-1a0bn-1pm+n-1pm+n-2pm+n-3···

pn-1···p1p0手工方法運(yùn)算過程陣列乘法器——

是資源的重復(fù)設(shè)置,依靠器件的數(shù)量去換取運(yùn)算速度盡管器件數(shù)量大,但結(jié)構(gòu)十分規(guī)整,易于IC實(shí)現(xiàn)主要用于并行流水線運(yùn)算器等追求高運(yùn)算速度的場(chǎng)合。被除數(shù)X,其原碼為[X]原=Xf.Xn-1…X1X0除數(shù)Y,其原碼為[Y]原=Y(jié)f.Yn-1…Y1Y0

則有商Q=X/Y,其原碼為[Q]原=(Xf⊕Yf)+(0.Xn-1…X1X0/0.Yn-1…Y1Y0)商的符號(hào)運(yùn)算Qf=Xf⊕Yf與原碼乘法一樣;商的數(shù)值部分的運(yùn)算,實(shí)質(zhì)上是兩個(gè)正數(shù)求商的運(yùn)算。4.5.1

原碼一位除法設(shè)有n位定點(diǎn)小數(shù):4.5定點(diǎn)除法運(yùn)算1.手算運(yùn)算步驟設(shè)X=0.1001,Y=0.1011,仿十進(jìn)制除法運(yùn)算,手算求X÷Y的過程

0.1101

商Q

0.1011

0.10010

X(R0)

X小于Y,商0

-0.01011

2-1YY右移1位,-Y,商1

0.001110

R1得余數(shù)R1

-0.0

01011

2-2YY右移1位,-Y,商1

0.0000110

R2

得余數(shù)R2

-0.0

000000

2-3YY右移1位,不減Y,商0

0.00001100

R3

得余數(shù)R3

-0.0

0001011

2-4YY右移1位,-Y,商1

0.00000001

R4得余數(shù)R4得X÷Y的商Q=0.1101,余數(shù)為R=0.00000001。原碼除法運(yùn)算

結(jié)果與手算相同,但余數(shù)不是真正的余數(shù),多乘了2n,故正確的余數(shù)應(yīng)為2-n×Rn,即:0.0000000100.0001第四次余數(shù)R4

01.0010被除數(shù)左移一位,2X>Y,商1+11.0101+[-Y]補(bǔ)00.0111第一次余數(shù)R1

00.1110R1左移一位,2R1>Y,商1+11.0101減Y00.0011第二次余數(shù)R2

00.0110R2左移一位,2R2<Y,商0

00.1100R3左移一位,2R3=4R2>Y,商1+11.0101減Y00.101100.1001X<Y,商000.1101原碼除法運(yùn)算1——比較法它類似于手工運(yùn)算,為便于機(jī)器實(shí)現(xiàn),將除數(shù)右移改為余數(shù)左移。還要設(shè)置比較線路,從而增加硬件代價(jià)。X=0.1001Y=0.1011[-Y]補(bǔ)=1.0101

0.1101

0.1011

0.10010

-0.01011

0.001110

-0.0

01011

0.0000110

-0.0

000000

0.00001100

-0.0

0001011

0.00000001

原碼除法運(yùn)算2——恢復(fù)余數(shù)法它直接作減法來試探——若余數(shù)為正,表示夠減,該位商上“1”;若余數(shù)為負(fù),表示不夠減,該位商上“0”,并要恢復(fù)原來的被除數(shù)(或余數(shù))。恢復(fù)余數(shù)法由于要恢復(fù)余數(shù),使得除法的步數(shù)不固定,控制比較復(fù)雜。因此,原碼恢復(fù)余數(shù)法在計(jì)算機(jī)中一般很少采用。0→CnA+B→A1→CnA<0?A-B→AYN[X]補(bǔ)→A,[Y]補(bǔ)→B,0→C原碼除法運(yùn)算3——加減交替法若第i-1次求商的余數(shù)為Ri-1,則第i次求商操作為:

Ri=2Ri-1-Y若夠減,Ri=2Ri-1-Y>0,商Qi=1。若不夠減,Ri=2Ri-1-Y<0,商Qi=0,恢復(fù)余數(shù)后,Ri’=Ri+Y=2Ri-1,然后再左移一位,進(jìn)行第i+1次操作:

Ri+1=2Ri’-Y=2(Ri+Y)-Y=2Ri+2Y-Y=2Ri+Y上式表明,當(dāng)出現(xiàn)不夠減(負(fù)余數(shù))的情況下并不需要恢復(fù)余數(shù),可以直接做下一次操作,但操作是2Ri+Y,其結(jié)果與恢復(fù)余數(shù)后左移一位再減Y等效。

Ri+1=2Ri+(1-2Qi)×Y(Qi=0,1)補(bǔ)碼除法運(yùn)算——加減交替法補(bǔ)碼除法的被除數(shù)X、除數(shù)Y用補(bǔ)碼表示,符號(hào)位和數(shù)位一起參與運(yùn)算,商的符號(hào)位與數(shù)位由統(tǒng)一的算法求得。運(yùn)算規(guī)則1.若被除數(shù)X與除數(shù)Y同號(hào),被除數(shù)X減去除數(shù)Y;若被除數(shù)X與除數(shù)Y異號(hào),被除數(shù)X加上除數(shù)Y。余數(shù)R和除數(shù)Y同號(hào),商1,余數(shù)R左移一位,下次減除數(shù)Y

余數(shù)R和除數(shù)Y異號(hào),商0,余數(shù)R左移一位,下次加除數(shù)Y。重復(fù)步驟(2),連同符號(hào)位在內(nèi),共做n+1步。商的末位恒置1若商的數(shù)值位為n位,則運(yùn)算的最大誤差為2-n。補(bǔ)碼加減交替除法規(guī)則:[X]補(bǔ)÷[Y]補(bǔ)[X]補(bǔ)與[Y]補(bǔ)第一次操作[Ri]補(bǔ)與[Y]補(bǔ)上商求新余數(shù)[Ri+1]補(bǔ)的操作同號(hào)[X]補(bǔ)-[Y]補(bǔ)①同號(hào)(夠減)1[Ri+1]補(bǔ)=2[Ri]補(bǔ)-[Y]補(bǔ)②異號(hào)(不夠減)0[Ri+1]補(bǔ)=2[Ri]補(bǔ)+[Y]補(bǔ)異號(hào)[X]補(bǔ)+[Y]補(bǔ)①同號(hào)(不夠減)1[Ri+1]補(bǔ)=2[Ri]補(bǔ)-[Y]補(bǔ)②異號(hào)(夠減)0[Ri+1]補(bǔ)=2[Ri]補(bǔ)+[Y]補(bǔ)00.1000

[X]補(bǔ),[Y]補(bǔ)異號(hào),+[Y]補(bǔ)

+[Y]補(bǔ)

11.011011.1110[Ri]補(bǔ)和[Y]補(bǔ)同號(hào)

11.11001.左移一位,商1

+[-Y]補(bǔ)

00.1010+[-Y]補(bǔ)

00.0110[Ri]補(bǔ)和[Y]補(bǔ)異號(hào)

00.11001.0左移一位,

商0

+[Y]補(bǔ)

11.0110+[Y]補(bǔ)

00.0010[Ri]補(bǔ)和[Y]補(bǔ)異號(hào)

00.0100

1.00左移一位,商0

+[Y]補(bǔ)

11.0110+[Y]補(bǔ)

11.1010[Ri]補(bǔ)和[Y]補(bǔ)同號(hào)

11.0100

1.001左移一位,商1

+[-Y]補(bǔ)

00.1010+[-Y]補(bǔ)

11.11101.0011

商末位恒置1,[Ri]余數(shù)不左移

被除數(shù)X/余數(shù)R商Q說明[X]補(bǔ)=0.1000[Y]補(bǔ)=11.0110[-Y]補(bǔ)=00.1010[P116例4-13]X=0.1000,Y=-0.1010,求X÷Y。[P116例4-13]X=0.1000,Y=-0.1010,求X÷Y。[商]補(bǔ)=1.0011[余數(shù)]補(bǔ)=1.11102-4∴商=-0.1101

余數(shù)=-0.00102-41.11102-41.0110[X÷Y]補(bǔ)=1.0011+-0.00102-4-0.1010X÷Y=-0.1101+補(bǔ)碼加減交替除法算法流程圖[X]補(bǔ)→A,[Y]補(bǔ)→B0→C,0→CR0→Cn2A+B→A2C→C1→Cn2A-B→A2C→CCR+1→CRCR=n?EndN.1→CnYAs

Bs=0?A+B→AA-B→ANYAsBs=0?NY.4.6

規(guī)格化浮點(diǎn)運(yùn)算

4.6.1浮點(diǎn)加減運(yùn)算設(shè)兩個(gè)非0的規(guī)格化浮點(diǎn)數(shù)分別為:

A=MA×2EA

,

B=MB×2EB

A±B=(MA,EA)±(MB,EB)浮點(diǎn)數(shù)加減運(yùn)算步驟:(1)對(duì)階(2)尾數(shù)加減(3)尾數(shù)結(jié)果規(guī)格化(4)舍入處理(5)溢出判斷在對(duì)階和尾數(shù)結(jié)果規(guī)格化的過程中,尾數(shù)的低位部分可能會(huì)丟失,從而造成一定的誤差?!扒袛唷?、“0舍1入”法,“恒置1”法例:設(shè)x=2010×(+0.11011011),y=2100×(-0.10101100),求x+y解:設(shè)以補(bǔ)碼表示,階碼5位、尾數(shù)10位均采用雙符號(hào)位表示

[x]?。?001000.11011011

[y]?。?010011.01010100 ①對(duì)階浮點(diǎn)加減法運(yùn)算

使二數(shù)階碼相同(即小數(shù)點(diǎn)位置對(duì)齊),這個(gè)過程叫作對(duì)階先求兩數(shù)階碼Ex和Ey之差,即△E=Ex-Ey

若△E=0,表示

Ex=Ey

若△E>0,Ex>Ey

若△E<0,Ex<Ey通過尾數(shù)的移動(dòng)來改變Ex或Ey,使其相等.小階向大階看齊;小階的尾數(shù)右移,每右移一位,其階碼加1對(duì)階原則 [x]浮=0001000.11011011

[y]?。?010011.01010100 ①對(duì)階 △E=Ex-Ey

=[Ex]補(bǔ)+[-Ey]補(bǔ)

=00010+11100

=(11110)補(bǔ)=(-2)10 x的階碼小,應(yīng)使Mx右移2位,Ex加2 ∴[x]?。?010000.00110110(11)

其中(11)表示Mx右移2位后移出的最低兩位數(shù)。浮點(diǎn)加減法運(yùn)算“切斷”的方法浮點(diǎn)加減法運(yùn)算

[x]浮=0010000.00110110 [y]浮=0010011.01010100②尾數(shù)加減

00.00110110

+ 11.01010100 11.10001010 ∴x+y=0010011.10001010無論加法運(yùn)算還是減法運(yùn)算,都按加法進(jìn)行操作浮點(diǎn)加減法運(yùn)算

尾數(shù)相加得:x+y=0010011.10001010 ③尾數(shù)結(jié)果規(guī)格化

尾數(shù)運(yùn)算結(jié)果處理操作00.1xxxxxxx尾數(shù)已為規(guī)格化數(shù),無需處理11.0xxxxxxx00.0xxxxxxx左規(guī)——尾數(shù)每左移一位,階碼相應(yīng)減1,直至成為規(guī)格化數(shù)為止。11.1xxxxxxx01.xxxxxxxx在定點(diǎn)加減運(yùn)算為溢出;但在浮點(diǎn)加減運(yùn)算中,只表明此時(shí)尾數(shù)的絕對(duì)值大于1,而并非真正的溢出。右規(guī)——尾數(shù)運(yùn)算的結(jié)果右移一位,階碼加110.xxxxxxxxx+y=00

01111.00010100浮點(diǎn)加減法運(yùn)算x+y=0001111.00010100④舍入在對(duì)階和向右規(guī)格化的過程中,尾數(shù)的低位部分可能會(huì)丟失,從而造成一定的誤差舍入處理切斷法“0舍1入”法“恒置1”法浮點(diǎn)加減法運(yùn)算

x+y=0001111.00010100⑤溢出判斷尾數(shù)溢出尾數(shù)相加的溢出不是真正的溢出,可通過向右規(guī)格化作出調(diào)整階碼溢出——浮點(diǎn)數(shù)的溢出是以其階碼溢出表現(xiàn)出來的若階碼溢出,則要進(jìn)行相應(yīng)的處理。上溢——浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,做溢出中斷處理。下溢——超過了階碼所能表示的最小值,按機(jī)器零處理。本例中階碼符號(hào)位為00,不溢出,故得最終結(jié)果為

x+y=(0001111.00010100)補(bǔ)=2011×(-0.11101100)例2:若某次運(yùn)算的中間結(jié)果為[X+Y]補(bǔ)=11001,00.0011則應(yīng)對(duì)其進(jìn)行向左規(guī)格化操作:尾數(shù)為:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論