Lecture 5 運算器-定點加減法_第1頁
Lecture 5 運算器-定點加減法_第2頁
Lecture 5 運算器-定點加減法_第3頁
Lecture 5 運算器-定點加減法_第4頁
Lecture 5 運算器-定點加減法_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

思考設(shè)X=-0.1010Y=0.0101求(X+Y)補和(X-Y)補設(shè)機器數(shù)字長為8位(含1位符號位)且A=–97,B=+41,用補碼求A

B思考定點整數(shù)、小數(shù)有原碼、補碼表示形式,手工在紙上怎么加減?舉例分析(兩正數(shù)相加、兩負(fù)數(shù)相加、正負(fù)兩個數(shù)相加)。(符號位直接參與運算!)[x]原+[y]原=?[x+y]原;[x]原

+[-y]原=?[x-y]原[x]補+[y]補=?[x+y]補;[x]補+[-y]補=?[x-y]補計算機中表示數(shù)據(jù)的寄存寄或存儲單元長度固定,如果運行結(jié)果超過這個長度會產(chǎn)生什么結(jié)果?什么情況下會發(fā)生超出表示范圍的現(xiàn)象?這個結(jié)果能否被利用?試從計算機的角度來判斷運算結(jié)果什么時候出錯了?定點數(shù)加減運算課程結(jié)構(gòu)計算機系統(tǒng)統(tǒng)計硬件運算器數(shù)據(jù)表示數(shù)據(jù)數(shù)據(jù)定點原碼反碼補碼移碼浮點一般表示規(guī)格化IEEE754非數(shù)值數(shù)據(jù)字符漢字BCD碼校驗碼奇偶校驗海明校驗循環(huán)冗余校驗運算方法定點數(shù)補碼加減乘除浮點數(shù)加減乘除規(guī)格化溢出判斷運算器一般運算快速運算典型ALU存儲器控制器總線輸入輸出軟硬件接口軟件主要內(nèi)容定點補碼加減法溢出檢測基本加法器解:[A]補[B]補[A]補

+[B]補+=0.1011=1.1011=10.0110=[A+B]補驗證例設(shè)A=0.1011,B=–

0.0101求[A+B]補0.1011–0.01010.0110∴A+B

=0.0110[A]補[B]補[A]補

+[B]補+=1,0111=1,1011=11,0010=[A+B]補驗證–1001–1110–0101+例設(shè)A=–9,B=–5求[A+B]補解:∴A+B

=–1110①

補碼加法的運算公式為:[x+y]補=[x]補+[y]補②

補碼減法的運算公式為:[x-y]補=

[x]補+[-y]補

③加減法運算規(guī)則:·參加運算的數(shù)都用補碼表示?!?shù)據(jù)的符號與數(shù)據(jù)一樣參加運算?!で蟛顣r將減數(shù)求補,用求和代替求差?!み\算結(jié)果為補碼。如果符號位為0,表明運算結(jié)果為正;如果符號位為1,則表明運算結(jié)果為負(fù)?!し栁坏倪M(jìn)位為模值,應(yīng)該丟掉。定點補碼加減法①補碼加法的運算公式為:[x+y]補=[x]補+[y]補證明:下面以模為2定義的補碼為例,分幾種情況來證明這個公式。

(1)

x>0,y>0,則x+y>0

由于參加運算的數(shù)都為正數(shù),故運算結(jié)果也一定為正數(shù)。又由于正數(shù)的補碼與真值有相同的表示形式,即[x]補=x[y]補=y(tǒng)

所以[x]補+[y]補=x+y=[x+y]補

(2)x>0,y<0,則x+y>0或x+y<0

當(dāng)參加運算的數(shù)一個為正數(shù),一個為負(fù)數(shù)時,則運算結(jié)果有正、負(fù)兩種可能。根據(jù)補碼定義有:

[x]補=x[y]補=2+y所以[x]補+[y]補=2+(x+y)當(dāng)x+y>0時,2+(x+y)>2,2為符號位進(jìn)位,即模丟掉。又因為(x+y)>0,所以

[x]補+[y]補=x+y=[x+y]補當(dāng)x+y<0時,2+(x+y)<2,又因為(x+y)<0,所以

[x]補+[y]補=2+x+y=[x+y]補這里應(yīng)將(x+y)看成一個整體。定點補碼加減法

(3)

x<0,

y>0,

則x+y>0或x+y<0

這種情況和第②種情況類似,即把x與y的位置對調(diào)即可得證。(4)

x<0,

y<0,

則x+y<0

由于參加運算的數(shù)都為負(fù)數(shù),故運算結(jié)果也一定為負(fù)數(shù)。又由于負(fù)數(shù)的補碼為:

[x]

補=

2+x[y]

補=

2+

y

所以

[x]補+[y]

補=

2+(2+x+y)

由于x+y為負(fù)數(shù),其絕對值又小于1,那么(2+

x

y)就一定是小于2而大于1的數(shù),所以上式等號右邊的2必然丟掉,又因為x+y<0,所以

[x]補+[y]補=

(2+x+y)=

2+(x+y)=[x+y]

至此證明了在模為2的定義下,任意兩個數(shù)的補碼之和等于該兩個數(shù)之和的補碼。這是補碼加法的理論基礎(chǔ),其結(jié)論也適用于定點整數(shù)。

定點補碼加減法②

補碼減法的運算公式為:

[x]補-[y]補=

[x]補+[-y]

證明:因為[x]補+[y]補=[x+y]補令x=-y代入,則有[-y]補+[y]補=[-y+y]補=[0]補

=0

所以-[y]補=[-y]補所以:[x]補-[y]補=[x]補+(-[y]補)=[x]補+[-y]

定點補碼加減法

不難發(fā)現(xiàn),只要能通過[y]

補求得[-y]

補,就可以將補碼減法運算化為補碼加法運算。

已知[y]

補,求[-y]

補的法規(guī)是:對[y]

補各位(包括符號位)取反、末位加1,就可以得到[-y]

補。

例如:已知[y]

補=1.1010,則[-y]

補=0.0110;又如:已知[y]

補=0.1110,則[-y]

補=1.0010;

定點補碼加減法證明:[-x]

補與[x]

補的關(guān)系。證明:①當(dāng)0≤x<1時,設(shè)

[x]

補=0.x1x2…

xn

-x=-0.x1x2…

xn所以

[-x]

補=1.x1*x2*…

xn*

+2-n比較[x]

補和[-x]

補,發(fā)現(xiàn)將[x]

補連同符號位求反,末位加1,即得[-x]

補。

②當(dāng)-1≤x<0時,設(shè)

[x]

補=1.x1x2…

xn則

x

=-(0.x1*x2*…

xn*+2-n

)所以

-x=0.1.x1*x2*…

xn*+2-n故

[x]

補=0.…+2-n比較[x]

補和[-x]

補,發(fā)現(xiàn)將[x]

補連同符號位求反,末位加1,即得[-x]

補。(1)設(shè)X=-0.1010Y=0.0101求(X+Y)補和(X-Y)補解:(X)補

=1.0110(Y)補

=0.0101(-Y)補

=1.1011(X)補

1.0110(X)補

1.0110+(Y)補

0.0101+(-Y)補

1.1011(X+Y)補

1.1011(X-Y)補1.0001X+Y=-0.0101X-Y=-0.1111

加減法運算示例(2)

設(shè)X=-0.1011Y=-0.0101求(X+Y)補和(X-Y)補解:(X)補

=1.0101(Y)補

=1.1011(-Y)補

=0.0101(X)補

1.0101(X)補

1.0101+(Y)補

1.1011+(-Y)補

0.0101(X+Y)補

1.0000(X-Y)補1.1010X+Y=-1X-Y=-0.0110

加減法運算示例例練習(xí)1設(shè)x=y=,用補碼求x+y9161116x+y=–0.1100=1216–練習(xí)2設(shè)機器數(shù)字長為8位(含1位符號位)且A=–97,B=+41,用補碼求A

BA

–B=+1110110=+118錯錯主要內(nèi)容定點補碼加減法溢出檢測基本加法器溢出判斷

由于機器碼的位數(shù)通常是給定的(如16位字長,32位字長),因此,數(shù)的表示范圍是有限的,若兩數(shù)進(jìn)行加減運算的結(jié)果超出給定的取值范圍,就會產(chǎn)生溢出。溢出是指運算結(jié)果超過了數(shù)的表示范圍。兩個符號相同的數(shù)相加,才可能產(chǎn)生溢出;兩個符號相異的數(shù)相加,不可能產(chǎn)生溢出。例,X=+0.1011,Y=+0.1001,X+Y=?[X]補0.1011+[Y]補0.10011.0100此時,兩個正數(shù)相加的結(jié)果成為負(fù)數(shù),顯然是錯誤的。溢出判斷又如,X=-0.1101,Y=-0.1011,X+Y=?[X]補1.0011+[Y]補1.01010.1000兩個負(fù)數(shù)相加的結(jié)果成為正數(shù),這同樣是錯誤的。為判斷溢出是否產(chǎn)生,可以采用三種檢測方法。溢出判斷1、單符號位操作檢測方法:當(dāng)運算結(jié)果的符號位與操作數(shù)的符號位不一致時,表示溢出;當(dāng)加數(shù)和被加數(shù)符號位不同時,相加的結(jié)果絕對不會溢出。例,X=+0.1001,Y=+0.1110,是否溢出?

[X]補0.1001+[Y]補0.11101.0111

運算結(jié)果產(chǎn)生溢出。XfYfSfV00111101其它0溢出判斷2、進(jìn)位檢測法Cf C0

0 0 正確(正數(shù))

0 1 上溢

1 0 下溢

1 1 正確(負(fù)數(shù))V=Cf

⊕C0,其中Cf為符號位產(chǎn)生的進(jìn)位,C0為最高有效位產(chǎn)生的進(jìn)位??锤呶坏倪M(jìn)位輸入與其進(jìn)位輸出是否一致從真值表可判斷當(dāng)兩個單符號位補碼進(jìn)行加減運算時,若最高數(shù)值位向符號位的進(jìn)位值C0與符號位產(chǎn)生的進(jìn)位輸出值Cf相同時,則沒有溢出發(fā)生。如果兩個進(jìn)位值不同,則有溢出發(fā)生。溢出表達(dá)式:V=Cf⊕C0。設(shè)xf和yf表示兩個相加數(shù)的符號,C0表示高位的進(jìn)位信號,Cf表示符號位的進(jìn)位信號,S表示結(jié)果的符號,V為溢出信號

例,X=+0.1011,Y=+0.1101[X]補0.1011+[Y]補0.11011.1000若最高數(shù)值位向符號位的進(jìn)位為1,符號位產(chǎn)生的進(jìn)位為0,表示有溢出。又如,X=-0.1011,Y=-0.1100[X]補1.0101+[Y]補1.01000.1001若最高數(shù)值位向符號位的進(jìn)位為0,符號位產(chǎn)生的進(jìn)位為1,表示有溢出。溢出判斷3、變形補碼檢測法(雙符號位)方法:每個操作數(shù)在運算時都采用兩個符號位,正數(shù)用00表示,負(fù)數(shù)用11表示,兩個符號位與碼值一起參加運算;若運算結(jié)果的兩個符號位的代碼不一致時表示溢出,兩個符號位代碼一致時,沒有溢出。設(shè)左邊第一位為第一符號位Sf1,相鄰的為第二符號位Sf2,則溢出邏輯表達(dá)式:

V=Sf1⊕Sf2

若V=0無溢出;V=1有溢出。

溢出判斷主要內(nèi)容定點補碼加減法溢出檢測基本加法器基本的加法器基本的加法和減法器半加器

Hi=Ai⊕Bi

不考慮進(jìn)位全加器

考慮低位進(jìn)位Ci-1和向高位的進(jìn)位Ci

一位全加器真值表輸入輸出AiBiCiSiCi+10000000110010100110110010101011100111111基本的加法器基本的加法器-FA邏輯電路和框圖FA(全加器)邏輯電路圖FA框圖圖行波進(jìn)位的補碼加法/加法器基本的加法器-n位行波進(jìn)位加法器基本的加法器-n位行波進(jìn)位加法器B0A0MB1A1Bn-2An-2Bn-1An-1溢出S0S1Sn-2Sn-1一個“與”門或者一個“或”門的時間延遲為一個T,異或門為3T0時刻3T時刻4T時刻6T時刻6T+2T時刻9T時刻6T+4T時刻6T+2nT時刻6T+2(n-1)T時刻11T時刻6T+2(n-1)T+3T時刻6T+2nT+3T時刻C0C2Cn-1C1Cn并行加法器由知令&A1B1=1A0B0=1A1B1C0&&A0B0&&C2基本的加法器-實現(xiàn)加法的邏輯圖①實現(xiàn)加法時應(yīng)提供以下控制信號:A→ALU,B→ALU,+,ALU→A②實現(xiàn)減法時應(yīng)提供以下控制信號:A→ALU,B*→ALU,ALU+1,+,ALU→A小結(jié)定點補碼加減法運算方法,理解減法運算用加法來實現(xiàn)三種溢出檢測方法及溢出判斷的邏

溫馨提示

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

評論

0/150

提交評論