計算機(jī)組成原理第四版第二章_第1頁
計算機(jī)組成原理第四版第二章_第2頁
計算機(jī)組成原理第四版第二章_第3頁
計算機(jī)組成原理第四版第二章_第4頁
計算機(jī)組成原理第四版第二章_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 為便于軟件移植,按照 IEEE754 標(biāo)準(zhǔn),32位浮點數(shù)和64位浮點數(shù)的標(biāo)準(zhǔn)格式為 : 2.2 2.2 定點加法、減法運算定點加法、減法運算 A 補碼加法補碼加法 B 補碼減法補碼減法 C 溢出及其判斷溢出及其判斷 D 基本的二進(jìn)制加法基本的二進(jìn)制加法/減法器減法器 E 十進(jìn)制加法器十進(jìn)制加法器第二章第二章 第二章第二章 :當(dāng)定點數(shù)加減當(dāng)定點數(shù)加減 運算運算 的結(jié)果超出定點數(shù)的結(jié)果超出定點數(shù) 所能表示的范圍時所能表示的范圍時 就會產(chǎn)生溢出。就會產(chǎn)生溢出。兩個正數(shù)相加,結(jié)果兩個正數(shù)相加,結(jié)果大于機(jī)器所能表示的大于機(jī)器所能表示的最大正數(shù),稱為最大正數(shù),稱為兩個負(fù)數(shù)相加,結(jié)果兩個負(fù)數(shù)相加,結(jié)果小于

2、機(jī)器所能表示的最小于機(jī)器所能表示的最小負(fù)數(shù),稱為小負(fù)數(shù),稱為判斷方法舉例說明溢出溢出常用以下兩種方法:常用以下兩種方法: 1.采用雙符號位(變形補碼)判斷方法:采用雙符號位(變形補碼)判斷方法: 變形補碼:變形補碼: “ “00”00”表示正數(shù)、表示正數(shù)、“11”11”表負(fù)數(shù),兩符號位同時參加運算,表負(fù)數(shù),兩符號位同時參加運算,運算結(jié)果符號出現(xiàn)運算結(jié)果符號出現(xiàn)0101或或1010表明溢出。表明溢出。 1 1)若結(jié)果的符號為)若結(jié)果的符號為1010表負(fù)溢出,說明運算結(jié)果為負(fù)數(shù),其絕對值超出能表負(fù)溢出,說明運算結(jié)果為負(fù)數(shù),其絕對值超出能表示的最大數(shù)值(即結(jié)果小于機(jī)器所能表示的最小負(fù)數(shù))。也稱下溢表

3、示的最大數(shù)值(即結(jié)果小于機(jī)器所能表示的最小負(fù)數(shù))。也稱下溢 2 2)若結(jié)果的符號)若結(jié)果的符號0101表下溢出,說明運算結(jié)果為正數(shù),其大于所能表示的表下溢出,說明運算結(jié)果為正數(shù),其大于所能表示的最大正數(shù)。也稱上溢最大正數(shù)。也稱上溢 溢出實現(xiàn):溢出實現(xiàn): V=SV=Sf1f1SSf2f2 2.利用進(jìn)位值的判斷方法:利用進(jìn)位值的判斷方法: 判斷規(guī)則是:兩補碼數(shù)進(jìn)行加減運算(減法轉(zhuǎn)化為加法)時,若最高數(shù)判斷規(guī)則是:兩補碼數(shù)進(jìn)行加減運算(減法轉(zhuǎn)化為加法)時,若最高數(shù)值位有進(jìn)位值位有進(jìn)位CnCn而符號位無進(jìn)位而符號位無進(jìn)位CfCf時,發(fā)生正溢出。若最高數(shù)值位無進(jìn)位而符時,發(fā)生正溢出。若最高數(shù)值位無進(jìn)位而

4、符號位有進(jìn)位時,發(fā)生負(fù)溢出。號位有進(jìn)位時,發(fā)生負(fù)溢出。 溢出實現(xiàn):溢出實現(xiàn): V= Cn CfV= Cn CfBack第二章第二章 設(shè):被乘數(shù) x原=xf.x1x2 xn 乘數(shù)y原 =yf .y1y2 yn 則 :乘積 z=(xfyf) .(0.x1x2 xn)*(0.y1y2 yn)式中,xf為被乘數(shù)符號,yf為乘數(shù)符號。 乘積符號的運算法則是:同號相乘為正,異號相乘為負(fù)。1. 定點乘法原理定點乘法原理 2.不帶符號的陣列乘法原理設(shè)有兩個不帶符號的二進(jìn)制整數(shù):設(shè)有兩個不帶符號的二進(jìn)制整數(shù):Aam-1a1a0 Bbn-1b1b0實現(xiàn)這個乘法過程所需要的操作和人們的習(xí)慣方法非常類似,如下計算過程

5、:實現(xiàn)這個乘法過程所需要的操作和人們的習(xí)慣方法非常類似,如下計算過程: 2.不帶符號的陣列乘法器不帶符號的陣列乘法器舉例舉例1:5*5不帶符號的陣列乘法器邏輯電路圖不帶符號的陣列乘法器邏輯電路圖第二章第二章 舉例舉例2:已知兩個不帶符號的二進(jìn)制整數(shù)已知兩個不帶符號的二進(jìn)制整數(shù)A 11011, B 10101,求每一部分乘求每一部分乘積項積項aibj的值與的值與p9p8p0的值。的值。解:解:p34例例19二進(jìn)制對二進(jìn)制對2求補器電路圖:求補器電路圖:兩個算前求補器的作用是:將兩個操作數(shù)兩個算前求補器的作用是:將兩個操作數(shù)A和和B在被不帶符號的乘法陣列在被不帶符號的乘法陣列(核心核心部件部件)相

6、乘以前相乘以前,先變成正整數(shù)。而算后求補器的作用則是:當(dāng)兩個輸入操作數(shù)的符號不先變成正整數(shù)。而算后求補器的作用則是:當(dāng)兩個輸入操作數(shù)的符號不一致時一致時,把運算結(jié)果變成帶符號的數(shù)。把運算結(jié)果變成帶符號的數(shù)。例例17 設(shè)設(shè)15,13,用帶求補器的原碼陣列乘法器求出乘積用帶求補器的原碼陣列乘法器求出乘積?解解: 設(shè)最高位為符號位設(shè)最高位為符號位,則輸入數(shù)據(jù)為則輸入數(shù)據(jù)為原原 01111 原原 11101 符號位單獨考慮符號位單獨考慮,算前求補級后算前求補級后 |1111,|1101 計算過程:計算過程:經(jīng)算后求補級輸出并加上乘積符號位經(jīng)算后求補級輸出并加上乘積符號位1,則原碼乘積值為則原碼乘積值為

7、111000011。換算成二進(jìn)制數(shù)真值是換算成二進(jìn)制數(shù)真值是( 11000011)2=(-195)10十進(jìn)制數(shù)驗證:十進(jìn)制數(shù)驗證: 15 (13) 195相等。相等。例例18 設(shè)設(shè)15,13,用帶求補器的補碼陣列乘法器求出乘積用帶求補器的補碼陣列乘法器求出乘積?解解:設(shè)最高位為符號位設(shè)最高位為符號位,則輸入數(shù)據(jù)用補碼表示為則輸入數(shù)據(jù)用補碼表示為補補 01111 補補 10011 符號位單獨運算符號位單獨運算,x0 y0=0+1=1 尾數(shù)部分算前求補器輸出為尾數(shù)部分算前求補器輸出為: |1111,|1101 計算過程:計算過程: 經(jīng)經(jīng)算后求補器輸出為算后求補器輸出為00111101,加符號位加符

8、號位1,得得 補補=100111101 補碼二進(jìn)制數(shù)真值是補碼二進(jìn)制數(shù)真值是-128+125+124+123+122+120=(-195)10 十進(jìn)制數(shù)驗證:十進(jìn)制數(shù)驗證: (+15) (13) 195相等。相等。2.并行直接補碼乘法并行直接補碼乘法 補碼與真值得轉(zhuǎn)換公式:補碼與真值得轉(zhuǎn)換公式: 定點補碼整數(shù)N補anan1a1a0,這里an是符號位。根據(jù)N補的符號,補碼數(shù)N補和真值N的關(guān)系可以表示成: 表達(dá)式合并成下面的統(tǒng)一形式: 一般化的全加器形式:一般化的全加器形式: 常規(guī)的一位全加器可假定它的3個輸入和2個輸出都是正權(quán)。這種加法器通過把正權(quán)或負(fù)權(quán)加到輸入/輸出端,可以歸納出四類加法單元。

9、符號見P43表2.3:0類全加器沒有負(fù)權(quán)輸入;1類全加器有1個負(fù)權(quán)輸入和2個正權(quán)輸入;依次類推。對0類、3類全加器而言有:S/X/YZ/XY/ZX/Y/ZXYZCXYYZZX對1類、2類全加器,則有S/X/YZ/XY/ZX/Y/ZXYZCXYX/ZY/Z3.直接補碼陣列乘法器直接補碼陣列乘法器 設(shè)被乘數(shù)A和乘數(shù)B是兩個5位的二進(jìn)制補碼數(shù),即如果我們用括號來標(biāo)注負(fù)的被加項, 那么A和B相乘過程中所包含的操作步驟如下面矩陣所示:舉例:舉例:例例 已知已知 x補補=01101 , y補補=11011 求求x y補補。 解:計算過程如下:解:計算過程如下: 兩個原碼數(shù)相除時,兩個原碼數(shù)相除時,商的符號

10、商的符號由兩數(shù)的符號按位相加求得,由兩數(shù)的符號按位相加求得,商的數(shù)值商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。部分由兩數(shù)的數(shù)值部分相除求得。 設(shè)有被除數(shù)設(shè)有被除數(shù)x,其原碼為,其原碼為x原原=xf.x1x2xn 除數(shù)除數(shù)y,其原碼為,其原碼為y原原=yf.y1y2yn 則有商則有商q=x/y ,其原碼為,其原碼為 q原原=(xf yf). (x1x2xn/y1y2yn) 商的符號運算商的符號運算qf=xf yf與原碼乘法一樣,用模與原碼乘法一樣,用模2求和得到。求和得到。當(dāng)余數(shù)為正時,商當(dāng)余數(shù)為正時,商“1”,余數(shù)左移一位,減除數(shù);,余數(shù)左移一位,減除數(shù);當(dāng)余數(shù)為負(fù)時,商當(dāng)余數(shù)為負(fù)時,商“0”,余

11、數(shù)左移一位。加除數(shù)。,余數(shù)左移一位。加除數(shù)。流程圖如下流程圖如下:規(guī)則規(guī)則需要指出的是,在定點需要指出的是,在定點小數(shù)除法運算時,為了小數(shù)除法運算時,為了防止溢出,要求被除數(shù)防止溢出,要求被除數(shù)的絕對值小于除數(shù)的絕的絕對值小于除數(shù)的絕對值,即對值,即|X|Y|,且除,且除數(shù)不能為數(shù)不能為0。另外,在原。另外,在原碼加減交替法中,當(dāng)最碼加減交替法中,當(dāng)最終余數(shù)為負(fù)數(shù)時,必須終余數(shù)為負(fù)數(shù)時,必須恢復(fù)一次余數(shù),使之變恢復(fù)一次余數(shù),使之變?yōu)檎鄶?shù),注意此時不為正余數(shù),注意此時不需要再左移了。需要再左移了。已知:已知:x=0.1001,y=0.1011,用加減交替法用加減交替法x/y. 解:解: |x|

12、原原=|x|補補=0.1001,|y|補補=0.1011,-|y|補補=1.0101 被除數(shù)被除數(shù)x/余數(shù)余數(shù)r 商數(shù)商數(shù)q 0 0. 1 0 0 1 +-|y|補補 1 1. 0 1 0 1 1 1. 1 1 1 0 1 1. 1 1 0 0 0 +|y|補補 0 0 . 1 0 1 1 0 0. 0 1 1 1 0 0. 1 1 1 0 0. 1 +-|y|補補 1 1. 0 1 0 1 0 0. 0 0 1 1 0 0. 0 1 1 0 0. 11 +-|y|補補 1 1. 0 1 0 1 1 1.1 0 1 1 1 1. 0 1 1 0 0. 110 +|y|補補 0 0. 1 0 1

13、 1 0 0. 0 0 0 1 0.1101 得:得:q=xy=0.1101,余數(shù),余數(shù)r=2-40.0001 設(shè)有兩個浮點數(shù)設(shè)有兩個浮點數(shù)x和和y,它們分別為,它們分別為 x=2Ex Mx y=2Ey My 運算規(guī)則是:運算規(guī)則是:xy=(Mx2ExEy My)2Ey, ExEy 其中其中Ex和和Ey分別為數(shù)分別為數(shù)x和和y的階碼,的階碼, Mx和和My為數(shù)為數(shù)x 和和y的尾數(shù)。的尾數(shù)。 運算步驟為:運算步驟為: 1. 0 操作數(shù)的檢查; 2. 比較階碼大小并完成對階; 3. 尾數(shù)進(jìn)行加或減運算; 4. 結(jié)果規(guī)格化并進(jìn)行舍入處理。例例 :設(shè)設(shè)x=20100.11011011, y=2100(

14、0.10101100), 求求x y. 解:解:假設(shè)兩數(shù)均以補碼表示,且采用雙符號位,則它們的浮點表示假設(shè)兩數(shù)均以補碼表示,且采用雙符號位,則它們的浮點表示分別為分別為 x浮浮=00 010,00.11011011 y浮浮=00 100,11.01010100(1)求階差并對階求階差并對階 E=Ex Ey Ex Ey補補=Ex補補Ey補補=00 010+11 100=11 110即即E為為2,x的階碼小,應(yīng)使的階碼小,應(yīng)使Mx右移右移2位,位,Ex加加2, x浮浮=00 100,00.00110110(11)其中(其中(11)表示)表示Mx右移右移2位后移出的最低兩位數(shù)。位后移出的最低兩位數(shù)。

15、(2)尾數(shù)求和)尾數(shù)求和 00.00110110(11) + 11.01010100 11.10001010(11)(3)規(guī)格化處理)規(guī)格化處理 尾數(shù)運算結(jié)果的符號位與最高數(shù)值為同值,尾數(shù)運算結(jié)果的符號位與最高數(shù)值為同值,應(yīng)執(zhí)行左規(guī)處理,結(jié)果為應(yīng)執(zhí)行左規(guī)處理,結(jié)果為11.00010101(10),階碼為階碼為00 011。(4)舍入處理)舍入處理 采用采用0舍入法處理,則有舍入法處理,則有 11.00010101 + 1 11.00010110(5)判溢出判溢出 階碼符號位為階碼符號位為00,不溢出,故得最終結(jié)果,不溢出,故得最終結(jié)果為為 x+y=2011 (0.11101010)E2ACE1

16、MQDRE加法器加法器加法器加法器尾碼部件尾碼部件階碼部件階碼部件設(shè)有兩個浮點數(shù)設(shè)有兩個浮點數(shù)x和和y:x=Mx 2Exy=My 2Ex則浮點乘法運算的規(guī)則是:則浮點乘法運算的規(guī)則是:xy=2(Ex+Ey) (MxMy)則浮點除法的運算規(guī)則是:則浮點除法的運算規(guī)則是:xy= 2(Ex-Ey) (MxMy)BackNext=-0.1101, =-0.1011, 求求x+y。解:解:x補補1.0011 y補補1.0101 x補補1. 0 0 1 1 + y補補1. 0 1 0 1 Back溢出舉例溢出舉例一位全加器一位全加器:D 基本的二進(jìn)制加法基本的二進(jìn)制加法/減法器減法器D 基本的二進(jìn)制加法基本的二進(jìn)制加法/減法器減法器對圖2-3(a)所示的一位全加器(FA)來說,Si的時間延遲為6T(每級異或門延遲3T),Ci+1的時間延遲為5T,其中T被定義為相應(yīng)于單級邏輯電路的單位門延遲。T通常采用一個“與非”門或一個“或非”門的時間

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論