基本情報技術者試験 誤り制御の実施方法

この記事では、基本情報技術者試験を受けようとされている方に向けて、
誤り制御の実施方法に関する内容の解説します。

基本情報技術者試験では比較的出題例が多い分野となろので、
しっかり勉強しておきましょう。

誤り制御とは

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

誤り制御の手法


以下では、試験で出題されたことがある各種のメモリの誤り制御方式を解説します。

パリティチェック


パリティチェックは、データに対してパリティビットと呼ばれる検査用のビットを追加することで誤りを検知する方法です。発生する主な誤りは、データビット列中の0と1が誤って送付されることであるため、パリティビットによりデータビット列の0と1の組み合わせが正しいものであるかを確認する手法が有効です。

パリティチェックはその方法により、奇数パリティと偶数パリティ、および垂直パリティと水平パリティに分かれます。

奇数パリティと偶数パリティ


対象となるビット列の1の個数が奇数である場合にパリティを0にするのが奇数パリティであり、対象となるビット列の1の個数が偶数である場合にパリティを0にするのが偶数パリティです。

これらの方法では1ビットの誤りは偶奇が逆になるので検出できますが,ビット位置の特定はできません。また,2ビット誤ると偶奇が誤る前と同じになるため,誤りの検出はできません。

垂直パリティと水平パリティ


垂直パリティはデータのビット列を一定ブロックごとに分けて並べたうえで、
垂直方向に対してパリティビット(奇数パリティか偶数パリティ)を設ける方法です。
水平パリティは同様にビット列を一定ブロックごとに分けて並べたうえで、
水平方向に対してパリティビットを設ける方法です。

どちらか1つの方法だけであれば,奇数パリティと同じように
偶奇の違いで誤りを検出できません。

水平パリティと垂直パリティを併用することによって,
1ビットの誤りと訂正ができるようになります。

チェックサム


各項目の合計値をたし,その結果をデータとともに記録しておきます。データを読み出すときも,同じ計算をし,合計と違っていたら,データが誤って記録されたと判断できます。

ハミング符号方式


ハミング符号方式では、2ビットの誤りを検出でき,1ビットの誤りは訂正できます。

パリティビットを複数つけることによって、誤りを検知できる量を増やします。

パリティチェックでは、ビット列に誤りの有無しかわかりませんでしたが、ハミング符号方式では複数のパリティビットによりデータのどこに誤りが生じたかまで特定できます。これによって、誤り検知時に再送要求をする必要がなく、受信側でデータを訂正でき、効率的な通信を実現できます。

CRC(Cyclic Redundancy Check, 巡回冗長検査)


CRCは、ビット列を生成多項式で割った余りを算出して相手に送付ことによって、パリティチェックなどの方式よりも多くのビットの誤りを検知できるようにした方法です。

CRC符号は誤り検出用の符号であり、正しい値へ訂正する機能はありません。

参考文献

0 件のコメント:

コメントを投稿

人気の投稿