第六章 x計算機的運算方法.ppt_第1頁
第六章 x計算機的運算方法.ppt_第2頁
第六章 x計算機的運算方法.ppt_第3頁
第六章 x計算機的運算方法.ppt_第4頁
第六章 x計算機的運算方法.ppt_第5頁
已閱讀5頁,還剩106頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第六章 計算機的運算方法,6.1 無符號數(shù)和有符號數(shù),6.3 定點運算,6.2 數(shù)的定點表示和浮點表示,6.4 浮點四則運算,6.5 算術邏輯單元,1,6.1 無符號數(shù)和有符號數(shù),一、無符號數(shù),8 位 0 255,16 位 0 65535,2,帶符號的數(shù) 符號數(shù)字化的數(shù),+ 0.1011,+ 1100, 1100, 0.1011,真值 機器數(shù),1. 機器數(shù)與真值,二、有符號數(shù),6.1,3,2. 原碼表示法,帶符號的絕對值表示,(1) 定義,整數(shù),x 為真值,n 為整數(shù)的位數(shù),如,x = +1110,x原 = 0 , 1110,x原 = 24 + 1110 = 1 , 1110,用 逗號 將符號

2、位 和數(shù)值位隔開,6.1,4,小數(shù),x 為真值,如,x = + 0.1101,x原 = 0 . 1101,x = + 0.1000000,x原 = 0 . 1000000,用 小數(shù)點 將符號 位和數(shù)值位隔開,用 小數(shù)點 將符號 位和數(shù)值位隔開,6.1,5,(2) 舉例,例 6.1 已知 x原 = 1.0011 求 x,解:,例 6.2 已知 x原 = 1,1100 求 x,解:,0.0011,1100,由定義得,由定義得,6.1,6,例 6.4 求 x = 0 的原碼,解:,設 x = +0.0000,例 6.3 已知 x原 = 0.1101 求 x,解:, x = + 0.1101,同理,對

3、于整數(shù),+ 0原 = 0,0000,+0.0000原 = 0.0000,根據(jù) 定義 x原 = 0.1101,6.1,7,原碼的特點:,簡單、直觀,但是用原碼做加法時,會出現(xiàn)如下問題:,能否 只做加法 ?,加法 正 正,加,加法 正 負,加法 負 正,加法 負 負,減,減,加,正,可正可負,可正可負,負,6.1,8,(1) 補的概念,時鐘,逆時針,順時針,3. 補碼表示法,時鐘以 12為模,稱 + 9 是 3 以 12 為模的補數(shù),6.1,9,結論,一個負數(shù)加上 “?!?即得該負數(shù)的補數(shù),兩個互為補數(shù)的數(shù) 它們絕對值之和即為 模 數(shù),計數(shù)器(模 16), 1011,1011,0000,+ 010

4、1,1011,10000,6.1,10,(mod24),(2) 正數(shù)的補數(shù)即為其本身,兩個互為補數(shù)的數(shù),分別加上模,結果仍互為補數(shù), + 0101 + 0101,+ 0101,24+1 1011,1,0101,用 逗號 將符號位 和數(shù)值位隔開,(mod24),可見,?,+ 0101,0101,0101,1011,0101,+,(mod24+1),6.1,100000,=,11,(3) 補碼定義,整數(shù),x 為真值,n 為整數(shù)的位數(shù),如,x = +1010,= 100000000,x補 = 0,1010,1,0101000,用 逗號 將符號位 和數(shù)值位隔開,6.1,12,小數(shù),x 為真值,x =

5、+ 0.1110,如,x補 = 0.1110,1.0100000,= 10.0000000,6.1,13,(4) 求補碼的快捷方式,= 100000,= 1,0110,10101 + 1,= 1,0110,又x原 = 1,1010,6.1,+ 1,14,(5) 舉例,解:,x = + 0.0001,解:由定義得,x = x補 2,= 1.0001 10.0000,x原 = 1.1111,由定義得,6.1,15,例 6.7,解:,x = x補 24+1,= 1,1110 100000,x原 = 1,0010,由定義得,6.1,16,真值,0, 1000110,1, 0111010,0.1110,

6、1.0010,0.0000,0.0000,1.0000,0,1000110,1,1000110,0.1110,1.1110,0.0000,1.0000,不能表示,練習,求下列真值的補碼,由小數(shù)補碼定義,= 1000110,= 1000110,x補 x原,6.1,17,4. 反碼表示法,(1) 定義,整數(shù),如,x = +1101,x反 = 0,1101,= 1,0010,x 為真值,n 為整數(shù)的位數(shù),6.1,18,小數(shù),x = +0.1101,x反 = 0.1101,= 1.0101,如,x 為真值,6.1,19,(2) 舉例,例 6.10 求 0 的反碼,設 x = +0.0000,x = 0

7、.0000,+0.0000反= 0.0000, 0.0000反= 1.1111, + 0反 0反,解:,同理,對于整數(shù),+0反= 0,0000, 0反= 1,1111,例6.9 已知 x反 = 1,1110 求 x,= 1,1110 11111,= 0001,例6.8 已知 x反 = 0,1110 求 x,解:,由定義得 x = + 1110,解:,6.1,20,三種機器數(shù)的小結,對于正數(shù),原碼 = 補碼 = 反碼,6.1,21,例6.11,-0,-1,-128,-127,-127,-126,-3,-2,-1,6.1,+0,設機器數(shù)字長為 8 位(其中一位為符號位) 對于整數(shù),當其分別代表無符

8、號數(shù)、原碼、補碼和 反碼時,對應的真值范圍各為多少?,22,例6.12,解:,6.1,23,5. 移碼表示法,補碼表示很難直接判斷其真值大小,如,十進制,x + 25,+10101 + 100000,+11111 + 100000,錯,錯,正確,正確,0,10101,1,01011,0,11111,1,00001,+10101, 10101,+11111, 11111,= 110101,= 001011,= 111111,= 000001,二進制,補碼,6.1,24,(1) 移碼定義,x 為真值,n 為 整數(shù)的位數(shù),移碼在數(shù)軸上的表示,如,x = 10100,x移 = 25 + 10100,用

9、 逗號 將符號位 和數(shù)值位隔開,x = 10100,x移 = 25 10100,= 1,10100,= 0,01100,6.1,25,(2) 移碼和補碼的比較,設 x = +1100100,x移 = 27 + 1100100,x補 = 0,1100100,設 x = 1100100,x移 = 27 1100100,x補 = 1,0011100,補碼與移碼只差一個符號位,= 1,1100100,= 0,0011100,1,0,0,1,6.1,26,(3) 真值、補碼和移碼的對照表,- 1 0 0 0 0 0, 0 0 0 0 0,+ 1 1 1 1 1,0 0 0 0 0 0,1 1 1 1 1

10、 1,0 0 0 0 0 0,1 0 0 0 0 0,6.1,27,當 x = 0 時,+0移 = 25 + 0, 0移 = 25 0, +0移 = 0移,當 n = 5 時,最小的真值為 25, 100000移,可見,最小真值的移碼為全 0,(4) 移碼的特點,用移碼表示浮點數(shù)的階碼,能方便地判斷浮點數(shù)的階碼大小,= 1,00000,= 1,00000,= 100000,= 000000,= 25100000,6.1,28,6.2 數(shù)的定點表示和浮點表示,小數(shù)點按約定方式標出,一、定點表示,定點機,小數(shù)定點機,整數(shù)定點機,原碼,補碼,反碼,(1 2-n) +(1 2-n),(2n 1) +(

11、 2n 1), 1 +(1 2-n), 2n +( 2n 1),(1 2-n) +(1 2-n),(2n 1) +( 2n 1),29,二、浮點表示,計算機中 r 取 2、4、8、16 等,當 r = 2,N = 11.0101,= 0.110101210,= 1.1010121,= 1101.012-10,= 0.001101012100,計算機中 S 小數(shù)、可正可負,j 整數(shù)、可正可負,規(guī)格化數(shù),6.2,30,1. 浮點數(shù)的表示形式,Sf 代表浮點數(shù)的符號,n 其位數(shù)反映浮點數(shù)的精度,m 其位數(shù)反映浮點數(shù)的表示范圍,jf 和 m 共同表示小數(shù)點的實際位置,6.2,31,2. 浮點數(shù)的表示范

12、圍,2( 2m1)( 1 2n),2( 2m1)2n,2( 2m1)( 1 2n),2( 2m1)2n,215 ( 1 2-10),2-15 2-10,2-15 2-10,215 ( 1 2-10),上溢 階碼 最大階瑪 下溢 階碼 最小階碼 按 機器零 處理,6.2,32,練習,設機器數(shù)字長為 24 位,欲表示3萬的十進制數(shù),試問在保證數(shù)的最大精度的前提下,除階符、數(shù)符各 取1 位外,階碼、尾數(shù)各取幾位?,滿足 最大精度 可取 m = 4,n = 18,解:,6.2,33,3. 浮點數(shù)的規(guī)格化形式,r = 2,尾數(shù)最高位為 1,r = 4,尾數(shù)最高 2 位不全為 0,r = 8,尾數(shù)最高 3

13、 位不全為 0,4. 浮點數(shù)的規(guī)格化,r = 2,左規(guī) 尾數(shù)左移 1 位,階碼減 1,右規(guī) 尾數(shù)右移 1 位,階碼加 1,r = 4,左規(guī) 尾數(shù)左移 2 位,階碼減 1,右規(guī) 尾數(shù)右移 2 位,階碼加 1,r = 8,左規(guī) 尾數(shù)左移 3 位,階碼減 1,右規(guī) 尾數(shù)右移 3 位,階碼加 1,基數(shù) r 越大,可表示的浮點數(shù)的范圍越大,基數(shù)不同,浮點數(shù)的 規(guī)格化形式不同,基數(shù) r 越大,浮點數(shù)的精度降低,6.2,34,例如:,最大正數(shù),= 215( 1210 ),最小正數(shù),最大負數(shù),最小負數(shù),= 21521,= 215( 12 10 ),= 216,= 21521,= 216,設 m = 4,n =

14、 10,尾數(shù)規(guī)格化后的浮點數(shù)表示范圍,6.2,35,三、舉例,解:,二進制形式,定點表示,浮點規(guī)格化形式,x原 = 1, 0010; 0. 1001100000,x補 = 1, 1110; 0. 1001100000,x反 = 1, 1101; 0. 1001100000,定點機中,浮點機中,000,x = 0.0010011,x = 0.0010011,x = 0.10011000002-10,x原 = x補 = x反 = 0.0010011000,6.2,36,x = 111010,0000,例 6.14,將 58 表示成二進制定點數(shù)和浮點數(shù), 并寫出它在定點機和浮點機中的三種機器數(shù)及階碼

15、 為移碼,尾數(shù)為補碼的形式(其他要求同上例)。,解:,設 x = 58,二進制形式,定點表示,浮點規(guī)格化形式,x原 = 1, 0000111010,x補 = 1, 1111000110,x反 = 1, 1111000101,x原 = 0, 0110; 1. 1110100000,x補 = 0, 0110; 1. 0001100000,x反 = 0, 0110; 1. 0001011111,定點機中,浮點機中,x階移、尾補 = 1, 0110; 1. 0001100000,x = 111010,x = (0.1110100000) 2110,6.2,37,例6.15,寫出對應下圖所示的浮點數(shù)的補

16、碼 形式。 設 n = 10,m = 4, 階符、數(shù)符各取 1位。,解:,真值,最大正數(shù),最小正數(shù),最大負數(shù),最小負數(shù),215(1 210),215 210,215 210,215(1 210),0,1111; 0.1111111111,1,0001; 0.0000000001,1,0001; 1.1111111111,0,1111; 1.0000000001,補碼,6.2,38,當浮點數(shù) 尾數(shù)為 0 時,不論其階碼為何值 按機器零處理,機器零,當浮點數(shù) 階碼等于或小于它所表示的最小 數(shù) 時,不論尾數(shù)為何值,按機器零處理,如 m = 4 n = 10,當階碼用移碼,尾數(shù)用補碼表示時,機器零為,

17、有利于機器中“ 判 0 ” 電路的實現(xiàn),當階碼和尾數(shù)都用補碼表示時,機器零為,6.2,39,四、IEEE 754 標準,符號位 S 階碼 尾數(shù) 總位數(shù),1 8 23 32,1 11 52 64,1 15 64 80,尾數(shù)為規(guī)格化表示,非 “0” 的有效位最高位為 “1”(隱含),6.2,40,6.3 定 點 運 算,一、移位運算,1. 移位的意義,15 米 = 1500 厘米,小數(shù)點右移 2 位,機器用語,左移 絕對值擴大,右移 絕對值縮小,在計算機中,移位與加減配合,能夠實現(xiàn)乘除運算,41,2. 算術移位規(guī)則,1,右移 添 1,左移 添 0,0,反 碼,補 碼,原 碼,負數(shù),0,原碼、補碼、

18、反碼,正數(shù),添補代碼,碼 制,符號位不變,6.3,42,例6.16,設機器數(shù)字長為 8 位(含一位符號位),寫出 A = +26時,三種機器數(shù)左、右移一位和兩位后的表示形式及對應的真值,并分析結果的正確性。,解:,A = +26,則 A原 = A補 = A反 = 0,0011010,+ 6,0,0000110,+13,0,0001101,+104,0,1101000,+ 52,0,0110100,+26,0,0011010,移位前,= +11010,6.3,43,例6.17,設機器數(shù)字長為 8 位(含一位符號位),寫出 A = 26時,三種機器數(shù)左、右移一位和兩位后的表示形式及對應的真值,并分

19、析結果的正確性。,解:,A = 26, 6,1,0000110, 13,1,0001101, 104,1,1101000, 52,1,0110100, 26,1,0011010,移位前,原碼,= 11010,6.3,44, 6,1,1111001, 13,1,1110010, 104,1,0010111, 52,1,1001011, 26,1,1100101,移位前, 7,1,1111001, 13,1,1110011, 104,1,0011000, 52,1,1001100, 26,1,1100110,移位前,補碼,反碼,6.3,45,3. 算術移位的硬件實現(xiàn),(a)真值為正,(b)負數(shù)的原

20、碼,(c)負數(shù)的補碼,(d)負數(shù)的反碼,出錯,影響精度,出錯,影響精度,正確,影響精度,正確,正確,6.3,46,4. 算術移位和邏輯移位的區(qū)別,算術移位,有符號數(shù)的移位,邏輯移位,無符號數(shù)的移位,邏輯左移,邏輯右移,低位添 0,高位移丟,高位添 0,低位移丟,例如 01010011,邏輯左移,10100110,邏輯右移,01011001,算術左移,算術右移,00100110,11011001(補碼),高位 1 移丟,10110010,6.3,47,二、加減法運算,1. 補碼加減運算公式,(1) 加法,(2) 減法,整數(shù),A補 + B補,= A+B補(mod 2n+1),小數(shù),A補 + B補,

21、= A+B補(mod 2),整數(shù),A B補,= A+(B )補,= A補 + B補,(mod 2n+1),小數(shù),A B補,= A+(B )補,(mod 2),連同符號位一起相加,符號位產生的進位自然丟掉,= A補 + B補,6.3,48,2. 舉例,解:,A補,B補,A補 + B補,+,= 0 . 1 0 1 1,= 1 . 1 0 1 1,= 1 0 . 0 1 1 0,= A + B補,驗證,0.1011, 0.0101,0.0110, A + B = 0 . 0 1 1 0,A補,B補,A補 + B補,+,= 1 , 0 1 1 1,= 1 , 1 0 1 1,= 1 1 , 0 0 1

22、 0,= A + B補,驗證, 1001, 1110,解:, A + B = 1110,6.3,49,例 6.20,設機器數(shù)字長為 8 位(含 1 位符號位) 且 A = 15, B = 24,用補碼求 A B,解:,A補 + B補,+,= 1, 1110111,= A B補,B補 = 0, 0011000,練習 2 設機器數(shù)字長為 8 位(含 1 位符號位) 且 A = 97,B = +41,用補碼求 A B,A B = + 1110110 = + 118, A B = 1001 = 9,錯,錯,6.3,50,3. 溢出判斷,(1) 一位符號位判溢出,參加操作的 兩個數(shù)(減法時即為被減數(shù)和“

23、求補” 以后的減數(shù))符號相同,其結果的符號與原操作 數(shù)的符號不同,即為溢出,硬件實現(xiàn),如,有 溢出,無 溢出,6.3,溢出,51,(2) 兩位符號位判溢出,x補 + y補 = x + y 補 (mod 4),x y補 = x補 + y補 (mod 4),結果的雙符號位 相同 未溢出,結果的雙符號位 不同 溢出,最高符號位 代表其 真正的符號,6.3,52,4. 補碼加減法的硬件配置,6.3,53,三、乘法運算,1. 分析筆算乘法,A = 0.1101 B = 0.1011,AB = 0.10001111,0 . 1 1 0 1,0 . 1 0 1 1,1 1 0 1,1 1 0 1,0 0 0

24、 0,1 1 0 1,0 . 1 0 0 0 1 1 1 1,符號位單獨處理,乘數(shù)的某一位決定是否加被乘數(shù),4個位積一起相加,乘積的位數(shù)擴大一倍,乘積的符號心算求得,?,6.3,54,2. 筆算乘法改進,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.010 A + 0. 1( A +0.1A),= 0.1A +0.1 0 A+0.1(A + 0.1A),= 2-1A +2-1 0 A+2-1(A + 2-1(A+0),第一步 被乘數(shù)A + 0,第三步 部分積

25、 + 被乘數(shù),6.3,55,3. 改進后的筆算乘法過程(豎式),0 . 0 0 0 0,0 . 1 1 0 1,0 . 1 1 0 1,0 . 1 1 0 1,0 . 0 0 0 0,0 . 1 1 0 1,初態(tài),部分積 = 0,乘數(shù)為 1,加被乘數(shù),乘數(shù)為 1,加被乘數(shù),乘數(shù)為 0,加 0,乘數(shù)為 1,加 被乘數(shù),6.3,56,小結,被乘數(shù)只與部分積的高位相加,硬件,3個寄存器,具有移位功能,一個全加器,6.3,57,4. 原碼乘法,(1) 原碼一位乘運算規(guī)則,以小數(shù)為例,數(shù)值部分為絕對值相乘 x* y*,6.3,58,(2) 原碼一位乘遞推公式,z0,6.3,59,例6.21,已知 x =

26、 0.1110 y = 0.1101 求x y原,解:,6.3,數(shù)值部分的運算,0 . 0 0 0 0,0 . 1 1 1 0,0 . 1 1 1 0,0 . 0 0 0 0,0 . 1 1 1 0,0 . 1 1 1 0,部分積 初態(tài) z0 = 0,邏輯右移,邏輯右移,60, 數(shù)值部分按絕對值相乘,x* y* = 0. 1 0 1 1 0 1 1 0,則 x y原 = 1. 1 0 1 1 0 1 1 0,特點,絕對值運算,邏輯移位,例6.21 結果,用移位的次數(shù)判斷乘法是否結束,6.3,61,(3) 原碼一位乘的硬件配置,6.3,62,(4) 原碼兩位乘,原碼乘,符號位 和 數(shù)值位 部分

27、分開運算,兩位乘,每次用 乘數(shù)的 2 位判斷 原部分積 是否加 和 如何加 被乘數(shù),1 1,1 0,0 1,0 0,3 ?,先 減 1 倍 的被乘數(shù) 再 加 4 倍 的被乘數(shù),6.3,63,(5) 原碼兩位乘運算規(guī)則,6.3,64,例6.22,已知 x = 0.111111 y = 0.111001 求xy原,0 0 0 . 0 0 0 0 0 0,0 0 0 . 1 1 1 1 1 1,0 0 0 . 1 1 1 1 1 1,0 0 . 1 1 1 0 0 1,0,初態(tài) z0 = 0,+ x*, Cj = 0,0 0 1 . 1 1 1 1 1 0,+ 2x*,Cj = 0,1 1 1 .

28、0 0 0 0 0 1, x*, Cj = 1,0 0 0 . 1 1 1 1 1 1,+ x*, Cj = 0,0,0,1,補碼右移,補碼右移,6.3,解:,數(shù)值部分的運算,65, 數(shù)值部分的運算,x* y* = 0. 1 1 1 0 0 0 0 0 0 1 1 1,則 x y原 = 1. 1 1 1 0 0 0 0 0 0 1 1 1,例6.22 結果,特點,絕對值的補碼運算,算術移位,用移位的次數(shù)判斷乘法是否結束,6.3,66,(6) 原碼兩位乘和原碼一位乘比較,絕對值,絕對值的補碼,邏輯右移,算術右移,n,n,思考 n 為奇數(shù)時,原碼兩位乘 移 ?次,最多加 ?次,6.3,67,5.

29、補碼乘法,設 被乘數(shù),乘數(shù), 被乘數(shù)任意,乘數(shù)為正,同原碼乘,但 加 和 移位 按 補碼規(guī)則 運算,乘積的符號自然形成, 被乘數(shù)任意,乘數(shù)為負,乘數(shù)y補,去掉符號位,操作同 ,最后 加x補,校正,(1) 補碼一位乘運算規(guī)則,6.3,以小數(shù)為例,68, Booth 算法,(被乘數(shù)、乘數(shù)符號任意),x y補,2-1,2-2,附加位 yn+1,6.3,69, Booth 算法遞推公式,z0補= 0,z1補= 2-1(yn+1yn)x補+z0補 yn+1 = 0,zn補= 2-1(y2y1)x補+zn-1補,x y補= zn補+(y1y0)x補,最后一步不移位,如何實現(xiàn) yi+1yi ?,0 0,0

30、1,1 0,1 1,0,1,-1,0,6.3,70,例6.23,已知 x = +0.0011 y = 0.1011 求xy補,解:,0 0 . 0 0 0 0,1 1 . 1 1 0 1,1 1 . 1 1 0 1,0 0 . 0 0 1 1,1 1 . 1 1 0 1,0 0 . 0 0 1 1,1 1 . 1 1 0 1,1 . 0 1 0 1,0,x補 = 0.0011,y補 = 1.0101,x補 = 1.1101,+x補,+x補,+x補,+x補,+x補, xy補 =1.11011111,最后一步不移位,6.3,71,(2) Booth 算法的硬件配置,6.3,72,乘法小結,原碼乘

31、符號位 單獨處理 補碼乘 符號位 自然形成,原碼乘去掉符號位運算 即為無符號數(shù)乘法,不同的乘法運算需有不同的硬件支持,整數(shù)乘法與小數(shù)乘法完全相同 可用 逗號 代替小數(shù)點,6.3,73,四、除法運算,1. 分析筆算除法,x = 0.1011 y = 0.1101 求 xy,0 . 1 0 1 1,0 . 1 1 0 1,0 . 0 1 1 0 1,0 . 0 1 0 0 1,0 . 0 0 1 1 0 1,0 . 0 0 0 1 0 1,0 . 0 0 0 0 1 1 0 1,0 . 0 0 0 0 0 1 1 1,1,商符單獨處理,心算上商,余數(shù)不動低位補“0” 減右移一位的除數(shù),上商位置不固

32、定,商符心算求得,0,0 .,1,0,1,0,0,0,?,?,?,6.3,74,2. 筆算除法和機器除法的比較,商符單獨處理,心算上商,符號位異或形成,| x | | y | 0 上商 1,| x | | y | 0 上商 0,2 倍字長加法器,上商位置 不固定,1 倍字長加法器,在寄存器 最末位上商,6.3,75,3. 原碼除法,以小數(shù)為例,被除數(shù)不等于 0,除數(shù)不能為 0,約定,6.3,76,(1) 恢復余數(shù)法,0 . 1 0 1 1,1 . 0 0 1 1,1 . 0 0 1 1,1 . 0 0 1 1,0 . 0 0 0 0,+ y*補,0,0 . 1 1 0 1,恢復余數(shù),+ y*補

33、,+y*補,解:,x原 = 1.1011 y原 = 1.1101,1,+y*補,y*補 = 0.1101 y*補 = 1.0011,邏輯左移,邏輯左移,6.3,77,1 . 0 0 1 1,0 . 1 1 0 1,1 . 0 0 1 1,+ y*補,恢復余數(shù),+ y*補,上商 5 次,第一次上商判溢出,余數(shù)為正 上商 1,余數(shù)為負 上商 0,恢復余數(shù),移 4 次,1,0,1,+y*補,邏輯左移,6.3,78,(2) 不恢復余數(shù)法,余數(shù) Ri0 上商 “1”,2Ri y*,余數(shù) Ri0 上商 “0”, Ri + y* 恢復余數(shù),2( Ri+y*) y* = 2Ri + y*,加減交替,恢復余數(shù)法

34、運算規(guī)則,不恢復余數(shù)法運算規(guī)則,上商“1” 2Ri y*,上商“0” 2Ri + y*,(加減交替法),6.3,79,解:,例6.25,0 . 1 0 1 1,1 . 0 0 1 1,0 . 1 1 0 1,1 . 0 0 1 1,1 . 0 0 1 1,0 . 1 1 0 1,0 . 0 0 0 0,+ y*補,0,+y*補,+ y*補,+ y*補,+y*補,x原 = 1.1011,y*補 = 0.1101,y*補 = 1.0011,y原 = 1.1101,1,1,0,1,邏輯左移,6.3,80,上商 n+1 次,例6.25 結果,特點,用移位的次數(shù)判斷除法是否結束,第一次上商判溢出,移 n

35、 次,加 n+1 次,6.3,81,(3) 原碼加減交替除法硬件配置,A、X、Q 均 n +1 位,用 Qn 控制加減交替,6.3,82,Ri補= 0.1000,4. 補碼除法,(1) 商值的確定,x補 = 0.1011,y補 = 1.1101,Ri補= 0.1000,x補 = 1.1101,y補 = 0.1011,x*y*,Ri補與y補同號,“夠減”,x*y*,Ri補與y補異號,“不夠減”,+,+, 比較被除數(shù)和除數(shù)絕對值的大小,x 與 y 同號,6.3,83,小結,x補 = 0.1011,y補 = 1.1101,Ri補= 0.1000,x補 = 1.1101,y補 = 0.1011,Ri補

36、= 0.1000,x*y*,Ri補與y補異號,“夠減”,x*y*,Ri補與y補同號,“不夠減”,+,+,x 與 y 異號,6.3,84, 商值的確定,x補與 y補同號,正商,按原碼上商,x補與 y補異號,負商,按反碼上商,末位恒置“1”法,小 結,簡 化 為,(同號),(異號),(異號),(同號),6.3,85,(2) 商符的形成,除法過程中自然形成,x補和y補同號,x補y補,比較Ri補和y補,同號(夠)“1”,異號(不夠)“0”,原碼上商,小數(shù)除法 第一次“不夠”上“0”,正商,x補和y補異號,x補+y補,比較Ri補和y補,異號(夠)“0”,同號(不夠)“1”,反碼上商,小數(shù)除法 第一次“不

37、夠”上“1”,負商,6.3,86,(3) 新余數(shù)的形成,加減交替,6.3,87,例6.26,解:,x補 = 1.0101 y補 = 0.1101 y補 = 1.0011,1 . 0 1 0 1,0 . 1 1 0 1,1 . 0 0 1 1,0 . 1 1 0 1,0 . 1 1 0 1,0 . 0 0 0 0,異號做加法,1,0 . 0 0 1 0,同號上“1”,異號上“0”,+y補,異號上“0”,+y補,同號上“1”,末位恒置“1”,0,0,1,1,+y補,邏輯左移,6.3,88,(4) 小結,補碼除法共上商 n +1 次(末位恒置 1) 第一次為商符,加 n 次 移 n 次,第一次商可判

38、溢出,精度誤差最大為 2-n,6.3,89,6.4 浮點四則運算,一、浮點加減運算,x = Sx 2jx,y = Sy 2jy,1. 對階,(1) 求階差,(2) 對階原則,j = jx jy =,jx= jy 已對齊,jx jy,jx jy,x 向 y 看齊,y 向 x 看齊,x 向 y 看齊,y 向 x 看齊,小階向大階看齊,jx1,jy+1,jx+1,jy1,90,例如,解:,x補 = 00, 01; 00.1101 y補 = 00, 11; 11.0110,1. 對階,j補 = jx補 jy補,= 00, 01,11, 01,11, 10,階差為負( 2),11.1001, x+y補

39、= 00, 11; 11. 1001, 對階,x補 = 00, 11; 00.0011,+,+,對階后的Sx補,6.4, 求階差,2. 尾數(shù)求和,91,3. 規(guī)格化,(1) 規(guī)格化數(shù)的定義,(2) 規(guī)格化數(shù)的判斷,S0,真值,原碼,補碼,反碼,規(guī)格化形式,S 0,規(guī)格化形式,真值,原碼,補碼,反碼,原碼 不論正數(shù)、負數(shù),第一數(shù)位為1,補碼 符號位和第 1 數(shù)位不同,6.4,92,特例,S = 1, 1補 是規(guī)格化的數(shù),6.4,93,(3) 左規(guī),(4) 右規(guī),上例 x+y補 = 00, 11; 11. 1001,左規(guī)后 x+y補 = 00, 10; 11. 0010, x + y = ( 0.

40、1110)210,當 尾數(shù)溢出( 1)時,需 右規(guī),6.4,94,例6.27,解:,x補 = 00, 010; 00. 110100,y補 = 00, 001; 00. 101100, 對階, 尾數(shù)求和,j補 = jx補 jy補,= 00, 010,11, 111,100, 001,階差為 +1, y補 = 00, 010; 00. 010110,Sx補 = 00. 110100,Sy補 = 00. 010110,對階后的Sy補,01. 001010,+,+,尾數(shù)溢出需右規(guī),6.4,95, 右規(guī),x +y補 = 00, 010; 01. 001010,x +y補 = 00, 011; 00.

41、100101,右規(guī)后, x +y = 0. 100101 211,4. 舍入,在 對階 和 右規(guī) 過程中,可能出現(xiàn) 尾數(shù)末位丟失 引起誤差,需考慮舍入,(1) 0 舍 1 入法,(2) 恒置 “1” 法,6.4,96,例 6.28,解:,x補 = 11, 011; 11. 011000,y補 = 11, 100; 00. 111000, 對階,j補 = jx補 jy補,= 11, 011,00, 100,11, 111,階差為 1, x補 = 11, 100; 11. 101100,x = ( 0.101000)2-101,y = ( 0.111000)2-100,+,6.4,97, 尾數(shù)求和

42、,Sx補 = 11. 101100,Sy補 = 11. 001000,+,110. 110100, 右規(guī),x+y補 = 11, 100; 10. 110100,x+y補 = 11, 101; 11. 011010,右規(guī)后, x y = (0.100110)2-11,6.4,98,5. 溢出判斷,設機器數(shù)為補碼,尾數(shù)為 規(guī)格化形式,并假 設階符取 2 位,階碼取 7 位,數(shù)符取 2 位,尾數(shù) 取 n 位,則該 補碼 在數(shù)軸上的表示為,2127(1), 2-128(2-1+ 2-n),2-1282-1,2127(12-n),階碼 01, ,階碼 01, ,階碼 10, ,按機器零處理,6.4,99

43、,二、浮點乘除運算,x = Sx 2jx,y = Sy 2jy,1. 乘法,x y = (Sx Sy)2jx+jy,2. 除法,(1) 階碼采用 補碼定點加(乘法)減(除法)運算,(2) 尾數(shù)乘除同 定點 運算,4. 浮點運算部件,階碼運算部件,尾數(shù)運算部件,3. 步驟,(3) 規(guī)格化,6.4,100,6.5 算術邏輯單元,一、ALU 電路,組合邏輯電路 Ki 不同取值 Fi 不同,四位 ALU 74181,M = 0 算術運算,M = 1 邏輯運算,S3 S0 不同取值,可做不同運算,101,二、快速進位鏈,1. 并行加法器,= Ai Bi + (Ai+Bi)Ci-1,di = Ai Bi 本地進位,ti = Ai + Bi 傳送條件,則 Ci = di + tiCi-1,6.5,102,2. 串行進位鏈,進位鏈,傳送進位的電路,串行進位鏈,進位串行傳送,以 4 位全加器為例,每一位的進位表達式為,C0 = d0 + t0C-1,C1 = d1 + t1C0,C2 = d2 + t2C1,C3 = d3

溫馨提示

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

評論

0/150

提交評論