JP2814918B2 - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JP2814918B2 JP2814918B2 JP6156201A JP15620194A JP2814918B2 JP 2814918 B2 JP2814918 B2 JP 2814918B2 JP 6156201 A JP6156201 A JP 6156201A JP 15620194 A JP15620194 A JP 15620194A JP 2814918 B2 JP2814918 B2 JP 2814918B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- crc
- input
- exclusive
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Microcomputers (AREA)
Description
【0001】
【産業上の利用分野】本発明は、通信データのエラーチ
ェック等に用いられる巡回冗長検査(CRC:cyclic r
edundancy check)のためのCRCコードの生成及びチ
ェックを実行可能なマイクロコンピュータに関する。
ェック等に用いられる巡回冗長検査(CRC:cyclic r
edundancy check)のためのCRCコードの生成及びチ
ェックを実行可能なマイクロコンピュータに関する。
【0002】
【従来の技術】従来より、マイクロコンピュータにおい
て、通信データのCRCコードを生成・チェックする際
には、CRCコード生成・チェック用の専用の機能ハー
ドウエアを使用するか、もしくは、マイクロコンピュー
タを構成する算術論理回路ユニット(以下、単にALU
ともいう。)内に設けられた既存の演算回路を、各演算
回路に対応する既存の命令を組み合せたCRC生成・チ
ェック用のソフトウエアにて動作させることにより行な
っていた。
て、通信データのCRCコードを生成・チェックする際
には、CRCコード生成・チェック用の専用の機能ハー
ドウエアを使用するか、もしくは、マイクロコンピュー
タを構成する算術論理回路ユニット(以下、単にALU
ともいう。)内に設けられた既存の演算回路を、各演算
回路に対応する既存の命令を組み合せたCRC生成・チ
ェック用のソフトウエアにて動作させることにより行な
っていた。
【0003】
【発明が解決しようとする課題】しかしながら、上記前
者のようにCRCコード生成・チェック用の専用のハー
ドウエアを使用する場合には、マイクロコンピュータと
しての機能ブロックとは別に、CRC専用の機能ブロッ
クを追加しなければならないため、例えば車両用の各種
制御装置を通信線にて接続することにより車載LANを
構成するような場合には、各制御装置毎に、これら各機
能ブロックを接続しなければならず、その組付作業が煩
雑になるとか、CRC専用の機能ブロックの追加に伴い
コスト高になるといった問題があった。
者のようにCRCコード生成・チェック用の専用のハー
ドウエアを使用する場合には、マイクロコンピュータと
しての機能ブロックとは別に、CRC専用の機能ブロッ
クを追加しなければならないため、例えば車両用の各種
制御装置を通信線にて接続することにより車載LANを
構成するような場合には、各制御装置毎に、これら各機
能ブロックを接続しなければならず、その組付作業が煩
雑になるとか、CRC専用の機能ブロックの追加に伴い
コスト高になるといった問題があった。
【0004】一方、上記後者のように、マイクロコンピ
ュータにおける既存命令の組み合せにより、CRCコー
ドの生成・チェックを行なうようにした場合には、CR
C専用の機能ブロックを設ける必要がないため、装置構
成が簡単となり、例えば上記のように車載用のLANを
構成する場合にも簡単に組付けることができるようにな
るのであるが、マイクロコンピュータにおける既存命令
の組み合せにてCRCコードの生成・チェックを行なう
には、CRCコード生成のための複雑な演算処理を行な
わなければならないため、CRCコードの生成・チェッ
クに時間がかかり、通信速度が低下してしまうといった
問題があった。
ュータにおける既存命令の組み合せにより、CRCコー
ドの生成・チェックを行なうようにした場合には、CR
C専用の機能ブロックを設ける必要がないため、装置構
成が簡単となり、例えば上記のように車載用のLANを
構成する場合にも簡単に組付けることができるようにな
るのであるが、マイクロコンピュータにおける既存命令
の組み合せにてCRCコードの生成・チェックを行なう
には、CRCコード生成のための複雑な演算処理を行な
わなければならないため、CRCコードの生成・チェッ
クに時間がかかり、通信速度が低下してしまうといった
問題があった。
【0005】つまり、CRCコードの生成・チェックを
行なうには、CRCコード生成用の複雑な生成多項式に
て、通信データの演算処理を行なわなければならないた
め、マイクロコンピュータの既存命令の組み合せにてソ
フト的にCRCコードの生成・チェックを行なうには非
常に時間がかかり、上記のように制御の応答性が要求さ
れる車両用の制御装置においてデータ通信を行なうよう
な場合には、使用することができなかったのである。
行なうには、CRCコード生成用の複雑な生成多項式に
て、通信データの演算処理を行なわなければならないた
め、マイクロコンピュータの既存命令の組み合せにてソ
フト的にCRCコードの生成・チェックを行なうには非
常に時間がかかり、上記のように制御の応答性が要求さ
れる車両用の制御装置においてデータ通信を行なうよう
な場合には、使用することができなかったのである。
【0006】本発明は、こうした問題に鑑みなされたも
ので、ALU内にCRCコード生成用の演算機能を追加
することにより、CRCコード生成・チェックを高速で
行なうことができ、しかも簡単な構成で安価に実現可能
なマイクロコンピュータを提供することを目的とする。
ので、ALU内にCRCコード生成用の演算機能を追加
することにより、CRCコード生成・チェックを高速で
行なうことができ、しかも簡単な構成で安価に実現可能
なマイクロコンピュータを提供することを目的とする。
【0007】
【課題を解決するための手段】かかる目的を達成するた
めになされた請求項1に記載の発明は、算術論理回路ユ
ニット内に、ワード或はバイトデータからなるnビット
の第1データ、及び、該第1データとは異なる1ビット
の第2データを、n+1本の入力経路を介して取り込
み、該取り込んだn+1ビットの入力データを、前記第
2データが前記第1データ側に移動する方向にビット単
位でシフトさせるシフト回路と、入力データの排他的論
理和を演算する排他的論理和回路と、を備えたマイクロ
コンピュータにおいて、前記シフト回路にデータを入力
する一部の入力経路に、前記排他的論理和回路を設け、
該排他的論理和回路が、当該入力経路に入力されたデー
タと、前記第1データの内、前記シフト回路のシフト動
作によって外部に吐き出されるデータを前記シフト回路
に入力する入力経路に入力されたデータと、前記第2デ
ータをシフト回路に入力する入力経路に入力されたデー
タと、の排他的論理和を演算して前記シフト回路に入力
するよう構成することにより、前記算術論理回路ユニッ
ト内にCRCコード生成用のCRC演算回路を形成した
ことを特徴としている。
めになされた請求項1に記載の発明は、算術論理回路ユ
ニット内に、ワード或はバイトデータからなるnビット
の第1データ、及び、該第1データとは異なる1ビット
の第2データを、n+1本の入力経路を介して取り込
み、該取り込んだn+1ビットの入力データを、前記第
2データが前記第1データ側に移動する方向にビット単
位でシフトさせるシフト回路と、入力データの排他的論
理和を演算する排他的論理和回路と、を備えたマイクロ
コンピュータにおいて、前記シフト回路にデータを入力
する一部の入力経路に、前記排他的論理和回路を設け、
該排他的論理和回路が、当該入力経路に入力されたデー
タと、前記第1データの内、前記シフト回路のシフト動
作によって外部に吐き出されるデータを前記シフト回路
に入力する入力経路に入力されたデータと、前記第2デ
ータをシフト回路に入力する入力経路に入力されたデー
タと、の排他的論理和を演算して前記シフト回路に入力
するよう構成することにより、前記算術論理回路ユニッ
ト内にCRCコード生成用のCRC演算回路を形成した
ことを特徴としている。
【0008】また請求項2に記載の発明は、上記請求項
1に記載のマイクロコンピュータにおいて、前記排他的
論理和回路が設けられた入力経路に、更に、外部からの
選択命令に従い、前記排他的論理和回路から出力された
データと、当該入力経路に入力されたデータとのいずれ
かを選択して、前記シフト回路に入力する選択回路、を
設けたことを特徴としている。
1に記載のマイクロコンピュータにおいて、前記排他的
論理和回路が設けられた入力経路に、更に、外部からの
選択命令に従い、前記排他的論理和回路から出力された
データと、当該入力経路に入力されたデータとのいずれ
かを選択して、前記シフト回路に入力する選択回路、を
設けたことを特徴としている。
【0009】また更に、請求項3に記載の発明は、上記
請求項2に記載のマイクロコンピュータにおいて、前記
シフト回路に前記第1及び第2データを入力する入力経
路の全てに、前記排他的論理和回路及び前記選択回路を
設けたことを特徴としている。
請求項2に記載のマイクロコンピュータにおいて、前記
シフト回路に前記第1及び第2データを入力する入力経
路の全てに、前記排他的論理和回路及び前記選択回路を
設けたことを特徴としている。
【0010】
【作用及び発明の効果】上記のように、請求項1に記載
のマイクロコンピュータにおいては、算術論理回路ユニ
ット(ALU)のシフト回路に対してnビットの第1デ
ータ及び1ビットの第2データを入力するn+1本の入
力経路の一部に排他的論理和回路を設け、この入力経路
からシフト回路に対して、下記データ(1)〜(3)の排他的
論理和を入力するようにされている。 (1) 当該入力経路に入力されたデータ。 (2) 第1データの内、シフト回路のシフト動作によって
外部に吐き出されるデータ(最上位ビット又は最下位ビ
ットのデータ)をシフト回路に入力する入力経路に入力
されたデータ。 (3) 第2データをシフト回路に入力する入力経路に入力
されたデータ。 このため、請求項1に記載のマイクロコンピュータにお
いては、後述実施例に記載のように、シフト回路の各入
力経路に入力するデータを操作してシフト回路を繰り返
し動作させれば、CRCコードが生成されることにな
り、ALU内のシフト回路をCRCコード生成用のCR
C演算回路として機能させることができる。
のマイクロコンピュータにおいては、算術論理回路ユニ
ット(ALU)のシフト回路に対してnビットの第1デ
ータ及び1ビットの第2データを入力するn+1本の入
力経路の一部に排他的論理和回路を設け、この入力経路
からシフト回路に対して、下記データ(1)〜(3)の排他的
論理和を入力するようにされている。 (1) 当該入力経路に入力されたデータ。 (2) 第1データの内、シフト回路のシフト動作によって
外部に吐き出されるデータ(最上位ビット又は最下位ビ
ットのデータ)をシフト回路に入力する入力経路に入力
されたデータ。 (3) 第2データをシフト回路に入力する入力経路に入力
されたデータ。 このため、請求項1に記載のマイクロコンピュータにお
いては、後述実施例に記載のように、シフト回路の各入
力経路に入力するデータを操作してシフト回路を繰り返
し動作させれば、CRCコードが生成されることにな
り、ALU内のシフト回路をCRCコード生成用のCR
C演算回路として機能させることができる。
【0011】つまり、本発明では、マイクロコンピュー
タにおける基本命令の一つであるシフト命令を実行する
ためにALU内に通常設けられるシフト回路と、同じく
ALU内に通常設けられている排他的論理和回路とを組
み合せることにより、ALU内に、CRCコード演算用
のCRC演算回路を形成している。
タにおける基本命令の一つであるシフト命令を実行する
ためにALU内に通常設けられるシフト回路と、同じく
ALU内に通常設けられている排他的論理和回路とを組
み合せることにより、ALU内に、CRCコード演算用
のCRC演算回路を形成している。
【0012】このため、本発明のマイクロコンピュータ
によれば、CRC演算命令により、ALU内のCRC演
算回路が、CRCコード演算のための演算動作を実行す
ることになり、このCRC演算回路により、CRCコー
ドの生成・チェックを高速に実行することができるよう
になる。
によれば、CRC演算命令により、ALU内のCRC演
算回路が、CRCコード演算のための演算動作を実行す
ることになり、このCRC演算回路により、CRCコー
ドの生成・チェックを高速に実行することができるよう
になる。
【0013】また上記のように、CRC演算回路は、従
来より、マイクロコンピュータにおいてALU内に通常
設けられているシフト回路と排他的論理和回路との組み
合せにより形成されるため、従来のマイクロコンピュー
タにおけるALUの一部を変更するだけで実現でき、A
LUの大型化或はコストアップを招くことなく容易に実
現できる。
来より、マイクロコンピュータにおいてALU内に通常
設けられているシフト回路と排他的論理和回路との組み
合せにより形成されるため、従来のマイクロコンピュー
タにおけるALUの一部を変更するだけで実現でき、A
LUの大型化或はコストアップを招くことなく容易に実
現できる。
【0014】次に、請求項2に記載のマイクロコンピュ
ータにおいては、CRCコード生成のために排他的論理
和回路を設けたシフト回路へのデータの入力経路に、更
に選択回路が設けられており、この選択回路が、外部か
らの選択指令に従って、排他的論理和回路から出力され
たデータと、その入力経路に入力されたデータとのいず
れかを選択して、シフト回路に入力する。
ータにおいては、CRCコード生成のために排他的論理
和回路を設けたシフト回路へのデータの入力経路に、更
に選択回路が設けられており、この選択回路が、外部か
らの選択指令に従って、排他的論理和回路から出力され
たデータと、その入力経路に入力されたデータとのいず
れかを選択して、シフト回路に入力する。
【0015】このため、選択命令によって、選択回路
を、その経路に対応したデータを選択する側に切り換え
れば、シフト回路を、シフト命令によりデータをシフト
させる一般的なシフト回路として動作させることがで
き、逆に、選択命令によって、選択回路を、排他的論理
和回路からの出力データを選択する側に切り換えれば、
シフト回路を、CRCコード演算用のCRC演算回路と
して動作させることができる。
を、その経路に対応したデータを選択する側に切り換え
れば、シフト回路を、シフト命令によりデータをシフト
させる一般的なシフト回路として動作させることがで
き、逆に、選択命令によって、選択回路を、排他的論理
和回路からの出力データを選択する側に切り換えれば、
シフト回路を、CRCコード演算用のCRC演算回路と
して動作させることができる。
【0016】つまり、本発明によれば、シフト回路をC
RC演算回路として動作させるか通常のシフト回路とし
て動作させるかを、ソフト的に切り換えることができる
ようになる。このため、ALU内に通常のシフト回路と
は別にCRCコード演算用のシフト回路を別途設ける必
要はなく、ALUの構成をより簡素化することができ
る。
RC演算回路として動作させるか通常のシフト回路とし
て動作させるかを、ソフト的に切り換えることができる
ようになる。このため、ALU内に通常のシフト回路と
は別にCRCコード演算用のシフト回路を別途設ける必
要はなく、ALUの構成をより簡素化することができ
る。
【0017】また次に、請求項3に記載のマイクロコン
ピュータにおいては、シフト回路へのデータの入力経路
の全てに、排他的論理和回路及び選択回路が設けられて
いる。このため、請求項2に記載の装置と同様、シフト
回路を、CRC演算回路としても、また通常のシフト回
路としても、動作させることができるだけでなく、シフ
ト回路をCRC演算回路として動作させる際に、各選択
回路が選択するデータを任意に設定することにより、C
RC演算回路によって生成されるCRCコードの種別を
任意に設定することができるようになる。
ピュータにおいては、シフト回路へのデータの入力経路
の全てに、排他的論理和回路及び選択回路が設けられて
いる。このため、請求項2に記載の装置と同様、シフト
回路を、CRC演算回路としても、また通常のシフト回
路としても、動作させることができるだけでなく、シフ
ト回路をCRC演算回路として動作させる際に、各選択
回路が選択するデータを任意に設定することにより、C
RC演算回路によって生成されるCRCコードの種別を
任意に設定することができるようになる。
【0018】つまり、実施例の項にて詳述するが、本発
明のようにシフト回路へのデータ入力経路に排他的論理
和回路を設けてCRC演算回路を構成した場合、排他的
論理和回路を設ける経路によって、CRCコード生成時
の生成多項式が決定されるため、上記のようにデータの
全入力経路に排他的論理和回路及び選択回路を設けて、
選択指令によって各選択回路が選択するデータを個々に
設定できるようにすれば、CRCコードの生成多項式を
ソフト的に設定することができるようになり、演算命令
によって得られるCRCコードの種別を任意に設定でき
るようになるのである。
明のようにシフト回路へのデータ入力経路に排他的論理
和回路を設けてCRC演算回路を構成した場合、排他的
論理和回路を設ける経路によって、CRCコード生成時
の生成多項式が決定されるため、上記のようにデータの
全入力経路に排他的論理和回路及び選択回路を設けて、
選択指令によって各選択回路が選択するデータを個々に
設定できるようにすれば、CRCコードの生成多項式を
ソフト的に設定することができるようになり、演算命令
によって得られるCRCコードの種別を任意に設定でき
るようになるのである。
【0019】このため、本発明によれば、CRCコード
の生成・チェックに用いる生成多項式を、マイクロコン
ピュータの用途、マイクロコンピュータを接続するLA
N等の通信系の仕様等に応じて設定・変更することがで
き、マイクロコンピュータの用途を拡大できる。
の生成・チェックに用いる生成多項式を、マイクロコン
ピュータの用途、マイクロコンピュータを接続するLA
N等の通信系の仕様等に応じて設定・変更することがで
き、マイクロコンピュータの用途を拡大できる。
【0020】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。まず図2は、ワンチップのマイクロプロセッサ
として構成された実施例のマイクロコンピュータの全体
構成を表わすブロック図である。
明する。まず図2は、ワンチップのマイクロプロセッサ
として構成された実施例のマイクロコンピュータの全体
構成を表わすブロック図である。
【0021】図2に示す如く、本実施例のマイクロコン
ピュータは、CPU10と、ROMにより構成されたプ
ログラムメモリ12と、RAMにより構成されたデータ
メモリ14と、送受信ブロック16と、後述するCPU
切替信号を発生する図示しないタイミングジェネレータ
と、データを送受信する8ビットのデータバス18と、
アドレス信号を送受信するアドレスバス20と、リード
信号とライト信号を夫々送受信するコントロールバス2
2,24とを備えた、所謂8ビットマイコンとして構成
されている。
ピュータは、CPU10と、ROMにより構成されたプ
ログラムメモリ12と、RAMにより構成されたデータ
メモリ14と、送受信ブロック16と、後述するCPU
切替信号を発生する図示しないタイミングジェネレータ
と、データを送受信する8ビットのデータバス18と、
アドレス信号を送受信するアドレスバス20と、リード
信号とライト信号を夫々送受信するコントロールバス2
2,24とを備えた、所謂8ビットマイコンとして構成
されている。
【0022】またCPU10は、2種類のタスク(Lタ
スク,Aタスク)を時分割で平行にパイプライン処理す
るために、2つのアドレスレジスタ26,28と、2つ
の演算レジスタ30,32を備え、これらアドレスレジ
スタ26,28と演算レジスタ30,32を、図示しな
いタイミングジェネレータにより発生したCPU切替信
号により交互に切り換えることで、見かけ上、2つのC
PUを交互に切り換えて動作させるように機能する。
スク,Aタスク)を時分割で平行にパイプライン処理す
るために、2つのアドレスレジスタ26,28と、2つ
の演算レジスタ30,32を備え、これらアドレスレジ
スタ26,28と演算レジスタ30,32を、図示しな
いタイミングジェネレータにより発生したCPU切替信
号により交互に切り換えることで、見かけ上、2つのC
PUを交互に切り換えて動作させるように機能する。
【0023】なお、本実施例では、一方のアドレスレジ
スタ26と演算レジスタ30とがCPU0用(Lタスク
用)のレジスタとなり、他方のアドレスレジスタ28と
演算レジスタ32とがCPU1用(Aタスク用)のレジ
スタとなる。そして、これらアドレスレジスタ26,2
8の切替えに応じてプログラムカウンタ34の値(次に
フェッチする命令のアドレス)が更新され、このプログ
ラムカウンタ34からCPU0用(Lタスク用)とCP
U1用(Aタスク用)のアドレス信号が交互にプログラ
ムメモリ12に出力される。
スタ26と演算レジスタ30とがCPU0用(Lタスク
用)のレジスタとなり、他方のアドレスレジスタ28と
演算レジスタ32とがCPU1用(Aタスク用)のレジ
スタとなる。そして、これらアドレスレジスタ26,2
8の切替えに応じてプログラムカウンタ34の値(次に
フェッチする命令のアドレス)が更新され、このプログ
ラムカウンタ34からCPU0用(Lタスク用)とCP
U1用(Aタスク用)のアドレス信号が交互にプログラ
ムメモリ12に出力される。
【0024】また、CPU10内には、プログラムメモ
リ12から読み込まれた命令の属するタスクの種類を判
別して、そのエラーを検出するエラー検出回路36と、
このエラー検出回路36を通過した命令をデコード(解
読)する命令デコーダ・命令シーケンサ38が設けら
れ、この命令デコーダ・命令シーケンサ38によりデコ
ードした命令の内容に応じて、算術論理回路ユニット
(ALU)としての演算器40で演算レジスタ30,3
2を用いて演算したり、リード信号又はライト信号をコ
ントロールバス22,24に出力するようになってい
る。
リ12から読み込まれた命令の属するタスクの種類を判
別して、そのエラーを検出するエラー検出回路36と、
このエラー検出回路36を通過した命令をデコード(解
読)する命令デコーダ・命令シーケンサ38が設けら
れ、この命令デコーダ・命令シーケンサ38によりデコ
ードした命令の内容に応じて、算術論理回路ユニット
(ALU)としての演算器40で演算レジスタ30,3
2を用いて演算したり、リード信号又はライト信号をコ
ントロールバス22,24に出力するようになってい
る。
【0025】一方、プログラムメモリ12内には、CP
U0用(Lタスク用)のプログラム領域44と、CPU
1用(Aタスク用)のプログラム領域46と、テーブル
即値データ領域46とが設けられている。この場合、C
PU0用のプログラム領域44に格納されたLタスク
は、プログラム暴走に至る危険性のある分岐命令が禁止
された固定ループ化されたプログラムで構成されてい
る。これにより、Lタスクのプログラムの実行時には0
番地から実行を開始し、1番地,2番地,3番地,…と
順々に命令を実行して行き、その後、所定番地まで行く
と、プログラムカウンタ34がオーバーフローして0番
地に戻り、以降、上述した番地順の命令実行を繰り返す
ようになる。またこのLタスクは、命令が全て1ワード
命令に固定されている。この理由は、命令のワード数が
固定されていない命令体系(例えば1ワード命令もあれ
ば、2ワード命令もあるという命令体系)では、2ワー
ド命令を読み間違えて1ワード命令と解釈した場合に、
次のワードは本来の命令ではないので、何を実行するか
分からないからである。
U0用(Lタスク用)のプログラム領域44と、CPU
1用(Aタスク用)のプログラム領域46と、テーブル
即値データ領域46とが設けられている。この場合、C
PU0用のプログラム領域44に格納されたLタスク
は、プログラム暴走に至る危険性のある分岐命令が禁止
された固定ループ化されたプログラムで構成されてい
る。これにより、Lタスクのプログラムの実行時には0
番地から実行を開始し、1番地,2番地,3番地,…と
順々に命令を実行して行き、その後、所定番地まで行く
と、プログラムカウンタ34がオーバーフローして0番
地に戻り、以降、上述した番地順の命令実行を繰り返す
ようになる。またこのLタスクは、命令が全て1ワード
命令に固定されている。この理由は、命令のワード数が
固定されていない命令体系(例えば1ワード命令もあれ
ば、2ワード命令もあるという命令体系)では、2ワー
ド命令を読み間違えて1ワード命令と解釈した場合に、
次のワードは本来の命令ではないので、何を実行するか
分からないからである。
【0026】このLタスクは、シーケンス制御の処理を
行なうのに適し、そのプログラム中に他のタスクである
Aタスクの暴走監視用のルーチンと、システムのフェイ
ルセーフを成立させるためのバックアップシーケンス用
のルーチンが含まれている。更に、このLタスクは、固
定ループ動作によるタイマとしての機能も備え、例え
ば、インクリメント命令又はデクリメント命令を実行さ
せて、そのカウント値が所定の設定値に達したときに、
Aタスクの処理に割り込みを発生させることで、タイマ
割り込みと等価な定時間処理が可能となっている。
行なうのに適し、そのプログラム中に他のタスクである
Aタスクの暴走監視用のルーチンと、システムのフェイ
ルセーフを成立させるためのバックアップシーケンス用
のルーチンが含まれている。更に、このLタスクは、固
定ループ動作によるタイマとしての機能も備え、例え
ば、インクリメント命令又はデクリメント命令を実行さ
せて、そのカウント値が所定の設定値に達したときに、
Aタスクの処理に割り込みを発生させることで、タイマ
割り込みと等価な定時間処理が可能となっている。
【0027】一方、Aタスクは、Lタスクで禁止されて
いる分岐命令も許容されており、例えば複雑な解析処理
・数値処理に適している。このAタスクについても、L
タスクと同じく、命令が全て1ワード命令に固定されて
いる。このAタスクとLタスクは、1ワード内にオペコ
ードとオペランド(アドレス)の両方が割り付けられて
いる。
いる分岐命令も許容されており、例えば複雑な解析処理
・数値処理に適している。このAタスクについても、L
タスクと同じく、命令が全て1ワード命令に固定されて
いる。このAタスクとLタスクは、1ワード内にオペコ
ードとオペランド(アドレス)の両方が割り付けられて
いる。
【0028】また、プログラムメモリ12内のCPU0
・CPU1の各命令には、タスクの種類を判別するタス
ク判別ビットが、例えばMSB(最上位ビット)に設け
られている。本実施例では、タスク判別ビットをパリテ
ィビットとし、Lタスクを奇数パリティ、Aタスクを偶
数パリティとしている。この場合、タスク判別のみでは
なく、命令コードチェックも実現できる。上記エラー検
出回路36は、これに対応して、プログラムメモリ12
から読み込まれた命令の属するタスクの種類をパリティ
チェックにより判別して、そのエラーを検出するための
ものであり、ノイズ等の予期せぬ原因により誤って他の
タスクを実行し始めようとしているか否かを検出する。
・CPU1の各命令には、タスクの種類を判別するタス
ク判別ビットが、例えばMSB(最上位ビット)に設け
られている。本実施例では、タスク判別ビットをパリテ
ィビットとし、Lタスクを奇数パリティ、Aタスクを偶
数パリティとしている。この場合、タスク判別のみでは
なく、命令コードチェックも実現できる。上記エラー検
出回路36は、これに対応して、プログラムメモリ12
から読み込まれた命令の属するタスクの種類をパリティ
チェックにより判別して、そのエラーを検出するための
ものであり、ノイズ等の予期せぬ原因により誤って他の
タスクを実行し始めようとしているか否かを検出する。
【0029】すなわち、エラー検出回路36は、タスク
判別回路、エラーフラグ回路、ノーオペレーション(N
OP)コード回路、ハイアクティブ型・ローアクティブ
型の一対のトランスファゲート等から構成されており、
タスク判別回路において、プログラムメモリ12から読
み込まれた命令の属するタスクの種類をパリティチェッ
クにより判別し(すなわち奇数パリティであればLタス
ク、偶数パリティであればAタスクと判別し)、この判
別結果をCPU切替信号と比較して、エラーが発生して
いるか否かを判定し、若しエラーが発生していれば、エ
ラーフラグ回路へエラー信号(ハイレベル信号)を出力
して、エラーが発生しているタスクのアドレスレジスタ
をリセットすると共に、エラー信号(ハイレベル信号)
を、一対のトランスファゲートのコントロール端子にも
与えて、ハイアクティブ型のトランスファゲートをオン
させ、NOPコード回路から命令デコーダ・命令シーケ
ンサへNOPコードの信号を出力すると共に、ローアク
ティブ型のトランスファゲートをオフさせて、命令デコ
ーダ・命令シーケンサ38への命令の通過を阻止する。
この結果、ノイズ等の予期せぬ原因により誤って他のタ
スクのアドレスに分岐してその命令を実行し始めようと
した場合には、即座に1命令サイクルでNOPとするこ
とができて、メモリデータ,ポートデータ等の破壊を未
然に防止できる。なお、エラー検出回路36は、エラー
が発生していければ、タスク判別回路の出力をローレベ
ルに維持して、ハイアクティブ型のトランスファゲート
をオフさせ、NOPコードの通過を阻止すると共に、ロ
ーアクティブ型のトランスファゲートをオンさせて、命
令デコーダ・命令シーケンサ38への命令の通過を許容
する。
判別回路、エラーフラグ回路、ノーオペレーション(N
OP)コード回路、ハイアクティブ型・ローアクティブ
型の一対のトランスファゲート等から構成されており、
タスク判別回路において、プログラムメモリ12から読
み込まれた命令の属するタスクの種類をパリティチェッ
クにより判別し(すなわち奇数パリティであればLタス
ク、偶数パリティであればAタスクと判別し)、この判
別結果をCPU切替信号と比較して、エラーが発生して
いるか否かを判定し、若しエラーが発生していれば、エ
ラーフラグ回路へエラー信号(ハイレベル信号)を出力
して、エラーが発生しているタスクのアドレスレジスタ
をリセットすると共に、エラー信号(ハイレベル信号)
を、一対のトランスファゲートのコントロール端子にも
与えて、ハイアクティブ型のトランスファゲートをオン
させ、NOPコード回路から命令デコーダ・命令シーケ
ンサへNOPコードの信号を出力すると共に、ローアク
ティブ型のトランスファゲートをオフさせて、命令デコ
ーダ・命令シーケンサ38への命令の通過を阻止する。
この結果、ノイズ等の予期せぬ原因により誤って他のタ
スクのアドレスに分岐してその命令を実行し始めようと
した場合には、即座に1命令サイクルでNOPとするこ
とができて、メモリデータ,ポートデータ等の破壊を未
然に防止できる。なお、エラー検出回路36は、エラー
が発生していければ、タスク判別回路の出力をローレベ
ルに維持して、ハイアクティブ型のトランスファゲート
をオフさせ、NOPコードの通過を阻止すると共に、ロ
ーアクティブ型のトランスファゲートをオンさせて、命
令デコーダ・命令シーケンサ38への命令の通過を許容
する。
【0030】このように、本実施例のマイクロコンピュ
ータにおいては、CPU10が、見かけ上、2つのCP
Uを交互に切り換えて動作させるように機能する、パイ
プライン処理を実行可能に構成されており、しかも、全
命令を1ワードの固定長として、1ワード内にオペコー
ドとオペランドとの両方を割り付けることにより、命令
を多ワード命令構成にした場合に生じる問題、例えば、
オペコード・オペランドの誤認識によるプログラム暴
走,データメモリ内の重要情報の大量破壊といった問
題、或は、アドレスエラー等により、プログラムアドレ
スがテーブル即値データ領域46のアドレスに分岐し
て、テーブル即値データ46をオペコードとして認識し
て実行を開始し、プログラム暴走やデータメモリ内の重
要情報の大量破壊を招く、といった問題を未然に防止で
きるようにされているのであるが、次に本発明にかかわ
る主要部である演算器40の内部構成について説明す
る。
ータにおいては、CPU10が、見かけ上、2つのCP
Uを交互に切り換えて動作させるように機能する、パイ
プライン処理を実行可能に構成されており、しかも、全
命令を1ワードの固定長として、1ワード内にオペコー
ドとオペランドとの両方を割り付けることにより、命令
を多ワード命令構成にした場合に生じる問題、例えば、
オペコード・オペランドの誤認識によるプログラム暴
走,データメモリ内の重要情報の大量破壊といった問
題、或は、アドレスエラー等により、プログラムアドレ
スがテーブル即値データ領域46のアドレスに分岐し
て、テーブル即値データ46をオペコードとして認識し
て実行を開始し、プログラム暴走やデータメモリ内の重
要情報の大量破壊を招く、といった問題を未然に防止で
きるようにされているのであるが、次に本発明にかかわ
る主要部である演算器40の内部構成について説明す
る。
【0031】本実施例のマイクロコンピュータは、送受
信ブロック16により、他のマイクロコンピュータとの
間でデータ通信を実行できるようにされており、演算器
40には、こうしたデータ通信を行なうに当たって、通
信データの良・否判定のために送信データに付加するC
RCコードの生成及び受信データに付加されたCRCコ
ードのチェックを行なうCRC演算回路が内蔵されてい
る。
信ブロック16により、他のマイクロコンピュータとの
間でデータ通信を実行できるようにされており、演算器
40には、こうしたデータ通信を行なうに当たって、通
信データの良・否判定のために送信データに付加するC
RCコードの生成及び受信データに付加されたCRCコ
ードのチェックを行なうCRC演算回路が内蔵されてい
る。
【0032】このCRC演算回路は、図1に示す如く、
従来よりマイクロコンピュータの基本命令を実行するた
めに演算器40に備えられている、シフト命令に対応し
てバイトデータをビットデータを含めてシフトさせるシ
フト回路SFTと、排他的論理和の命令に対応して入力
データの排他的論理和を演算する排他的論理和回路EX
ORと、選択命令に対応して2つの入力データのうちの
いずれか一方を選択するセレクタSLとの組み合せによ
り構成されている。
従来よりマイクロコンピュータの基本命令を実行するた
めに演算器40に備えられている、シフト命令に対応し
てバイトデータをビットデータを含めてシフトさせるシ
フト回路SFTと、排他的論理和の命令に対応して入力
データの排他的論理和を演算する排他的論理和回路EX
ORと、選択命令に対応して2つの入力データのうちの
いずれか一方を選択するセレクタSLとの組み合せによ
り構成されている。
【0033】すなわち、シフト回路は、図3に示す如
く、シフト命令に従い、演算レジスタ内のバイトデータ
格納領域に格納されたバイトデータの最下位ビット
「0」(又は最上位ビット「7」)に、演算レジスタ内
のビットデータ格納領域に格納されたビットデータ「R
R」を入力することにより、バイトデータ「0」〜
「7」を最上位ビット「7」(又は最下位ビット
「0」)側に1ビットずつシフトさせ、シフトによって
はき出されたバイトデータの最上位ビット「7」(又は
最下位ビット「0」)のデータを、演算後のビットデー
タ「RR」とするものであるが、本実施例のCRC演算
回路には、シフト回路SFTとして、バイトデータを最
上位ビット側にシフトさせるシフト回路(つまり図3に
示すシフト回路)が使用されている。
く、シフト命令に従い、演算レジスタ内のバイトデータ
格納領域に格納されたバイトデータの最下位ビット
「0」(又は最上位ビット「7」)に、演算レジスタ内
のビットデータ格納領域に格納されたビットデータ「R
R」を入力することにより、バイトデータ「0」〜
「7」を最上位ビット「7」(又は最下位ビット
「0」)側に1ビットずつシフトさせ、シフトによって
はき出されたバイトデータの最上位ビット「7」(又は
最下位ビット「0」)のデータを、演算後のビットデー
タ「RR」とするものであるが、本実施例のCRC演算
回路には、シフト回路SFTとして、バイトデータを最
上位ビット側にシフトさせるシフト回路(つまり図3に
示すシフト回路)が使用されている。
【0034】そして、CRC演算回路は、このシフト回
路SFTへの各データの入力経路の一部、具体的には、
シフト回路SFTに、ビットデータ「RR」,バイトデ
ータの下から2ビット目(つまり「1」)のデータ,同
じく3ビット目(つまり「2」)のデータ,及び同じく
4ビット目(つまり「3」)のデータを夫々入力する経
路に、各経路に対応したデータ「RR」,「1」,
「2」又は「3」と、ビットデータ「RR」と、シフト
回路SFTのシフト動作の際に外部にはき出されるバイ
トデータの最上位ビット「7」のデータとの排他的論理
和を取る排他的論理和回路EXORa〜EXORd、及
び、各排他的論理和回路EXORa〜EXORdの出力
とその経路に対応したデータ「RR」,「1」,「2」
又は「3」とのいずれかを選択してシフト回路SFTに
入力するセレクタSLa〜SLd、を夫々設け、更に、
シフト回路SFTの演算動作によってはみ出す最上位ビ
ット「7」のデータの入力経路に、この最上位ビット
「7」のデータとビットデータ「RR」とのいずれかを
選択してシフト回路SFTに入力するセレクタSLeを
設けることにより、構成されている。
路SFTへの各データの入力経路の一部、具体的には、
シフト回路SFTに、ビットデータ「RR」,バイトデ
ータの下から2ビット目(つまり「1」)のデータ,同
じく3ビット目(つまり「2」)のデータ,及び同じく
4ビット目(つまり「3」)のデータを夫々入力する経
路に、各経路に対応したデータ「RR」,「1」,
「2」又は「3」と、ビットデータ「RR」と、シフト
回路SFTのシフト動作の際に外部にはき出されるバイ
トデータの最上位ビット「7」のデータとの排他的論理
和を取る排他的論理和回路EXORa〜EXORd、及
び、各排他的論理和回路EXORa〜EXORdの出力
とその経路に対応したデータ「RR」,「1」,「2」
又は「3」とのいずれかを選択してシフト回路SFTに
入力するセレクタSLa〜SLd、を夫々設け、更に、
シフト回路SFTの演算動作によってはみ出す最上位ビ
ット「7」のデータの入力経路に、この最上位ビット
「7」のデータとビットデータ「RR」とのいずれかを
選択してシフト回路SFTに入力するセレクタSLeを
設けることにより、構成されている。
【0035】このように構成された本実施例のCRC演
算回路では、シフト命令が入力されると、各セレクタS
La〜SLeが図1に示す右側の入力データ(つまり各
経路に対応したデータ「RR」,「1」,「2」,
「3」,「7」)を各々選択する側に切り換えられて、
シフト回路SFTがシフト動作を実行する。この結果、
CRC演算回路は、バイトデータ「0」〜「7」をビッ
トデータ「RR」にて1ビットずつ最上位ビット側にシ
フトさせる図3に示した通常のシフト回路として機能す
ることになる。
算回路では、シフト命令が入力されると、各セレクタS
La〜SLeが図1に示す右側の入力データ(つまり各
経路に対応したデータ「RR」,「1」,「2」,
「3」,「7」)を各々選択する側に切り換えられて、
シフト回路SFTがシフト動作を実行する。この結果、
CRC演算回路は、バイトデータ「0」〜「7」をビッ
トデータ「RR」にて1ビットずつ最上位ビット側にシ
フトさせる図3に示した通常のシフト回路として機能す
ることになる。
【0036】一方、CRC演算回路では、CRC演算命
令が入力されると、各セレクタSLa〜SLeが、図1
に示す左側の入力データ(つまり排他的論理和回路EX
ORa〜EXORdからの出力データ、及びビットデー
タ「RR」)を各々選択する側に切り換えられて、シフ
ト回路SFTがシフト動作を実行することにより、演算
後のバイトデータ「0」〜「7」を、夫々、下記(1)〜
(8)式のように設定する。なお、下記の(1)〜(8)式は、
CRC演算回路のCRC演算命令に対するバイトデータ
「0」〜「7」及びビットデータ「RR」の操作内容を
表わし、符号「+」は、排他的論理和の演算を表わして
いる。
令が入力されると、各セレクタSLa〜SLeが、図1
に示す左側の入力データ(つまり排他的論理和回路EX
ORa〜EXORdからの出力データ、及びビットデー
タ「RR」)を各々選択する側に切り換えられて、シフ
ト回路SFTがシフト動作を実行することにより、演算
後のバイトデータ「0」〜「7」を、夫々、下記(1)〜
(8)式のように設定する。なお、下記の(1)〜(8)式は、
CRC演算回路のCRC演算命令に対するバイトデータ
「0」〜「7」及びビットデータ「RR」の操作内容を
表わし、符号「+」は、排他的論理和の演算を表わして
いる。
【0037】 データ「0」←データ「7」+ビットデータ「RR」 …(1) データ「1」←データ「0」 …(2) データ「2」←データ「7」+ビットデータ「RR」+データ「1」 …(3) データ「3」←データ「7」+ビットデータ「RR」+データ「2」 …(4) データ「4」←データ「7」+ビットデータ「RR」+データ「3」 …(5) データ「5」←データ「4」 …(6) データ「6」←データ「5」 …(7) データ「7」←データ「6」 …(8) そして、こうしたデータの操作内容は、CRCコードの
生成多項式「X8 +X 4 +X3 +X2 +1」に相当し、
当該CRC演算回路による演算後のバイトデータ「0」
〜「7」はCRC生成データとなる。つまり、CRC演
算回路がCRC演算命令により上記のように動作した場
合、CRC演算回路は、排他的論理和回路EXORa〜
EXORbによってシフト演算の際に『データ「7」+
ビットデータ「RR」』が付加される演算後のバイトデ
ータのビット位置(本実施例では、「0」,「2」,
「3」,「4」)に対応して、生成多項式を実現するた
めの回路となり、この生成多項式に従いCRC生成デー
タをつくることがができるようになるのである。なお、
本実施例のCRC演算回路にて実現される生成多項式
「X8 +X4 +X3 +X2 +1」の内、「X8 」の項
は、8次の生成多項式を表わしており、排他的論理和回
路EXORの位置とは特に関連はない。
生成多項式「X8 +X 4 +X3 +X2 +1」に相当し、
当該CRC演算回路による演算後のバイトデータ「0」
〜「7」はCRC生成データとなる。つまり、CRC演
算回路がCRC演算命令により上記のように動作した場
合、CRC演算回路は、排他的論理和回路EXORa〜
EXORbによってシフト演算の際に『データ「7」+
ビットデータ「RR」』が付加される演算後のバイトデ
ータのビット位置(本実施例では、「0」,「2」,
「3」,「4」)に対応して、生成多項式を実現するた
めの回路となり、この生成多項式に従いCRC生成デー
タをつくることがができるようになるのである。なお、
本実施例のCRC演算回路にて実現される生成多項式
「X8 +X4 +X3 +X2 +1」の内、「X8 」の項
は、8次の生成多項式を表わしており、排他的論理和回
路EXORの位置とは特に関連はない。
【0038】次に、本実施例のCRC演算回路を用い
て、送信データにCRCコードを付与する際のCRCコ
ード生成手順、及び受信データに付与されたCRCコー
ドからデータ通信時のノイズ等によって受信データに異
常が生じたか否かを判定するCRCチェックの手順につ
いて説明する。
て、送信データにCRCコードを付与する際のCRCコ
ード生成手順、及び受信データに付与されたCRCコー
ドからデータ通信時のノイズ等によって受信データに異
常が生じたか否かを判定するCRCチェックの手順につ
いて説明する。
【0039】まず図4は、CRCコードの生成手順を表
わすフローチャートである。図4に示す如く、CRCコ
ードを生成する際には、まずステップ110にて、CR
Cコードを格納するためのデータメモリ14のアドレス
を、例えば「$CRC.G」として設定し、続くステッ
プ120にて、このアドレス「$CRC.G」の記憶領
域に、初期値「FF」を設定する。なお「FF」は16
進表示であり、2進表示では「11111111」とな
る。
わすフローチャートである。図4に示す如く、CRCコ
ードを生成する際には、まずステップ110にて、CR
Cコードを格納するためのデータメモリ14のアドレス
を、例えば「$CRC.G」として設定し、続くステッ
プ120にて、このアドレス「$CRC.G」の記憶領
域に、初期値「FF」を設定する。なお「FF」は16
進表示であり、2進表示では「11111111」とな
る。
【0040】そして続くステップ130では、送信デー
タの最上位ビットから順に、1ビットのデータを、演算
レジスタ30或は32のビットデータ「RR」の格納領
域に転送する。例えば、現在、CRCコードの生成開始
直後であれば、送信データの最上位ビットのデータをビ
ットデータ「RR」として演算レジスタ30或は32に
転送する。
タの最上位ビットから順に、1ビットのデータを、演算
レジスタ30或は32のビットデータ「RR」の格納領
域に転送する。例えば、現在、CRCコードの生成開始
直後であれば、送信データの最上位ビットのデータをビ
ットデータ「RR」として演算レジスタ30或は32に
転送する。
【0041】こうして、演算レジスタ30或は32に送
信データの1ビットをビットデータ「RR」として転送
すると、今度はステップ140に移行して、上記ステッ
プ110にてデータメモリ14内のCRCコードの格納
領域として設定したアドレス「$CRC.G」内のデー
タをバイトデータとして、CRC演算回路にCRCコー
ドの演算動作を実行させるためのCRC演算命令、例え
ば「CRC $CRC.G」を発生する。
信データの1ビットをビットデータ「RR」として転送
すると、今度はステップ140に移行して、上記ステッ
プ110にてデータメモリ14内のCRCコードの格納
領域として設定したアドレス「$CRC.G」内のデー
タをバイトデータとして、CRC演算回路にCRCコー
ドの演算動作を実行させるためのCRC演算命令、例え
ば「CRC $CRC.G」を発生する。
【0042】そして、続くステップ150では、ステッ
プ130にてビットデータ「RR」として演算レジスタ
30或は32に転送したデータが、送信データの最下位
ビットのデータであるか否か、換言すればCRCコード
生成時の最終ビットであるか否か、を判断し、CRCコ
ード生成時の最終ビットでなければ、再度ステップ13
0に移行して、前回演算レジスタ30或は32にビット
データ「RR」として転送した送信データの1ビット分
より1ビット下位のデータを、新たなビットデータ「R
R」として演算レジスタ30或は32に転送し、ステッ
プ140にてCRC演算命令を発生する。
プ130にてビットデータ「RR」として演算レジスタ
30或は32に転送したデータが、送信データの最下位
ビットのデータであるか否か、換言すればCRCコード
生成時の最終ビットであるか否か、を判断し、CRCコ
ード生成時の最終ビットでなければ、再度ステップ13
0に移行して、前回演算レジスタ30或は32にビット
データ「RR」として転送した送信データの1ビット分
より1ビット下位のデータを、新たなビットデータ「R
R」として演算レジスタ30或は32に転送し、ステッ
プ140にてCRC演算命令を発生する。
【0043】この結果、CRC演算回路では、値「F
F」(16進表示)を初期値(バイトデータ)として、
送信データの最上位ビットから順に、上記生成多項式に
てCRCコードを演算することになる。一方、ステップ
150にて、ステップ130で演算レジスタ30或は3
2にビットデータ「RR」として転送した1ビットのデ
ータが、CRCコード生成時の最終ビットであったと判
断されると、ステップ160に移行する。そして、ステ
ップ160では、上記CRCコードの演算動作によって
得られたCRCコードの生成値の全ビットのデータを、
夫々、データが値1であれば値0に、値0であれば値1
にというように反転し、その反転後の値を、送信データ
に付与するCRCコードとして設定する。
F」(16進表示)を初期値(バイトデータ)として、
送信データの最上位ビットから順に、上記生成多項式に
てCRCコードを演算することになる。一方、ステップ
150にて、ステップ130で演算レジスタ30或は3
2にビットデータ「RR」として転送した1ビットのデ
ータが、CRCコード生成時の最終ビットであったと判
断されると、ステップ160に移行する。そして、ステ
ップ160では、上記CRCコードの演算動作によって
得られたCRCコードの生成値の全ビットのデータを、
夫々、データが値1であれば値0に、値0であれば値1
にというように反転し、その反転後の値を、送信データ
に付与するCRCコードとして設定する。
【0044】このように、CRCコードの生成は、CR
Cコード(つまりバイトデータ)の初期値として値「F
F」(16進表示)を設定し、ビットデータ「RR」と
して、送信データの最上位ビットから順に1ビットずつ
転送することにより、CRC演算回路にCRC演算を順
次実行させ、送信データの全ビットに対するCRC演算
が完了した時点で、得られたCRCコードの生成値を反
転する、といった手順で実行される。このため、送信デ
ータが何バイトでも生成多項式に基づきCRCコードが
演算されることになる。
Cコード(つまりバイトデータ)の初期値として値「F
F」(16進表示)を設定し、ビットデータ「RR」と
して、送信データの最上位ビットから順に1ビットずつ
転送することにより、CRC演算回路にCRC演算を順
次実行させ、送信データの全ビットに対するCRC演算
が完了した時点で、得られたCRCコードの生成値を反
転する、といった手順で実行される。このため、送信デ
ータが何バイトでも生成多項式に基づきCRCコードが
演算されることになる。
【0045】例えば、図5は、送信データと、本実施例
のCRC演算回路を用いて生成されたCRCコードとを
表わしているが、送信データが、バイトデータDATA
0からDATA2までの3バイトのデータであっても、
バイトデータDATA0からDATA3までの4バイト
のデータであっても、各バイトデータ毎に最上位ビット
から順次CRC演算を行なうことにより、CRCコード
が生成される。
のCRC演算回路を用いて生成されたCRCコードとを
表わしているが、送信データが、バイトデータDATA
0からDATA2までの3バイトのデータであっても、
バイトデータDATA0からDATA3までの4バイト
のデータであっても、各バイトデータ毎に最上位ビット
から順次CRC演算を行なうことにより、CRCコード
が生成される。
【0046】なお、図5(a)は、データ送信時の送信
データのデータ構造を表わし、データ送信時には、バイ
トデータDATA0からバイトデータDATAnまでの
送信データに、上記CRCコード生成処理にて生成され
たCRCコード(CRC.G)が付与されたデータが送
信データとして他の装置に送信されることになる。ま
た、図5(b)は、CRCコードの演算結果を表わし、
例えば送信データが3バイトのデータDATA0〜DA
TA2からなり、各データDATA0〜DATA2が、
夫々、16進表示で「F2」,「01」,「83」の場
合には、CRCコードとして「37」(16進表示)が
設定されることになる。
データのデータ構造を表わし、データ送信時には、バイ
トデータDATA0からバイトデータDATAnまでの
送信データに、上記CRCコード生成処理にて生成され
たCRCコード(CRC.G)が付与されたデータが送
信データとして他の装置に送信されることになる。ま
た、図5(b)は、CRCコードの演算結果を表わし、
例えば送信データが3バイトのデータDATA0〜DA
TA2からなり、各データDATA0〜DATA2が、
夫々、16進表示で「F2」,「01」,「83」の場
合には、CRCコードとして「37」(16進表示)が
設定されることになる。
【0047】次に、図6は、受信データのCRCチェッ
ク際のCRCチェック処理の手順を表わすフローチャー
トである。図4に示す如く、CRCチェックを行なう際
には、まずステップ210にて、CRCチェックのため
のCRCコード(以下、チェックコードという。)を格
納するためのデータメモリ14のアドレスを、例えば
「$CRC.C」として設定し、続くステップ220に
て、このアドレス「$CRC.C」の記憶領域に、初期
値「FF」(16進表示)を設定する。
ク際のCRCチェック処理の手順を表わすフローチャー
トである。図4に示す如く、CRCチェックを行なう際
には、まずステップ210にて、CRCチェックのため
のCRCコード(以下、チェックコードという。)を格
納するためのデータメモリ14のアドレスを、例えば
「$CRC.C」として設定し、続くステップ220に
て、このアドレス「$CRC.C」の記憶領域に、初期
値「FF」(16進表示)を設定する。
【0048】そして続くステップ230では、受信デー
タの最上位ビットから順に、1ビットのデータを、演算
レジスタ30或は32のビットデータ「RR」の格納領
域に転送し、続くステップ240にて、上記ステップ2
10にてデータメモリ14内のチェックコードの格納領
域として設定したアドレス「$CRC.C」内のデータ
をバイトデータとして、CRC演算回路にCRCコード
の演算動作を実行させるためのCRC演算命令、例えば
「CRC $CRC.C」を発生する。
タの最上位ビットから順に、1ビットのデータを、演算
レジスタ30或は32のビットデータ「RR」の格納領
域に転送し、続くステップ240にて、上記ステップ2
10にてデータメモリ14内のチェックコードの格納領
域として設定したアドレス「$CRC.C」内のデータ
をバイトデータとして、CRC演算回路にCRCコード
の演算動作を実行させるためのCRC演算命令、例えば
「CRC $CRC.C」を発生する。
【0049】そして、続くステップ250では、ステッ
プ230にてビットデータ「RR」として演算レジスタ
30或は32に転送したデータが、受信データの最終ビ
ットであるか否か、つまり、受信データに付与されたC
RCコードの最下位ビットであるか否かを判断し、受信
データの最終ビットでなければ、再度ステップ230に
移行して、前回演算レジスタ30或は32にビットデー
タ「RR」として転送した受信データの1ビット分より
1ビット下位のデータを、新たなビットデータ「RR」
として演算レジスタ30或は32に転送し、ステップ2
40にてCRC演算命令を発生する。
プ230にてビットデータ「RR」として演算レジスタ
30或は32に転送したデータが、受信データの最終ビ
ットであるか否か、つまり、受信データに付与されたC
RCコードの最下位ビットであるか否かを判断し、受信
データの最終ビットでなければ、再度ステップ230に
移行して、前回演算レジスタ30或は32にビットデー
タ「RR」として転送した受信データの1ビット分より
1ビット下位のデータを、新たなビットデータ「RR」
として演算レジスタ30或は32に転送し、ステップ2
40にてCRC演算命令を発生する。
【0050】この結果、CRC演算回路では、値「F
F」(16進表示)を初期値(バイトデータ)として、
受信データの最上位ビットから順に、上記生成多項式に
てチェックコードが演算されることになる。一方、ステ
ップ250にて、ステップ230で演算レジスタ30或
は32にビットデータ「RR」として転送した1ビット
のデータが、受信データの最終ビットであったと判断さ
れると、ステップ260に移行する。そして、ステップ
260では、上記演算動作によって得られたチェックコ
ードが、予め設定された所定値(本実施例では、16進
表示で「C4」)となったか否かを判断し、チェックコ
ードが所定値「C4」であれば、ステップ270にて受
信データは正常であると判定し、逆にチェックコードが
所定値「C4」でなければ、ステップ280にて受信デ
ータは異常である判定し、当該CRCチェック処理を終
了する。
F」(16進表示)を初期値(バイトデータ)として、
受信データの最上位ビットから順に、上記生成多項式に
てチェックコードが演算されることになる。一方、ステ
ップ250にて、ステップ230で演算レジスタ30或
は32にビットデータ「RR」として転送した1ビット
のデータが、受信データの最終ビットであったと判断さ
れると、ステップ260に移行する。そして、ステップ
260では、上記演算動作によって得られたチェックコ
ードが、予め設定された所定値(本実施例では、16進
表示で「C4」)となったか否かを判断し、チェックコ
ードが所定値「C4」であれば、ステップ270にて受
信データは正常であると判定し、逆にチェックコードが
所定値「C4」でなければ、ステップ280にて受信デ
ータは異常である判定し、当該CRCチェック処理を終
了する。
【0051】つまり、図5に示したように、CRCコー
ドが付与された送信データを受信した場合、データ通信
が正常に行なわれていれば、上記のように生成されるチ
ェックコード(CRC.C)は、図7に示す如く、所定
値「C4」になることから、このCRCチェック処理で
は、上記のように受信データからチェックコードを生成
して、その値が所定値「C4」になっているか否かを判
断することにより、受信データの良否を判定しているの
である。
ドが付与された送信データを受信した場合、データ通信
が正常に行なわれていれば、上記のように生成されるチ
ェックコード(CRC.C)は、図7に示す如く、所定
値「C4」になることから、このCRCチェック処理で
は、上記のように受信データからチェックコードを生成
して、その値が所定値「C4」になっているか否かを判
断することにより、受信データの良否を判定しているの
である。
【0052】なお、チェックコードが「C4」になるの
は、本実施例では、CRCコードの生成多項式を「X8
+X4 +X3 +X2 +1」としたためであり、生成多項
式が異なる場合には、チェックコードは、その生成多項
式に対応した所定値となる。以上説明したように、本実
施例のマイクロコンピュータにおいては、算術論理回路
ユニット(ALU)としての演算器40内に、CRC演
算命令に従い、CRCコードの生成及びチェックのため
の演算を行なうCRC演算回路が設けられている。
は、本実施例では、CRCコードの生成多項式を「X8
+X4 +X3 +X2 +1」としたためであり、生成多項
式が異なる場合には、チェックコードは、その生成多項
式に対応した所定値となる。以上説明したように、本実
施例のマイクロコンピュータにおいては、算術論理回路
ユニット(ALU)としての演算器40内に、CRC演
算命令に従い、CRCコードの生成及びチェックのため
の演算を行なうCRC演算回路が設けられている。
【0053】このため、本実施例のマイクロコンピュー
タによれば、従来のようにCRCコードの生成及びチェ
ックを行なうに当たって、CRC専用の機能ブロックを
別途設けることなく、ワンチップのマイクロプロセッサ
単体でCRCコードの生成及びチェックを行なうことが
できるようになる。
タによれば、従来のようにCRCコードの生成及びチェ
ックを行なうに当たって、CRC専用の機能ブロックを
別途設けることなく、ワンチップのマイクロプロセッサ
単体でCRCコードの生成及びチェックを行なうことが
できるようになる。
【0054】また、本実施例のマイクロコンピュータに
よれば、CRCコードの生成及びチェックのための生成
多項式を用いた演算を、従来装置のように、マイクロコ
ンピュータの基本命令の組み合せによりソフト的に行な
うのではなく、演算器40内に設けられたCRC演算回
路をCRC演算命令にて動作させるだけで簡単に行なう
ことができるため、単に、CRCコードの生成及びチェ
ックをワンチップのマイクロプロセッサ単体で実行でき
るだけでなく、CRCコードの生成及びチェックのため
の演算を高速に行なうことができる。
よれば、CRCコードの生成及びチェックのための生成
多項式を用いた演算を、従来装置のように、マイクロコ
ンピュータの基本命令の組み合せによりソフト的に行な
うのではなく、演算器40内に設けられたCRC演算回
路をCRC演算命令にて動作させるだけで簡単に行なう
ことができるため、単に、CRCコードの生成及びチェ
ックをワンチップのマイクロプロセッサ単体で実行でき
るだけでなく、CRCコードの生成及びチェックのため
の演算を高速に行なうことができる。
【0055】従って、本実施例のマイクロコンピュータ
は、高速なデータ通信が要求される、例えば車載LAN
の一つのノードを構成する制御装置としても使用するこ
とができる。また本実施例のCRC演算回路は、CRC
演算命令により、CRCコードの生成・チェックのため
の演算動作を実行するだけでなく、シフト命令を入力す
れば、セレクタSLa〜SLeによって、シフト回路S
FTへのデータの入力経路がCRC演算時とは異なる方
向に切り換えられ、シフト回路SFTによりバイトデー
タをビットデータを含めてシフトさせる通常のシフト回
路として動作する。このため、演算器40内に、CRC
演算回路とは別に、通常のシフト回路を設ける必要はな
い。
は、高速なデータ通信が要求される、例えば車載LAN
の一つのノードを構成する制御装置としても使用するこ
とができる。また本実施例のCRC演算回路は、CRC
演算命令により、CRCコードの生成・チェックのため
の演算動作を実行するだけでなく、シフト命令を入力す
れば、セレクタSLa〜SLeによって、シフト回路S
FTへのデータの入力経路がCRC演算時とは異なる方
向に切り換えられ、シフト回路SFTによりバイトデー
タをビットデータを含めてシフトさせる通常のシフト回
路として動作する。このため、演算器40内に、CRC
演算回路とは別に、通常のシフト回路を設ける必要はな
い。
【0056】また、CRC演算回路は、従来より演算器
(つまりALU)に設けられている基本命令に対応した
シフト回路,排他的論理和回路,及びセレクタの組み合
せによって実現されるため、従来のマイクロコンピュー
タにおけるALUの一部を変更するだけで実現でき、A
LUの大型化或はコストアップを招くことなく容易に実
現できる。
(つまりALU)に設けられている基本命令に対応した
シフト回路,排他的論理和回路,及びセレクタの組み合
せによって実現されるため、従来のマイクロコンピュー
タにおけるALUの一部を変更するだけで実現でき、A
LUの大型化或はコストアップを招くことなく容易に実
現できる。
【0057】ここで、上記実施例においては、CRC演
算回路が、生成多項式「X8 +X4+X3 +X2 +1」
にてCRCコードの演算を行なうように構成したが、こ
の生成多項式は、排他的論理和回路EXORが設られる
シフト回路SFTの入力経路の位置によって決定され、
その位置を変更すればそれに応じて変化するため、排他
的論理和回路EXORの位置及び個数は、CRCコード
の生成・チェックに使用する生成多項式に応じて設定す
ればよい。
算回路が、生成多項式「X8 +X4+X3 +X2 +1」
にてCRCコードの演算を行なうように構成したが、こ
の生成多項式は、排他的論理和回路EXORが設られる
シフト回路SFTの入力経路の位置によって決定され、
その位置を変更すればそれに応じて変化するため、排他
的論理和回路EXORの位置及び個数は、CRCコード
の生成・チェックに使用する生成多項式に応じて設定す
ればよい。
【0058】そして、例えば、シフト回路SFTへのデ
ータの入力経路の全てに、排他的論理和回路EXOR及
びセレクタSLを設け、CRC演算回路にてCRC演算
を実行する際に、排他的論理和回路EXORの出力を選
択するセレクタSLをソフト的に設定するようにすれ
ば、CRCコード演算時に使用する生成多項式をソフト
的に設定できるようになる。
ータの入力経路の全てに、排他的論理和回路EXOR及
びセレクタSLを設け、CRC演算回路にてCRC演算
を実行する際に、排他的論理和回路EXORの出力を選
択するセレクタSLをソフト的に設定するようにすれ
ば、CRCコード演算時に使用する生成多項式をソフト
的に設定できるようになる。
【0059】また、このようにシフト回路SFTへのデ
ータの入力経路の全てに、排他的論理和回路EXOR及
びセレクタSLを設けた場合、例えば、予め複数のCR
C演算命令コードを設定すると共に、その命令コードに
応じて排他的論理和回路EXORの出力を選択するセレ
クタSLをレジスタ等に格納してくことにより、CRC
演算命令発生時に、その命令コードに対応したセレクタ
SLがレジスタ内のデータに従い自動で切り換えられる
ようにしてもよい。あるいは、マイクロコンピュータ製
造用のマスク切り換えによってもよい。
ータの入力経路の全てに、排他的論理和回路EXOR及
びセレクタSLを設けた場合、例えば、予め複数のCR
C演算命令コードを設定すると共に、その命令コードに
応じて排他的論理和回路EXORの出力を選択するセレ
クタSLをレジスタ等に格納してくことにより、CRC
演算命令発生時に、その命令コードに対応したセレクタ
SLがレジスタ内のデータに従い自動で切り換えられる
ようにしてもよい。あるいは、マイクロコンピュータ製
造用のマスク切り換えによってもよい。
【図1】実施例のCRC演算回路の構成及びその動作を
説明する説明図である。
説明する説明図である。
【図2】実施例のマイクロコンピュータ全体の構成を表
わすブロック図である。
わすブロック図である。
【図3】従来のシフト回路の構成及びその動作を説明す
る説明図である。
る説明図である。
【図4】実施例のCRC演算回路を用いてCRCコード
を生成する場合の処理手順を表わすフローチャートであ
る。
を生成する場合の処理手順を表わすフローチャートであ
る。
【図5】図4のフローチャートに沿って生成されるCR
Cコードの一例を表わす説明図である。
Cコードの一例を表わす説明図である。
【図6】実施例のCRC演算回路を用いてCRCチェッ
クを行なう場合の処理手順を表わすフローチャートであ
る。
クを行なう場合の処理手順を表わすフローチャートであ
る。
【図7】図6のフローチャートに沿って生成されるチェ
ック用のCRCコードの一例を表わす説明図である。
ック用のCRCコードの一例を表わす説明図である。
40…演算器(算術論理回路ユニット:ALU) EXORa〜EXORd…排他的論理和回路 SFT…シフト回路 SLa〜SLe…セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐々木 明博 愛知県刈谷市昭和町1丁目1番地 日本 電装株式会社内 (56)参考文献 特開 平4−157870(JP,A) 特開 昭57−68944(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 11/10 330 G06F 15/78 510
Claims (3)
- 【請求項1】 算術論理回路ユニット内に、 ワ ード或はバイトデータからなるnビットの第1デー
タ、及び、該第1データとは異なる1ビットの第2デー
タを、n+1本の入力経路を介して取り込み、該取り込
んだn+1ビットの入力データを、前記第2データが前
記第1データ側に移動する方向にビット単位でシフトさ
せるシフト回路と、 入 力データの排他的論理和を演算する排他的論理和回路
と、 を 備えたマイクロコンピュータにおいて、前記シフト回路にデータを入力する一部の入力経路に、
前記排他的論理和回路を設け、 該排他的論理和回路が、 当該入力経路に入力されたデータと、 前記第1データの内、前記シフト回路のシフト動作によ
って外部に吐き出されるデータを前記シフト回路に入力
する入力経路に入力されたデータと、 前記第2データをシフト回路に入力する入力経路に入力
されたデータと、 の排他的論理和を演算して前記シフト回路に入力するよ
う構成することにより、 前記 算術論理回路ユニット内にCRCコード生成用のC
RC演算回路を形成したことを特徴とするマイクロコン
ピュータ。 - 【請求項2】 前記排他的論理和回路が設けられた入力
経路に、更に、 外部からの 選択命令に従い、前記排他的論理和回路から
出力されたデータと、当該入力経路に入力されたデータ
とのいずれかを選択して、前記シフト回路に入力する選
択回路、 を 設けたことを特徴とする請求項1に記載のマイクロコ
ンピュータ。 - 【請求項3】 前記シフト回路に前記第1及び第2デー
タを入力する入力経路の全てに、前記排他的論理和回路
及び前記選択回路を設けたことを特徴とする請求項2に
記載のマイクロコンピュータ。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6156201A JP2814918B2 (ja) | 1994-07-07 | 1994-07-07 | マイクロコンピュータ |
FR9508052A FR2722897B1 (fr) | 1994-07-07 | 1995-07-04 | Microprocesseur dans lequel est incorporee une section de controle par redondance cyclique (crc) et procede pour executer des operations crc en l'utilisant |
US08/499,009 US6195779B1 (en) | 1994-07-07 | 1995-07-06 | Microprocessor having built-in CRC section and method for performing CRC operations using the same |
DE19524863A DE19524863B4 (de) | 1994-07-07 | 1995-07-07 | Mikroprozessor mit eingebautem Abschnitt zur zyklischen Redundanzprüfung und Verfahren zum Ausführen von Operationen zur zyklischen Redundanzprüfung unter Verwendung von diesem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6156201A JP2814918B2 (ja) | 1994-07-07 | 1994-07-07 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0822448A JPH0822448A (ja) | 1996-01-23 |
JP2814918B2 true JP2814918B2 (ja) | 1998-10-27 |
Family
ID=15622583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6156201A Expired - Lifetime JP2814918B2 (ja) | 1994-07-07 | 1994-07-07 | マイクロコンピュータ |
Country Status (4)
Country | Link |
---|---|
US (1) | US6195779B1 (ja) |
JP (1) | JP2814918B2 (ja) |
DE (1) | DE19524863B4 (ja) |
FR (1) | FR2722897B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012023713A (ja) * | 2010-06-17 | 2012-02-02 | Fujitsu Ltd | プロセッサ |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263420B1 (en) * | 1997-09-17 | 2001-07-17 | Sony Corporation | Digital signal processor particularly suited for decoding digital audio |
US7120858B2 (en) * | 2002-08-21 | 2006-10-10 | Sun Microsystems, Inc. | Method and device for off-loading message digest calculations |
US7958436B2 (en) | 2005-12-23 | 2011-06-07 | Intel Corporation | Performing a cyclic redundancy checksum operation responsive to a user-level instruction |
US7925957B2 (en) | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3873971A (en) * | 1973-10-31 | 1975-03-25 | Motorola Inc | Random error correcting system |
US4312068A (en) * | 1976-08-12 | 1982-01-19 | Honeywell Information Systems Inc. | Parallel generation of serial cyclic redundancy check |
US4119945A (en) * | 1977-07-01 | 1978-10-10 | Rca Corporation | Error detection and correction |
US4404674A (en) * | 1981-07-10 | 1983-09-13 | Communications Satellite Corporation | Method and apparatus for weighted majority decoding of FEC codes using soft detection |
US4742520A (en) * | 1984-09-26 | 1988-05-03 | Texas Instruments Incorporated | ALU operation: modulo two sum |
US4712215A (en) * | 1985-12-02 | 1987-12-08 | Advanced Micro Devices, Inc. | CRC calculation machine for separate calculation of checkbits for the header packet and data packet |
US4750176A (en) * | 1986-06-30 | 1988-06-07 | U.S. Philips Corporation | Single-channel communication bus system and station for use in such system |
JP2544385B2 (ja) * | 1987-05-27 | 1996-10-16 | 株式会社日立製作所 | 通信制御装置 |
DE3719404A1 (de) * | 1987-06-11 | 1988-12-22 | Bosch Gmbh Robert | Verfahren und anordnung zur korrektur von fehlern in digitalen signalen |
JPH01150940A (ja) * | 1987-12-08 | 1989-06-13 | Hitachi Ltd | Crc演算方式 |
US5245346A (en) * | 1989-12-28 | 1993-09-14 | Kabushiki Kaisha Toyota Chuo Kenyusho | Interrogator/transponder system and mobile transponder device |
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US5251215A (en) * | 1992-01-13 | 1993-10-05 | At&T Bell Laboratories | Modifying check codes in data packet transmission |
-
1994
- 1994-07-07 JP JP6156201A patent/JP2814918B2/ja not_active Expired - Lifetime
-
1995
- 1995-07-04 FR FR9508052A patent/FR2722897B1/fr not_active Expired - Lifetime
- 1995-07-06 US US08/499,009 patent/US6195779B1/en not_active Expired - Lifetime
- 1995-07-07 DE DE19524863A patent/DE19524863B4/de not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012023713A (ja) * | 2010-06-17 | 2012-02-02 | Fujitsu Ltd | プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JPH0822448A (ja) | 1996-01-23 |
FR2722897B1 (fr) | 1997-09-12 |
DE19524863B4 (de) | 2005-12-15 |
DE19524863A1 (de) | 1996-01-11 |
FR2722897A1 (fr) | 1996-01-26 |
US6195779B1 (en) | 2001-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6976155B2 (en) | Method and apparatus for communicating between processing entities in a multi-processor | |
US4667288A (en) | Enable/disable control checking apparatus | |
EP0260584B1 (en) | Fault tolerant computer achitecture | |
US4274138A (en) | Stored program control system with switching between instruction word systems | |
JP2005317023A (ja) | データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法 | |
US4562536A (en) | Directory test error mode control apparatus | |
JPH0431411B2 (ja) | ||
JPS63273134A (ja) | マクロ命令パイプラインを用いてマイクロ命令を変更する方法及び装置 | |
US5475852A (en) | Microprocessor implementing single-step or sequential microcode execution while in test mode | |
KR0142334B1 (ko) | 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트 | |
JP2814918B2 (ja) | マイクロコンピュータ | |
JPH10333939A (ja) | マイクロプロセッサ | |
JP2006523868A (ja) | プログラム制御されるユニットおよび方法 | |
US5440604A (en) | Counter malfunction detection using prior, current and predicted parity | |
US5742842A (en) | Data processing apparatus for executing a vector operation under control of a master processor | |
JPH0267979A (ja) | 半導体回路 | |
US20040017303A1 (en) | Counter arrangement with recover function | |
JPH04248629A (ja) | 演算処理システム | |
JP3547012B2 (ja) | マイクロコンピュータ | |
KR100318315B1 (ko) | 원칩마이크로컴퓨터 | |
JPS61123930A (ja) | 可変長デ−タ演算のオ−バフロ−検出方式 | |
JP3129873B2 (ja) | マイクロコンピュータ | |
JPH06250857A (ja) | マイクロコンピュータ | |
SU1076906A1 (ru) | Контролируемое арифметическое устройство | |
JP2894854B2 (ja) | 中央演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100814 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100814 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110814 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 15 |
|
EXPY | Cancellation because of completion of term |