校驗位

校驗位

校驗位又稱奇偶校驗位(英語:parity bit)是一個表示給定位數的二進制數中1的個數是奇數還是偶數二進制數。奇偶校驗位是最簡單的錯誤檢測碼。

基本介紹

  • 中文名:校驗位
  • 外文名:check bit
  • 含義:給定位數的二進制數中1的個數
  • 主要學者:蔡躍明,徐友雲李明,李天鐸
  • 又名:奇偶校驗位
  • 套用學科:計算機學
定義,錯誤檢測,使用,奇偶校驗塊,

定義

奇偶校驗位有兩種類型:偶校驗位奇校驗位
如果一組給定數據位中1的個數是奇數,那么偶校驗位就置為1,從而使得1的個數是偶數。如果給定一組數據位中1的個數是偶數,那么奇校驗位就置為1,使得總的1的個數是奇數。
偶校驗實際上是循環冗餘校驗的一個特例,通過多項式x+ 1 得到1位CRC

錯誤檢測

如果傳輸過程中包括校驗位在內的奇數個數據位發生改變,那么奇偶校驗位將出錯表示傳輸過程有錯誤發生。因此,奇偶校驗位是一種錯誤檢測碼,但是由於沒有辦法確定哪一位出錯,所以它不能進行錯誤校正。發生錯誤時必須扔掉全部的數據,然後從頭開始傳輸數據。在噪聲很多的媒介上成功傳輸數據可能要花費很長的時間,甚至根本無法實現。但是奇偶校驗位也有它的優點,它是使用一位數據能夠達到的最好的校驗碼,並且它僅僅需要一些異或門就能夠生成。參見漢明碼中關於其它錯誤校正碼的描述。

使用

由於它很簡單,所以奇偶校驗位用於許多計算機硬體中,遇到麻煩時能夠重新操作或者通過簡單的錯誤檢測就能起到很大作用的場合。例如SCSI匯流排使用奇偶校驗位檢測傳輸錯誤,許多微處理器的指令高速快取中也包括奇偶校驗位保護。因為指令快取數據是主記憶體數據的副本,所以在發現錯誤的時候能夠拋棄錯誤數據並且重新取回數據。
在串列通信中,常用的格式是7個數據位、1個校驗位、1到2個停止位。這種格式用方便的8位位元組巧妙地適應了所有的7位ASCII字元。也可以用其它的格式表示,8位數據加上1個校驗位可以傳輸任意的8位位元組數據。
在串列通信中,奇偶校驗位通常是由UART這樣的接口硬體生成、校驗的,在接收方,通過接口硬體中的暫存器的狀態位傳給CPU以及作業系統。錯誤數據的恢復通常是通過重新傳送數據,這個過程通常由如作業系統輸入輸出程式這樣的軟體處理的。

奇偶校驗塊

一些冗餘磁碟陣列(RAID)使用奇偶校驗塊實現冗餘。如果陣列中的一塊磁碟出現故障,工作磁碟中的數據塊與奇偶校驗塊一起來重建丟失的數據。
下面的圖表每列表示一個磁碟,假設A1 = 00000111、A2 = 00000101以及A3 = 00000000。A1、A2、A3異或得到的Ap等於00000010。如果第二個磁碟出現故障,A2將不能被訪問,但是可以通過A1、A3與Ap的異或進行重建:
A1 XOR A3 XOR Ap = 00000101
冗餘磁碟陣列
A1 A2 A3
Ap B1 B2
Bp C1 C2
C3 C4 Cp
注意:數據塊是格式A#,奇偶校驗塊是Ap。

相關詞條

熱門詞條

聯絡我們