![數(shù)據(jù)的表示和運算-_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/4/99ae044c-cb31-4681-86a8-c4aa5c159a26/99ae044c-cb31-4681-86a8-c4aa5c159a261.gif)
![數(shù)據(jù)的表示和運算-_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/4/99ae044c-cb31-4681-86a8-c4aa5c159a26/99ae044c-cb31-4681-86a8-c4aa5c159a262.gif)
![數(shù)據(jù)的表示和運算-_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/4/99ae044c-cb31-4681-86a8-c4aa5c159a26/99ae044c-cb31-4681-86a8-c4aa5c159a263.gif)
![數(shù)據(jù)的表示和運算-_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/4/99ae044c-cb31-4681-86a8-c4aa5c159a26/99ae044c-cb31-4681-86a8-c4aa5c159a264.gif)
![數(shù)據(jù)的表示和運算-_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-7/4/99ae044c-cb31-4681-86a8-c4aa5c159a26/99ae044c-cb31-4681-86a8-c4aa5c159a265.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、計算機組成原理計算機組成原理第第2 2章章 數(shù)據(jù)的表示和運算數(shù)據(jù)的表示和運算主要內(nèi)容:主要內(nèi)容:(一)(一) 數(shù)制與編碼數(shù)制與編碼 1. 1. 進位計數(shù)制及其相互轉換進位計數(shù)制及其相互轉換 2. 2. 真值和機器數(shù)真值和機器數(shù) 3. BCD3. BCD 碼碼 4. 4. 字符與字符串字符與字符串 5. 5. 校驗碼校驗碼 (二)(二) 定點數(shù)的表示和運算定點數(shù)的表示和運算 1. 1. 定點數(shù)的表示定點數(shù)的表示 :無符號數(shù)的表示;有符號數(shù)的表示。:無符號數(shù)的表示;有符號數(shù)的表示。 2. 2. 定點數(shù)的運算定點數(shù)的運算 :定點數(shù)的位移運算;原碼定點數(shù)的加:定點數(shù)的位移運算;原碼定點數(shù)的加/ /減運
2、算;補減運算;補碼定點數(shù)的加碼定點數(shù)的加/ /減運算;定點數(shù)的乘減運算;定點數(shù)的乘/ /除運算;溢出概念和判別方法。除運算;溢出概念和判別方法。 (三)(三) 浮點數(shù)的表示和運算浮點數(shù)的表示和運算 1. 1. 浮點數(shù)的表示浮點數(shù)的表示 :浮點數(shù)的表示范圍;:浮點數(shù)的表示范圍;IEEE754IEEE754 標準標準 2. 2. 浮點數(shù)的加浮點數(shù)的加/ /減運算減運算 (四)(四) 算術邏輯單元算術邏輯單元 ALU ALU 1. 1. 串行加法器和并行加法器串行加法器和并行加法器 2. 2. 算術邏輯單元算術邏輯單元 ALUALU 的功能和機構的功能和機構 計算機組成原理計算機組成原理2.2 2.
3、2 定點數(shù)的表示和運算定點數(shù)的表示和運算(1)無符號數(shù)的表示)無符號數(shù)的表示 機器字長的全部位數(shù)均用來表示數(shù)值的大小,相當于數(shù)的絕機器字長的全部位數(shù)均用來表示數(shù)值的大小,相當于數(shù)的絕對值。對于對值。對于字長為字長為n位位的無符號數(shù)的表示范圍為:的無符號數(shù)的表示范圍為:0 2n-1。(2)帶符號數(shù)帶符號數(shù)的表示的表示 帶符號數(shù)是指在計算機中將數(shù)的符號數(shù)碼化。在計算機中,帶符號數(shù)是指在計算機中將數(shù)的符號數(shù)碼化。在計算機中,一般規(guī)定二進制的最高位為符號位,最高位為一般規(guī)定二進制的最高位為符號位,最高位為“0”表示該數(shù)表示該數(shù)為正,為為正,為“1”表示該數(shù)為負。這種在機器中使用符號位也被表示該數(shù)為負。
4、這種在機器中使用符號位也被數(shù)碼化的數(shù)稱為機器數(shù)。根據(jù)符號位和數(shù)值位的編碼方法不數(shù)碼化的數(shù)稱為機器數(shù)。根據(jù)符號位和數(shù)值位的編碼方法不同,機器數(shù)分為原碼、補碼和反碼等。同,機器數(shù)分為原碼、補碼和反碼等。2.2.1 2.2.1 定點數(shù)的表示定點數(shù)的表示計算機組成原理計算機組成原理 X = X = X =定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn原原 X 1 X=1+|X| -1 X 0反反 X(2 - 2 ) |X|-n0 X 1-1 X 0補補 X 2 + X=2-|X|Mod ( 2 - 2 )0 X 1-1 X 0Mod 20 X 1-n(純小數(shù)純小數(shù)) 原碼,反碼,補碼的定義原碼,反
5、碼,補碼的定義計算機組成原理計算機組成原理 實例: X1 = 0.1011 -0.1011 0.0000 X 原 = 0 1011 1 1011 0 0000 1 0000 說明:原碼是符號位加數(shù)的絕對值,符號 0正 1負 原碼零有兩個編碼,+0 和 -0 的編碼不同 原碼難以用于加減運算,但乘除方便定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn X 1 X=1+|X| -1 X 00 X 1(純小數(shù)純小數(shù)) 原碼的定義與說明原碼的定義與說明定義:定義: X 原原 =計算機組成原理計算機組成原理實例: X1 = 0.1011 -0.1011 0.0000 X 反 = 0 1011 1 01
6、00 0 0000 1 1111 結論:反碼反碼負數(shù)為負數(shù)為符號位符號位跟跟每位的反每位的反, 符號 0正 1負 反碼零有二個編碼,分 +0 和 -0 反碼難以用于算術運算,加減有循環(huán)進位問題定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn(純小數(shù)純小數(shù)) 反碼的定義與說明反碼的定義與說明定義定義: X 反反 = X(2 - 2 ) |X|-n0 X 1-1 X 0 Mod ( 2 - 2 )-n計算機組成原理計算機組成原理實例: X1 = 0.1011 -0.1011 0.0000 X 補 = 0 1011 1 0101 0 0000說明:補碼最高一位是符號位,符號 0 正 1 負 補碼表
7、示為:2符號位 + 數(shù)的真值 補碼零只有一個編碼,故能表示 -1(10000) 補碼能很好地用于加減(乘除)運算定點小數(shù)表示定點小數(shù)表示: Ns N1 N2 Nn X 2 + X=2-|X| -1 X 00 X 1(純小數(shù)純小數(shù)) 補碼的定義與說明補碼的定義與說明定義:定義: X 補補 =MOD 2計算機組成原理計算機組成原理補碼的一些補充說明補碼的一些補充說明 得到一個數(shù)補碼表示的簡便辦法 當當X0時,時,X補補的符號位取的符號位取 0,數(shù)值位取,數(shù)值位取X的各數(shù)值位上的的各數(shù)值位上的值,此時有值,此時有X補補 = X 當當X0時,時,X補補的符號位取的符號位取 1,將,將 X 的各數(shù)值位取
8、反的各數(shù)值位取反,再在再在最低位加最低位加1,以得到,以得到 X補補的各數(shù)值位上的值的各數(shù)值位上的值 (見負數(shù) X補 與 X反 的關系) X原與X補的相互轉換簡便方法 從X原求X補時,對正數(shù)或零,有X補=X原,對負數(shù)則符號位不變,各數(shù)值位變反后再在最低位執(zhí)行加 1 操作 由X補求 X原時,對負數(shù)仍是符號位不變,各數(shù)值位變反后再在最低位執(zhí)行加 1 操作計算機組成原理計算機組成原理已知已知 y補補如何簡單求如何簡單求- y補補 y補補 = 0 y1 y2 yny = 0. y1 y2 yny = 0. y1 y2 yn y補補 = 1 y1 y2 yn + 2-n y補補 = 1 y1 y2 yn
9、 y原原 = 1 y1 y2 yn + 2-n y = (0. y1 y2 yn + 2-n) y = 0. y1 y2 yn + 2-n y補補 = 0 y1 y2 yn + 2-n每位取反,每位取反,即得即得 y補補y補補連同符號位在內(nèi),連同符號位在內(nèi),末位加末位加 1每位取反,每位取反,即得即得 y補補y補補連同符號位在內(nèi),連同符號位在內(nèi),末位加末位加 1計算機組成原理計算機組成原理整數(shù)的編碼表示整數(shù)的編碼表示整數(shù)的 原碼 反碼 補碼 表示與小數(shù)的三種表示基本相同差別僅表現(xiàn)在小數(shù)點的位置可以認為整數(shù)的小數(shù)點在最低數(shù)值位的右側因此整數(shù)的模與整數(shù)位數(shù)有關講課中不大用整數(shù)講 原 反 補 碼定義
10、 例如:整數(shù)6位編碼 ( 1 位符號位,5 位數(shù)值位) X = +01110 X原= 0 01110 X補= 0 01110 X = - 01110 X原= 1 01110 X補= 1 10010計算機組成原理計算機組成原理x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)x原原 = x 2n x 02n x 0 x 2nx補補 = x 2n x 02n+1 + x 0 x 2n(mod 2n+1)x反反 = x 2n x 0( 2n+1 1) + x 0 x 2n(mod 2n+1 1)整數(shù)的編碼表示整數(shù)的編碼表示計算機組成原理計算機組成原理0000000000000001000000100111
11、11111000000010000001111111011111111011111111二進制代碼二進制代碼 無符號數(shù)無符號數(shù)對應的真值對應的真值原碼對應原碼對應 的真值的真值補碼對應補碼對應 的真值的真值反碼對應反碼對應 的真值的真值128129012127253254255-128-127-3-2-1 0+1+2+127-127-126-2-1-0+0+1+2+127-0-1-125-126-127+0+1+2+127設機器數(shù)字長為設機器數(shù)字長為 8 位位 (含一位符號位含一位符號位),表示整數(shù)時,表示整數(shù)時,每個編碼分別代表無符號數(shù)、原碼、補碼和反碼的真每個編碼分別代表無符號數(shù)、原碼、補
12、碼和反碼的真值各為多少值各為多少 ?計算機組成原理計算機組成原理原、反、補碼表示小結原、反、補碼表示小結 正數(shù)的 原碼、反碼、補碼表示均相同,符號位為 0,數(shù)值位同數(shù)的真值。 零的原碼和反碼均有 2個編碼,補碼只 1個碼 負數(shù)的 原碼、反碼、補碼表示均不同, 符號位為 1,數(shù)值位:原碼為數(shù)的絕對值 反碼為每一位均取反碼 補碼為反碼再在最低位+1 由 X補 求 -X補:每一位取反后再在最低位+1計算機組成原理計算機組成原理整數(shù)的移碼表示整數(shù)的移碼表示 (用于浮點數(shù)階碼用于浮點數(shù)階碼)x移移 = 2n + x(2nx 2n)移碼定義移碼定義x 為真值,為真值,n 為為 整數(shù)的位數(shù)整數(shù)的位數(shù)移碼在數(shù)
13、軸上的表示移碼在數(shù)軸上的表示x移碼移碼2n+112n2n 12n00真值真值例如:例如:x = 10100 x移移 = 25 + 10100=100000+10100= 110100 x = 10100 x移移 = 25 10100=100000-10100= 001100計算機組成原理計算機組成原理- 1 0 0 0 0 0- 1 1 1 1 1- 1 1 1 1 0- 0 0 0 0 1 0 0 0 0 0+ 0 0 0 0 1+ 0 0 0 1 0+ 1 1 1 1 0+ 1 1 1 1 1真值真值 x ( n = 5 )x補補x移移x移移對應的對應的十進制整數(shù)十進制整數(shù)真值、補碼和移碼
14、的對照表真值、補碼和移碼的對照表0123132333462630 0 0 0 0 00 0 0 0 1 00 0 0 0 0 10 1 1 1 1 11 0 0 0 0 01 0 0 0 0 11 0 0 0 1 01 1 1 1 1 01 1 1 1 1 10 1 1 1 1 10 1 1 1 1 00 0 0 0 1 00 0 0 0 0 10 0 0 0 0 01 1 1 1 1 11 0 0 0 1 01 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0+ 1 1 1 1 10 0 0 0 0 01 1 1 1 1 10 0 0 0 0 01 0 0 0 0 0計算機組成原
15、理計算機組成原理2.2.2 定點數(shù)的運算定點數(shù)的運算(1)定點數(shù)的移位運算)定點數(shù)的移位運算 移位是一種常用的操作,例如,在乘法中需要左移,在除法中需要右移,移位是一種常用的操作,例如,在乘法中需要左移,在除法中需要右移,在代碼處理中也經(jīng)常需要移位操作。在代碼處理中也經(jīng)常需要移位操作。 移位可分為算術移位和邏輯移位,有左移和右移之分??梢詫拇嫫骰虼嬉莆豢煞譃樗阈g移位和邏輯移位,有左移和右移之分??梢詫拇嫫骰虼鎯卧械臄?shù)據(jù)進行移位。一次可以只移一位,也可以按指令中規(guī)定的次儲單元中的數(shù)據(jù)進行移位。一次可以只移一位,也可以按指令中規(guī)定的次數(shù)移若干位。數(shù)移若干位。 算術移位:移位的對象是數(shù)值型數(shù)
16、據(jù),在移位后會發(fā)生數(shù)值大小的變化。算術移位:移位的對象是數(shù)值型數(shù)據(jù),在移位后會發(fā)生數(shù)值大小的變化。 對于二進制數(shù),左移,絕對值擴大;右移,絕對值縮小。對于二進制數(shù),左移,絕對值擴大;右移,絕對值縮小。 算術移位規(guī)則:符號位不變算術移位規(guī)則:符號位不變 邏輯移位:包括邏輯左移、邏輯右移、循環(huán)左移和循環(huán)右移等。邏輯移位邏輯移位:包括邏輯左移、邏輯右移、循環(huán)左移和循環(huán)右移等。邏輯移位使代碼序列進行循環(huán)移位或非循環(huán)移位,參與移位的對象被視為純邏輯意使代碼序列進行循環(huán)移位或非循環(huán)移位,參與移位的對象被視為純邏輯意義上的代碼組合,義上的代碼組合,邏輯移位只是使數(shù)碼位置發(fā)生變化,沒有正、負性質(zhì),邏輯移位只是
17、使數(shù)碼位置發(fā)生變化,沒有正、負性質(zhì),也沒有數(shù)值大小問題。也沒有數(shù)值大小問題。 算術移位和邏輯移位的區(qū)別:算術移位和邏輯移位的區(qū)別: 算術移位:有符號數(shù)移位算術移位:有符號數(shù)移位 邏輯移位:無符號數(shù)移位邏輯移位:無符號數(shù)移位計算機組成原理計算機組成原理【例例】 選擇題:數(shù)據(jù)每左移選擇題:數(shù)據(jù)每左移1 1 位相當于原數(shù)乘以位相當于原數(shù)乘以2 , 2 , 為防止左移操作造成為防止左移操作造成溢出,補碼左移的前提條件是其原最高有效位(溢出,補碼左移的前提條件是其原最高有效位( )。)。 (當運算結果超出機器數(shù)所能表示的范圍時,稱為溢出。當運算結果超出機器數(shù)所能表示的范圍時,稱為溢出。)A A為為0 0
18、 B B為為1 1 C C與原符號位相同與原符號位相同 D D與原符號位相異與原符號位相異 【分析分析】當最高有效位和符號位不一致時,如果左移當最高有效位和符號位不一致時,如果左移1 1 位,將會發(fā)生溢出。位,將會發(fā)生溢出?!練w納總結歸納總結】算術移位是帶符號數(shù)的移位,移位前后符號位不應該發(fā)生變算術移位是帶符號數(shù)的移位,移位前后符號位不應該發(fā)生變化。如果最高有效位和符號位不一致,則左移化。如果最高有效位和符號位不一致,則左移1 1 位,符號位將發(fā)生變化。位,符號位將發(fā)生變化。答案:答案: C C 【例例】已知已知X/2X/2補補=C6H=C6H,計算機的字長為,計算機的字長為8 8位二進制編碼
19、,位二進制編碼, XX補補= =?解:解: XX補補= X/2= X/2補補2 2 , C6H=11000110BC6H=11000110B,左移,左移1 1位變成位變成10001100B=8CH10001100B=8CHXX補補=8CH=8CH計算機組成原理計算機組成原理(2 2)原碼定點數(shù)的加)原碼定點數(shù)的加/ /減運算減運算 對原碼表示的兩個操作數(shù)進行加減運算時,計算機的實際操對原碼表示的兩個操作數(shù)進行加減運算時,計算機的實際操作是加還是減,不僅取決指令中的操作碼,還取決于兩個操作是加還是減,不僅取決指令中的操作碼,還取決于兩個操作數(shù)的符號。而且運算結果的符號判斷也較復雜。作數(shù)的符號。而
20、且運算結果的符號判斷也較復雜。 例如,加法指令指示做(例如,加法指令指示做(+X)+(-Y),由于一操作數(shù)為),由于一操作數(shù)為負,實際操作是做減法(負,實際操作是做減法(+X)-(+Y),結果符號與絕對),結果符號與絕對值大的符號相同。同理,在減法指令中指示做值大的符號相同。同理,在減法指令中指示做 (+X)-(-Y),實際操作做加法(),實際操作做加法(+X)+(+Y),結果與),結果與被減數(shù)符號相同。被減數(shù)符號相同。 由于原碼加減法比較繁瑣,相應地需要由復雜的硬件邏輯由于原碼加減法比較繁瑣,相應地需要由復雜的硬件邏輯才能實現(xiàn),因此在計算機中很少被采用。才能實現(xiàn),因此在計算機中很少被采用。計
21、算機組成原理計算機組成原理(3 3)補碼定點數(shù)的加)補碼定點數(shù)的加/ /減運算減運算 加法加法 整數(shù)整數(shù) X + Y補補= X補補 + Y補補 (mod 2mod 2n+1n+1) 小數(shù)小數(shù) X + Y補補= X補補 + Y補補 (mod 2mod 2) 減法減法 整數(shù)整數(shù) XY補補= X +(- Y )補補= X補補+ -Y補補 (mod 2mod 2n+1n+1) 小數(shù)小數(shù) XY補補= X +(- Y )補補= X補補+ -Y補補 (mod 2mod 2) 無需符號判定,數(shù)值位連同符號位一起相加,符號位產(chǎn)生無需符號判定,數(shù)值位連同符號位一起相加,符號位產(chǎn)生的進位自然丟掉。的進位自然丟掉。
22、關鍵是由關鍵是由Y補補 求求-Y補補 , -Y補補= 對對 Y補補 逐位取反再在最逐位取反再在最低位加低位加 1。(包括符號位)(包括符號位)計算機組成原理計算機組成原理實現(xiàn)補碼加減運算的邏輯電路實現(xiàn)補碼加減運算的邏輯電路X X+YX X-Y / 加加減減FXFs 加法器加法器 ( ALU) 目的目的 寄存器寄存器源源 寄存器寄存器 選通門選通門二選通門二選通門選通門選通門F1XYFYXF010 1F /YFsOVRZC累加器累加器/Y計算機組成原理計算機組成原理00000111實現(xiàn)補碼加運算的執(zhí)行過程實現(xiàn)補碼加運算的執(zhí)行過程X X+Y完成加運算,需完成加運算,需要把被加數(shù)和加要把被加數(shù)和加數(shù)
23、送數(shù)送ALU的輸入的輸入端,運算結果要端,運算結果要接收到累加器,接收到累加器,需要給出命令:需要給出命令: FXFYXFFs 加法器加法器 0101011010110001 選通門選通門二選一二選一選通門選通門XYFsOVRZC被加數(shù)被加數(shù)/和和/Y加數(shù)加數(shù)CP10110001 0101011000000111CP命令建立命令建立 數(shù)據(jù)傳送數(shù)據(jù)傳送 加運算加運算存結果存結果命令建立命令建立00000111數(shù)據(jù)傳送數(shù)據(jù)傳送 命令建立命令建立計算機組成原理計算機組成原理實現(xiàn)補碼減運算的邏輯電路實現(xiàn)補碼減運算的邏輯電路X XY完成減運算,需完成減運算,需要把被減數(shù)和減要把被減數(shù)和減數(shù)送數(shù)送ALU的
24、輸入的輸入端,運算結果要端,運算結果要接收到累加器,接收到累加器,需要給出命令:需要給出命令: /,F(xiàn)1FXF/YXFFs 加法器加法器 0101011011110001 選通門選通門二選一二選一選通門選通門XYFsOVRZC被減數(shù)被減數(shù)/差差/Y減數(shù)減數(shù)CPCP命令建立命令建立 數(shù)據(jù)傳送數(shù)據(jù)傳送 加運算加運算存結果存結果命令建立命令建立 數(shù)據(jù)傳送數(shù)據(jù)傳送 命令建立命令建立F1100001110 01100101 01010110 0110101 計算機組成原理計算機組成原理(4 4)溢出概念和判別方法)溢出概念和判別方法 當運算結果超出機器數(shù)所能表示的范圍時,稱為溢出。兩個當運算結果超出機器
25、數(shù)所能表示的范圍時,稱為溢出。兩個異號數(shù)相加或兩個同號數(shù)相減,其結果是不會溢出的。僅當異號數(shù)相加或兩個同號數(shù)相減,其結果是不會溢出的。僅當兩個同號數(shù)相加或者兩個異號數(shù)相減時,才有可能發(fā)生溢出,兩個同號數(shù)相加或者兩個異號數(shù)相減時,才有可能發(fā)生溢出,一旦溢出,運算結果就不正確了,因此必須將溢出的情況檢一旦溢出,運算結果就不正確了,因此必須將溢出的情況檢查出來。判別方法有三種:查出來。判別方法有三種: 當符號相同的兩數(shù)相加時,如果結果的符號與加數(shù)(或被當符號相同的兩數(shù)相加時,如果結果的符號與加數(shù)(或被加數(shù))不相同,則為溢出。加數(shù))不相同,則為溢出。 當任意符號兩數(shù)相加時,如果當任意符號兩數(shù)相加時,如
26、果C=Cf,運算結果正確,其,運算結果正確,其中中C為數(shù)值最高位的進位,為數(shù)值最高位的進位,Cf為符號位的進位。如果為符號位的進位。如果CCf ,則為溢出,所以則為溢出,所以溢出條件溢出條件=C Cf 。 采用雙符號采用雙符號fs2fs1,正數(shù)的雙符號位為,正數(shù)的雙符號位為00,負數(shù)的雙符號,負數(shù)的雙符號位為位為11。符號位參與運算,當結果的兩個符號位不相同時。符號位參與運算,當結果的兩個符號位不相同時為溢出。所以為溢出。所以溢出條件溢出條件= fs2 fs1 。計算機組成原理計算機組成原理補碼加減法溢出判斷補碼加減法溢出判斷 方法之一:單符號位,正 + 正 得負 或 負 + 負 得正 方法之
27、二:數(shù)值位有向符號位的進位,但符號位不產(chǎn)生向更高位的進位,數(shù)值位沒有向符號位的進位,但符號位產(chǎn)生向更高位的進位 方法之三:雙符號位的結果為 01 或 10,最高符號位 代表其 真正的符號計算機組成原理計算機組成原理補碼加減法運算實例補碼加減法運算實例X = 0.1011 y = -0.0101X補 = 00 1011, Y補 = 11 1011 補碼 -Y補 = 00 0101 00 1011 00 1011+11 1011 + 00 0101100 0110 01 0000X+Y (不溢出) X-Y (溢出)正數(shù)加負數(shù)不正數(shù)加負數(shù)不會溢出會溢出符號位和數(shù)值符號位和數(shù)值位都產(chǎn)生進位位都產(chǎn)生進位
28、雙符號位結果雙符號位結果相同不是溢出相同不是溢出正數(shù)加正數(shù)結正數(shù)加正數(shù)結果為負是溢出果為負是溢出數(shù)值位有進位數(shù)值位有進位符號位無進位符號位無進位是溢出是溢出雙符號位結果雙符號位結果不相同是溢出不相同是溢出判斷溢出的判斷溢出的 3套方案是一個事實的套方案是一個事實的 3種不同的表述種不同的表述計算機組成原理計算機組成原理單符號位判斷單符號位判斷V= x0 y0 z0 + x0y0z0 判斷電路 FA V z0 y0 x0 判斷電路 正加正得負或負加負得正表明溢出正加正得負或負加負得正表明溢出計算機組成原理計算機組成原理符號位與最高數(shù)值位判斷符號位與最高數(shù)值位判斷V= C0 C1 + C0C1 判
29、斷電路 FA FA z1 z0 V c1 c0 y1 x1 y0 x0 數(shù)值位向符數(shù)值位向符號位有進位號位有進位但符號位無但符號位無進位輸出進位輸出或或數(shù)值位向符數(shù)值位向符號位沒有進號位沒有進位但符號位位但符號位本身有進位本身有進位輸出輸出是溢出是溢出計算機組成原理計算機組成原理雙符號位判斷雙符號位判斷V= z0z0 + z0z0 = z0z0 判斷電路 FA FA V c0 z0 c1 c0 z0 x0 y0 y0 x0 運算結果運算結果的的 2 個符個符號位的值號位的值不相同表不相同表明有溢出明有溢出計算機組成原理計算機組成原理單選題:(單選題:(20092009年)一個年)一個 C C
30、語言機器在一臺語言機器在一臺3232位機器上運行。程序中定義位機器上運行。程序中定義了三個變量了三個變量 x,yx,y和和z z,其中,其中x x和和z z是是intint型,型,y y 為為 shortshort型。當型。當 x = 127,y = x = 127,y = -9 -9 時,執(zhí)行賦值語句時,執(zhí)行賦值語句 z = x+y z = x+y 后,后,x,yx,y和和z z的值分別是(的值分別是( )。)。A Ax = 0000007FH, y = FFF9H, z = 00000076Hx = 0000007FH, y = FFF9H, z = 00000076HB Bx = 000
31、0007FH, y = FFF9H, z = FFFF0076Hx = 0000007FH, y = FFF9H, z = FFFF0076HC Cx = 0000007FH, y = FFF7H, z = FFFF0076Hx = 0000007FH, y = FFF7H, z = FFFF0076HD Dx = 0000007FH, y = FFF7H, z = 00000076Hx = 0000007FH, y = FFF7H, z = 00000076H分析:分析: shortshort型數(shù)據(jù)為型數(shù)據(jù)為1616位;位;intint型為型為3232位(從選擇項中也可知)。位(從選擇項中也
32、可知)。 對于對于y=-9y=-9,在機器中用補碼表示為,在機器中用補碼表示為FFF7HFFF7H(關鍵),計算(關鍵),計算 z=x+y=0000007FH+z=x+y=0000007FH+FFFFFFF7HFFFFFFF7H(符號擴展為(符號擴展為3232位)位)= 00000076H= 00000076H技巧:可用技巧:可用排除法排除法,得到,得到 =-9=-9的補碼為的補碼為FFF7H FFF7H 可排除可排除A A和和B B,再由,再由127+127+(-9-9)=118=118可知可知z z為正數(shù),即可排除為正數(shù),即可排除C C,再驗證,再驗證D D中中z=76H=118z=76H
33、=118,確認選,確認選D D??疾橹R點:考查知識點: 16 16 進制負數(shù)的補碼表示,符號擴展,補碼運算。進制負數(shù)的補碼表示,符號擴展,補碼運算。答案:答案: D D真題解析真題解析P47 二二.4 題題 計算機組成原理計算機組成原理對于對于 固定字長的數(shù),右移將舍去低位部分。固定字長的數(shù),右移將舍去低位部分。兩種常用的舍入規(guī)則:兩種常用的舍入規(guī)則: 0舍舍1入法:入法: 末位恒置末位恒置1法:法:(5 5)舍入處理)舍入處理計算機組成原理計算機組成原理(6 6)定點數(shù)的乘)定點數(shù)的乘/ /除運算除運算n 定點乘法運算定點乘法運算 原碼一位乘法原碼一位乘法 :兩個原碼數(shù)相乘,其乘積的:兩個
34、原碼數(shù)相乘,其乘積的符號符號為相乘兩數(shù)的異或值為相乘兩數(shù)的異或值,數(shù)值為兩數(shù)絕對值之積。,數(shù)值為兩數(shù)絕對值之積。 定點補碼一位乘法:有的機器為方便加減法運算,定點補碼一位乘法:有的機器為方便加減法運算,數(shù)據(jù)以補碼形式存放。數(shù)據(jù)以補碼形式存放。校正法和比較法校正法和比較法校正法校正法:乘法直接用補碼進行,以減少轉換次數(shù)。具體:乘法直接用補碼進行,以減少轉換次數(shù)。具體規(guī)則如下:規(guī)則如下:XY補=X補( 0. Y1Y2 Yn )+-X補Y0當當Y Y為負時,求為負時,求XXYY補補,需要用,需要用XX補補乘上乘上YY補補的數(shù)值位,再加上的數(shù)值位,再加上-X-X補補該算法需要區(qū)分乘數(shù)的符號,不方便。該
35、算法需要區(qū)分乘數(shù)的符號,不方便。計算機組成原理計算機組成原理比較法比較法布斯(布斯(Booth)法:)法:用相鄰兩位乘數(shù)比用相鄰兩位乘數(shù)比較的結果決定較的結果決定加加X補補、 X補補或或0。 布斯公式:在乘數(shù)布斯公式:在乘數(shù)Yn后添加后添加Yn+1=0。按照。按照Yn+1 ,Yn相鄰兩位的三種情況,其運算規(guī)則如下:相鄰兩位的三種情況,其運算規(guī)則如下:Yn+1 Yn =00或或11,部分積加,部分積加0,右移,右移1位位;Yn+1 Yn =10 ,部分積加,部分積加X補,右移補,右移1位;位; Yn+1 Yn =01 ,部分積加,部分積加X補,右移補,右移1位位最后一步不移位。最后一步不移位。計
36、算機組成原理計算機組成原理X*Y原 = ( X + Y) (X* Y ) 例如: X = 0.1101 Y = 0.1011 0. 1 1 0 1 * 0. 1 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 + 1 1 0 10 . 1 0 0 0 1 1 1 1 手工運算過程最終乘積原碼表示: 0 1 0 0 0 1 1 1 1解決方案: 1. 每次求出部分積,不是一次總累加 2. 變每次左移被乘數(shù)為右移部分積,移出的部分保存起來 3. 乘數(shù)放到一個移位寄存器中,用最低的一位來控制相加數(shù)(取被乘數(shù)或0)。符號異或,符號異或,絕對值相乘絕對值相乘該方案用于計算機會有問題: 1.
37、加法器只有兩個數(shù)據(jù)輸入端 2. 加法器與乘運算數(shù)據(jù)位數(shù)相同 3. 如何判斷乘數(shù)每一位是 0 或者 1原碼乘運算原碼乘運算-手算方案手算方案計算機組成原理計算機組成原理原碼一位乘法原碼一位乘法乘法開始時,乘法開始時,A寄存器寄存器被清為零,作為被清為零,作為初始部分積初始部分積。被乘數(shù)被乘數(shù)放在放在B寄存器寄存器中,中,乘數(shù)乘數(shù)放在放在C寄存器寄存器中。實現(xiàn)中。實現(xiàn)部分積與被乘數(shù)相加是在部分積與被乘數(shù)相加是在ALU中完成的。中完成的。每步運算,每步運算,部分積最低一位的值將右移入部分積最低一位的值將右移入C寄存器的寄存器的最高數(shù)值位,使相乘之積的低位部分保存進最高數(shù)值位,使相乘之積的低位部分保存
38、進C寄存器寄存器中,原來的乘數(shù)在逐位右移過程中丟失掉。寄存器中,原來的乘數(shù)在逐位右移過程中丟失掉。寄存器A最終存放為乘積的高最終存放為乘積的高n位,寄存器位,寄存器C最終存放乘積的最終存放乘積的低低n位。位。另外還需要一個計數(shù)器另外還需要一個計數(shù)器Cd用來控制逐位相乘的次數(shù)用來控制逐位相乘的次數(shù),它的初值存放為乘數(shù)的位數(shù)值,在計算的過程中,它的初值存放為乘數(shù)的位數(shù)值,在計算的過程中每完成一位乘計算就執(zhí)行減每完成一位乘計算就執(zhí)行減1操作,待計數(shù)到操作,待計數(shù)到0時,時,給出結束乘運算的控制信號。給出結束乘運算的控制信號。計算機組成原理計算機組成原理實現(xiàn)原碼一位乘法的邏輯線路圖實現(xiàn)原碼一位乘法的邏
39、輯線路圖 加加 法法 器器 部部 分分 積積 被被 乘乘 數(shù)數(shù) 乘乘 數(shù)數(shù) F最最低低位位加運算加運算移位線路移位線路每位每位1套套最最高高位位被乘數(shù)作為加數(shù),用被乘數(shù)作為加數(shù),用乘數(shù)最低位的值控制乘數(shù)最低位的值控制累加,結果右移一位累加,結果右移一位存部分積寄存器,并存部分積寄存器,并且乘數(shù)同時右移一位。且乘數(shù)同時右移一位。部分積的部分積的最低位移最低位移入到乘數(shù)入到乘數(shù)的最高位的最高位計數(shù)器計數(shù)器 CdABC計算機組成原理計算機組成原理高高位位部部分分積積 低低位位部部分分積積/ /乘乘數(shù)數(shù) 說說明明 0 00 0 0 00 00 00 0 1 1 0 0 1 1 1 1 起起始始情情況況
40、 + + 0 00 0 1 11 10 01 1 乘乘數(shù)數(shù)最最低低位位為為 1 1,加加 X X 0 00 0 1 11 10 01 1 0 00 0 0 01 11 10 0 1 1 1 1 0 0 1 1 1 1(丟丟失失) 右右移移部部分分積積和和乘乘數(shù)數(shù) + + 0 00 0 1 11 10 01 1 乘乘數(shù)數(shù)最最低低位位為為 1 1,加加 X X 0 01 1 0 00 01 11 1 0 00 0 1 10 00 01 1 1 1 1 1 1 1 0 0 1 1(丟丟失失) 右右移移部部分分積積和和乘乘數(shù)數(shù) + + 0 00 0 0 00 00 00 0 乘乘數(shù)數(shù)最最低低位位為為
41、0 0,加加 0 0 0 00 0 1 10 00 01 1 0 00 0 0 01 10 00 0 1 1 1 1 1 1 1 1 0 0 (丟丟失失) 右右移移部部分分積積和和乘乘數(shù)數(shù) + + 0 00 0 1 11 10 01 1 乘乘數(shù)數(shù)最最低低位位為為 1 1,加加 X X 0 01 1 0 00 00 01 1 0 00 0 1 10 00 00 0 1 1 1 1 1 1 1 1 1 1 (丟丟失失) 右右移移部部分分積積和和乘乘數(shù)數(shù) 原碼一位乘運算過程舉例原碼一位乘運算過程舉例X = 0.1101 Y = 0.1011【例例】設設X=0.8125,Y=0.6875,用原碼用原碼
42、1位乘的方法,求位乘的方法,求XY。 其中其中寄存器寄存器B=X ,計數(shù)器計數(shù)器Cd=4。計算過程。計算過程:0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 10 0 0 1 1 0 1 1 0 10 0 1 1 0 10 1 0 0 1 10 0 1 0 0 1 1 1 1 00 0 0 0 0 00 0 1 0 0 10 0 0 1 0 0 1 1 1 10 0 1 1 0 10 1 0 0 0 10 0 1 0 0 0 1 1 1 1 +x右移一位右移一位+x右移一位右移一位+0右移一位右移一位+x右移一位右移一位部分積部分積 A 乘數(shù)乘數(shù) C 乘積高
43、位 乘積低位1(丟失)1(丟失)0(丟失)1(丟失)XY=0.10001111XX原原=0.1101, YY原原=0.1011,計算機組成原理計算機組成原理原碼一位乘運算規(guī)則推導原碼一位乘運算規(guī)則推導以小數(shù)為例以小數(shù)為例設設x原原 = x0.x1x2 xn y原原 = y0.y1y2 yn= (x0 y0). x*y*x y原原 = (x0 y0).(0.x1x2 xn)(0.y1y2 yn)式中式中 x*= 0.x1x2 xn 為為 x 的絕對值的絕對值 y*= 0.y1y2 yn 為為 y 的絕對值的絕對值 乘積的符號位單獨處理乘積的符號位單獨處理 x0 y0數(shù)值部分為絕對值相乘數(shù)值部分為
44、絕對值相乘 x* y*計算機組成原理計算機組成原理 原碼一位乘運算規(guī)則原碼一位乘運算規(guī)則 操作數(shù)、結果用原碼表示操作數(shù)、結果用原碼表示 絕對值運算,符號單獨處理絕對值運算,符號單獨處理 被乘數(shù)被乘數(shù)(B)(B)、部分積、部分積(A)(A)取雙符號位取雙符號位 乘數(shù)末位乘數(shù)末位( (Cn)Cn)為判斷位,其狀態(tài)決定下步操作為判斷位,其狀態(tài)決定下步操作 作作n n次循環(huán)(累加、右移)次循環(huán)(累加、右移)特點特點絕對值運算絕對值運算邏輯移位邏輯移位用移位的次數(shù)判斷乘法是否結束用移位的次數(shù)判斷乘法是否結束計算機組成原理計算機組成原理原碼一位分步乘法原碼一位分步乘法每次將一位乘數(shù)所對應的部分積與原部每次
45、將一位乘數(shù)所對應的部分積與原部分積的累加和相加,并移位。分積的累加和相加,并移位。硬件:設置硬件:設置3 3個寄存器(個寄存器(具有右移位功能具有右移位功能):): A A:存放:存放部分積累加和、乘積高位部分積累加和、乘積高位 B B:存放:存放被乘數(shù)被乘數(shù) C C:存放:存放乘數(shù)、乘積低位乘數(shù)、乘積低位 設置初值:設置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 一個全加器一個全加器 算法流程算法流程0 A0 A、X BX B、Y CY C、0 CR0 CRC C
46、n n = 1 = 1 ?CR = n CR = n ?1/21/2(A+BA+B) A A,C C1/21/2(A+0A+0) A A,C C CR + 1 CR CR + 1 CRYYNN Sx + Sy S Sx + Sy SA A計算機組成原理計算機組成原理定點補碼一位乘法定點補碼一位乘法 原碼乘法存在的缺點是符號位需要單獨運算,原碼乘法存在的缺點是符號位需要單獨運算,并要在最后給乘積冠以正確的符號。并要在最后給乘積冠以正確的符號。補碼乘法是指采用操作數(shù)的補碼進行乘法運算,補碼乘法是指采用操作數(shù)的補碼進行乘法運算,最后乘積仍為補碼,能自然得到乘積的正確符號。最后乘積仍為補碼,能自然得到
47、乘積的正確符號。計算機組成原理計算機組成原理算法分析算法分析: :校正法校正法 X X補補 = X= X0 0.X.X1 1X X2 2X Xn n Y Y為正:為正:Y Y補補 = 0.Y1Y2= 0.Y1Y2YnYn (XY)(XY)補補 = X= X補補(0.Y1Y2(0.Y1Y2Yn)Yn) Y Y為負:為負:Y Y補補 = 1.Y1Y2= 1.Y1Y2YnYn由由Y = -Y0 + 0.Y1Y2Y = -Y0 + 0.Y1Y2YnYn,得,得 (XY)(XY)補補 = X= X補補(0.Y1Y2(0.Y1Y2Yn)+(-X)Yn)+(-X)補補 Y Y符號任意:符號任意: (XY)(
48、XY)補補 = X= X補補(0.Y1Y2(0.Y1Y2Yn)+(-X)Yn)+(-X)補補Y0Y0符號位符號位計算機組成原理計算機組成原理算法分析算法分析: :校正法校正法 X X補補 = X= X0 0.X.X1 1X X2 2X Xn n Y Y為正:為正:Y Y補補 = 0.Y1Y2= 0.Y1Y2YnYn (XY)(XY)補補 = X= X補補(0.Y1Y2(0.Y1Y2Yn)Yn) Y Y為負:為負:Y Y補補 = 1.Y1Y2= 1.Y1Y2YnYn由由Y = -Y0 + 0.Y1Y2Y = -Y0 + 0.Y1Y2YnYn,得,得 (XY)(XY)補補 = X= X補補(0.Y
49、1Y2(0.Y1Y2Yn)+(-X)Yn)+(-X)補補 Y Y符號任意:符號任意: (XY)(XY)補補 = X= X補補(0.Y1Y2(0.Y1Y2Yn)+(-X)Yn)+(-X)補補Y0Y0符號位符號位校正法的過程是先按原碼乘法那樣直接乘,最后再根據(jù)乘數(shù)符號校正法的過程是先按原碼乘法那樣直接乘,最后再根據(jù)乘數(shù)符號進行校正。進行校正。其算法規(guī)則如下其算法規(guī)則如下:不管被乘數(shù):不管被乘數(shù)X補補的符號如何,只要乘數(shù)的符號如何,只要乘數(shù)Y補補為正,為正,則可像原碼乘法一樣進行運算,其結果不需校正。如果乘數(shù)則可像原碼乘法一樣進行運算,其結果不需校正。如果乘數(shù)Y補補為負,則先按原碼乘法運算,結果再加
50、上一個校正量為負,則先按原碼乘法運算,結果再加上一個校正量-X補補。計算機組成原理計算機組成原理 比較法比較法算法算法 ( (Booth算法算法) ) :Yi(Yi(高位高位) Yi+1() Yi+1(低位低位) ) 操作操作(A(A補為部分積累加和補為部分積累加和) ) 0 00 00 10 11 01 01 1 1 1 1/2A1/2A補補 1/2(A1/2(A補補+X+X補補) ) 1/2(A 1/2(A補補-X-X補補) ) 1/2A 1/2A補補比較法比較法 Booth算法:用相鄰兩位乘數(shù)比較的結果算法:用相鄰兩位乘數(shù)比較的結果決定決定 +X+X補補、-X-X補補或或+0+0。計算機
51、組成原理計算機組成原理BoothBooth算法算法運算規(guī)則運算規(guī)則部分積部分積A A、被乘數(shù)、被乘數(shù)B B取雙符號位,取雙符號位,符號位參加運算符號位參加運算; 乘數(shù)乘數(shù)C C取單符號位,符號參加移位,以決定最后是否取單符號位,符號參加移位,以決定最后是否修正;修正; C C末位設置附加位末位設置附加位Cn+1Cn+1,初值為,初值為0 0,CnCn+1CnCn+1組成判斷組成判斷位,決定運算操作,位,決定運算操作,作作n n步循環(huán);步循環(huán); 第第n+1n+1, ,僅修正僅修正,不移位。不移位。注意,最后一步不移位,因為這一步是用來處理符號位注意,最后一步不移位,因為這一步是用來處理符號位的。
52、的?!纠縓=-0.1101,Y=0.1011,X=-0.1101,Y=0.1011,求求XYXY補。補。初值:初值:A=00.0000,B=XA=00.0000,B=X補補=11.0011,=11.0011, -B=-X -B=-X補補=00=00.1101,C =Y.1101,C =Y補補= =0.10110.1011計算過程計算過程: :0 0 0 0 0 0 0. 1 0 1 1 0 初始值初始值,最后一位補最后一位補0 0 0 1 1 0 1 Y4Y5=10 +-X補補0 0 1 1 0 10 0 0 1 1 0 1 0 1 0 1 1 右移一位右移一位0 0 0 0 0 0 Y3
53、Y4=11 +00 0 0 1 1 00 0 0 0 1 1 0 1 0 1 0 1 右移一位右移一位1 1 0 0 1 1 Y2Y3=01 +X補補1 1 0 1 1 01 1 1 0 1 1 0 0 1 0 1 0 右移一位右移一位 0 0 1 1 0 1 Y1Y2=10 +-X補補0 0 1 0 0 00 0 0 1 0 0 0 0 0 1 0 1 右移一位右移一位1 1 0 0 1 1 Y0Y1=01 +X補補1 1 0 1 1 1 0 0 0 1+部分積部分積 乘數(shù)乘數(shù)Y Yi Yi+1 說明說明乘積高位乘積高位 乘積低位乘積低位XY補補=1.01110001, XY= - 0.10001111不移位不移位計算機組成原理計算機組成原理n 定點除法運算定點除法運算定點原碼一位除法定點原碼一位除法 恢復余數(shù)法:恢復余數(shù)法:被除數(shù)(余數(shù))減去除數(shù),如果為被除數(shù)(余數(shù))減去除數(shù),如果為0 0或者為正值時,上商或者為正值時,上商為為1 1,不恢復余數(shù);如果結果為負,上商為,不恢復余數(shù);如果結果為負,上商為0 0,再將除數(shù)加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具購銷的簡單合同范本
- 全新財務人員勞動合同
- 大樓物業(yè)管理委托合同
- 后八輪自卸車租賃合同范本
- 滬教版(上海)七年級地理第一學期祖國篇(上)4.3《長江》聽課評課記錄
- 股東合作協(xié)議合同模板
- 加盟合同協(xié)議書范本
- 攪拌站礦粉購銷簡易合同
- 《研究性學習》課程實施方案
- 合同書樣本范文電子版
- 藥用植物種植制度和土壤耕作技術
- 《火力發(fā)電企業(yè)設備點檢定修管理導則》
- 重慶市渝北區(qū)2024年八年級下冊數(shù)學期末統(tǒng)考模擬試題含解析
- 保安服務項目信息反饋溝通機制
- 《團隊介紹模板》課件
- 常用中醫(yī)適宜技術目錄
- 沖壓模具價格估算方法
- 運動技能學習與控制課件第十一章運動技能的練習
- 蟲洞書簡全套8本
- 2023年《反電信網(wǎng)絡詐騙法》專題普法宣傳
- 小學數(shù)學五年級上、下冊口算題大全
評論
0/150
提交評論