誤り制御方式のパリティチェックについて

魔法使いへの道

はじめに

データ転送やデータ処理において、誤りが発生することは避けられません。そのため、誤り制御方式が必要となります。本記事では、誤り制御方式の一つである「パリティチェック」について解説します。

誤り制御方式とは

誤り制御方式とは、データ転送やデータ処理において、誤りが発生した場合にそれを検出または修正するための方法です。誤り制御方式には、検査方式と修正方式があります。検査方式は、誤りの検出のみを行い、修正方式は、誤りの検出と修正を行います。

https://hamaruki.com/error-control-method/

パリティチェックとは

パリティチェックは、誤り制御方式の一つであり、データ転送中に誤りが発生したかどうかを検出するための方法です。具体的には、データに対して特定の計算を行い、その計算結果をチェックすることで、誤りの検出を行います。

パリティチェックの種類

パリティチェックには、以下のような種類があります。

偶数パリティチェック

偶数パリティチェックは、データのビット数が偶数である場合に使用されます。データに1が含まれるビット数を数え、その結果が偶数であるかどうかをチェックします。結果が偶数でない場合、誤りが発生していることがわかります。

奇数パリティチェック

奇数パリティチェックは、データのビット数が奇数である場合に使用されます。データに1が含まれるビット数を数え、その結果が奇数であるかどうかをチェックします。結果が奇数でない場合、誤りが発生していることがわかります。

垂直パリティチェック

垂直パリティチェックは、データの各ビットの垂直方向におけるパリティをチェックする方法です。データを複数のグループに分割し、各グループの垂直方向におけるパリティを計算します。計算結果が一致しない場合、誤りが発生していることがわかります。

水平パリティチェック

水平パリティチェックは、データの各ビットの水平方向におけるパリティをチェックする方法です。データを複数のグループに分割し、各グループの水平方向におけるパリティを計算します。計算結果が一致しない場合、誤りが発生していることがわかります。

パリティチェックの応用例

パリティチェックは、データ転送やデータ処理において、誤りの検出に使用されます。例えば、コンピュータのメモリに格納されたデータに誤りが発生した場合、システムがクラッシュする可能性があるため、パリティチェックは非常に重要な役割を果たしています。

まとめ

本記事では、誤り制御方式の一つである「パリティチェック」について解説しました。パリティチェックには、偶数パリティチェック、奇数パリティチェック、垂直パリティチェック、水平パリティチェックなどの種類があります。また、パリティチェックは、データ転送やデータ処理において、誤りの検出に使用されます。誤り制御方式は、データの正確性や完全性を確保するために必要な技術であり、今後もますます重要性が高まっていくことでしょう。

FAQs

パリティチェックはどのような場面で使用されるのですか?

データ転送やデータ処理など、データの正確性や完全性が重要な場面で使用されます。

パリティチェックにはどのような種類があり、どのような問題が発生する可能性がありますか?

偶数パリティチェック、奇数パリティチェック、垂直パリティチェック、水平パリティチェックなどの種類があります。誤りの検出ができない場合や、誤りの修正ができない場合があります。

パリティチェックは、どのような計算を行うのですか?

データに対して特定の計算を行い、その計算結果をチェックすることで、誤りの検出を行います。

パリティチェックは、どのような役割を果たしていますか?

データの正確性や完全性を確保することで、システムの安定性や信頼性を高める役割を果たしています。

パリティチェックは、どのような技術的な課題があるのですか?

パリティチェックによって誤りを検出できない場合や、誤りの修正ができない場合があります。また、パリティチェックによってデータの転送速度が低下する可能性があります。

例題(誤り制御方式)

問題 

メモリの誤り制御方式で,2ビットの誤り検出機能と,1ビットの誤り訂正機能をもたせるのに用いられるものはどれか.

選択肢

ア:奇数パリティ
イ:水平パリティ
ウ:チェックサム
エ:ハミング符号

平成30年度秋期午前I問5

問題文の解説

誤り制御

誤り制御とは,コンピュータ間通信の途中で失われた情報や壊れた情報を検知し,適切な状態に修正することを指します.コンピュータ間通信では必ずエラーが発生するため,誤り制御が必須となります.

誤り検出

誤り検出は伝送誤りの検出を行うことです.送信側は誤り検出のための情報を付加して送信し,受信側は誤り検出のための情報を使って,受信したデータをチェックします.

誤り訂正

誤り訂正は伝送誤りの訂正を行うことです.送信側は誤り訂正のための情報を付加して送信し,受信側は誤り訂正のための情報を使って誤りを検出,必要があれば正しいデータを復元します.

選択肢の解説

ア:奇数パリティ

パリティを含めたデータ全体で常に「1」の数が奇数になるようにパリティビットを決定することからこのように呼ばれる.

これによりデータ送信中に改竄された場合,受け取り手がパリティチェックを行うことでデータの改竄の有無を確認できる.

odd parity

ただし2ビット誤りがあった場合には1の数が偶数になってしまうため検出できません.
また,どのビットが誤っているかはわからないので,誤りの検出のみで訂正はできません.

イ:水平パリティ

連続する数ブロックについて,各ブロックの1ビット目,2ビット目…をグループ化し,各グループ毎にパリティを付与する

lateral parity

また,各列において奇数個なら誤りを検出することができる.

ウ:チェックサム

元データを所定区間に区切りその総和を求め,その総和の値に所定のアルゴリズムを通して得られた結果をチェックサムとします.

checksum

エ:ハミング符号

ハミング符号は,データを送信する際に,本来のデータに一定の手順で計算したチェック用のデータを付加して送信することにより,受信側で受け取ったデータに誤りがないかどうかを検証することができるものになります.誤りがあった場合,1bitの誤りであれば訂正が可能となります.

step1ではデータブロックを用意します.
次に,step2で4bitから3bitを抽出した組み合わせを作成します.
step3ではXORを算出し,元のデータブロックに結合させて完了です.

ここで,誤り検出訂正能力を確認してみましょう.

1bitの場合(ここではbが誤っている場合)では,bが誤りと検出でき,さらに訂正をすることができます.

しかし,2bitの場合では,2bitが誤っていることは検出できますが,どこが誤っているまでは分からず訂正はできません.

解答

参考文献

コメント

タイトルとURLをコピーしました