CRC(巡回冗長検査)とは
しーあーるしー
データのビット列を多項式とみなして生成多項式で割った余りを検査用の値として付け、受け取った側で同じ計算をしてデータの誤りを検出する方法。イーサネットやPCI Express、USB、ファイル形式などで広く使われる。
「CRC(巡回冗長検査)」は、2分野の4問の練習問題に出てきます(論理回路, インターフェース・バス規格など)。
この用語の分野: インターフェース・バス規格
しーあーるしー
データのビット列を多項式とみなして生成多項式で割った余りを検査用の値として付け、受け取った側で同じ計算をしてデータの誤りを検出する方法。イーサネットやPCI Express、USB、ファイル形式などで広く使われる。
「CRC(巡回冗長検査)」は、2分野の4問の練習問題に出てきます(論理回路, インターフェース・バス規格など)。
この用語の分野: インターフェース・バス規格
CRCは、データのビット列を2を法とする多項式の係数とみなし、生成多項式で割った余りを求めます。2を法とする計算では足し算も引き算もXORなので、割り算は「先頭が1なら生成多項式をXORして1桁ずらす」の繰り返しになります。幅wビットのCRCでは、データの後ろにw個の0を付けて割った余りのwビットを付けて送り、受け取った側で同じ計算をして一致するかを確かめます。実際の規格では、初期値、各バイトのビット反転、最後のXORなどの約束を加えて定義されます。
幅wビットのCRCは、長さw以下の連続した誤り(バースト誤り)をすべて検出でき、それ以外のでたらめな誤りを見逃す確率もおおよそ2⁻ʷと小さくなります。ただし誤りを見つけるだけで訂正はできないので、見つけたら再送などで回復します。イーサネットのFCS(CRC-32)、PCI Expressのパケット、USB、CAN、ストレージのコマンドやZIP・PNGなどのファイル形式で使われ、ハードウェアではフリップフロップとXORゲートの線形帰還シフトレジスタで計算できます。
正解:B. 2つの入力が異なるとき
XORは2つの入力が異なるとき1、同じとき0を出力します。式では A⊕B = A・¬B + ¬A・B です。「一方の入力が1なら他方を反転、0ならそのまま通す」と見ることもでき、制御付きインバータとして使えます。半加算器の和、比較回路(一致検出はXNOR)、パリティの計算、暗号のストリーム暗号やCRCの計算など、用途が広いゲートです。
チェックサムはバイトを足し合わせるなどの単純な計算で、順番の入れ替えや打ち消し合う誤りを見逃しやすいのに対し、CRCは多項式の割り算に基づくのでビットの位置まで区別し、バースト誤りなどを確実に見つけられます。
一般にはできません。CRCは誤りの有無を調べる符号で、どのビットが誤ったかは分からないため、訂正が必要なメモリなどではハミング符号などのECCを使います。
半加算器の和、比較回路(一致検出はXNOR)、パリティの計算、暗号のストリーム暗号やCRCの計算など、用途が広いゲートです。
2入力XOR(排他的論理和)ゲートの出力が1になるのはどのときか。XORとフリップフロップだけで作れるため、内蔵テスト(BIST)のパターン生成と結果の圧縮、イーサネットなどのCRC計算、信号を平均化して電磁ノイズを減らすスクランブラに使われます。
シフトレジスタの一部の出力のXORを入力に戻す線形帰還シフトレジスタ(LFSR)の代表的な用途はどれか。データリンク層は、各パケットに通し番号とCRC(巡回冗長検査)の符号を付けて送ります。
PCI Expressのデータリンク層が、伝送中のビットの誤りに対して行うこととして正しいものはどれか。PCI Expressのパケットには、データのほかに、番地や種類を表す見出し、データリンク層の通し番号とCRC、物理層の区切りなどが付き、合わせて20〜30バイトほどになります。
PCI Expressで、64バイトの小さなデータを書き込むパケットを多数送ると、実効的な帯域が理論値よりかなり小さく…Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。
PCI Express シフトレジスタ フリップフロップ BIST(組み込み自己テスト) アイソクロナス転送 アイパターン イコライザ 128b/130b符号化 AXI NRZ