計算機組成原理:4-2 數(shù)值的機器運算_第1頁
計算機組成原理:4-2 數(shù)值的機器運算_第2頁
計算機組成原理:4-2 數(shù)值的機器運算_第3頁
計算機組成原理:4-2 數(shù)值的機器運算_第4頁
計算機組成原理:4-2 數(shù)值的機器運算_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、復習思考題91. 當譯碼器有當譯碼器有5個輸入端時個輸入端時, 其其輸出端有輸出端有_個個, 任任一時刻有一時刻有_個有效輸出;個有效輸出;2. 一位全加器如一位全加器如右圖右圖,則,則 Si=_, Ci=_3. 影響并行加法器速度的關鍵影響并行加法器速度的關鍵因素是因素是_和和_。4. 進位進位傳遞函數(shù)傳遞函數(shù)= _, 5. 進位進位產(chǎn)生產(chǎn)生函數(shù)函數(shù)= _。CiFAAiBiCi-1Si第四章 數(shù)值的機器運算4.0 邏輯電路基礎4.1 基本算術運算的實現(xiàn)4.2 定點加減運算4.3 帶符號數(shù)的移位和舍入操作4.4 定點乘法運算4.5 定點除法運算4.6 規(guī)格化浮點運算4.9 運算器和基本組成與實

2、例 4.2 定點加減法運算n計算機中的基本運算n算術運算算術運算n加、減、乘、除四則運算加、減、乘、除四則運算n要考慮符號和編碼格式(即原碼、反碼還是補碼)要考慮符號和編碼格式(即原碼、反碼還是補碼)n可分為定點數(shù)四則運算和浮點數(shù)四則運算可分為定點數(shù)四則運算和浮點數(shù)四則運算n邏輯運算邏輯運算n邏輯與、或、非、異或等運算邏輯與、或、非、異或等運算n針對不帶符號的二進制數(shù)針對不帶符號的二進制數(shù)n加減運算規(guī)則: 參加運算的操作數(shù)取其參加運算的操作數(shù)取其絕對值絕對值; 若做加法,則兩數(shù)直接相加,若做減法,若做加法,則兩數(shù)直接相加,若做減法,則將減數(shù)先變一次補,再進行加法運算;則將減數(shù)先變一次補,再進行

3、加法運算; 運算之后,可能有兩種情況:運算之后,可能有兩種情況: 有進位有進位,結果為正,即得到正確的結果。,結果為正,即得到正確的結果。 無進位無進位,結果為負,則應再變一次補,結果為負,則應再變一次補,才能得到正確的結果。才能得到正確的結果。 結果加上符號位。結果加上符號位。4.2.1 原碼加減運算補碼加法的公式補碼加法的公式: : X 補補Y 補補 XY 補補 在模2意義下,任意兩數(shù)的補碼之和等于該兩數(shù)之和的補碼。 這是補碼加法的理論基礎。特點:特點: 不需要事先判斷符號,符號位不需要事先判斷符號,符號位與數(shù)值與數(shù)值位一起參加位一起參加運算,符號運算,符號位相加后若有進位,則位相加后若有

4、進位,則舍去該進位舍去該進位數(shù)字。數(shù)字。4.2.2 補碼加減運算例:例: X+0.1010, Y+0.0011,求,求 X+Y 解解: 設字長為設字長為5.X補=0. 1 0 1 0Y補=0. 0 0 1 1+10110.X補+Y補=0.1101補碼加法運算舉例X+Y=+0.1101例:例: X-0.1010, Y-0.0011,求,求 X+Y 解解: 設字長為設字長為5.X補=1. 0 1 1 0Y補=1. 1 1 0 1+110011.丟掉丟掉1 X補+Y補=1.0011補碼加法運算舉例X+Y= -0.1101丟掉丟掉例:例: X-0.1010, Y+0.0011,求,求 X+Y 解解:

5、設字長為設字長為5.X補=1. 0 1 1 0Y補=0. 0 0 1 1+1001X補+Y補=1.10011.補碼加法的特點補碼加法的特點:(1)符號位要作為數(shù)的符號位要作為數(shù)的一部分共同參加一部分共同參加運算。運算。(2)符號位的進位自然丟失符號位的進位自然丟失!補碼加法運算舉例X+Y=-0.0111 說明:說明:n -Y補補稱為稱為Y補補的的機器負數(shù)機器負數(shù): -Y補補=Y補補變補變補n由由Y補補求求-Y補補的方法的方法(求補的方法求補的方法): 將將Y補補連同符號位在內連同符號位在內按位求反,末位加按位求反,末位加1。n舉例:Y補=0.1101 -Y補=1.0011 補碼減法運算 X 補

6、補Y 補補 X(-Y) 補補= X 補補-Y 補補_-Y 補補= Y 補補+1例:例: X-0.1010,Y-0.0011,求,求XY 解解:設字長為設字長為5. X補補=1.0110, Y補補=1.1101X補補=1. 0 1 1 0-Y補補=0. 0 0 1 1+1001 1.XY補補1.1001補碼減法運算XY=-0.0111加減法例外情況舉例例例1:X=+1010 Y=+1001 求求 X+Y解:解: X補補= 0 , 1 0 1 0 + Y補補= 0 , 1 0 0 1 1 , 0 0 1 1例例2:X=-1010 Y=-1011 求求 X+Y解:解: X補補= 1, 0 1 1 0

7、+ Y補補= 1, 0 1 0 1 0 , 1 0 1 1較大正數(shù)相加較大正數(shù)相加產(chǎn)生進位,影產(chǎn)生進位,影響符號位響符號位較大的負數(shù)對應較較大的負數(shù)對應較小的正數(shù)補碼,相小的正數(shù)補碼,相加無進位,符號位加無進位,符號位自己相加自己相加設字長為設字長為5 4.2.3 補碼的溢出及與檢測方法在定點小數(shù)機器中,數(shù)的表示范圍為|x|1。在運算過程中如出現(xiàn)|x|1的現(xiàn)象,稱為 “溢出”。機器定點小數(shù)表示機器定點小數(shù)表示正上溢正上溢負上溢負上溢若結果大于機器所能表示的最大正數(shù),稱為若結果大于機器所能表示的最大正數(shù),稱為正上溢正上溢;若結果小于機器所能表示的最小負數(shù),稱為若結果小于機器所能表示的最小負數(shù),稱

8、為負上溢負上溢。1、兩異號數(shù)相加或兩同號數(shù)相減會產(chǎn)生溢出兩異號數(shù)相加或兩同號數(shù)相減會產(chǎn)生溢出( )2、兩同號數(shù)相加或兩異號數(shù)相減時有可能產(chǎn)生溢、兩同號數(shù)相加或兩異號數(shù)相減時有可能產(chǎn)生溢出出( )問題:問題: 溢出及檢測方法n溢出原因n兩個正數(shù)的和太大:產(chǎn)生進位而改變了符號位兩個正數(shù)的和太大:產(chǎn)生進位而改變了符號位n兩個負數(shù)絕對值的和太大:對應的補碼太小,兩個負數(shù)絕對值的和太大:對應的補碼太小,不能向符號位產(chǎn)生進位,使符號位相加后,向不能向符號位產(chǎn)生進位,使符號位相加后,向前產(chǎn)生進位。前產(chǎn)生進位。溢出的判斷方法1 xf .x1. xi xn + yf .y1. yi yn sf .s1. si

9、sn(1)采用單符號位的判斷方法n兩正數(shù)相加,結果為負兩正數(shù)相加,結果為負表明產(chǎn)生正上溢;表明產(chǎn)生正上溢;n兩負數(shù)相加,結果為正兩負數(shù)相加,結果為正表明產(chǎn)生負上溢。表明產(chǎn)生負上溢。n因此可得出采用一個符號位檢測溢出的方法因此可得出采用一個符號位檢測溢出的方法: 當當Xf=Yf=0,Sf=1時,產(chǎn)生時,產(chǎn)生正上溢正上溢。 當當Xf=Yf=1,Sf=0時,產(chǎn)生時,產(chǎn)生負上溢負上溢。溢出溢出V=XfYfSf+XfYfSf X補補= 0 , 1 0 1 0 + Y補補= 0 , 1 0 0 1 1 , 0 0 1 1例例: X-0.100 Y-0.101,求,求 X+Y? 解解: 設字長為設字長為4.

10、X補=1. 1 0 0Y補=1. 0 1 1+11110.1 兩負數(shù)相加,結果應為負數(shù),但運算結果為兩負數(shù)相加,結果應為負數(shù),但運算結果為正數(shù),表明有溢出發(fā)生正數(shù),表明有溢出發(fā)生。最高數(shù)據(jù)向前無進位,符號位向前有進位最高數(shù)據(jù)向前無進位,符號位向前有進位溢出的判斷方法2 (2)采用進位位的判斷方法丟掉丟掉例例: X+100 ,Y-110,求,求 X-Y? 解:設字長為設字長為4.X補=0, 1 0 0 -Y補=0, 1 1 0+01 1,一個正數(shù)減去一個負數(shù),結果為正數(shù),但計算結果為負一個正數(shù)減去一個負數(shù),結果為正數(shù),但計算結果為負數(shù),表明有溢出發(fā)生,出錯數(shù),表明有溢出發(fā)生,出錯最高數(shù)據(jù)向前有進

11、位,符號位向前無進位最高數(shù)據(jù)向前有進位,符號位向前無進位0進位位法進位位法溢出溢出判定邏輯表達式為判定邏輯表達式為:V=Cf C1 (其中其中Cf為符號位產(chǎn)生的進位,為符號位產(chǎn)生的進位, C1為最高數(shù)據(jù)位產(chǎn)生的進位為最高數(shù)據(jù)位產(chǎn)生的進位)溢出的判斷方法2進位位判斷法(3)采用雙符號位的判斷方法 每個操作數(shù)的補碼符號用兩位二進制數(shù)每個操作數(shù)的補碼符號用兩位二進制數(shù)表示,稱為表示,稱為變形補碼:變形補碼:n 用用“00”表示正數(shù),表示正數(shù),“11”表示負數(shù),表示負數(shù),n 兩個符號位同時參加運算兩個符號位同時參加運算 xf1xf2 .x1. xi xnn比較運算結果的兩個符號來判溢出n 如果兩符號位

12、如果兩符號位相同相同,則沒有溢出發(fā)生。,則沒有溢出發(fā)生。n 如果兩符號位如果兩符號位不同不同,則表明產(chǎn)生了溢出。,則表明產(chǎn)生了溢出。溢出的判斷方法3溢出的判斷方法3雙符號位法 xf1xf2 .x1. xi xn + yf1yf2 .y1. yi yn sf1sf2 .s1. si sn“00”表示正數(shù)表示正數(shù)“11”表示負數(shù)表示負數(shù)sf1 高符號位高符號位sf2 低符號位低符號位結果結果結果的數(shù)值位結果的數(shù)值位00正數(shù)正數(shù)0.s1 si sn01正上溢正上溢1.s1 si sn10負上溢負上溢0.s1 si sn11負數(shù)負數(shù)0.s1 si sn例: X+0.1100 Y+0.1000,求 X+

13、Y? 解:設字長為設字長為5.X補=00. 1100Y補=00. 1000+ 01. 0100結果說明:n正數(shù)太大,最高數(shù)據(jù)位向前有進位,而符號位向前無進位;正數(shù)太大,最高數(shù)據(jù)位向前有進位,而符號位向前無進位;n兩個符號位:兩個符號位:01,表示正上溢表示正上溢溢出的判斷方法3雙符號位法例: X-0.1100 Y-0.1000,求 X+Y? 解:設字長為設字長為5.X補=11. 0100Y補=11. 1000+10. 1100結果說明: n負數(shù)絕對值太大了對應的補碼小,最高數(shù)據(jù)位向前無進位,負數(shù)絕對值太大了對應的補碼小,最高數(shù)據(jù)位向前無進位,而符號位向前有進位;而符號位向前有進位;n兩個符號位

14、:兩個符號位:10,表示負上溢表示負上溢雙符號位法溢出邏輯表達式為雙符號位法溢出邏輯表達式為:V=Sf1 Sf2 (其中(其中Sf1為高為高符號位,符號位,Sf2為低符號位為低符號位)溢出的判斷方法3雙符號位法補碼定點加減法運算的實現(xiàn)由n個全加器組成n位并行加法器 (1) 進位位判溢出進位位判溢出: V=Cn Cn+1 (2) 雙符號位判溢出雙符號位判溢出: V=Sf1 Sf2MyMxyx補補補M=0 做加法做加法M=1 做減法做減法(求反加(求反加1)FAVSf2CnFAXn-1 Yn-1Cn-1Sn-1=1C1FAX2 Y2C1S2=1VFAX1 Y1C0S1=1Cn+1FAXn YnSf

15、1=1=1=1MC4.3 帶符號數(shù)的移位和舍入操作n移位的意義n機器用語機器用語n移位運算n左移左移 絕對值擴大絕對值擴大n右移右移 絕對值縮小絕對值縮小n在計算機中,在計算機中,移位與加減配合,能夠實現(xiàn)移位與加減配合,能夠實現(xiàn)乘除運算乘除運算。15m = 1500 cm 15 相對于小數(shù)點相對于小數(shù)點 左移左移 2 位位( 小數(shù)點不動小數(shù)點不動 !)小數(shù)點小數(shù)點右移右移 2 位位邏輯移位n邏輯移位無符號數(shù)的移位。n邏輯邏輯左移:低位左移:低位添添 0,高位移,高位移丟。丟。n邏輯邏輯右移:高位右移:高位添添 0,低位移,低位移丟。丟。n例: 01010011 邏輯左移 10100110 邏輯

16、右移 0010100100算術移位n算術移位有符號數(shù)的移位應保持符號不變應保持符號不變。n左移一位使數(shù)值增大一倍,相當于該數(shù)乘以左移一位使數(shù)值增大一倍,相當于該數(shù)乘以2,n右移一位使數(shù)值縮小一倍,相當于該數(shù)除以右移一位使數(shù)值縮小一倍,相當于該數(shù)除以2。n原碼的移位規(guī)則 數(shù)值部分移位后的空出位補數(shù)值部分移位后的空出位補000移位前原碼移位前原碼左移一位左移一位右移一位右移一位0,00110100,01101000,00011011,00110101,01101001,0001101補碼的移位規(guī)則n 正數(shù):符號位不變,正數(shù):符號位不變,數(shù)值部分移位后的空出位補數(shù)值部分移位后的空出位補0n 負數(shù)負數(shù)

17、:符號位不變,:符號位不變,左移后的空出位補左移后的空出位補0,右移右移后的空出位補后的空出位補1。0移位前補碼移位前補碼左移一位左移一位右移一位右移一位0,00110100,01101000,00011011,11001101,10011001,1110011n恒舍恒舍(切斷)(切斷)n無論多余部分為何代碼,一律舍去。無論多余部分為何代碼,一律舍去。n 馮馮諾依曼舍入法諾依曼舍入法(恒置1法)n不論多余部分為何代碼,都把結果最低位置不論多余部分為何代碼,都把結果最低位置1。n下舍上入法下舍上入法(0舍1入法)n若要舍去部分的最高位若要舍去部分的最高位0,則切斷舍去部分,則切斷舍去部分,n若要

18、舍去部分的最高位若要舍去部分的最高位1,則余下部分末位加,則余下部分末位加1。n查表舍入查表舍入法法(ROM舍入法舍入法)n查找存放在查找存放在ROM中的表來取得相應中的表來取得相應的處理結果。的處理結果。帶符號數(shù)的舍入操作分析筆算乘法A = 0.1101 B = 0.1011AB = 0.100011110 . 1 1 0 10 . 1 0 1 11 1 0 11 1 0 10 0 0 01 1 0 10 . 1 0 0 0 1 1 1 1符號位單獨處理符號位單獨處理乘數(shù)的某一位決定是否加被乘數(shù)乘數(shù)的某一位決定是否加被乘數(shù) 4個位積一起相加個位積一起相加乘積乘積的數(shù)值位數(shù)的數(shù)值位數(shù)擴大一倍擴

19、大一倍乘積的符號心算求得乘積的符號心算求得 ?4.4 定點乘法運算A B = A 0.1011= 2-1A +2-1 0 A+2-1(A + 2-1(A+0)第一步第一步 被乘數(shù)被乘數(shù)A + 0第二步第二步 右移右移 一一 位,得新的部分積位,得新的部分積第八步第八步 右移右移 一一 位,得結果位,得結果第三步第三步 部分積部分積 + 被乘數(shù)被乘數(shù)右移一位右移一位筆算乘法改進= 2-1 A +2-2 0 A+2-3 A + 2-4 AA = 0.1101 B = 0.10110 . 0 0 0 00 . 1 1 0 10 . 1 1 0 10 . 1 1 0 10 . 0 0 0 00 . 1

20、 1 0 1初態(tài),初態(tài),部分積部分積 = 0乘數(shù)為乘數(shù)為 1,加被乘數(shù),加被乘數(shù)乘數(shù)為乘數(shù)為 1,加被乘數(shù),加被乘數(shù)乘數(shù)為乘數(shù)為 0,加,加 01 . 0 0 1 110 . 1 0 0 11 11 . 0 0 0 11 1 1乘數(shù)為乘數(shù)為 1,加,加 被乘數(shù)被乘數(shù)0 . 1 0 0 01 1 1 11,得結果,得結果1 0 1 1=0 . 0 1 1 01,形成新的部分積,形成新的部分積1 1 0 1=0 . 1 0 0 11,形成新的部分積,形成新的部分積1 1 1 0=0 . 0 1 0 01,形成新的部分積,形成新的部分積1 1 1 1= 部部 分分 積積 乘乘 數(shù)數(shù) 說說 明明改進后

21、的筆算乘法過程(豎式)小結n 乘法 運算可用 加法和移位實現(xiàn)n若若n = 4,則加則加 4 次,移次,移 4 次。次。n 由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加n然后然后右移右移 1 位位形成新的部分積,形成新的部分積,n同時同時 乘數(shù)乘數(shù) 右移右移 1位位(末位移丟),空出高位存放部分(末位移丟),空出高位存放部分積的低位。積的低位。n 被乘數(shù)只與部分積的高位相加。n 硬件n3個寄存器(具有移位功能),個寄存器(具有移位功能),1個全加器個全加器4.4.1 原碼一位乘法n 設被乘數(shù)X原=Xf . X1X2Xn 乘數(shù)Y原=Yf . Y1Y2Ynn 乘積Z原=Zf . Z1Z2Z2nnZf =

22、Xf Yf nZi =Xi Yi n式中,式中, Xf 為被乘數(shù)符號,為被乘數(shù)符號,Yf為乘數(shù)符號。為乘數(shù)符號。 n運算原則:n乘積的符號位單獨處理乘積的符號位單獨處理 Xf Yf n數(shù)值部分為絕對值相乘數(shù)值部分為絕對值相乘 0.X1X2Xn 0.Y1Y2Yn 原碼一位乘法規(guī)則n 積的符號位由被乘數(shù)積的符號位由被乘數(shù)和乘數(shù)的符號位通過和乘數(shù)的符號位通過異或運算實現(xiàn)。異或運算實現(xiàn)。n 被乘數(shù)、乘數(shù)僅數(shù)值被乘數(shù)、乘數(shù)僅數(shù)值部分參加運算,部分參加運算,n 被乘數(shù)、部分積為雙被乘數(shù)、部分積為雙符號數(shù),乘數(shù)為單符符號數(shù),乘數(shù)為單符號數(shù)號數(shù) 開始開始 zi = 0, i=0 Yn=1 zi + 0 zi+ Xzi , Y右移一位,右移一位,i =

溫馨提示

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

評論

0/150

提交評論