JPH0224417B2 - - Google Patents

Info

Publication number
JPH0224417B2
JPH0224417B2 JP59105658A JP10565884A JPH0224417B2 JP H0224417 B2 JPH0224417 B2 JP H0224417B2 JP 59105658 A JP59105658 A JP 59105658A JP 10565884 A JP10565884 A JP 10565884A JP H0224417 B2 JPH0224417 B2 JP H0224417B2
Authority
JP
Japan
Prior art keywords
data
bit
crc
crc calculation
work
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59105658A
Other languages
English (en)
Other versions
JPS60250725A (ja
Inventor
Yoshio Nishama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP59105658A priority Critical patent/JPS60250725A/ja
Publication of JPS60250725A publication Critical patent/JPS60250725A/ja
Publication of JPH0224417B2 publication Critical patent/JPH0224417B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 発明の技術分野 本発明はサイクリツク冗長チエツク演算方法に
関する。
技術の背景 サイクリツク冗長チエツク演算方法(以下、
CRC演算方法とも称す)は、データエラーの検
出手法の1つとして広く利用されている。他の検
出手法の1つであるパリテイーチエツク方法に比
べエラーを発見し易く特に長ビツト列のデータに
対するエラーチエツクに有効である。このCRC
においてはいわゆる生成多項式が導入され、この
生成多項式とデータの各ビツトとの間で排他的論
理和(EOR)演算を行い、その結果をデータの
末尾に冗長ビツトとして付加し受信側へ送出す
る。一方、受信側では送信されて来たたデータに
対し同様のEOR演算を行い、その結果と、送信
側から送信された結果との一致をみる。一致して
いればデータエラーは含まれていないことにな
る。
ところで近年はCRCのかけ方が複雑になりつ
つある。つまり、データのビツト列に対し単純に
シリアルにEOR演算を施すことのみならず、あ
るビツト列だけを特定してCRCをかけたいとか、
逆にあるビツト列だけはCRCをかけたくない等
のシステム運用上の諸要求に応える必要が生じて
いる。本発明は、このような諸要求に対処し易い
CRC演算方法について言及する。
従来技術と問題点 複雑なCRC演算を行うにはハードウエアのみ
による処理のみでは対処し切れず、CPU(中央処
理装置)によるソフトウエア処理の助けを借りな
ければならない。従来のソフトウエアによる
CRC演算は、基本的には一般的なハードウエア
による処理をそのままプログラム処理に置き換え
たものである。すなわち、CRC演算の対象とな
るデータを1ビツトずつシフトしながら、生成多
項式との間でEOR演算を行うというものである。
然しながら、この従来のCRC演算方法では上記
のようにCRC演算対象のデータを1ビツトずつ
シフトしなければならないことから、必然的に
CRC演算にかなりの時間を要し、高速のデータ
処理が行えないという問題がある。
発明の目的 従つて本発明は上記問題点に鑑み、演算時間の
短縮を図ることのできるCRC演算方法を提供す
ることを目的とするものである。
発明の構成 上記目的を達成するために本発明は、CRC演
算の対象となるデータを複数ビツト単位で一時的
に保持するデータ格納バツフアと、複数ビツトの
ビツトパターン別に割当てられたCRC生成多項
式テーブルとを設け、前記複数ビツト単位のデー
タとこれに対応する該CRC生成多項式テーブル
内のCRC生成多項式との間でEOR演算を行うよ
うにしたことを特徴とするものである。
発明の実施例 第1Aおよび1B図は本発明に基づくCRC演
算方法の手順の一例を示すフローチヤート、第2
図は本発明において用いるCRC演算対象データ
格納バツフアの一例を示す図、第3図は本発明に
おいて用いるメモリ内の作業エリアを示す図、第
4図は本発明において用いるCRC生成多項式テ
ーブルを示す図である。第1Aおよび1B図は8
ビツトのマイクロプロセツサを用いて、生成多項
式X16+X15+X2+1によるCRC演算を行う場合
のフローチヤートである。本フローチヤートのス
テツプ1で、CRC演算すべき対象となるデータ
の先頭3バイトを抽出する。このCRC演算の対
象となるデータは、CRC演算対象格納バツフア
20(第2図)に一時的に保持されている。この
保持は各データを複数ビツト単位、例えばバイト
単位に区分して行う。第2図では、4バイトの
CRC演算対象データDATA+0〜DATA+3の
例を示す。各バイトは8ビツトからなり、左端が
MSB(Most Significant Bit)、右端がLSB
(Least Significant Bit)である。
ステツプ2では、先頭バイトのデータDATA
+0においてMSBから見て最初の論理“1”が
LSB側から数えて何ビツト目に現われるか調べ
る。第2図の例では、データDATA+0の第3
ビツト目に、MSBより見て最初の“1”がある。
ステツプ3では、ステツプ2の結果が第nビツ
ト目(n=3)であるから、テーブルTABLE・
nを選択する。このテーブルは第4図のCRC生
成多項式テーブル40のことであり、例えば
RAM(Random Access Meemory)からなり、
8ビツトに対応させて8つのテーブル群
TABLE・1〜TABLE・8からなる。上記の例
では、テーブルTABLE・3が選択される。
ステツプ4では、先頭3バイトのデータ
DATA+0〜DATA+2(第2図)と対応するテ
ーブルTABLE・3内のTABLE・3+0〜
TABLE・3+2との間で、バイト対応でEOR演
算を行い、その演算結果を作業エリアに格納す
る。この作業エリアは第3図に示すメモリ30で
あり、RAMあるいはレジスタにて構成される。
第3図のaに示す作業エリアWORK+0〜
WORK+2は、CRC演算の実施前であるからエ
ンプテイー(all“0”)である。今、ステツプ4
に則りEOR演算を実行したので、その演算結果
(第1回目)が第3図bに示す如く、作業エリア
に格納される。
第1B図のフローチヤートにおけるステツプ5
では、第3図bの先頭バイトの作業エリア
WORK+0がall“0”か否か調べる。all“0”で
なければ(NO)、ステツプ6に至る。
ステツプ6では、第3図bの作業エリア
WORK+0のMSBから見て最初に論理“1”が
現われるのはLSB側から数えて第何ビツト目か
調べる。第3図bの例では第2ビツト目である。
ステツプ7では、その第2ビツト目の2に対応
するテーブルTABLE・2(第4図)を選択し、
第3図bの3バイトの作業エリアWORK+0〜
WORK+2と3バイトのテーブルTABLE・2
+0〜TABLE・2+2との間で、バイト対応で
EOR演算を行い、その演算結果で作業エリア
WORK+0〜WORK+2(第3図のc)の内容
を書き換える。すなわち、第3図cの内容は、第
2回目の演算結果である。以下、ステツプ5→6
→7→5→6を繰り返す。ステツプ5の結果が
all“0”となつたとき(YES)、ステツプ8に至
る。
ステツプ8では、CRC演算すべき3バイト分
のデータのEOR処理が終了したか否かを監視す
る。終了していない場合は(NO)、ステツプ9
に至る。
ステツプ9では、第1図に示した2バイトの演
算結果WORK+1およびWORK+2と新たなバ
イトのデータDATA+3とからなる3バイトの
データを対象として、上述と同様のステツプ2〜
7を実行する。
ステツプ10では、全データの処理が終了したと
きの作業エリアにおけるWORK+1および
WORK+2の内容(第3図c)をもつて、求め
るCRC演算結果を得る。
上述の説明から明らかなように本発明では
CRC演算の対象となるデータを1ビツトずつシ
フトして処理するのではなく、CRC生成多項式
のビツトパターンを1ビツトずつシフトしてなる
複数のテーブルを予め用意しておき、対応する1
つのテーブルを選択して、その選択されたテーブ
ルとデータの間で、複数ビツト単位で(バイト単
位で)、一括してEORをとるようにしたものであ
る。従つて、少なくとも1ビツト毎に同様の処理
を繰り返し行う従来の方法に比べれば、処理時間
はかなり短縮される。
第5Aおよび5B図は従来のCRC演算方法の
手順の一例を示すフローチヤートであり、第6図
は従来法で用いるCRC演算結果格納エリアを示
す図である。第5Aおよび5B図のフローチヤー
トにおいて、ステツプ1では、CRC演算結果格
納エリアをエンプテイー(all“0”にクリア)に
する(第6図a)。ステツプ2ではビツトポイン
タを先頭ビツトにセツトする。ここに先頭ビツト
とはデータ(第2図のDATAに同じ)のMSBの
ことである。又、ビツトポイントは、1ビツトず
つのデータシフトを行う際に各ビツトの指定を行
う。要するに、従来の手法ではステツプ2〜5
を、データの全ビツトに亘りそれぞれ繰り返さな
ければならず、相当の時間を費やすことは明白で
ある。
第7図は本発明のCRC演算方法を実施するた
めのハードウエアの一例を示すブロツク図であ
る。本図において、LSI71は入力データDioを取
り込みここで直列/並列変換する。例えば8ビツ
トの並列データはバス72に乗せられる。バス7
2には8ビツトのマイクロプロセツサ(MPU)
73が接続し、MPU73はROM74に格納さ
れたCRC演算用プログラムに従つて動作する。
RAM75は第2図〜第4図に示す各メモリエリ
アを含む。Dputは、CRC演算結果を末尾に有する
出力データである。
発明の効果 以上説明したように本発明によれば、従来に比
して一層高速にCRC演算を行うことができる。
【図面の簡単な説明】
第1Aおよび1B図は本発明に基づくCRC演
算方法の手順の一例を示すフローチヤート、第2
図は本発明において用いるCRC演算対象データ
格納バツフアの一例を示す図、第3図は本発明に
おいて用いるメモリ内の作業エリアを示す図、第
4図は本発明において用いるCRC生成多項式テ
ーブルを示す図、第5Aおよび5B図は従来の
CRC演算方法の手順の一例を示すフローチヤー
ト、第6図は従来法で用いるCRC演算結果格納
エリアを示す図、第7図は本発明のCRC演算方
法を実施するためのハードウエアの一例を示すブ
ロツク図である。 20……CRC演算対象格納バツフア、30…
…メモリ、40……CRC生成多項式テーブル。

Claims (1)

    【特許請求の範囲】
  1. 1 サイクリツク冗長チエツク生成多項式に相当
    するビツトパターンを相互に1ビツトずつシフト
    してなる複数のビツトパターンの群をテーブルと
    して予め準備しておき、各々が複数ビツト単位で
    構成される、サイクリツク冗長チエツク演算すべ
    きデータを順次取り出し、取り出された該データ
    と当該データに対応する1の前記テーブル内のビ
    ツトパターンとの間で排他的論理和演算を実行す
    ることを特徴とするサイクリツク冗長チエツク演
    算方法。
JP59105658A 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法 Granted JPS60250725A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59105658A JPS60250725A (ja) 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59105658A JPS60250725A (ja) 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法

Publications (2)

Publication Number Publication Date
JPS60250725A JPS60250725A (ja) 1985-12-11
JPH0224417B2 true JPH0224417B2 (ja) 1990-05-29

Family

ID=14413538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59105658A Granted JPS60250725A (ja) 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法

Country Status (1)

Country Link
JP (1) JPS60250725A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0254140B1 (de) * 1986-07-21 1991-04-17 Siemens Aktiengesellschaft Verfahren zum Bilden von Datenblocksicherungsinformationen für serielle Datenbitfolgen mittels zyklischer Binärcodes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58137053A (ja) * 1982-02-08 1983-08-15 Nec Corp 符号化回路
JPS58206254A (ja) * 1982-05-27 1983-12-01 Nec Corp 誤り検出符号生成/検査方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58137053A (ja) * 1982-02-08 1983-08-15 Nec Corp 符号化回路
JPS58206254A (ja) * 1982-05-27 1983-12-01 Nec Corp 誤り検出符号生成/検査方式

Also Published As

Publication number Publication date
JPS60250725A (ja) 1985-12-11

Similar Documents

Publication Publication Date Title
US5627995A (en) Data compression and decompression using memory spaces of more than one size
CA2077271C (en) Method and apparatus for compressing data
US5490260A (en) Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
JP2830280B2 (ja) 可変長ストリング符合装置
JP3262602B2 (ja) 辞書ベースのデータ圧縮/圧縮解除システム
EP0660531A2 (en) Method and apparatus for compressing data
EP0129439A1 (en) High speed data compression and decompression apparatus and method
EP0187812A1 (en) DATA COMPRESSION PROCESS.
JPS632370B2 (ja)
US4789852A (en) Method and apparatus for converting data in a binary format
JPH0224417B2 (ja)
US5671238A (en) Method and circuitry for generating r-bit parallel CRC code for an l-bit data source
EP0411691B1 (en) Memory architecture and circuit for hashing
JPH0628203A (ja) 乗算回路検査方式
JPH0964754A (ja) 誤り検出符号生成回路
JPS5821299B2 (ja) メモリ
JP3138342B2 (ja) 可変長符号の復号装置
JP2752220B2 (ja) 文字列処理装置
JP3087394B2 (ja) 2進算術符号器
US6484288B1 (en) Statistics signature generation and analysis
JPH03270417A (ja) データ圧縮方法および圧縮データのデータ復元方法
JP2590866B2 (ja) データ検索装置
JPS605981B2 (ja) 誤り訂正符号作成用シンドロ−ム発生回路
JPS6029414B2 (ja) 誤り訂正回路
JPH01119843A (ja) アドレス変換装置