計(jì)算機(jī)組成原理2_1_第1頁(yè)
計(jì)算機(jī)組成原理2_1_第2頁(yè)
計(jì)算機(jī)組成原理2_1_第3頁(yè)
計(jì)算機(jī)組成原理2_1_第4頁(yè)
計(jì)算機(jī)組成原理2_1_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 運(yùn)算方法和運(yùn)算器汪志華edgar_2.1 數(shù)據(jù)與文字的表示方法 n進(jìn)制的相互轉(zhuǎn)換(要求非常熟練)n真值n機(jī)器數(shù)2.1.1 數(shù)據(jù)格式n定點(diǎn)數(shù):操作數(shù)數(shù)據(jù)格式中小數(shù)點(diǎn)是固定的,通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)n定點(diǎn)數(shù)xx0 x1x2xn 在定點(diǎn)機(jī)中表示如下(x0表示符號(hào)位)x0 x1 x2 . xn-1 xnx0 x1 x2 . xn-1 xn定點(diǎn)小數(shù)定點(diǎn)整數(shù)小數(shù)點(diǎn)小數(shù)點(diǎn)n純小數(shù)的表示范圍為 0|12-nn例如,n8,最大值編碼:0.11111111表示: 0.11111111 1.00.000000011-2-8n純整數(shù)的表示范圍為 0| 2n 1n例如:n8,最大值編碼:11111111

2、表示: 111111111000000001281n如何用定點(diǎn)數(shù)來(lái)表示非常大(e.g. 210+33 )的數(shù)和非常小(e.g. 910-28 )的數(shù)?n浮點(diǎn)表示法:把一個(gè)數(shù)的有效數(shù)字和數(shù)的范圍在計(jì)算機(jī)的一個(gè)存儲(chǔ)單元中分別予以表示,這種把數(shù)的范圍和精度分別表示的方法,數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同而在一定范圍內(nèi)自由浮動(dòng)。n一個(gè)任意進(jìn)制數(shù) 可以寫(xiě)成 e n :尾數(shù)尾數(shù),是一個(gè)純小數(shù)。 ne :比例因子的指數(shù),稱(chēng)為浮點(diǎn)數(shù)的指數(shù)指數(shù),是一個(gè)整數(shù)。 nR :比例因子的基數(shù)基數(shù),對(duì)于二進(jìn)計(jì)數(shù)值的機(jī)器是一個(gè)常數(shù),一般規(guī)定 為2,8或16。n階碼n表達(dá)指數(shù)部分n用整數(shù)形式表示,指明小數(shù)點(diǎn)在數(shù)據(jù)中的位置決定浮點(diǎn)

3、數(shù)的表示范圍n尾數(shù)用定點(diǎn)小數(shù)表示,給出有效數(shù)字的位數(shù)決定了浮點(diǎn)數(shù)的表示精度階符階碼數(shù)符尾數(shù)早期計(jì)算機(jī)中浮點(diǎn)數(shù)的表示階符階碼數(shù)符尾數(shù)現(xiàn)行浮點(diǎn)數(shù)的表示nIEEE754標(biāo)準(zhǔn)n:浮點(diǎn)數(shù)的符號(hào)位,1 位,0表示正數(shù),1表示負(fù)數(shù)。n:尾數(shù),23位,用小數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域的最前面。n:階碼,8 位階符采用隱含方式,即采用移碼方式來(lái)表示正負(fù)指數(shù)。將浮點(diǎn)數(shù)的指數(shù)真值e 變成階碼 時(shí),應(yīng)將指數(shù) e 加上一個(gè)固定的偏移值127(01111111),即 e127SEM32位浮點(diǎn)數(shù)31 30 23 22 0 n對(duì)于二進(jìn)制數(shù)1011.1101 =0.10111101 2+4 = 0.010111012+5= 10.

4、111101 2+2 = 1.0111101 2+3n為提高數(shù)據(jù)的表示精度,當(dāng)尾數(shù)的值不為 0 時(shí),尾數(shù)域的最高有效位應(yīng)為1,否則以修改階碼同時(shí)左右移小數(shù)點(diǎn)的辦法,使其變成這一表示形式,這稱(chēng)為浮點(diǎn)數(shù)的規(guī)格化表示規(guī)格化表示。n尾數(shù)的最高位為非零數(shù)值的浮點(diǎn)數(shù),即:1|21Mn對(duì)于原碼表示,xf.x1x2.xn 則 x1=1n對(duì)于補(bǔ)碼表示,xf.x1x2.xn 則xf x1=1nIEEE754規(guī)格化的浮點(diǎn)數(shù)尾數(shù)最高有效位為1,并且隱藏在小數(shù)點(diǎn)的左邊(即:1M2)nIEEE754 標(biāo)準(zhǔn)中,一個(gè)規(guī)格化的32位浮點(diǎn)數(shù)的真值可表示為 (1)s(1.)2127 e127nIEEE754 標(biāo)準(zhǔn)中,一個(gè)規(guī)格化的6

5、4位雙精度浮點(diǎn)數(shù)規(guī)格化表示 (-1)s (1.) 2E-1023e1023(e1023)SEM64位浮點(diǎn)數(shù)63 62 52 51 0 X(-1)s1.M2e (1.011011)231011.011(11.375)10 指數(shù)e階碼127 1000 00100111111100000011=(3)10 包括隱藏位1的尾數(shù)1.M 1.011011例1:浮點(diǎn)機(jī)器數(shù) (41360000)16,求真值 十六進(jìn)制數(shù)展開(kāi)成二進(jìn)制數(shù)0 100 0001 0011 0110 0000 0000 0000 0000S階碼E(8位)尾數(shù)M(23位)例2:真值20.59375,求32位單精度浮點(diǎn)數(shù) 分別將整數(shù)和分?jǐn)?shù)部

6、分轉(zhuǎn)換成二進(jìn)制數(shù) 20.5937510100.10011 移動(dòng)小數(shù)點(diǎn),使其在第1、2位之間10100.100111.01001001124e4S0E4+12713110000011M010010011 得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:0 100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16IEEE 754標(biāo)準(zhǔn)32位單精度規(guī)格化浮點(diǎn)數(shù)nE1(0000 0001)254(1111 1110) e-126+127n表達(dá)的數(shù)據(jù)范圍(絕對(duì)值):n最小值: e-126,M0(1.M1)十進(jìn)制表達(dá):2-1261.1810-38n最大值: e127,M111

7、(23個(gè)1)1.M1.111 (23個(gè)1) 22-23十進(jìn)制表達(dá):(22-23)2127221273.401038IEEE 754標(biāo)準(zhǔn)64位雙精度規(guī)格化浮點(diǎn)數(shù)nE12046 e-1022+1023n表達(dá)的數(shù)據(jù)范圍(絕對(duì)值) :n 最小值: e-1022,M0(1.M1) 十進(jìn)制表達(dá):2-10222.2310-308n 最大值: e1023,M111(52個(gè)1)1.M1.111 (52個(gè)1) 22-52 十進(jìn)制表達(dá):(22-52)21023 221023 1.7910308IEEE 754標(biāo)準(zhǔn)32位單精度規(guī)格化浮點(diǎn)數(shù)中一些規(guī)定n真值0的機(jī)器數(shù)(機(jī)器零)n階碼E0,尾數(shù)M0n正0:S0,負(fù)0:S1

8、n非規(guī)格化浮點(diǎn)數(shù):階碼E0,尾數(shù)M0n規(guī)格化浮點(diǎn)數(shù):階碼E1254(11111110)n無(wú)窮大的機(jī)器數(shù)n階碼E全1(11111111) ,尾數(shù)M0n:S0,:S1nNaN(not a number,不是一個(gè)數(shù))n階碼E全1(11111111) ,尾數(shù)M0n用來(lái)通知異常情況十進(jìn)制數(shù)串的表示方法n字符串形式:一個(gè)字節(jié)存放一個(gè)十進(jìn)制的數(shù)位或符號(hào)位。n壓縮的十進(jìn)制數(shù)串形式:一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位,符號(hào)位占半個(gè)字節(jié)(例如用C表示正,D表示負(fù))123 C012D123-12 2.1.2 數(shù)的機(jī)器碼表示n原碼n補(bǔ)碼n反碼n移碼原碼表示法n定點(diǎn)小數(shù)的原碼形式為x0.x1x2 xnn定點(diǎn)整數(shù)的原碼形式為x

9、0 x1x2 xnX 1 X 0 X原1X1 |X|0X1X 2n X 0 X原2nX2n|X|0X2nn例如,+0.1001,則原0.1001 -0.1001,則原1.1001n對(duì)于0,原碼機(jī)器中往往有“+0”、“-0”之分,故有兩種形式:+0原=0.000.0-0原=1.000.0 補(bǔ)碼表示法n負(fù)數(shù)用補(bǔ)碼表示時(shí),可以把減法轉(zhuǎn)化為加法 +4-8n定點(diǎn)小數(shù)的補(bǔ)碼形式為x0.x1x2 xnn定點(diǎn)整數(shù)的補(bǔ)碼形式為x0 x1x2 xnX 1 X 0 X補(bǔ)2+X2 - |X|0X1X 2n X 0 X補(bǔ)2n+1+X2n+1-|X|0X2n(mod 2)(mod 2n+1)n例如:+0.1011,則補(bǔ)0

10、.1011 -0.1011,則補(bǔ)10+10.0000-0.10111.0101n對(duì)于0,0補(bǔ)0補(bǔ)0.0000 n注意,0的補(bǔ)碼表示只有一種形式。n補(bǔ)碼與真值的關(guān)系若x補(bǔ)=xnxn-1xn-2.x1x0則1022niiinnxxx反碼表示法n定點(diǎn)小數(shù)的反碼形式為x0.x1x2 xnn定點(diǎn)整數(shù)的反碼形式為x0 x1x2 xnX 1 X 0 X反(2-2-n)+X 0X1X 2n X 0 X反(2n+11)+X0X2nn對(duì)于正數(shù) 0.12n, 則 反0.12nn 對(duì)于負(fù)數(shù) 0.12n,則 反1.12nn對(duì)于0,有0反和0反之分: 0反0.00.0 0反1.11.1n對(duì)于負(fù)數(shù)補(bǔ)反2n若要一個(gè)負(fù)數(shù)變補(bǔ)碼

11、,其方法是符號(hào)位置1,其余各位0變1,1變0,然后在最末位(2-n)上加1。移碼表示法n移碼通常用于表示浮點(diǎn)數(shù)的階碼n有符號(hào)整數(shù)采用移碼n最高位表示符號(hào):正數(shù)用1,負(fù)數(shù)用0n移碼的傳統(tǒng)定義: X移 2n X 2n X2n思考:對(duì)同一個(gè)真值,補(bǔ)碼與移碼只相差一個(gè)符號(hào)位機(jī)器碼表示小結(jié)n補(bǔ)碼表示對(duì)加減法運(yùn)算十分方便,因此目前機(jī)器中廣泛采用補(bǔ)碼表示法n有些機(jī)器用原碼進(jìn)行存儲(chǔ)和傳送,運(yùn)算時(shí)改用補(bǔ)碼n有些機(jī)器做加減法時(shí)用補(bǔ)碼,做乘除法時(shí)用原碼n移碼表示法主要用于表示浮點(diǎn)數(shù)的階碼 n例5設(shè)機(jī)器字長(zhǎng)16位,定點(diǎn)表示,尾數(shù)15位,數(shù)符1位,問(wèn): (1)定點(diǎn)原碼整數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?(2)定

12、點(diǎn)原碼小數(shù)表示時(shí),最大正數(shù)是多少?最小負(fù)數(shù)是多少?n(1)最大正數(shù)值 (2151)10(32767) 10 最小負(fù)數(shù)值 -(2151) 10 (-32767) 10 n(2) 最大正數(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 n例例6假設(shè)由S,E,M三個(gè)域組成的一個(gè)32位二進(jìn)制字所表示的非零規(guī)格化浮點(diǎn)數(shù),真值表示為:(1)s(1.M)2E128 問(wèn):它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小負(fù)數(shù)是多少? n(1)最大正數(shù) 011 111 11

13、1111 111 111 111 111 111 111 11 1(12-23)2127n(2)最小正數(shù) 000 000 000000 000 000 000 000 000 000 00 1.02128n(3)最小負(fù)數(shù) 111 111 111111 111 111 111 111 111 111 11 1(1223)2127n(4)最大負(fù)數(shù) 100 000 000000 000 000 000 000 000 000 00 1.021282.1.3 字符與字符串的表示方法n多字節(jié)數(shù)據(jù)通常也連續(xù)存放在主存,占用多個(gè)連續(xù)的字節(jié)存儲(chǔ)單元n小端方式(Little Endian)n低字節(jié)數(shù)據(jù)存放在低地

14、址存儲(chǔ)單元n高字節(jié)數(shù)據(jù)存放在高地址存儲(chǔ)單元n大端方式(Big Endian)n低字節(jié)數(shù)據(jù)存放在高地址存儲(chǔ)單元n高字節(jié)數(shù)據(jù)存放在低地址存儲(chǔ)單元n假設(shè)主存以字節(jié)為單位,每個(gè)存儲(chǔ)單元具有一個(gè)存儲(chǔ)器地址,其中存放一個(gè)字節(jié)數(shù)據(jù)(8位),則16位的數(shù)據(jù)12 34H的存儲(chǔ)方式為:小端方式大端方式341212341000 1001存儲(chǔ)地址2.1.4 漢字的表示方法n漢字的輸入編碼n數(shù)字編碼n拼音碼n字形編碼n漢字內(nèi)碼:漢字機(jī)內(nèi)代碼中兩個(gè)字節(jié)的最高位均規(guī)定為“1”n漢字的輸出編碼:字模碼、矢量字體2.1.5 校驗(yàn)碼n元件故障噪聲干擾等各種因素常常導(dǎo)致計(jì)算機(jī)在處理信息過(guò)程中出現(xiàn)錯(cuò)誤。為了防止錯(cuò)誤,可將信號(hào)采用專(zhuān)門(mén)的邏輯線路進(jìn)行編碼以檢測(cè)錯(cuò)誤,甚至校正錯(cuò)誤。通常的方法是,在每個(gè)字上添加一些校驗(yàn)位,用來(lái)確定字中出現(xiàn)錯(cuò)誤的位置。n最簡(jiǎn)單且應(yīng)用廣泛的檢錯(cuò)碼是采用一位校驗(yàn)位的奇校驗(yàn)奇校驗(yàn)或偶校驗(yàn)偶校驗(yàn)。n奇校驗(yàn):使包括校驗(yàn)位在內(nèi)的數(shù)據(jù)中為“1”的個(gè)數(shù)恒為奇數(shù)n偶校驗(yàn):使包括校驗(yàn)位在內(nèi)的數(shù)據(jù)中為“1”的個(gè)數(shù)恒為偶數(shù)(包括0)n設(shè)(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論