計(jì)算機(jī)組成原理-運(yùn)算方法和運(yùn)算部件(3)培訓(xùn)課件_第1頁
計(jì)算機(jī)組成原理-運(yùn)算方法和運(yùn)算部件(3)培訓(xùn)課件_第2頁
計(jì)算機(jī)組成原理-運(yùn)算方法和運(yùn)算部件(3)培訓(xùn)課件_第3頁
計(jì)算機(jī)組成原理-運(yùn)算方法和運(yùn)算部件(3)培訓(xùn)課件_第4頁
計(jì)算機(jī)組成原理-運(yùn)算方法和運(yùn)算部件(3)培訓(xùn)課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

3.6運(yùn)算部件1.定點(diǎn)運(yùn)算部件定點(diǎn)運(yùn)算部件由算術(shù)邏輯運(yùn)算部件ALU、若干個(gè)寄存器、移位電路、計(jì)數(shù)器、門電路等組成。實(shí)現(xiàn)定點(diǎn)運(yùn)算(算術(shù)運(yùn)算和邏輯運(yùn)算)定點(diǎn)運(yùn)算部件的框圖如圖3.9所示??紤]到最簡單的情況,圖中僅有三個(gè)寄存器A、B、C。定點(diǎn)運(yùn)算部件框圖A,B,C寄存器的作用運(yùn)算A寄存器B寄存器C寄存器加法被加數(shù)

運(yùn)算結(jié)果加數(shù)無用減法被減數(shù)運(yùn)算結(jié)果減數(shù)無用乘法部分積

乘積高位被乘數(shù)乘數(shù)

乘積低位除法被除數(shù)

余數(shù)除數(shù)商表3.4A,B,C寄存器的作用浮點(diǎn)運(yùn)算器根據(jù)浮點(diǎn)運(yùn)算算法,浮點(diǎn)運(yùn)算器一般包括階碼運(yùn)算部件和尾數(shù)運(yùn)算部件兩個(gè)部分。階碼運(yùn)算是一個(gè)定點(diǎn)整數(shù)運(yùn)算部件;尾數(shù)運(yùn)算是一個(gè)定點(diǎn)小數(shù)運(yùn)算部件。Intel80287支持80位浮點(diǎn)數(shù)運(yùn)算,其中階碼16位,尾數(shù)64位。關(guān)鍵運(yùn)算部件有:指數(shù)模塊:通過指數(shù)總線從寄存器中獲得運(yùn)算的階碼,運(yùn)算結(jié)果通過指數(shù)總線送回寄存器棧。算術(shù)運(yùn)算部件:負(fù)責(zé)尾數(shù)的四則運(yùn)算。可編程移位器:尾數(shù)的移位。返回3.7數(shù)據(jù)校驗(yàn)碼數(shù)據(jù)校驗(yàn)碼:帶有發(fā)現(xiàn)某些錯(cuò)誤或自動(dòng)改錯(cuò)能力的數(shù)據(jù)編碼方法。實(shí)現(xiàn)原理:通過在數(shù)據(jù)位中加入一些冗余位,從而達(dá)到能自動(dòng)發(fā)現(xiàn)錯(cuò)誤(檢錯(cuò)碼)或校正錯(cuò)誤(糾錯(cuò)碼)。常用的數(shù)據(jù)校驗(yàn)碼有:

奇偶校驗(yàn)碼Hamming(海明)校驗(yàn)碼CRC(循環(huán)冗余校驗(yàn))碼檢錯(cuò)和糾錯(cuò)實(shí)現(xiàn)原理f存儲(chǔ)器比較f糾正器數(shù)據(jù)輸出出錯(cuò)信號(hào)數(shù)據(jù)輸入MMMKKK檢錯(cuò)和糾錯(cuò)實(shí)現(xiàn)說明通過函數(shù)f對(duì)數(shù)據(jù)進(jìn)行計(jì)算,以產(chǎn)生一種代碼,代碼和數(shù)據(jù)都被存儲(chǔ),因此如果原來數(shù)據(jù)字長為M位,校驗(yàn)碼長為K位,則實(shí)際存儲(chǔ)的字長應(yīng)該是M+K位。當(dāng)原先存儲(chǔ)的字讀出時(shí),這個(gè)代碼用于檢錯(cuò)和糾錯(cuò),在M位數(shù)據(jù)中產(chǎn)生一組新的K位代碼,與取出的代碼進(jìn)行比較:結(jié)果一致,無差錯(cuò),取出的數(shù)據(jù)位傳送出去;檢測到差錯(cuò),并可以糾正,數(shù)據(jù)位和糾錯(cuò)位一起送入糾正器,然后產(chǎn)生一組正確的M位數(shù)據(jù)位;檢測到差錯(cuò),但無法糾正,報(bào)告出錯(cuò)。3.7.1奇偶校驗(yàn)碼奇偶校驗(yàn)碼:一種開銷小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位或奇數(shù)個(gè)位出錯(cuò)情況的編碼。編碼方法:不管數(shù)據(jù)位長度多少(通常為1個(gè)字節(jié)),校驗(yàn)位只有一位。數(shù)據(jù)位和校驗(yàn)位一起所含“1”的個(gè)數(shù)為奇數(shù),稱為奇校驗(yàn)。數(shù)據(jù)位和校驗(yàn)位一起所含“1”的個(gè)數(shù)為偶數(shù),稱為偶校驗(yàn)。例:數(shù)據(jù) 奇校驗(yàn)的編碼 偶校驗(yàn)的編碼00000000 100000000 00000000001010100 001010100 101010100 01111111 001111111 101111111奇偶校驗(yàn)碼校驗(yàn)位的值取0還是1,是由數(shù)據(jù)位中1的個(gè)數(shù)決定的。這種方法只能發(fā)現(xiàn)一位錯(cuò)(或奇數(shù)個(gè)位錯(cuò)),但不能確定是哪一位錯(cuò),也不能發(fā)現(xiàn)偶數(shù)個(gè)位錯(cuò)。但是,一位出錯(cuò)的幾率比多位同時(shí)出錯(cuò)的幾率高得多,因此該方法還是有很好的實(shí)用價(jià)值。奇偶校驗(yàn)碼常用于存儲(chǔ)器讀寫檢查,或字符傳送過程中的檢查。奇偶校驗(yàn)位的形成及校驗(yàn)電路見圖3.10。3.7.2海明校驗(yàn)碼海明校驗(yàn)碼不僅能發(fā)現(xiàn)出錯(cuò),而且還能指出哪一位出錯(cuò),從而實(shí)現(xiàn)自動(dòng)糾錯(cuò)。設(shè)有r位校驗(yàn)位,則共有0到2r-1個(gè)共2r個(gè)組合。用0表示無差錯(cuò),其余2r-1個(gè)值表示有差錯(cuò),并指出錯(cuò)在第幾位。由于差錯(cuò)可能發(fā)生在k個(gè)數(shù)據(jù)位中或r個(gè)校驗(yàn)位中,因此有:2r

≥r+k+1海明校驗(yàn)碼的校驗(yàn)位數(shù)根據(jù)數(shù)據(jù)位k與校驗(yàn)位r的關(guān)系:2r

≥k+r+1,可以得到下表:數(shù)據(jù)位k校驗(yàn)位r1~445~11512~26627~57758~1208海明校驗(yàn)碼的校驗(yàn)位置設(shè)k位數(shù)據(jù)用Di表示,r位校驗(yàn)位用Pi表示,生成的m=k+r位海明碼用Hi表示即HmHm-1...H2H1。則每個(gè)校驗(yàn)位Pi在海明碼中被分配在2i-1位置上。當(dāng)2i-1>m時(shí),Pi放在Hm位置。例:有一個(gè)BCD碼為D4D3D2D1,生成8位海明碼

H8H7H6H5H4H3H2H1

P4D4D3D2P3D1P2P1

23

22

2120

有一個(gè)1字節(jié)的信息,生成13位海明碼:H13H12H11H10H9H8H7H6H5H4H3H2H1

P5D8D7D6D5P4D4D3D2P3D1P2P113

8421海明碼的實(shí)現(xiàn)Hi由多個(gè)校驗(yàn)位校驗(yàn),每個(gè)海明碼的位號(hào)要等于參與校驗(yàn)它的幾個(gè)檢驗(yàn)位的位號(hào)之和。校驗(yàn)位只與自身有關(guān),數(shù)據(jù)位由校驗(yàn)位校驗(yàn)。海明碼的實(shí)現(xiàn)例:k=8,r=5,則m=k+r=13,海明碼為:H13H12H11H10H9H8H7H6H5H4H3H2H1P5,P4,P3,P2,P1根據(jù)規(guī)則分別對(duì)應(yīng)于:H13,H8,H4,

H2,

H1

于是有:P1=D1D2D4D5D7P2=D1D3D4D6D7P3=D2D3D4D8P4=D5D6D7D8海明碼的實(shí)現(xiàn)如果要分清是兩位出錯(cuò)還是一位出錯(cuò),還要補(bǔ)充一個(gè)總校驗(yàn)位P5,使:

P5=D1D2D3D4D5D6D7D8P4P3P2P1

在這種安排中,每一位數(shù)據(jù)位都至少出現(xiàn)在3個(gè)Pi值的形成關(guān)系中。當(dāng)任一位數(shù)據(jù)碼發(fā)生變化時(shí),必將引起3個(gè)或4個(gè)Pi值跟著變化,該海明碼的碼距為4。按如下關(guān)系對(duì)所得到的海明碼實(shí)現(xiàn)偶校驗(yàn):S1=P1D1D2D4D5D7S2=P2D1D3D4D6D7S3=P3D2D3D4D8S4=P4D5D6D7D8S5=P5P4P3P2P1D1D2D3D4D5D6D7D8則校驗(yàn)得到的結(jié)果值S5~S1能反映13位海明碼的出錯(cuò)情況。00000表示沒有出錯(cuò);1xxxx表示第xxxx位出錯(cuò);0xxxx表示有2位出錯(cuò)。(任何偶數(shù)個(gè)出錯(cuò),S5一定為0,因此可區(qū)分兩位出錯(cuò)或一位出錯(cuò)。)校驗(yàn)線路見圖3.11和圖3.12。海明碼應(yīng)用在IBM3000系列中,主存64位數(shù)據(jù)采用8位SEC-DED碼進(jìn)行校驗(yàn),占了12%的系統(tǒng)開銷;VAX計(jì)算機(jī)中32位字長機(jī)器,采用7位SED-DED碼,占了22%的系統(tǒng)開銷3.7.3循環(huán)冗余校驗(yàn)(CRC)碼CRC碼可以發(fā)現(xiàn)并糾正多位錯(cuò)誤。在存儲(chǔ)和通信方面得到廣泛應(yīng)用。CRC碼的編碼方法:在k位信息后拼接r位校驗(yàn)碼。首先,將待編碼的k位信息用一個(gè)k-1次二進(jìn)制多項(xiàng)式M(x)表示,其中C為0或1:

M(x)=Ck-1xk-1+Ck-2xk-2+…+Cixi+…+C2x2+C1x+C0然后將信息碼左移r位,空位補(bǔ)0,則可表示為多項(xiàng)式M(x)?xr,這樣就可以空出r位,以便拼接r位校驗(yàn)位。

CRC碼是多項(xiàng)式M(x)?xr除以稱為生成多項(xiàng)式G(x)所得余數(shù)作為校驗(yàn)位的。為了得到r位余數(shù),G(x)必須是r+1位。CRC碼的編碼方法設(shè)所得余數(shù)表達(dá)式R(x),商為Q(x)。將余數(shù)拼接在信息碼左移r位空出的r位上,就構(gòu)成了這個(gè)有效信息的CRC碼。這個(gè)CRC碼可用多項(xiàng)式表達(dá)為:

M(x)?xr+R(x)=[Q(x)?

G(x)+R(x)]+R(x)=[Q(x)?

G(x)]+[R(x)+R(x)]=Q(x)?

G(x)因此,所得的CRC碼可被G(x)表示的數(shù)碼整除。已知M(x)和G(x),求出R(x),即為CRC碼。模2運(yùn)算模2運(yùn)算:以按位模2相加為基礎(chǔ)的四則運(yùn)算,不考慮進(jìn)位或借位。模2加減:模2加與模2減的結(jié)果相同,即00=0;01=1;10=1;11=0它可用異或邏輯實(shí)現(xiàn):

0⊕0=0;

0⊕1=1;1⊕0=1;1⊕1=0.模2乘:模2除:

101010110000

×10110110100100000000101010010001010101按模2加求部分積之和按模2減求部分余數(shù)。

101上商原則:當(dāng)部分余數(shù)首位為1時(shí),商取1;當(dāng)部分余數(shù)首位為0時(shí),商取0。CRC碼編碼方法舉例例3.44:有效信息碼為(1100),G(x)=x3+x+1,即(1011),求該有效信息的CRC碼。

解:M(x)=x3+x2=1100M(x)·x3=x6+x5=1100000M(x)·x31100000010G(x)10111011

M(x)·x3+R(x)=1100000+010=1100010

CRC碼為1100010,編好的循環(huán)校驗(yàn)碼稱為(7,4)碼,即n(k+r)=7,k=4。=1110+=CRC的譯碼與糾錯(cuò)將收到的CRC碼用約定的生成多項(xiàng)式G(x)去除,如果碼字無誤則余數(shù)應(yīng)位0,如果有某一位出錯(cuò),則余數(shù)不為0,不同位數(shù)出錯(cuò)余數(shù)不同。通過例3.44求出其出錯(cuò)模式如表3.7所示。更換不同的信息碼可以驗(yàn)證:余數(shù)與出錯(cuò)位的對(duì)應(yīng)關(guān)系是不變的,A1A2A3A4A5A6A7余數(shù)正確1100010000A7錯(cuò)1100011001A6錯(cuò)1100000010A5錯(cuò)1100110100A4錯(cuò)1101010011A3錯(cuò)1110010110A2錯(cuò)1000010111A1錯(cuò)0100010101表3.7(7,4)循環(huán)碼的出錯(cuò)模式(生成多項(xiàng)式G(x)=1011)只與碼制和生成多項(xiàng)式有關(guān)。CRC的譯碼與糾錯(cuò)如果CRC碼有一位出錯(cuò),用G(x)作模2除將得到一個(gè)不為0的余數(shù)。如果對(duì)余數(shù)補(bǔ)0繼續(xù)除下去,我們將發(fā)現(xiàn)一個(gè)現(xiàn)象:各次余數(shù)將按表3.7順序循環(huán)。根據(jù)不

溫馨提示

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

評(píng)論

0/150

提交評(píng)論