JPS6385833A - マイクロプロセツサの制御回路 - Google Patents

マイクロプロセツサの制御回路

Info

Publication number
JPS6385833A
JPS6385833A JP61229638A JP22963886A JPS6385833A JP S6385833 A JPS6385833 A JP S6385833A JP 61229638 A JP61229638 A JP 61229638A JP 22963886 A JP22963886 A JP 22963886A JP S6385833 A JPS6385833 A JP S6385833A
Authority
JP
Japan
Prior art keywords
parity
data
terminal
mpu
microprocessor
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.)
Pending
Application number
JP61229638A
Other languages
English (en)
Inventor
Yutaka Udagawa
宇田川 豊
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP61229638A priority Critical patent/JPS6385833A/ja
Publication of JPS6385833A publication Critical patent/JPS6385833A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、格納されたプログラムに基づいて所定の演
算処理を実行するマイクロプロセッサの制御回路に関す
るものである。
〔従来の技術〕
従来、この種の装置はウオッチドックタイマによる一定
周期の割込信号に対してプロセッサが正常に応答するか
どうかを調べることにより、プロセッサの正常/異常を
判定するように構成されている。
〔発明が解決しようとする問題点〕
このため、プロセッサの割込端子等のハードウェアソー
スを誤動作検出用に占有されてソフトウェアのオーバヘ
ッドが発生する。また、ウオッチドックタイマの割込周
期がプロセッサのマシンサイクルに比較して非常に遅い
ため、誤動作を検知した時点では、既にプロセッサの暴
走により機器本体に対して重大な悪影響を与えてしまう
可能性があった、さらに、プロセッサが暴走していたと
してもウオッチドックタイマからの割込みに対してさえ
正常に応答していれば暴走を検知できなかった。さらに
暴走は検知可能であってもプロセッサの命令のミスリー
ドは異常として検出できない0例えばプロセッサのAレ
ジスタからBレジスタへのデータムーブとAレジスタか
らCレジスタへのデータムーブのOFコードが1ビツト
しか違わない場合、この1ビツトを読み違えても異常と
は検出できない等の幾多の問題点があった。
この発明は、上記の問題点を解消するためになされたも
ので、マイクロプロセッサがメモリから読み出した命令
語またはデータに固有のパリティデータをあらかじめ格
納しておき、マイクロプロセッサが読み出した命令語ま
たはデータ処理に並行して読み出してそのパリティデー
タと命令語またはデータのビットデータの総和に基づい
てマイクロプロセッサのマシンサイクルを制御すること
により、マイクロプロセッサの誤動作または暴走を停止
できるマイクロプロセッサの制御回路を得ることを目的
とする。
〔問題点を解決するための手段〕
この発明に係るマイクロプロセッサの制御回路は、メモ
リに格納されるシーケンスプログラムの所定ビット毎に
対応するパリティデータをあらかじめ記憶するパリティ
データ記憶手段と、マイクロプロセッサがメモリに格納
される命令フェッチに並行して、パリティデータ記憶手
段からフェッチされるパリティデータとを加算して、ダ
イナミックに切り換わる奇数または偶数のパリティチェ
ック信号を出力するパリティチェック信号出力手段と、
このパリティチェック信号出力手段から出力される奇数
または偶数のパリティチェック信号に基づいてマイクロ
プロセッサのマシンサイクルを停止するリセット信号を
出力する制御手段とを設けたものである。
〔作用〕
この発明においては、マイクロプロセッサがメモリに格
納される命令コードをフェッチする場合に、この命令コ
ードに対応するパリティデータがパリティデータ記憶手
段から読み出され、パリティデータ信号出力手段により
命令コードのビットデータと読み出されたパリティデー
タとが加算され、偶数または奇数に切り換わるパリティ
チェック信号が出力され、このパリティチェック信号に
基づいて制御手段がマイクロプロセッサに対してリセッ
ト信号を送出し、マシンサイクルを停止させる。
〔実施例〕
第1図はこの発明の一実施例を示すマイクロプロセッサ
の制御回路の構成を説明するブロック図であり、1はマ
イクロプロセッサ(M P U)で、プログラムROM
2に格納されたシーケンスデータ(プログラム)に基づ
いて入出力ボート3を介してインタフェースされるデー
タを処理する。4t* RA Mで、MPU1が処理す
るデータのワークメモリとして機能する。MPUIはア
ドレスデータADO”AD7 とデータDAo−DA、
とを同一信号ピン上で時分割処理するため、ラッチ5に
よりアドレスデータADo −AD7 とデータDAo
 −DA7  とが後述するタイミング信号ALEによ
り分離される。6はこの発明のパリティデータ記憶手段
をなすチェックROM (CROM)で、MPU1の異
常を検出するためのチェックデータ(パリティデータ)
が格納されており、MPU1の全メモリアドレス空間6
4にバイトに対して1バイト毎にCROM6のデータが
1ビツトずつチェックビットとして割り当てられる。7
はデータセレクタで、CROM8から読み出された8ビ
ツトの並列データのうち、プログラムROM2の該当メ
モリアドレスに対応するデータビットを選択するもので
、例えばプログラムROM2のメモリアドレス(000
0)H番地に対応するCROM6のチェックデータは(
0000))1番地の「0」ビット目である。同様にプ
ログラムROM2のメモリアドレス(FFFF)H番地
にはCROM6の(IFFF)H番地の7ビツト目がパ
リティデータとして対応している。8はフリップフロッ
プ−(FF)で、MPU1がプログラムROM2の所定
アドレスに格納された第1のオペランドコード(第10
Fコード)をフェッチした場合にC端子がハイレベルと
なり、それ以外はC端子がローレベルとなる。9はフリ
ップフロップ(FF)で、ゲート13の出力がD端子に
入力されるとともに、C端子にMPU1から出力される
タイミング信号MEMREAD (アクティブロー)が
入力される。FF9はMPU1の異常検知を検知した場
合に、反転C端子がローレベルとなってMPUIのマシ
ンサイクルを停止させるリセット信号を出力する。10
はこの発明のパリティデータ信号出力手段となるパリテ
ィチェッカで、DATAINPUT端子にはMPU1が
プログラムROM2をアクセスしたときのみプログラム
ROM2のデータが入力され、RAM4がアクセスされ
ているときは(FF)Hが入力される。パリティチェッ
カ1oはDATAINPUT端子に入力される8ビツト
データとデータセレクタ7で選択されて0DDINPU
T端子マタはEVENINPUT端子ニ入力される端子
ニド力−タとのビットデータを加算し、その総和が偶数
の場合はΣEVENOUTPU丁端子をハイレベル、Σ
0DDOU丁PUT ! 子をローレベルにセットする
とともに、その総和が奇数の場合はΣ0DDOUTPU
T端子をハイレベル、ΣEVENOUTPUT端子をロ
ーレベルにセットする。11.12はナンドゲルト、1
3.14はゲート回路、15はインバータ回路、16は
LED表示器で、FF9の反転C端子がローレベルにな
った場合にハイレベルになるC端子に接続されており、
C端子がハイレベルにセットされた場合に点灯してMP
U 1の暴走をオペレータに報知する。T1〜T6は信
号ターミナルで、信号ターミナルT1はMPU1から出
力されるアドレスデータAD[l〜AD15をCROM
6 。
RAM4 、プログラムROM2 、入出力ポート3に
出力し、信号ターミナルT2はアドレスデータADo−
AD7が出力されるとともに、データDAO”DA7が
入出力され、信号ターミナルT3はMPU1が外部メモ
リからデータをリードするためのタイミング信号MEM
READ I F F 9に出力し、信号ターミナルT
4はゲート回路14から出力されるリセット信号が入力
され、信号ターミナルT5はMPU1が第10Fコード
をフェッチした場合にM1信号をFF8のD端子に対し
て出力し、信号ターミナルT6は信号ターミナルT2か
ら送出されるアドレスデータADO−AD7 とデータ
DAo −DA7 とを分離するALE信号をラッチ5
のクロック端子CLKおよびFF8のC端子に出力する
。なお、FF8のR端子にはマニュアルリセットスイッ
チ(図示しない)または電源投入時に強制リセット信号
が入力される。
次に第1図に示したプログラムROM2 、RAM4に
格納されているデータについて説明する。
CROM8のビットデータはMPU 1の全メモリアド
レス空間64にバイトに対して各1ビツトが割り当てら
れているため、8にバイトのメモリ容量となる。このビ
ットデータはプログラムROM2に格納されるプログラ
ムデータおよびRAM4のデータと関連しており、プロ
グラムROM2内のプログラムデータのうち、第10F
コードが格納されているアドレスに対応するCROM6
のデータビットはプログラムデータに対して偶数のパリ
ティビットとなっている。また、プログラムROM2の
データのうち、第10Fコード以外のデータが格納され
ているアドレスに対応するCROM6のデータビットは
奇数のパリティビットになっている。さらに、RAM4
には処理データが格納されるだけで、MPU1のプログ
ラムは格納されていないので、RAM4の配置されてい
るアドレスに対応するCROM8のデータビットは全て
「1」がセットされている。これは、MPU 1がRA
M4をアクセスする場合、パリティチェッカ10のDA
TAINPUT端子には(FF))Iが入力され、かつ
RAM4には処理データが格納されており、MPU1の
プログラムは格納されていないので、CROM6のデー
タビットを「1」にセットすることにより総和が奇数と
なるようにセットするためである。
次に第2図に示す°タイミングチャートを参照しながら
この発明による誤動作検知制御動作について説明する。
第2図はこの発明による誤動作検知制御動作を説明する
タイミングチャートであり、第1図と同−のものには同
じ符号を付しである。
電源投入時リセットまたは手動リセットが第1図に示す
ラインLから入力されると、MPU1およびFF8.9
にリセットがかかり、FF9の反転C端子はハイレベル
となる。ここで、リセットが解除されると、MPUIは
プログラムROM2に格納されたプログラムを読出し命
令の実行を開始する(命令フェッチサイクル)、この際
、CROM6からもMPU1からのリードアドレスに対
応した1ビツトのパリティビットがCROM6の端子D
ATAourから次々に読み出され、パリティチェッカ
1oに出力される。このため、パリティチェッカ10は
MPUIから送出されたアドレスデータADo −AD
I5に応じてプログラムROM2から読み出された8ビ
ツトのデータと上述の1ビツトのパリティビットとの一
ビツト加算を行う。この加算の総和が、ΣEVENOU
TPUT端子をハイレベル、Σ0DDOtlTPUT 
端子をローレベルにセットするとともに、その総和が奇
数の場合はΣ0DDOUTPUT端子ヲハイレヘル、Σ
EVENOUTPUT端子をローレベルにセットする。
例えばMPU 1が第10Fコードをフェッチしている
時は、MPU1は信号ターミナルT5からMl信号をF
F8のD端子に出力しているので、FF8のC端子はハ
イレベルとなり、MPUIがプログラムROM2からフ
ェッチしたデータのパリティ結果が偶数となった場合は
、ΣEVENOUTPUT端子をハイレベル。
Σ0DDOUTPUT端子をローレベルにセットするの
で、FF8のC端子がハイレベルに立ち上った時点では
、ゲート回路13の出力がローレベルとなり、この結果
FF9の反転C端子はハイレベルとなり、ゲート回路1
4の出力はハイレベルに保持されてリセット信号はMP
U1に出力されない。
また、FF8のC端子はMPU1が第10Fコード以外
のデータを読み込んでいる場合は、ローレベルとなるの
で、この時パリティチェッカ1oに入力されるビットデ
ータの総和が奇数となると、ΣEVENOUTPUT端
子をo−レベル、Σ0[IDOυTPUT端子をハイレ
ベルにセットするので、FF9のC端子がハイレベルに
立ち上った時点では、ゲート回路13の出力がローレベ
ルとなり、この結果FF9の反転C端子はハイレベルと
なり、ゲート回路14の出力はハイレベルに保持されて
リセット信号はMPUIに出力されない0以上がMPU
1が正常時の動作で、命令実行シーケンスが正常であり
、プログラムのミスリードがなければMPU 1はリセ
ットされることなく、動作を継続する。
MPU1の暴走は、プログラムROM2に格納されてい
るプログラムとMPU1のシーケンスが合わなくなるた
めに発生する。MPU1がノイズ、回路の故障により正
常なシーケンスから外れると、第10Fコードのフェッ
チを正規のアドレスから実行しなくなる。
この実施例では、MPUIが第10Fコードをフェッチ
するシーケンスにおいて、プログラムROM2に格納さ
れている本来の第10Fコード以外のデータを第10F
コードとしてフェッチすると、パリティチェッカ1oに
入力されるパリティビットとDATAINPUT端子に
に入力されるデータのビットデータの総和が奇数となり
、ΣEVENOUTPU丁端子ヲローレベル、Σ0DD
OUTPUT 端子をハイレベルにセットするので、F
F9のC端子がハイレベルに立ち上った時点では、ゲー
ト回路13の出力゛がハイレベルとなり、この結果FF
9の反転C端子はローレベルとなり、ゲート回路14の
出力はローレベルに保持されてリセット信号がMPUI
の信号ターミナルT4に入力され、MPU 1 +7)
マシンサイクルが強制的に停止する。このとき、F、F
9のC端子はハイレベルとなり、LED表示器16が点
灯し、オペレータにシステムダウンを報知する。
次に命令のミスリードにより誤った命令を実行する場合
のMPU1のリセット動作について説明する。
ノイズ等により正規のプログラムがプログラムROM2
から読み出せなかった場合、正規の命令と誤って読み込
まれ、異なった命令として解釈されたデータが異なるシ
ーケンスを持つ場合、例えば一方の命令が2バイトで構
成され、他方が1バイトで構成される場合は、暴走とし
て検知できるが、同一のシーケンスを持つ場合は、暴走
を起さないが、パリティエラーとして誤動作を検知でき
る。すなわち、パリティチェッカ10でのパリティビッ
トとDATAINPtlT端子にに入力されるデータの
ビットデータの総和が奇数となり、ΣEVENOUTP
UT端子をo−L/へ/I/、Σ0[ID0UTPUT
端子をハイレベルにセットするので、FF9のC端子が
ハイレベルに立ち上った時点では、ゲート回路13の出
力がハイレベルとなり、この結果FF9の反転C端子は
ローレベルとなり、ゲート回路14の出力はローレベル
に保持されてリセット信号がMPU1の信号ターミナル
T4に入力され、MPU1のマシンサイクルが強制的に
停止する。
このとき、FF9のC端子はハイレベルとなり、LED
表示器16が点灯し、オペレータにシステムダウンを報
知する。
なお、上記実施例では、MPU1がプログラムROM2
に格納されたプログラムに応じて入出力ボート3を介し
て接続される周辺機器をシステム制御する装置を例にし
て説明したが、パリティビットをメモリに対する読出し
/誤読込みのチェックに使用するように構成すれば、パ
ーソナルコンピュータおよび小型のコンピュータシステ
ムにこの発明を適応できる。また、上記実施例では誤動
作を検知すると、直ちにリセット信号をMPU 1に入
力する場合について説明したが、割込みをかけることに
より、MPU 1に命令フェッチをリトライさせるよう
に構成してもよいことは云うまでもない。
〔発明の効果〕
以上説明したように、この発明はメモリに格納されるシ
ーケンスプログラムの所定ビット毎に対応するパリティ
データをあらかじめ記憶するパリティデータ記憶手段と
、マイクロプロセッサがメモリに格納される命令フェッ
チに並行して、パリティデータ記憶手段からフェッチさ
れるパリティデータとを加算して、ダイナミックに切り
換わる奇数または偶数のパリティチェック信号を出力す
るパリティチェック信号出力手段と、このパリティチェ
ック信号出力手段から出力される奇数または偶数のパリ
ティチェック信号に基づいてマイクロプロセッサのマシ
ンサイクルを停止するリセット信号を出力する制御手段
とを設けたので、マイクロプロセッサ応用機器の誤動作
および命令の実行シーケンスの異常をも確実に検出でき
、マイクロプロセッサ応用機器のシステム動作の信頼性
を大幅に向上できる等の優れた利点を有する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すマイクロプロセッサ
の制御回路の構成を説明するブロック図、第2図はこの
発明による誤動作検知制御動作を説明するタイミングチ
ャートである。 図中、1はMPU、2はプログラムROM、3は入出力
ボート、4はRAM、5はラッチ、6はCROM、7は
データセレクタ、8,9はFF、1oは排他的論理和ゲ
ート、11はLED表示器、12はゲートである。

Claims (1)

    【特許請求の範囲】
  1. あらかじめメモリに格納されたシーケンスプログラムを
    所定ビットずつフェッチしてマシンサイクルを実行する
    マイクロプロセッサにおいて、前記メモリに格納される
    シーケンスプログラムの所定ビット毎に対応するパリテ
    ィデータをあらかじめ記憶するパリティデータ記憶手段
    と、前記マイクロプロセッサが前記メモリに格納される
    命令フェッチに並行して、前記パリティデータ記憶手段
    からフェッチされるパリティデータとを加算して、ダイ
    ナミックに切り換わる奇数または偶数のパリティチェッ
    ク信号を出力するパリティチェック信号出力手段と、こ
    のパリティチェック信号出力手段から出力される前記奇
    数または偶数のパリティチェック信号に基づいて前記マ
    イクロプロセッサのマシンサイクルを停止するリセット
    信号を出力する信号出力手段とを具備したことを特徴と
    するマイクロプロセッサの制御回路。
JP61229638A 1986-09-30 1986-09-30 マイクロプロセツサの制御回路 Pending JPS6385833A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61229638A JPS6385833A (ja) 1986-09-30 1986-09-30 マイクロプロセツサの制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61229638A JPS6385833A (ja) 1986-09-30 1986-09-30 マイクロプロセツサの制御回路

Publications (1)

Publication Number Publication Date
JPS6385833A true JPS6385833A (ja) 1988-04-16

Family

ID=16895332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61229638A Pending JPS6385833A (ja) 1986-09-30 1986-09-30 マイクロプロセツサの制御回路

Country Status (1)

Country Link
JP (1) JPS6385833A (ja)

Similar Documents

Publication Publication Date Title
US4947478A (en) Switching control system for multipersonality computer system
JPS6385833A (ja) マイクロプロセツサの制御回路
KR0134365B1 (ko) 원칩 마이크로컴퓨터 및 이의 프로그램 메모리 및 데이타 메모리를 액세스하는 방법.
JPS6385831A (ja) マイクロプロセツサの制御回路
JPH03132829A (ja) パリテイ検査システム
JP3171615B2 (ja) データ転送のリトライ制御方式
KR930008679B1 (ko) 마이크로 채널 버스 아키덱쳐를 갖는 컴퓨터 시스템의 마이크로 채널 버스 에러 추적회로
JPH01160547U (ja)
JP3166167B2 (ja) マイクロコンピュータ
JPS62145334A (ja) プログラム暴走検出装置
JPH0371236A (ja) エラー検出システム
JPS5827248A (ja) 集積回路
JPH03266154A (ja) 情報処理装置
JPS59194247A (ja) 計算機構造体の異常検出方法
JPH06250857A (ja) マイクロコンピュータ
JPS61163452A (ja) 中央制御装置
JPS62127944A (ja) 情報処理装置
JPH0333939A (ja) マイクロプロセッサ
JPH0370056A (ja) Romの自己診断装置
JPS58114146A (ja) プロセツサ暴走検出方式
JPS60169947A (ja) プログラム異常検知装置
JPH06250856A (ja) マイクロコンピュータ
JPH04277847A (ja) メモリ装置
JPH0159608B2 (ja)
JPH02144744A (ja) 外部メモリ診断機能付lsi