組成原理課程第二章_第1頁
組成原理課程第二章_第2頁
組成原理課程第二章_第3頁
組成原理課程第二章_第4頁
組成原理課程第二章_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第二章計算機中的數據表示方法1本章的主要知識點?數據表示:定點和浮點數據表示格式(含浮點數的規格化)?補碼中模的概念及應用、補碼與真值之間的關系?校驗的原理、作用和實現方法

第二章計算機中的數據表示方法學習本章知識的視角?有利于運算器設計:

簡單數據表示、簡單運算方法、簡化運算器設計21、數據表示的目的和選擇數據格式要考慮的因素1)目的

組織數據,方便計算機硬件直接使用

2)選擇數據格式要考慮的因素

?數的類型

?數的范圍

?數的精度

?存儲和處理的代價

?是否有利于軟件的移植一、數值數據與非數值數據的表示方法32、數的機器表示1)真值:符號用“+”、“-”表示的數據表示方法。2)機器數:符號數值化的數據表示方法,

用0、1表示符號。3)設定點小數的形式為X0.X1X2X3…Xn

X1X

01-X0X-1[X]原=X1X

02-X-2–n0X-1[X]反=[X]補=X1X

02+X=2-|X|0>X–1mod241)X=–0.1011

[X]原=1.1011[X]反=1.0100[X]補=1.01012)X=+0.1011

[X]原=[X]反=X]補=0.10113)0的表示:

[+0]原=0.000…0[-0]原

=1.000…0[+0]反=0.000…0[-0]反

=1.111…1[+0]補=0.000…0=[-0]補

例1求下列各數的原碼、補碼和反碼5原碼:

a)表示簡單

b)運算復雜:要設置加法、減法器。(分同號和異號)

c)0的表示不唯一

4)幾種常見機器數的特點反碼:

a)表示相對原碼復雜

b)運算相對原碼簡單:符號位參加運算,只需要設置加法器。但符號位的進位位需要加到最低位

c)0的表示不唯一

補碼:

a)表示相對復雜

b)運算簡單:只需設置加法器。

c)0的表示唯一

如[x]反=0.1101,[Y]反

=1.0101求X+Y6設[X]補=X0.X1X2X3…Xn[X]補=X1X

02+X=2-|X|0>X–1mod2[X]補=X2nX

12n+1+X=2-|X|0>X2n

mod2n+16)補碼中模的概念(符號位進位后所在位的權值)定點小數定點整數例2整數–1用補碼表示,下列哪些(個)結果是正確的?1)112)1113)11114)111115)111111?若整數x的補碼形式為X0X1X2X3X4X5,則-1的補碼又如何表示?模是多少?解:依題意知:一個整數連同符號位在內共有6位,則[-1]補=

111111

根據補碼的定義,其模為268

?移碼表示浮點數的階碼,只有整數形式,如IEEE754中階碼用移碼表示。設定點整數X的移碼形式為X0X1X2X3…Xn

則移碼的定義是:

[X]移=2n+X2n

X-2n

?具體實現:數值位與X的補碼相同,符號位與補碼相反。

例3X=+10101[X]補=010101[X]移=110101X=–10101[X]補=101011[X]移=0010117)移碼(增碼)表示9例4將十進制值X(-127,-1,0,1,127)用四種機器數表示x真值[X]原[X]反[X]補[X]移-127-0111111111111111100000001000000100000001-1-00000001100000011111111011111111011111110

000000001000000011111111000000001000000000000000011111111000000010000000100000001000000011000000112701111111011111110111111101111111111111111)定點數

?可表示定點小數和整數

?表現形式:X0.X1X2X3X4……..Xn定點小數定點整數?定點小數表示數的范圍:1-2n

|x|2-n?定點整數表示數的范圍:2n-1|x|13.計算機中常用的兩種數值數據格式11

?浮點數的使用場合當數的表示范圍超出了定點數能表示的范圍時。(1)格式(一般格式)ESE1E2E3……EnMSM1M2M3M4..MkE:階碼位數:決定數據的范圍M:尾數位數:決定數的精度2)浮點數把數的范圍和精度分別表示的一種數據表示方法。N=Re?m(2)IEEE754格式S8位偏指數E23位有效尾數M單精度11位偏指數E52位有效尾數MS雙精度指數采用偏移值,其中單精度為127,雙精度為1023.從而所有浮點數的階碼值都可以變成非負整數,便于浮點數的比較和排序.IEEE754尾數形式為1.XXXXXX,其中M部分保存的是XXXXXX.這樣可以保留更多的有效數字位,進一步提高數據表示的精確度.13與上述IEEE754格式相對應的32位浮點數的真值可表示為:N=(-1)S

2E-127

1.M隨E和M的取值不同,IEEE754浮點數據表示具有不同的意義E=0,M=0:表示機器零;E=0,M0:則N=(-1)S2-1260.M,非規格化的浮點數;1E254:N=(-1)S

2E-127

1.M,規格化的浮點數;E=255,M=0:無窮大的數,對應于x/0(其中x0);E=255,M0:N=NaN,表示一個非數值,對應于0/0。14?格式(754—32位標準)SE1E2E3……EnM2M3M4…MkS:整個數的符號位,1位表示E:階碼,含階符,共8位,移碼表示M:尾數,23位定點規格化正小數,小數點位于M1前,不占用數據位,且不含M1

,補碼表示。?表示的數的真值形式:x=(-1)s(1.M)2E–-127

具體運算時,E取浮點數的階碼,127用對應的二進制參與運算,即0111111115對于尾數,當取絕對值且已經規格化后(即對應的十進制數大于0.5),其形式一定為0.1M2M3M4…Mn,顯然僅存儲M2M3M4…Mn可以節約存儲位。

0.1M2M3X4…Xn=1.M2M3X4…Xn

×2–1?階碼真值和移碼關系的說明(對于8位階碼)

由補碼和真值的關系知:

[E]移碼=[E]補碼+27=[E]補碼+128754表示真值(-1)s(0.1M)2e(-1)s(1.M)2[e]補+128

2-1

=(-1)s(1.M)2[e]補+127?對754-32標準尾數的說明16IEEE75432位浮點數與對應真值之間的變換流程17例5將十進制數20.59375轉換成32位IEEE754格式浮點數的二進制格式來存儲。解:先將十進制數換成二進制數:20.59375=10100.10011(0.5+0.25+0.125+0.0625+0.03125)

移動小數點,使其變成1.M的形式10100.10011=1.010010011×24得到:S=0,e=4,E=100+01111111=10000011,M=010010011最后得到32位浮點數的二進制存儲格式為:01000001

1010

0100110000000000

0000 =(41A4C000)1618例6:若某浮點數x的二進制存儲格式為(41360000)16,求與其對應的32位浮點表示的十進的值。解:(41360000)16=(0100,0001,0011,0110,0000,0000,0

000,0000)2s=0e=10000010-01111111=00000011=(3)10

1.M=1.011011

則上述浮點數對應的真值為

X=(-1)0

×(1.011011)×23=(11.375)10

19(3)浮點數的規格化在浮點運算過程中,為了保證數據的精度,要求尾數的最高位為非0數,即當尾數不為零時,其絕對值應大于或等于(1/2)10。對于非規格化浮點數,可通過將尾數左移或右移,并同步修改階碼的值以滿足規格化要求。以補碼表示為例,正數規格化后,尾數的形式為:0.1××…×

負數規格化后,尾數的形式為:1.0××…120

2)檢驗碼的工作原理

二、校驗碼1)問題的提出:檢測傳輸、處理和存儲中的錯誤。檢測器編碼器

x1

x2

x3

x4

11111100001FP發送端

接收端

處理/傳輸

3)帶校驗信息的數據形式

沒有付出,就不會有收獲21

4)碼距的概念

將一組編碼中任何兩個合法編碼之間代碼不同的最小位數稱為這編碼的距離,簡稱碼距或海明距離.四位二進制編碼0011與0001的碼距為1;而0011與0000兩組編碼的距離為2。若用四位二進制編碼只表示0000、0011、0101、0110、1001、1010、1100、1111等八種編碼,則碼距為2。此時,這8種編碼中的任何一位發生改變,如0000變成1000就從有效編碼變成了無效編碼,容易檢測到這種錯誤。如果用四位二進制編十六種狀態,情況又如何?22數據校驗在正常編碼的基礎上,通過增加一些附加的校驗位得到。增加校驗的同時也增加了碼距,當碼距增加到一定程度時,校驗碼不僅具有檢錯功能,而且還可具有糾正錯誤的能力。

5)碼距與數據校驗之間的關系

碼距d與校驗碼的檢錯(e)和糾錯(t)能力的關系如下:(1)de+1:可檢測e個錯誤。(2)d2t+1:可糾正t個錯誤。(3)de+t+1:可檢測e個錯誤并糾正t個錯誤(et)。23如X=1001101,則C=1被傳送的數據為:10011011

接收方對接收到的數字序列進行下列運算

F=X’0X’1

X’2

…X’n-1

C’

若F=1則正確、反之則錯。即當收到的數字為10011011時F=1

當收到的數字為11011011時F=0,出錯,要求重發

6)奇/偶校驗C=X0X1

X2

…Xn-1

發送方,通過設置校驗位的值,使待傳數據中(含一位校驗位)1的個數為奇數。設校驗位為C,則:8、奇/偶校驗(1)奇校驗24發送方通過設置校驗位的值,使待傳數據中(含一位校驗位)1的個數為偶數。設校驗位為C,則

C=X0X1

X2

…Xn-1

如X=1001101則C=0被傳送的數據為:10011010接收方對接收到的數字序列進行下列運算

(2)偶校驗F=X’0X’1

X’2

…X’n-1

若F=1則正確、反之則錯。即當收到的數字為10011010時F=1

當收到的數字為11011010時F=0,錯,要求重發?簡單?碼距為2,不能檢測出同時出現偶數個位錯誤的錯誤!因為,偶數位同時出錯時,不改變數列的奇/偶性時仍然不能檢測出傳輸錯誤!(3)奇/偶校驗的特點(4)奇偶校驗的應用場合分析

?

近距離

?RAID26(5)交叉奇/偶校驗(分組奇/偶校驗

)277)海明校驗(RichardHamming(理查德·海明)1950年提出)(1)奇偶校驗的不足

只能檢測奇數個位錯誤,且不能糾錯,

檢測得出的無錯誤結果不一定可信。

(2)海明校驗

?具有檢測和糾正錯誤的一種編碼(多重奇偶校驗)

?基本思想:將待傳送的信息,按照某種規律分成若干組,每組安排一個校驗位,用于奇偶測試,這樣就提供了多位檢錯信息,以指出最大可能是哪一位出錯,從而糾正.

28(3)具有指出并糾正一位錯誤的海明校驗需要的位數設有r位校驗位,共能表示2r種不同的狀態,用一種狀態表示無差錯,剩余的可以表示2r-1種錯誤,由于差錯可能出現在數據位和校驗位,因此必須滿足:

2r-1>=k+r(k—數據位的位數r—校驗位的位數

)?校驗位在海明碼中的分布規則:

k+r位海明碼中,校驗位Pi分布在海明碼的H2i-1

位上,i=1..r29(4)海明碼的形成方法海明碼位號Hj1

234567891011P和b的分布P1

P2b1

P3b2b3b4

P4

b5b6b7a)分組原則:?確定海明碼每位數據位所用的校驗位Hi1234567891011Pi121,241,42,41,2,481,82,81,2,8?根據每個校驗位校驗的位分組:P1:H3,H5,H7,H9,H11P2:H3,H6,H7,H10,H11P3:H5,H6,H7P4:H9,H10,H1130b)校驗位的取值(偶校驗為例)Hi1234567891011Pi121,2/b141,4/b22,4/b31,2,4/b481,8/b52,8/b61,2,8/b7P1=b1b2b4b5b7P2=b1b3b4b6b7P3=b2b3b4P4=b5b6b7

假設b1b2b3b4b5b6b7=1011000則:P1=10100=0P2=11100=1P3=011=0P4=000=0則H=0110011000031c)指錯、糾錯原理–指錯字P1=b1b2b4b5b7P2=b1b3b4b6b7P3=b2b3b4P4=b5b6b7

則指錯字由G4G3G2G1組成,其中:G4=P4b5b6b7G3

=P3b2b3b4G2=P2b1b3b4b6b7G1=P1b1b2b4b5b7上例中發送方H=01100110000如果接收到H’=01100110001G4=

0

001=1G3=0011=0G2=111101=1G1=010101=132G4G3G2G1=1011表明H11出錯,改正該位的錯誤即可。則錯誤字為:(5)海明校驗的缺點計算復雜(6)關于擴展的海明編碼(指出并糾正多位錯誤的海明編碼),請查閱相關資料。33(1)CRC是一種基于模2運算規則的校驗碼;(2)模2運算規則:a)加/減運算(異或運算,或不帶進位的加法,不帶借位的減法)0±0=0,0±1=1,1±0=1,1±1=0b)乘法運算:按模2加求部分積之和,不進位

c)模2除法按模2減,求部分余數,不借位。上商原則是:①部分余數首位為1時,商為1,減除數;②部分余數首位為0時,商為0,減0;

溫馨提示

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

評論

0/150

提交評論