白中英 第五版 計(jì)算機(jī)組成原理第2章_第1頁
白中英 第五版 計(jì)算機(jī)組成原理第2章_第2頁
白中英 第五版 計(jì)算機(jī)組成原理第2章_第3頁
白中英 第五版 計(jì)算機(jī)組成原理第2章_第4頁
白中英 第五版 計(jì)算機(jī)組成原理第2章_第5頁
已閱讀5頁,還剩135頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理1第二章第二章 運(yùn)算方法與運(yùn)算器運(yùn)算方法與運(yùn)算器l 2.1 數(shù)據(jù)與文字的表示方法 l 2.2 定點(diǎn)加法、減法運(yùn)算l 2.3 定點(diǎn)乘法運(yùn)算 l 2.4 定點(diǎn)除法運(yùn)算l 2.5 定點(diǎn)運(yùn)算器的組成 l 2.6 浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2二進(jìn)制數(shù)l便于計(jì)算機(jī)存儲及物理實(shí)現(xiàn)便于計(jì)算機(jī)存儲及物理實(shí)現(xiàn)l特點(diǎn):逢二進(jìn)一,由特點(diǎn):逢二進(jìn)一,由0 0和和1 1兩個(gè)數(shù)碼組成,基數(shù)兩個(gè)數(shù)碼組成,基數(shù)為為2 2,各個(gè)位權(quán)以,各個(gè)位權(quán)以2 2k k表示表示l二進(jìn)制數(shù):二進(jìn)制數(shù):a an na an-1n-1a a1 1a a0 0.b.b1 1b b2 2b bm

2、ma an n2 2n na an-1n-12 2n-1n-1a a1 12 21 1a a0 02 20 0 b b1 12 2- -1 1b b2 22 2- -2 2b bm m2 2- -m m 其中其中a ai i,b bj j非非0 0即即1 1計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3十六進(jìn)制數(shù)l用于表達(dá)二進(jìn)制數(shù),相互轉(zhuǎn)換簡單用于表達(dá)二進(jìn)制數(shù),相互轉(zhuǎn)換簡單l基數(shù)基數(shù)1616,逢,逢1616進(jìn)位,位權(quán)為進(jìn)位,位權(quán)為1616k k,1616個(gè)數(shù)碼:個(gè)數(shù)碼:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9,A A,B B,C C,D D,E E,F(xiàn) Fl十六進(jìn)制數(shù):十

3、六進(jìn)制數(shù):a an na an-1n-1a a1 1a a0 0.b.b1 1b b2 2b bm ma an n1616n na an-1n-11616n-1n-1a a1 116161 1 a a0 016160 0b b1 11616- -1 1b b2 21616- -2 2b bm m1616- -m m其中其中a ai i,b bj j是是0 0F F中的一個(gè)數(shù)碼中的一個(gè)數(shù)碼計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理4二進(jìn)制數(shù)或十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)l方法:按權(quán)展開方法:按權(quán)展開l二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)0011.10100011.1010B B1 12 21 11 12

4、20 01 12 2- -1 10 02 2- -2 21 12 2- -3 33.6253.625l十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)1.21.2H H1 116160 02 216161 11.1251.125十六進(jìn)制數(shù)用后綴字母十六進(jìn)制數(shù)用后綴字母H二進(jìn)制數(shù)用后綴字母二進(jìn)制數(shù)用后綴字母B計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5十進(jìn)制整數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù)l整數(shù)整數(shù)部分轉(zhuǎn)換:用除法部分轉(zhuǎn)換:用除法十進(jìn)制數(shù)整數(shù)部分不斷除以基數(shù)十進(jìn)制數(shù)整數(shù)部分不斷除以基數(shù)2 2或或1616,并記下余,并記下余數(shù),直到商為數(shù),直到商為0 0為止為止由最后一個(gè)余數(shù)起逆向取各個(gè)余數(shù),則為轉(zhuǎn)換成由最后一個(gè)余數(shù)起

5、逆向取各個(gè)余數(shù),則為轉(zhuǎn)換成的二進(jìn)制和十六進(jìn)制數(shù)的二進(jìn)制和十六進(jìn)制數(shù)12612601111110B01111110B1261267EH7EH計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理6十進(jìn)制小數(shù)轉(zhuǎn)換為二或十六進(jìn)制數(shù)l小數(shù)小數(shù)部分轉(zhuǎn)換:用乘法部分轉(zhuǎn)換:用乘法分別乘以各自的基數(shù),記錄整數(shù)部分,直到小數(shù)分別乘以各自的基數(shù),記錄整數(shù)部分,直到小數(shù)部分為部分為0 0為止為止0.81250.81250.1101B0.1101B0.81250.81250.DH0.DHl小數(shù)轉(zhuǎn)換會發(fā)生總是無法乘到為小數(shù)轉(zhuǎn)換會發(fā)生總是無法乘到為0 0的情況的情況可選取一定位數(shù)(精度)可選取一定位數(shù)(精度)將產(chǎn)生無法避免的轉(zhuǎn)換誤差將產(chǎn)生無法避免

6、的轉(zhuǎn)換誤差計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理7真值和機(jī)器數(shù)l真值真值:現(xiàn)實(shí)中真實(shí)的數(shù)值:現(xiàn)實(shí)中真實(shí)的數(shù)值l機(jī)器數(shù)機(jī)器數(shù):計(jì)算機(jī)中用:計(jì)算機(jī)中用0 0和和1 1數(shù)碼組合表達(dá)的數(shù)值數(shù)碼組合表達(dá)的數(shù)值l無符號數(shù)無符號數(shù):只表達(dá):只表達(dá)0 0和正整數(shù)的定點(diǎn)整數(shù)和正整數(shù)的定點(diǎn)整數(shù)l有符號數(shù)有符號數(shù):表達(dá)負(fù)整數(shù)、:表達(dá)負(fù)整數(shù)、0 0和正整數(shù)的定點(diǎn)整和正整數(shù)的定點(diǎn)整數(shù)數(shù)符號位需要占用一個(gè)位,常用機(jī)器數(shù)的最高位符號位需要占用一個(gè)位,常用機(jī)器數(shù)的最高位0 0表示正數(shù)、表示正數(shù)、1 1表示負(fù)數(shù)表示負(fù)數(shù)具有具有原碼原碼、反碼反碼、補(bǔ)碼補(bǔ)碼、移碼移碼計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理8l沒有符號位,使用全部字長來表示數(shù)值大小沒有

7、符號位,使用全部字長來表示數(shù)值大小l字長字長N N8 8時(shí),編碼:時(shí),編碼:00000000000000001111111111111111取值范圍:取值范圍:0 0255255(2 28 8-1-1)l字長字長N N1616時(shí),編碼:時(shí),編碼:00000000FFFFHFFFFH取值范圍:取值范圍:0 06553565535(2 21616-1-1)l字長字長N N3232時(shí),編碼:時(shí),編碼:0000000000000000FFFFFFFFHFFFFFFFFH取值范圍:取值范圍:0 02 23232-1-1無符號數(shù)的表示計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理92.1 數(shù)據(jù)與文字的表示方法l2.1.1

8、數(shù)據(jù)格式2.1.2 數(shù)的機(jī)器碼表示2.1.3 字符與字符串的表示方法2.1.4 漢字的表示方法2.1.5 校驗(yàn)碼計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理10n計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種,一是計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種,一是定點(diǎn)定點(diǎn)格式格式,二是,二是浮點(diǎn)格式浮點(diǎn)格式n定點(diǎn)格式定點(diǎn)格式容許的數(shù)值范圍有限,但要求的處理容許的數(shù)值范圍有限,但要求的處理硬件比較簡單硬件比較簡單n浮點(diǎn)格式浮點(diǎn)格式容許的數(shù)值范圍很大,但要求的處理容許的數(shù)值范圍很大,但要求的處理硬件比較復(fù)雜硬件比較復(fù)雜2.1.1 數(shù)據(jù)格式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理111、定點(diǎn)數(shù)的表示方法n定點(diǎn)表示定點(diǎn)表示:約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置

9、是固約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。通常將數(shù)據(jù)表示成定不變的。通常將數(shù)據(jù)表示成純小數(shù)純小數(shù)或或純整數(shù)純整數(shù)n定點(diǎn)數(shù)定點(diǎn)數(shù)xx0 x1x2xn 在定點(diǎn)機(jī)中表示如下在定點(diǎn)機(jī)中表示如下(x0表示表示符號位,符號位,0代表正號,代表正號,1代表負(fù)號代表負(fù)號)定點(diǎn)整數(shù)的小數(shù)點(diǎn)位置定點(diǎn)小數(shù)的小數(shù)點(diǎn)位置計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理12定點(diǎn)數(shù)例定點(diǎn)數(shù)例例:X=+1010110.純整數(shù):純整數(shù):X = 01010110.正數(shù),符號位取正數(shù),符號位取0Y= - 1101001.純整數(shù):純整數(shù):Y = 11101001. (原碼)(原碼)負(fù)數(shù),符號位取負(fù)數(shù),符號位取1X=+0.11011Y=-0.101

10、01符號位取符號位取0純小數(shù):純小數(shù):X = 0.11011符號位取符號位取1純小數(shù):純小數(shù):X = 1.10101 (原碼)(原碼)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理13定點(diǎn)整數(shù)的表示范圍l純整數(shù)的表示范圍為(x1x2xn各位均為0時(shí)最?。桓魑痪鶠?時(shí)最大,x0為符號位) 0| 2n 1l例如:n8,最大值編碼:11111111表示: 111111111000000001281l目前計(jì)算機(jī)中多采用定點(diǎn)純整數(shù)表示,因此將定點(diǎn)數(shù)表示的運(yùn)算簡稱為整數(shù)運(yùn)算計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理14定點(diǎn)小數(shù)的表示范圍l純小數(shù)的表示范圍為(x1x2xn各位均為0時(shí)最?。桓魑痪鶠?時(shí)最大,x0為符號位) 0|12-nl例

11、如,n8,最大值編碼:0.11111111表示: 0.11111111 1.00.00000001 1-2-8計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理152、浮點(diǎn)數(shù)的表示方法l電子質(zhì)量(克): 910- 2 8 = 0.910- 2 7太陽質(zhì)量(克): 21033 = 0.21034 采用定點(diǎn)很難表示,而且不容易計(jì)算?l數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同而在一定范圍內(nèi)自由浮動(dòng) 一個(gè)十進(jìn)制數(shù)可以寫成 10e一個(gè)進(jìn)制數(shù)可以寫成 eM尾數(shù)尾數(shù) e指數(shù)指數(shù)R基數(shù)基數(shù)數(shù)的科學(xué)表達(dá)法數(shù)的科學(xué)表達(dá)法計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理16階碼和尾數(shù)n用定點(diǎn)小數(shù)表示,用定點(diǎn)小數(shù)表示,給出有效數(shù)字,決給出有效數(shù)字,決定了浮點(diǎn)數(shù)的表示定

12、了浮點(diǎn)數(shù)的表示精度精度n表達(dá)指數(shù)部分表達(dá)指數(shù)部分n用整數(shù)形式表示,指明用整數(shù)形式表示,指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置小數(shù)點(diǎn)在數(shù)據(jù)中的位置決定浮點(diǎn)數(shù)的表示范圍決定浮點(diǎn)數(shù)的表示范圍早期計(jì)算機(jī)表達(dá)法早期計(jì)算機(jī)表達(dá)法浮點(diǎn)數(shù)的機(jī)器表示方法計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理1732位單精度浮點(diǎn)數(shù):含階符的階碼,:含階符的階碼,8 位位階碼采用移碼方式階碼采用移碼方式(方便比較和對階)來表示正負(fù)指數(shù),采用方便比較和對階)來表示正負(fù)指數(shù),采用這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼變成階碼E時(shí),應(yīng)將指數(shù)時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值加上一個(gè)固定的偏移值127(01111111),即,即E

13、=e+127。 :1位符號位符號位位0表示正數(shù)表示正數(shù)1表示負(fù)數(shù)表示負(fù)數(shù) :尾數(shù),:尾數(shù),23位小位小數(shù)表示,小數(shù)點(diǎn)放數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域最前面在尾數(shù)域最前面IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理1864位雙精度浮點(diǎn)數(shù):1位符號位符號位位:尾數(shù),:尾數(shù),52位小位小數(shù)數(shù)IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn):含階符的階碼,:含階符的階碼,11 位位階碼采用移碼方式階碼采用移碼方式(方便比較和對階)來表示正負(fù)指數(shù),采用方便比較和對階)來表示正負(fù)指數(shù),采用這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼變成階碼E時(shí),應(yīng)將指數(shù)時(shí),應(yīng)將指數(shù)e加上一個(gè)固定的偏移值加上一個(gè)固定的

14、偏移值1023(01111111111),即,即E=e+1023。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理19浮點(diǎn)數(shù)的規(guī)格化浮點(diǎn)數(shù)的規(guī)格化例:156.78=15.678101= 1.5678102= 0.15678103=REM對于二進(jìn)制數(shù)對于二進(jìn)制數(shù)1011.1101=0.10111101 2+4= 10.111101 2+2 = 1.0111101 2+3 (規(guī)格化表示法規(guī)格化表示法)= 1.0111101 2+11 (規(guī)格化表示法規(guī)格化表示法)=REM那么,計(jì)算機(jī)中究竟采用哪種數(shù)據(jù)形式?那么,計(jì)算機(jī)中究竟采用哪種數(shù)據(jù)形式?多種數(shù)據(jù)形式多種數(shù)據(jù)形式二進(jìn)制數(shù)二進(jìn)制數(shù)IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn)小數(shù)點(diǎn)左邊這

15、個(gè)小數(shù)點(diǎn)左邊這個(gè)1在機(jī)器在機(jī)器里可以省略(少存一位)里可以省略(少存一位)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理20l尾數(shù)最高有效位為1,隱藏,并且隱藏在小數(shù)點(diǎn)的左邊(即:1M2)l32位單精度浮點(diǎn)數(shù)規(guī)格化表示 (-1)s(1.) 2E-127e127(e127)l64位雙精度浮點(diǎn)數(shù)規(guī)格化表示 (-1)s (1.) 2E-1023e1023(e1023)指數(shù)真值指數(shù)真值e 用移碼形式表示為階碼用移碼形式表示為階碼尾數(shù)規(guī)格化表示原則尾數(shù)規(guī)格化表示原則IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理21 X(-1)s1.M2e (1.011011)231011.011(11.375)10 指數(shù)指數(shù)e階碼

16、階碼127 1000 00100111111100000011=(3)10 包括隱藏位包括隱藏位1的尾數(shù)的尾數(shù)1.M 1.011011例1:浮點(diǎn)機(jī)器數(shù) (41360000)16,求真值 十六進(jìn)制數(shù)展開成二進(jìn)制數(shù)十六進(jìn)制數(shù)展開成二進(jìn)制數(shù)0 100 0001 0011 0110 0000 0000 0000 0000S階碼階碼E(8位位)尾數(shù)尾數(shù)M(23位位)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理22例例2:真值:真值20.59375,求,求32位單精度浮點(diǎn)數(shù)位單精度浮點(diǎn)數(shù) 分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù)分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù) 20.5937510100.10011 移動(dòng)小數(shù)點(diǎn),使其在第移動(dòng)

17、小數(shù)點(diǎn),使其在第1、2位之間位之間10100.100111.01001001124e4S0E4+12713110000011M010010011 得到得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲格式為:位浮點(diǎn)數(shù)的二進(jìn)制存儲格式為:0 100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理23l二進(jìn)制:二進(jìn)制:0100 0001 1010 0001 1000 0000,0100 0001 1010 0001 1000 0000,lS=0 e= 10000011-01111111=100=4S=0 e= 10000011-01111111=

18、100=4lM=1.01000011M=1.01000011l真值真值(1.01000011)(1.01000011)2 24 4l10100.001110100.001120.187520.18751010練習(xí)題:若浮點(diǎn)機(jī)器為(41A18000)1616,求真值?計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理243、十進(jìn)制數(shù)據(jù)表示&人們習(xí)慣于用十進(jìn)制表示數(shù)據(jù),而計(jì)算機(jī)則采用二進(jìn)制表示人們習(xí)慣于用十進(jìn)制表示數(shù)據(jù),而計(jì)算機(jī)則采用二進(jìn)制表示和處理數(shù)據(jù)。所以向計(jì)算機(jī)輸入數(shù)據(jù)時(shí),需要進(jìn)行十進(jìn)制數(shù)和處理數(shù)據(jù)。所以向計(jì)算機(jī)輸入數(shù)據(jù)時(shí),需要進(jìn)行十進(jìn)制數(shù)到二進(jìn)制數(shù)的轉(zhuǎn)換;輸出數(shù)據(jù)時(shí),則要進(jìn)行二進(jìn)制數(shù)到十進(jìn)到二進(jìn)制數(shù)的轉(zhuǎn)

19、換;輸出數(shù)據(jù)時(shí),則要進(jìn)行二進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換處理。在數(shù)據(jù)量較小的情況下,這樣的轉(zhuǎn)換對機(jī)制數(shù)的轉(zhuǎn)換處理。在數(shù)據(jù)量較小的情況下,這樣的轉(zhuǎn)換對機(jī)器運(yùn)行效率的影響不是很大。但是,在某些應(yīng)用領(lǐng)域,運(yùn)算器運(yùn)行效率的影響不是很大。但是,在某些應(yīng)用領(lǐng)域,運(yùn)算簡單而數(shù)據(jù)量很大,進(jìn)行這些轉(zhuǎn)換所占用的時(shí)間比例比較大。簡單而數(shù)據(jù)量很大,進(jìn)行這些轉(zhuǎn)換所占用的時(shí)間比例比較大。所以為了提高機(jī)器的運(yùn)行效率,計(jì)算機(jī)可以用十進(jìn)制來表示所以為了提高機(jī)器的運(yùn)行效率,計(jì)算機(jī)可以用十進(jìn)制來表示和處理數(shù)據(jù)。和處理數(shù)據(jù)。&一個(gè)十進(jìn)制數(shù)位是用若干位二進(jìn)制編碼表示。用四位二進(jìn)制一個(gè)十進(jìn)制數(shù)位是用若干位二進(jìn)制編碼表示。用四位二進(jìn)制代碼

20、的不同組合來表示一個(gè)十進(jìn)制數(shù)碼的編碼方法,稱為代碼的不同組合來表示一個(gè)十進(jìn)制數(shù)碼的編碼方法,稱為二二十進(jìn)制編碼,也稱十進(jìn)制編碼,也稱BCDBCD碼(碼(Binary Coded DecimalBinary Coded Decimal)。)。 常用這種編碼作為十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的中間過渡。即常用這種編碼作為十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的中間過渡。即先將一個(gè)十進(jìn)制數(shù)用先將一個(gè)十進(jìn)制數(shù)用BCDBCD碼來表示,再把它們送入機(jī)器。碼來表示,再把它們送入機(jī)器。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理25BCD碼(Binary Coded Decimal)l二進(jìn)制編碼的十進(jìn)制數(shù)二進(jìn)制編碼的十進(jìn)制數(shù)一個(gè)十進(jìn)制數(shù)位用一個(gè)十進(jìn)

21、制數(shù)位用4 4位二進(jìn)制編碼來表示位二進(jìn)制編碼來表示常用常用8421 BCD8421 BCD碼:低碼:低1010個(gè)個(gè)4 4位二進(jìn)制編碼表示位二進(jìn)制編碼表示0 09 9lBCDBCD碼很直觀碼很直觀BCDBCD碼:碼:0100 1001 0111 1000.0001 0100 10010100 1001 0111 1000.0001 0100 1001十進(jìn)制真值:十進(jìn)制真值: 4978.1494978.149BCD碼便于輸入輸出,表達(dá)數(shù)值準(zhǔn)確碼便于輸入輸出,表達(dá)數(shù)值準(zhǔn)確計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理26十進(jìn)制數(shù)串的表示方法1.字符串形式每個(gè)十進(jìn)制的數(shù)位或符號位都用一個(gè)字節(jié)存放+12-38-382.2

22、.壓縮的十進(jìn)制數(shù)串形式壓縮的十進(jìn)制數(shù)串形式一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位,符號位占半個(gè)字節(jié),一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位,符號位占半個(gè)字節(jié),數(shù)位加符號位之和必須為偶數(shù)(例如用數(shù)位加符號位之和必須為偶數(shù)(例如用C表示正,表示正,D表示負(fù))表示負(fù))+1212 3 C012D123-12 每個(gè)數(shù)位可用每個(gè)數(shù)位可用BCD碼碼1.1.原碼表示法原碼表示法l定點(diǎn)整數(shù)的原碼形式為x0 x1x2 xn X 2n X 0 X原原2nX2n|X|0X2nl使用8位二進(jìn)制:105 10=011010012X+105,則 X原 01101001X-105, 則 X原 11101001l0使用原碼有兩種表達(dá)形式 +0原

23、=00000000 -0原 =10000000符號位符號位2.1.2數(shù)的機(jī)器碼表示具有具有原碼、反碼、補(bǔ)碼、移碼原碼、反碼、補(bǔ)碼、移碼計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理28原碼缺點(diǎn)l進(jìn)行加減運(yùn)算十分麻煩進(jìn)行加減運(yùn)算十分麻煩比較數(shù)的絕對值的大小比較數(shù)的絕對值的大小大數(shù)減小數(shù)大數(shù)減小數(shù)符號跟大數(shù)符號跟大數(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理292021年12月14日22時(shí)48分 現(xiàn)在是北京時(shí)間現(xiàn)在是北京時(shí)間3點(diǎn)整,而時(shí)鐘卻指向點(diǎn)整,而時(shí)鐘卻指向5點(diǎn)。點(diǎn)。5-2=35+10=15=3(12自動(dòng)丟失。12就是模)2 2、補(bǔ)碼表示法、補(bǔ)碼表示法計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理302021年12月14日22時(shí)48分l繼續(xù)推

24、導(dǎo): 5-2=5+10(MOD 12) -2=10(MOD 12)l結(jié)論:可以說:在模為12的情況下,-2的補(bǔ)碼就是10。 一個(gè)負(fù)數(shù)用其補(bǔ)碼代替,可以把減法轉(zhuǎn)換為加法來實(shí)現(xiàn)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理312.2.補(bǔ)碼表示法補(bǔ)碼表示法l定點(diǎn)整數(shù)定點(diǎn)整數(shù)的補(bǔ)碼形式為的補(bǔ)碼形式為x0 x1x2 xn X 2n X 0 X補(bǔ)補(bǔ)2n+1+X2n+1-|X| 02n計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理32定點(diǎn)整數(shù)的補(bǔ)碼方法l有符號整數(shù)在計(jì)算機(jī)中默認(rèn)采用補(bǔ)碼有符號整數(shù)在計(jì)算機(jī)中默認(rèn)采用補(bǔ)碼最高位表示符號:正數(shù)用最高位表示符號:正數(shù)用0 0,負(fù)數(shù)用,負(fù)數(shù)用1 1正數(shù)補(bǔ)碼:直接表示數(shù)值大小(原碼無符號正數(shù)補(bǔ)碼:直接表

25、示數(shù)值大?。ㄔa無符號數(shù))數(shù))負(fù)數(shù)補(bǔ)碼:符號位不變,將對應(yīng)數(shù)值取反加負(fù)數(shù)補(bǔ)碼:符號位不變,將對應(yīng)數(shù)值取反加1 1105105補(bǔ)碼補(bǔ)碼110100111010010110100101101001-105-105補(bǔ)碼補(bǔ)碼11010011101001取反取反1 1001011000101101 1001011100101111001011110010111為什么是補(bǔ)碼為什么是補(bǔ)碼證明:-105補(bǔ)= 2n+1+X =28 +(- 1101001)=100000000+(- 1101001)= 10010111計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理333、定點(diǎn)整數(shù)的反碼l反碼:二進(jìn)制的各位數(shù)碼反碼:二進(jìn)制的各位數(shù)

26、碼 0 0 變?yōu)樽優(yōu)? 1,1 1變?yōu)樽優(yōu)? 0l有符號整數(shù)采用反碼有符號整數(shù)采用反碼最高位表示符號:正數(shù)用最高位表示符號:正數(shù)用0 0,負(fù)數(shù)用,負(fù)數(shù)用1 1正數(shù)反碼:直接表示數(shù)值大?。ㄔa補(bǔ)碼)正數(shù)反碼:直接表示數(shù)值大小(原碼補(bǔ)碼)負(fù)數(shù)反碼:將對應(yīng)正數(shù)反碼取反負(fù)數(shù)反碼:將對應(yīng)正數(shù)反碼取反105105反碼反碼0110100101101001-105-105反碼反碼11010011101001取反取反1001011010010110計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理344、定點(diǎn)整數(shù)的移碼(偏移碼)l移碼移碼通常用于表示浮點(diǎn)數(shù)的階碼通常用于表示浮點(diǎn)數(shù)的階碼l有符號整數(shù)采用移碼有符號整數(shù)采用移碼最高位表示

27、符號:正數(shù)用最高位表示符號:正數(shù)用1 1,負(fù)數(shù)用,負(fù)數(shù)用0 0(跟其他碼(跟其他碼相反)相反)移碼的傳統(tǒng)定義:移碼的傳統(tǒng)定義: XX移碼移碼 2 2n n X X 2 2n n XX2 2n n105105移碼移碼1000000010000000110100111010011 1,11010011101001-105-105移碼移碼1000000010000000110100111010010 0,00101110010111相對于偏移一半相對于偏移一半傳統(tǒng)定義與標(biāo)準(zhǔn)浮點(diǎn)數(shù)階碼的定義不同傳統(tǒng)定義與標(biāo)準(zhǔn)浮點(diǎn)數(shù)階碼的定義不同計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理35真值原碼反碼補(bǔ)碼移碼-128 100000

28、0000000000-12711111111100000001000000100000001.-110000001111111101111111101111111-010000000111111110000000010000000+000000000000000000000000010000000+100000001000000010000000110000001.+12701111111011111110111111111111111計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理36例例8 8設(shè)機(jī)器字長16位,定點(diǎn)表示,尾數(shù)15位,數(shù)符1位,問: 定點(diǎn)原碼整數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少? 定點(diǎn)原碼

29、小數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理37例8之解定點(diǎn)原碼整數(shù)表示最大正數(shù)值 (21 51)1 0(32767) 1 0 最小負(fù)數(shù)值 -(21 51) 1 0 (-32767) 1 0 定點(diǎn)原碼小數(shù)表示最大正數(shù)值(0.111.11)2 (1 2-15) 10最小負(fù)數(shù)值(0.111.11)2(1 2-15)10 0 111 1111 1111 1111 1 111 1111 1111 1111 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理38例例9 9假設(shè)由假設(shè)由S S, ,E E, ,M M三個(gè)域組成的一個(gè)三個(gè)域組成的一個(gè)3232位二進(jìn)制字所表示的非零規(guī)格化浮點(diǎn)位二進(jìn)制字所表

30、示的非零規(guī)格化浮點(diǎn)數(shù)數(shù), ,真值表示為(非真值表示為(非IEEE754IEEE754標(biāo)準(zhǔn)):標(biāo)準(zhǔn)):( (1)1)s s(1.(1.M M) )2 2E E128128問:它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小負(fù)數(shù)是多少?問:它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小負(fù)數(shù)是多少?(1)(1)最大正數(shù)最大正數(shù)0 1111 1111 111 1111 1111 1111 1111 11110 1111 1111 111 1111 1111 1111 1111 111111(1(12 2-23)2 2127(2)(2)最小正數(shù)最小正數(shù) 000 000 000000 000 0

31、00 000 000 000 000000 000 000000 000 000 000 000 000 000 00 001.01.02 2128(3)(3)最小負(fù)數(shù)最小負(fù)數(shù)111 111 111111 111 111 111 111 111 111111 111 111111 111 111 111 111 111 111 11 1111(1(12 223)2 2127(4)(4)最大負(fù)數(shù)最大負(fù)數(shù)100 000 000000 000 000 000 000 000 000100 000 000000 000 000 000 000 000 000 00 001.01.02 2128 計(jì)算機(jī)

32、組成原理計(jì)算機(jī)組成原理39同一代碼的不同含義n一個(gè)代碼,采用不同編碼,其數(shù)值不一樣一個(gè)代碼,采用不同編碼,其數(shù)值不一樣n計(jì)算機(jī)內(nèi)一個(gè)二進(jìn)制數(shù):計(jì)算機(jī)內(nèi)一個(gè)二進(jìn)制數(shù):1000 0001n不同的含義不同的含義n無符號二進(jìn)制數(shù):無符號二進(jìn)制數(shù):129n8421 BCD碼:碼:81n有符號整數(shù)的原碼:有符號整數(shù)的原碼:-1n有符號整數(shù)的反碼:有符號整數(shù)的反碼:-126n有符號整數(shù)的補(bǔ)碼:有符號整數(shù)的補(bǔ)碼:-127計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理40數(shù)的機(jī)器碼表示小結(jié)l正數(shù)的原碼、反碼、補(bǔ)碼等于真值,只有負(fù)數(shù)才分別有不同的表示方法l采用補(bǔ)碼,減法運(yùn)算可以用加法運(yùn)算實(shí)現(xiàn),節(jié)省硬件,目前機(jī)器中廣泛采用補(bǔ)碼表示法

33、l有些機(jī)器用原碼進(jìn)行存儲和傳送,運(yùn)算時(shí)改用補(bǔ)碼l有些機(jī)器做加減法時(shí)用補(bǔ)碼,做乘除法時(shí)用原碼l移碼表示法主要用于表示浮點(diǎn)數(shù)的階碼,可以直接比較大小。表示范圍和補(bǔ)碼相同,只有最高位相反計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理41ASCII碼(美國標(biāo)準(zhǔn)信息交換碼)l標(biāo)準(zhǔn)標(biāo)準(zhǔn)ASCIIASCII碼用碼用8 8位二進(jìn)制編碼,最高位為偶校驗(yàn)位,其余位二進(jìn)制編碼,最高位為偶校驗(yàn)位,其余7 7位位構(gòu)成構(gòu)成128128個(gè)編碼個(gè)編碼l可顯示和打印的字符:可顯示和打印的字符:20H20H后的后的9494個(gè)編碼個(gè)編碼數(shù)碼數(shù)碼0 09 9:30H30H39H39H大寫字母大寫字母A AZ Z:41H41H5AH5AH小寫字母小寫字

34、母a az z:61H61H7AH7AH空格:空格:20H20H2.1.3字符和字符串(非數(shù)值)的表示方法表表2.1 ASCII字符編碼表字符編碼表0000010100111001011101110000NULDELSP0Pp0001SOHDC1!1AQaq0010STXDC22BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111S

35、IUS/?O_oDEL0-3位位4-6位位字符串的表示方法l字符串是指連續(xù)的一串字符,通常占用主存中連續(xù)的多個(gè)字節(jié),每個(gè)字節(jié)存一個(gè)字符IF AB THEN READ(C)字符串的存放方法計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理441.漢字的輸入編碼l數(shù)字編碼國標(biāo)區(qū)位碼,用數(shù)字串代表一個(gè)漢字輸入 l拼音碼以漢字拼音為基礎(chǔ)的輸入方法l字形編碼用漢字的形狀(筆劃)來進(jìn)行的編碼例如五筆字形2.1.4 2.1.4 漢字的表示方法漢字的表示方法 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理452 2、漢字內(nèi)碼、漢字內(nèi)碼l漢字內(nèi)碼是用于漢字信息的存儲、檢索等操作的機(jī)內(nèi)代碼,一般采用兩個(gè)字節(jié)表示l漢字內(nèi)碼有多種方案,常以國標(biāo)碼為基礎(chǔ)進(jìn)行

36、編碼l例如,將國標(biāo)碼兩字節(jié)的最高位置1后形成漢字“啊”的CCDOS系統(tǒng)漢字內(nèi)碼 3021H (0011 0000 0010 0001)對應(yīng)的漢字內(nèi)碼 B0A1H (1011 0000 1010 0001)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理46字模碼字模碼漢字的字模碼為:漢字的字模碼為:16位位 16位位=32字節(jié)字節(jié)漢字字模點(diǎn)陣及編碼漢字字模點(diǎn)陣及編碼3、漢字字模碼、漢字字模碼 用于對漢字進(jìn)行顯示輸出用于對漢字進(jìn)行顯示輸出計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理47漢字的表示方法漢字的輸入編碼、漢字漢字的輸入編碼、漢字內(nèi)碼、字模碼是計(jì)算機(jī)內(nèi)碼、字模碼是計(jì)算機(jī)中用于輸入、內(nèi)部處理、中用于輸入、內(nèi)部處理、交換、輸出

37、四種不同用交換、輸出四種不同用途的編碼,不要混為一途的編碼,不要混為一談?wù)勶@示輸出顯示輸出打印輸出打印輸出機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼機(jī)內(nèi)碼輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換字符代碼化(輸入)字符代碼化(輸入)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理482.1.52.1.5校驗(yàn)碼校驗(yàn)碼l校驗(yàn)碼:能夠發(fā)現(xiàn)甚至糾正信息傳輸或存儲過程中出現(xiàn)錯(cuò)誤的編碼l檢錯(cuò)碼:僅能檢測出錯(cuò)誤的編碼l糾錯(cuò)碼:能夠發(fā)現(xiàn)并糾正錯(cuò)誤的編碼l最簡單且應(yīng)用廣泛的檢錯(cuò)碼:奇偶校驗(yàn)碼l奇校驗(yàn):使包括校驗(yàn)位在內(nèi)的數(shù)據(jù)中為“1”的個(gè)數(shù)恒為奇數(shù)l偶校驗(yàn):使包括校驗(yàn)位在內(nèi)的數(shù)據(jù)中為“1”的個(gè)數(shù)恒為偶數(shù)(包括0)l只能檢測出奇數(shù)個(gè)位出錯(cuò)的

38、情況,不能糾錯(cuò)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理49例7:用奇校驗(yàn)和偶校驗(yàn)進(jìn)行編碼用奇校驗(yàn)和偶校驗(yàn)進(jìn)行編碼數(shù)據(jù)1010101001010100000000000111111111111111偶校驗(yàn)碼10101010 001010100 100000000 001111111 111111111 0奇校驗(yàn)碼10101010 101010100 000000000 101111111 011111111 1計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理502.22.2運(yùn)算方法和運(yùn)算運(yùn)算方法和運(yùn)算器器l2.2 2.2 定點(diǎn)加法、減法運(yùn)算定點(diǎn)加法、減法運(yùn)算l2.3 2.3 定點(diǎn)乘法運(yùn)算定點(diǎn)乘法運(yùn)算l2.4 2.4 定點(diǎn)除法運(yùn)

39、算定點(diǎn)除法運(yùn)算l2.5 2.5 定點(diǎn)運(yùn)算器的組成定點(diǎn)運(yùn)算器的組成l2.6 2.6 浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理512.2.1補(bǔ)碼加法l補(bǔ)碼加法公式補(bǔ)碼加法公式 x補(bǔ)補(bǔ)+y補(bǔ)補(bǔ)=x+y補(bǔ)補(bǔ) (mod 2 2n+1n+1)在模在模2 2n+1n+1意義下,任意兩數(shù)的補(bǔ)碼之和等于意義下,任意兩數(shù)的補(bǔ)碼之和等于該兩數(shù)之和的補(bǔ)碼。該兩數(shù)之和的補(bǔ)碼。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理52補(bǔ)碼加法特點(diǎn)l符號位要作為數(shù)的一部分一起參加運(yùn)算符號位要作為數(shù)的一部分一起參加運(yùn)算l要在模要在模2 2n+1n+1的意義下相加,即超過的意義下相加,即超過2 2n+1n+1的進(jìn)位要

40、的進(jìn)位要丟掉丟掉計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理53補(bǔ)補(bǔ)補(bǔ)證明l假設(shè)采用定點(diǎn)整數(shù)表示假設(shè)采用定點(diǎn)整數(shù)表示 l現(xiàn)分四種情況來證明現(xiàn)分四種情況來證明 (1)(1)0,0,0,0,則則0 0 補(bǔ)補(bǔ)=x, =x, 補(bǔ)補(bǔ)=y, =y, 補(bǔ)補(bǔ)=x+y=x+y所以等式成立所以等式成立. .(2)(2)0,0,0,0,則則00或或0 00時(shí)時(shí), , 2 2n+1n+1 ( () ) 2 2n+1n+1, ,進(jìn)位進(jìn)位2 2n+1n+1必丟失必丟失, ,又因又因( ()0)0,故故 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)當(dāng)當(dāng)00時(shí)時(shí), , 2 2n+1n+1 ( () ) 2 2n+1n+1, ,又因又因( ()0)0,故故 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)

41、2 2n+1n+1 ( () ) 補(bǔ)補(bǔ)所以上式成立所以上式成立計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理54補(bǔ)補(bǔ)補(bǔ)證明(3)(3)0,0,0,則則00或或 0 0 這種情況和第這種情況和第2 2種情況一樣種情況一樣, ,把把和和的位置的位置對調(diào)即得證。對調(diào)即得證。 (4)(4)0,0,0,0,則則0 0 相加兩數(shù)都是負(fù)數(shù)相加兩數(shù)都是負(fù)數(shù), ,則其和也一定是負(fù)數(shù)。則其和也一定是負(fù)數(shù)。 補(bǔ)補(bǔ) 2 2n+1n+1 , , 補(bǔ)補(bǔ) 2 2n+1n+1 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 2 2n+1n+12 2n+1n+1 2 2n+1n+1( (2 2n+1n+1 ) )上式右邊分為上式右邊分為”2 2n+1n+1”和和( (2 2n+1

42、n+1) )兩部分兩部分. .既然既然( () )是負(fù)數(shù)是負(fù)數(shù), , 那么那么( (2 2n+1n+1 ) ) 進(jìn)位進(jìn)位” ” 2 2n+1n+1”必必丟失丟失. .又因又因( ()0, )0, 所以所以 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 2 2n+1n+1 ( () ) 補(bǔ)補(bǔ)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理55例11:+1001,+0101,求x 補(bǔ)01001,y 補(bǔ)00101 x 補(bǔ) 01001 y 補(bǔ)00101+ 補(bǔ) 01110 所以01110 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理56例9:1011,0101,求x 補(bǔ)01011,y 補(bǔ)11011 x 補(bǔ) 01011 y 補(bǔ) 11011+ 補(bǔ) 100110 所以00110

43、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理572.2.2補(bǔ)碼減法l補(bǔ)碼減法運(yùn)算公式補(bǔ)碼減法運(yùn)算公式x-yx-y 補(bǔ)補(bǔ)=x=x補(bǔ)補(bǔ)-y-y補(bǔ)補(bǔ)=x=x補(bǔ)補(bǔ)+-y+-y補(bǔ)補(bǔ)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理58x-y補(bǔ)=x補(bǔ)-y補(bǔ)=x補(bǔ)+-y補(bǔ)只要證明只要證明 補(bǔ)補(bǔ) 補(bǔ)補(bǔ), ,上式即得證?,F(xiàn)證明如下:上式即得證?,F(xiàn)證明如下: 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)(mod 2(mod 2n+1n+1) ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) (2.19a)(2.19a) 補(bǔ)補(bǔ) ( ()補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) (2.19b)(2.19b)將式將式(2.19a)(2.19a)與與(2.19b)(2.19b)相加相加, ,得得 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)

44、 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)0 0故故 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)(mod 2(mod 2n+1n+1)(2.20) )(2.20) 從從 補(bǔ)求補(bǔ)求 補(bǔ)的法則補(bǔ)的法則是:對是:對 補(bǔ)包括符號位補(bǔ)包括符號位“求反且最末位加求反且最末位加1”,1”,即可得到即可得到 補(bǔ)。補(bǔ)。 寫成運(yùn)算表達(dá)式,則為寫成運(yùn)算表達(dá)式,則為 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)2 2n n 其中符號表示對其中符號表示對 補(bǔ)作包括符號位在內(nèi)的求反操作補(bǔ)作包括符號位在內(nèi)的求反操作,2,2n n表示最末位的表示最末位的1 1計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理59x1補(bǔ)10010 - x1補(bǔ)x1補(bǔ) 2-4 011010000101110 x2補(bǔ)01101

45、-x2補(bǔ)x2補(bǔ) 2-4 100100000110011 例例13:已知已知11110,21101求:求: x1補(bǔ)補(bǔ) ,-x1補(bǔ)補(bǔ) ,x2補(bǔ)補(bǔ) ,-x2補(bǔ)補(bǔ)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理60例14:+1101,+0110,求-x補(bǔ)01101, y補(bǔ)00110-y補(bǔ)11010 x 補(bǔ) 01101 -y 補(bǔ) 11010 - 補(bǔ) 100111 所以0111計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理612.2.3 溢出概念與檢驗(yàn)方法u兩個(gè)正數(shù)相加兩個(gè)正數(shù)相加, ,結(jié)果為負(fù)(即:結(jié)果為負(fù)(即:大于機(jī)器所能表示的大于機(jī)器所能表示的最大正數(shù)最大正數(shù)), ,稱為稱為正溢正溢。u兩個(gè)負(fù)數(shù)相加兩個(gè)負(fù)數(shù)相加, ,結(jié)果為正(即:結(jié)果為

46、正(即:小于機(jī)器所能表示的小于機(jī)器所能表示的最小負(fù)數(shù)最小負(fù)數(shù)),),稱為稱為負(fù)溢負(fù)溢。u運(yùn)算出現(xiàn)溢出,結(jié)果就是錯(cuò)誤的運(yùn)算出現(xiàn)溢出,結(jié)果就是錯(cuò)誤的計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理62 例例1515 10111011, , 10011001,求求。解:補(bǔ)01011 , 補(bǔ)01001 補(bǔ)01011 補(bǔ) 01001 補(bǔ)10100 兩正數(shù)相加,結(jié)果為負(fù),顯然錯(cuò)誤。運(yùn)算中出現(xiàn)了“正溢”計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理63l 例例16 x=-1101 , y=-1011 , 16 x=-1101 , y=-1011 , 求求 x+yx+y 。解 :解 : x x 補(bǔ)補(bǔ)= 1 0 0 1 1 , y = 1 0 0

47、1 1 , y 補(bǔ)補(bǔ)= 1 0 1 0 1= 1 0 1 0 1 x x 補(bǔ)補(bǔ) 1 0 0 1 11 0 0 1 1 x x 補(bǔ)補(bǔ) 1 0 1 0 11 0 1 0 1 x + y x + y 補(bǔ)補(bǔ) 0 1 0 0 00 1 0 0 0兩個(gè)負(fù)數(shù)相加的結(jié)果成為正數(shù),表示負(fù)溢。兩個(gè)負(fù)數(shù)相加的結(jié)果成為正數(shù),表示負(fù)溢。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理642021年12月14日22時(shí)48分1)兩個(gè)數(shù)太大:)兩個(gè)數(shù)太大:產(chǎn)生進(jìn)位而改變了符號位; 1、兩異號數(shù)相加或兩同號數(shù)相減是否兩異號數(shù)相加或兩同號數(shù)相減是否 會產(chǎn)生溢出?會產(chǎn)生溢出?2、僅當(dāng)兩同號數(shù)相加或兩異號數(shù)相減、僅當(dāng)兩同號數(shù)相加或兩異號數(shù)相減 時(shí)才有

48、可能產(chǎn)生溢出?時(shí)才有可能產(chǎn)生溢出?問題:問題:決不會產(chǎn)生溢出決不會產(chǎn)生溢出正確正確2、溢出原因:、溢出原因:計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理65“溢出溢出”檢測方法:檢測方法:第一種方法:采用雙符號位法, 稱為“變形補(bǔ)碼”或“模4補(bǔ)碼”。 用“00”表示正數(shù),“11”表示負(fù)數(shù),兩個(gè)符號位同時(shí)參加運(yùn)算,如果運(yùn)算結(jié)果兩符號位相同,則沒有溢出發(fā)生。如果運(yùn)算結(jié)果兩符號位不同,則表明產(chǎn)生了溢出?!?0”表示負(fù)溢出(下溢出),說明運(yùn)算結(jié)果為負(fù)數(shù),“01”表示正溢出(上溢出),說明運(yùn)算結(jié)果為正數(shù)。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理66例17 x=+1100 , y=+1000 , 求 x+y 。l解:解: xx補(bǔ)補(bǔ)

49、 = = 00001100 , y1100 , y補(bǔ)補(bǔ) = = 000010001000 x x 補(bǔ) 補(bǔ) 0 00 0 1 1 0 0yy補(bǔ)補(bǔ)0 00 0 1 0 0 0 1 0 0 0 x+yx+y 補(bǔ)補(bǔ)0 10 1 0 1 0 0 0 1 0 0l( (表示正溢表示正溢) )計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理67例18 x=-1100 , y=-1000 , 求 x+y 。l解:解: xx補(bǔ)補(bǔ) = = 11110100 , y0100 , y補(bǔ)補(bǔ) = = 111110001000 x x 補(bǔ) 補(bǔ) 1 11 1 0 1 0 0 0 1 0 0yy補(bǔ)補(bǔ)1 11 1 1 0 0 0 1 0 0 0 x

50、+yx+y 補(bǔ)補(bǔ) 1 01 0 1 1 0 0 1 1 0 0( (表示負(fù)溢表示負(fù)溢) )計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理68第二種方法:單符號位法l當(dāng)最高有效位產(chǎn)生進(jìn)位而符號位無進(jìn)位時(shí)當(dāng)最高有效位產(chǎn)生進(jìn)位而符號位無進(jìn)位時(shí),產(chǎn)生上溢;當(dāng)最高有效位無進(jìn)位而符號位產(chǎn)生上溢;當(dāng)最高有效位無進(jìn)位而符號位有進(jìn)位時(shí)有進(jìn)位時(shí),產(chǎn)生下溢。產(chǎn)生下溢。l故溢出邏輯表達(dá)式為故溢出邏輯表達(dá)式為VCf C0,其中其中Cf為為符號位產(chǎn)生的進(jìn)位符號位產(chǎn)生的進(jìn)位,C0為最高有效位產(chǎn)生的為最高有效位產(chǎn)生的進(jìn)位。(見例進(jìn)位。(見例15、16)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理692.2.4 基本的二進(jìn)制加法/減法器l在計(jì)算機(jī)中完成兩個(gè)二進(jìn)

51、制數(shù)相加的基本加法器有半加器和全加器。l半加器在完成兩數(shù)相加時(shí),不需要考慮低位進(jìn)位。l全加器用來完成兩個(gè)二進(jìn)制數(shù)相加,并且同時(shí)考慮低位的進(jìn)位,即全加器完成三個(gè)一位數(shù)相加的功能。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理702.2.4 基本的二進(jìn)制加法/減法器全加器邏輯圖CiAiBiSiCi+1FACiAiBiSiCi+1輸 出輸 入0 11 01 00 00 1 10 1 00 0 10 0 01 01 0 00 10 11 1 01 0 11 11 1 1表2-2 全加器真值表計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理712.2.4 基本的二進(jìn)制加法/減法器l全加器的表達(dá)式為:全加器的表達(dá)式為: S Si i = A

52、= Ai i B Bi i C Ci i C Ci+1i+1 = A = Ai iB Bi i + B + Bi iC Ci i + A+ Ai iC Ci i 一位全加器內(nèi)部邏輯圖一位全加器內(nèi)部邏輯圖BCSiCi+1ABCAAiBiCi計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理722.2.4 基本的二進(jìn)制加法/減法器利用全加器可以實(shí)現(xiàn)兩數(shù)的和或差1、串行加法:從低位開始,每步只完成一位運(yùn)算的加法。串行加法器只需要全加器計(jì)算兩個(gè)n位數(shù)之和,需要n+1步(1位符號位),或n+2步(2位符號位)運(yùn)算。高位運(yùn)算只有等低位運(yùn)算完成后才能進(jìn)行,速度較慢計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理732.2.4 基本的二進(jìn)制加法/減法

53、器圖圖2-2 2-2 行波進(jìn)位補(bǔ)碼加法行波進(jìn)位補(bǔ)碼加法/ /減法器減法器FAFAFAFAFAS0S1Sn-1Bs1As1Bs2As2Cs2Cs1Ss2Ss1Bn-1An-1Cn-1Cn-2B1A1B0A0C1C2C0溢出溢出M方式方式控制控制M=1 減減M=0 加加計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理742.3 定點(diǎn)乘法運(yùn)算l2.3.1 2.3.1 原碼并行乘法原碼并行乘法l2.3.2 2.3.2 補(bǔ)碼并行乘法補(bǔ)碼并行乘法計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理752.3.1 原碼并行乘法l1. 1.人工算法與機(jī)器算法的同異性人工算法與機(jī)器算法的同異性設(shè)設(shè)n位被乘數(shù)和乘數(shù)用定點(diǎn)整數(shù)表示位被乘數(shù)和乘數(shù)用定點(diǎn)整數(shù)表示

54、 被乘數(shù)被乘數(shù) 原原f n110 乘數(shù)乘數(shù) 原原f n110 則乘積則乘積 原原(f f)(n110)(n110)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理76兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是: :乘積的符號位由兩數(shù)的乘積的符號位由兩數(shù)的符號位按異或運(yùn)算符號位按異或運(yùn)算得到得到, ,而乘積的數(shù)值部分則而乘積的數(shù)值部分則是兩個(gè)是兩個(gè)正數(shù)相乘正數(shù)相乘之積。之積。數(shù)值部分的運(yùn)算方法與普通的十進(jìn)制乘法類似。數(shù)值部分的運(yùn)算方法與普通的十進(jìn)制乘法類似。設(shè)設(shè)1101,1011.讓我們用人工算法求其乘積讓我們用人工算法求其乘積,其過程如下其過程如下:2021年12月14日22時(shí)48分l人工算

55、法 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1+ 1 0 0 0 1 1 1 1 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理772.3.1 原碼乘法l缺點(diǎn)缺點(diǎn)(a)將多個(gè)數(shù)一次相加,機(jī)器難以實(shí)現(xiàn)。一般的加法器,只能把兩個(gè)輸入數(shù)相加,多個(gè)位積的同時(shí)輸入是無法實(shí)現(xiàn)的。(b)乘積位數(shù)增長了一倍,即2n,而機(jī)器字長只有n位l所以需要改進(jìn)所以需要改進(jìn)方法一:硬件實(shí)現(xiàn)方法方法一:硬件實(shí)現(xiàn)方法( (串行的串行的“加法和移位加法和移位”),),硬件硬件 結(jié)構(gòu)簡單結(jié)構(gòu)簡單, ,速度太慢速度太慢( (時(shí)間延遲太長時(shí)間延遲太長).).方法二:不帶符號位的陣列乘法器方法二:不帶符

56、號位的陣列乘法器計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理782. 2.不帶符號的陣列乘法器不帶符號的陣列乘法器mn位不帶符號的陣列乘法器邏輯圖位不帶符號的陣列乘法器邏輯圖 每一個(gè)部分乘積項(xiàng)每一個(gè)部分乘積項(xiàng)aibj叫做一個(gè)叫做一個(gè)被加數(shù)。這被加數(shù)。這mn個(gè)被加數(shù)可以用個(gè)被加數(shù)可以用mn個(gè)個(gè)“與與”門并行地產(chǎn)生。門并行地產(chǎn)生。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理79不帶符號的全加器(不帶符號的全加器(FAFA)陣列)陣列斜線為進(jìn)位輸出和輸入行波進(jìn)位加法器n(n-1)個(gè)全加器nn個(gè)與門play5位5位陣列乘法器的邏輯電路圖計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理80例19 已知不帶符號的二進(jìn)制整數(shù)A=11011,B=10101,

57、求每一部分乘積項(xiàng)aibj的值與p9p8p0的值。解:解: 1 1 0 1 1 1 1 0 1 1 A (27A (271010) ) 1 0 1 0 1 1 0 1 0 1 B ( 2 1B ( 2 11010) )1 1 0 1 11 1 0 1 1 a4b0=1, a3b0=1, a2b0=0, a1b0=1, a0b0=1 a4b0=1, a3b0=1, a2b0=0, a1b0=1, a0b0=1 0 0 0 0 00 0 0 0 0 a4b1=0, a3b1=0, a2b1=0, a1b1=0, a0b1=0 a4b1=0, a3b1=0, a2b1=0, a1b1=0, a0b1=

58、0 1 1 0 1 11 1 0 1 1 a4b2=1, a3b2=1, a2b2=0, a1b2=1, a0b2=1 a4b2=1, a3b2=1, a2b2=0, a1b2=1, a0b2=1 0 0 0 0 00 0 0 0 0 a4b3=0, a3b3=0, a2b3=0, a1b3=0, a0b3=0 a4b3=0, a3b3=0, a2b3=0, a1b3=0, a0b3=0 1 1 0 1 11 1 0 1 1 a4b4=1, a3b4=1, a2b4=0, a1b4=1, a0b4=1 a4b4=1, a3b4=1, a2b4=0, a1b4=1, a0b4=1 1 0 0 0

59、 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 P PP = p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 = 1 0 0 0 1 1 0 1 1 1 ( 5 6 7P = p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 = 1 0 0 0 1 1 0 1 1 1 ( 5 6 71 01 0) )計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理813、帶符號位的陣列乘法器l陣列乘法器使用的求補(bǔ)電路陣列乘法器使用的求補(bǔ)電路 原理:采用按位掃描技術(shù),則從數(shù)最右端往左邊掃原理:采用按位掃描技術(shù),則從數(shù)最右端往左邊掃描,直到第一個(gè)描,直到

60、第一個(gè)1 1的時(shí)候,該位和右邊各位保持不變,的時(shí)候,該位和右邊各位保持不變,左邊各數(shù)值位按位取反。左邊各數(shù)值位按位取反。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理82 3. 3.帶符號的陣列乘法器帶符號的陣列乘法器 l(1) (1) 對對2 2求補(bǔ)器電路求補(bǔ)器電路 進(jìn)行求補(bǔ)的方法就是從數(shù)的最右端進(jìn)行求補(bǔ)的方法就是從數(shù)的最右端a0開始,由右向左,開始,由右向左,直到直到找出第一個(gè)找出第一個(gè)“1” ,其以左的每一個(gè)輸入位都求反,其以左的每一個(gè)輸入位都求反。 E為為“1” 對對a求補(bǔ)求補(bǔ) E為為“0” 輸出輸輸出輸入入 符號位符號位可作控制信號可作控制信號E數(shù)值位數(shù)值位play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理83 1 0 1 0 0 1 1 01計(jì)算機(jī)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論