JPS58200355A - Cpuの動作監視システム - Google Patents

Cpuの動作監視システム

Info

Publication number
JPS58200355A
JPS58200355A JP57081853A JP8185382A JPS58200355A JP S58200355 A JPS58200355 A JP S58200355A JP 57081853 A JP57081853 A JP 57081853A JP 8185382 A JP8185382 A JP 8185382A JP S58200355 A JPS58200355 A JP S58200355A
Authority
JP
Japan
Prior art keywords
cpu
stack area
circuit
data
output
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
JP57081853A
Other languages
English (en)
Inventor
Masami Ono
正巳 大野
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP57081853A priority Critical patent/JPS58200355A/ja
Publication of JPS58200355A publication Critical patent/JPS58200355A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Abstract

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

Description

【発明の詳細な説明】 本発明はマイクロコシピユータのCPUが正常に動作し
ているかどうかを監視□し、CPUが異常な動作を示し
たときには即座にCPU17)動作を停止させ得るよう
にしたC1)Uの動作監視システムに関するものである
。      ′従来のマイクロコンピュータはCPU
が実行するプOジラムをROMまたはRAMのようなメ
七りに予め記憶させておき、CPU内部のづol)5ム
カウンタの初期値を実行開始アドレスに設定して、以下
づ0クラムカウシタの値を順茨カウントアツプして行き
、づOタラムカリンタに記憶されたアドレスに書き込ま
れている命令iオペコード)をメ七りからCPU内に読
み込ん+各命令を逐次実行して行くように構成されてい
茗。′ところでCPoが実行する爺令のなかには、サブ
ルー讐ンを呼び出すときにづOJjラムカウンタの伺容
をメtりに退避させるCALL命令や、CPHのレジス
タの内容をメ七りに退避さぜるp’trSH命゛令など
がある。ま7tCALL命令によ゛つてメ七りに退避し
たづOジラムカウンタの内容を再びCPUの内部に取り
込んで元のづ0ジラムの実行を再開するRET命令や、
PUSH命令によってメ七りに退避したレジスタの内容
を再びCPUの内部に取り込むためのPOP命令などが
ある。
このようにCPU内部のデータを一時的に退避させると
きに使用されるメtりの領域をスタック領域と称し、か
かるスタック領域のアドレスはCPU内部のS′Pレジ
スタ(スタックポインタレジスタ)に記憶されている。
今、第1図に示すづ0ジラムを例にとってスタック領域
の概念について説明すると、まずSPレジスタに16進
数の9FFF’!に入力することにより、第2図に示す
ようにスタックポインタはメ七りの9FFF番地に設定
される。この状態でBレジスタに数値−%Cレジスタに
数値九を代入して、PUSH命令によってレジスタペア
Bcを退避させると0、メモリの9 F F F’□番
地と9 FF’E番地にBレジスタおよびCレジスタの
内容が記憶される。ま几このPUSH命令の実行によっ
てSPレジスタの値は2だけカウントタウンされて9F
FD番地となる。次にCALL命令によってサブルーチ
ン5tJB If呼び出すと、CPU内部のづ0ジラム
カウンタ< Pct/ジスタ)の内容がメ七りの9FF
D番地と9FFC番地に退避し、代わりにづ0ジラムカ
ウンタの値はりづルーチン5UB1の実行開始アドレス
に設定される。またこのCALL命令の実行によってS
Pレジスタの値は2だけカウントタウンされて9FFB
番地となる。
しかしてサブルーチン5UBIの最後には必ずRET命
令(リターン命令)が設けられておシ、とのRET命令
を実行すると、CPUはSPレジスタの値(9FFB番
地)を参照して、9FFC番地と9FFD番地に退避さ
れていた値をづ0ジラムカリンクに入力し、元のづ0ジ
ラムの実行を再開するものである。またとのRET命令
の実行によってSPレジスタの値は2だけカウントアツ
プされて9FFD’1′地となる。次にPOP命令を実
行して退避されていたレジスタペアBCの内容を呼び出
すと、CPUはSPレジスタの値(9FFD誉地)を参
照して、9FFE番地と9FFF番地に退避されてい卒
内容をレジスタペアBCに入力するものである。したが
ってサブルーチン5UB1においてBレジスタやCレジ
スタの値が変更されていても、POP命令の実行によっ
てBレジスタおよびCレジスタの内容はサブルーチン5
UB1を呼び出す前の値に戻るものである。またかかる
POP命令の実行によってSPレジスタの値は2だけカ
ウントアツプされ、初期値9 F、 F F番地に戻る
もやである。
このようにCALL命令とRET命令、およびPUSH
命令とPOP命令は必ず対応して使用されるものである
から、SPレジスタの値が初期の設定値よりも大きくな
不ことはなく、もしもそのよう々事態が発生した場合に
は、プロクラムにバグがあることになる。また上述のよ
うにスタック領域はCPU内部のデータを一時的に退避
させる几めに使用され、るものであるから、その大きさ
は10バイト〜30バイト程度であり、あまり極端に大
きくなることはない。したがってスタック領域が異常に
大きくなったような場合にもjoジラムにバグがあるこ
とになる。
本発明は上述のような点に鑑みて為されたものであp、
CPUによるスタック領域の使用状態に異常がある場合
には即座にCPt1停止させ得るようにし7=jCPU
の動作監視システムを提供することを目的とするもので
ある。
以下本発明の構成を図示実施例について説明する。第1
図は本発明の一実施例の1099図であシ、CP U 
il+にはアドレスバス(2)、データバス(3)、お
よびコントロールバス(4)が接続されており、各バス
(2) f31 [41にはROM (Is)およびR
AM+6)のようなメ七り、ならびに外部機器(8)と
のゲータの入出力を行なうI10ボート(7)が接続さ
れている。(9)はスタック領域の使用状態を監視する
スタック領域監視回路であり、第4図に示すようにデー
タバス(3)に接続され次セーブ命令検出回路t101
.0−ド命令検出回路(11) 、セット命令検出回路
θ匂、およびこれらの各命令検出回路(10)〜(l匂
の出力によシ駆動される可逆力リンクHなどを有してい
る。セーブ命令検出回路(lO)はCALL命令やPU
SH命令のようにCP U (1)内部のデータをスタ
ック領域にセーブ(退避ともいう)する命令がデータバ
ス(3)上に存在することを検出する回路である。また
〇−ド命令検出回路(+11はRET命令やPOP命令
のよ・うにスタック領域に一時的に℃−プされていたデ
ータを再びCPU内部のレジスタにO−ドする命令がデ
ータバス(3)上に存在することを検出する回路である
。さらにセット命令検出回路(1匂は、CPU fil
のSPレジスタにスタックポインタの初期値をセットす
る命令が1データバス(3)上に存在することを検出す
る回路である。これらの各検出回路(lO)〜(l匂は
検出すべき命令の機械語コード(例えばRET命令の場
合には11001001の8ビツトのデータ)とデータ
バス(3)上のデータとを比較するコンパレータによっ
て構成されているものである。各検出回路(10)〜(
12)の出力はそれぞれアンド回路a<〜(Imの一方
の入力に接−jれている。アンド回路H〜α6)の他方
の入力には、CPUII)がメ七りから命令を読み出す
ときに出力するオペコードフェッチ信号が接続されてい
る。、しかしてアンド回路(+4)の出力は可逆カウン
タ(喝のクリア入力に接続されており、シタがってCP
 U filのSPレジスタにスタックポインタの初期
値を設定すると、可逆カウンタθ萄のカウント値はOと
なる。またアンド回路05)および(l匂の出力はそれ
ぞれ可逆カウンターのカウントアツプ入力およびカウン
トアツプ入力に接続されており、シ危がってCP U 
(11がスタック領域にデータit−プすると、可逆カ
ウンタHは1だけカウントアツプされるものであり、反
対にCP U filがスタック領域からデータを0−
ドすると、可逆カウンターは1だけカウントアツプされ
る。(1カはオア回路であり、可逆カウンタ(+3)の
オーバーフロー出力ま次はアンターフロー出力が1にな
ったときには出力が1となるものである。
可逆カウンタ(19)のオーハーフo−1fj力が1に
なるのはスタック領域が異常に大きくなった場合であり
、反対にアンタニフ〇−出力゛が1になるのはCP U
 filがスタック領域にセーブした回数よりも〇−ド
した回数の方が多い場合である。このような場合には、
インバータ(国を介してクリアづ)Oツブ(19)のQ
出力がセットされ、CPU(1+に対して動作停止命令
が送出されると共に警報器□□□が作動するものである
。第5図は以上の動作を)O−チャート化して示したも
のである。力お、クリアづフ0ツづ(19)の他方の入
力には停止解除信号が入力されており、CPU(11を
リセットしたときには、停止解除信号がクリアづ)Oツ
ーJO9)に入力され、Q出力をリセットするようにな
っている。
第6図はCP U [lHの外部接続端子の一例を示す
ものであり、8ヒツトCPUの場合、データバス(3)
に接続される8個のデータ端子D o” D7とアドレ
スバス(2)に接続される16個のアドレス端子Ao〜
AISの他、コントロールバス(4)に接続される各種
の制御端子、および電源端子vT)D、GNDとクロッ
ク入力端子φとを具備している。コント0−ルバス(4
)に接続される制御端子のうち、M工はCPU fil
がメモリから命令を取り込むときに1を出力する端子で
あり、上述したオペコードフェッチ信号はこの端子MI
から出力されるものである。MREQはCP U [1
1がメモリをアダセスするときに、またl0RQはCP
 U [11がI10ボート(7)をアクセスするとき
にそれぞれ1を出力する端子である。またRDはCP 
U filがメ七りやI10ボート(7)からデータを
読み取るときに、WRはCP U filがメ℃りやI
10ポート(7)にデータを書き出すときに1を出力す
る端子である。RFSHはタイナミックRAMのリフレ
Iリシュタイミンl)を決めるための端子である。次に
HALTはCP U filがづ0ジラム停止命令を′
実行しているときに1を出力する端子であり、WAIT
はCP U filによるづOジラムの実行を一時的に
待たせる信号1を入力する端子である。したがって上述
したC P U (xlへの動作停止信号はこのWAI
T端子−入力されるものである。なお、INTおよびN
MIは割り込みを行なう友めの入力端子、BUSRQお
よびBUSAKはCP U (t)のバス制御用の入出
力端子である0 さらに第3図においてROM F5)はCP U tl
lのRD端子から信号が送られてきたときにアドレスバ
ス(2)により指定され次アドレスに記憶されているデ
ータをデータバス(3)に送出する読み出し専用のメ七
りであり、またR A M +61は上記ROM+5)
と同様のデータ読出し機能を有する他、CPUfllの
WR端子から信号が送られてきたときにアドレスバス(
2)により指定されたアドレスにデータバス(3)上の
データを書き込む機能をも有する読出書込両用のメ七り
であり、上述のスタック領域はこのRAM(6)内に設
けられるものである。さらにI10ボート(7)は外部
機器(8)からデータを入力し友り、外部機器(8)に
制御データを出力し危りする入出力装置である。
本発明は以上のように構成されておシ、CPUからスタ
ック領域へのデータのセーブを検出するセーブ検出手段
と、スタック領域からCPUへのデータの0−ドを検出
するO−ド検出手段と、スタックポインタの初期設定を
検出するセット検出手段と、セット検出手段の出力をク
リア入力とし、セーブ検出手段の出力をカウントアツプ
入力とし、ロード検出手段の出力をカウントタウン入力
とする可逆カウンタと、可逆カウンタのオーバーフロー
出力およびアシターフロー出力を入力とするオア回路と
、オア回路の出力によりCPUに対して動作停止命令を
送出する回路とを備え几ものであるから、スタック領域
が異常に大きくなった場合には可逆カウンタからオーバ
ーフロー出力が得られる友めにCPUの動作?即座に停
止させることができ、またCPUがスタック領域にセー
ブした回数よりもO−ドし次回数の方が多くなつ几場合
には可逆カウンタからアンターフロー出力が得られるた
めに、この場合にもCPUの動作を即座に停止させるこ
とができるものであり、結局、スタック領域の使用状態
に異常があるときにはCPUを直ちに停止させることが
できるので、CPUによって制御される外部機器等に異
常な動作が生じることを防止することができるという利
点を有するものである。なお実施例の説明において述べ
たようにCPUに、送出される動作停止信号により警報
器を動作させるようにしておけば、CPUの動作が停止
したことを早期に発見することができるので頗る好都合
なものである。
【図面の簡単な説明】
第1図はスタック領域の概念を説明するためのフローチ
ャート、第2図はメモリのスタック領域を示す図、第3
図は本発明の一実施例のブロック図、第4図は同上の要
部ブロック図、第5図は同上の動作を示すフローチャー
ト、第6図は同上に用いるCPUの外部接続端子を示す
図である。 filはCpUielはRA M % +101はセー
ブ命令検出回路、’(”)は0−ド命令検出回路、(1
21はセット命令検出回路、(+31は可逆カウンタ、
α褐〜輛はアンド回路、(17)はオア回路、(’9)
はフリツプフロツプである代理人 弁理士  石 1)
長 七 第6図 区 特許庁長官殿 1、事件の表示 昭和57年特許願第81853号 2、発 明 の名称 CPUの動作監視システム 3、補正をする者 事件との関係     特許出願人 任  所  大阪府門真市大字門真1048番地名 称
 (583)松下電工株式会社 代表者小 林  郁 4、代理人 電話大阪(06) 345−7777 (代表)5、補
正命令の日付

Claims (1)

    【特許請求の範囲】
  1. fllcPUと、CPUが実行するづ0ジラムを記憶せ
    るメ℃りと、CPU内部のデータを一時的に記憶するス
    タック領域を有するRAMと、CPUからスタック領域
    へのデータのセーブを検出するセーブ検出手段と、スタ
    ック領域からCPUへのデータのO−ドを検出する0−
    ド検出手段と、スタックポイシタの初期設定を検出する
    セット検出手段と、セット検出手段の出力をクリア入力
    とし、セーブ検出手段の出力をカウントアツプ入力とし
    、O−ド検出手段の出力をカウントタウン入力とする可
    逆カウンタと、可逆カウンタのオーバーフロー出力およ
    びアシターフ出力比力金入力とするオア回路と、オア回
    路の出力によりCPUに対して動作停止命令を送出する
    回路とを備えて成ることを特徴とするCPUの動作監視
    システム。
JP57081853A 1982-05-15 1982-05-15 Cpuの動作監視システム Pending JPS58200355A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57081853A JPS58200355A (ja) 1982-05-15 1982-05-15 Cpuの動作監視システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57081853A JPS58200355A (ja) 1982-05-15 1982-05-15 Cpuの動作監視システム

Publications (1)

Publication Number Publication Date
JPS58200355A true JPS58200355A (ja) 1983-11-21

Family

ID=13758041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57081853A Pending JPS58200355A (ja) 1982-05-15 1982-05-15 Cpuの動作監視システム

Country Status (1)

Country Link
JP (1) JPS58200355A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63310027A (ja) * 1987-06-11 1988-12-19 Toshiba Corp 半導体集積回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63310027A (ja) * 1987-06-11 1988-12-19 Toshiba Corp 半導体集積回路

Similar Documents

Publication Publication Date Title
JP3943616B2 (ja) バックグランド・モードでトランスペアレント動作を有するデータ・プロセッサ
KR100327855B1 (ko) 시스템리셋방법
JPH03175537A (ja) デバッグ用マイクロプロセッサのエラー制御装置
JPS58200355A (ja) Cpuの動作監視システム
JP3542409B2 (ja) 情報処理装置
JPH01290040A (ja) ディジタル信号切換回路
JP3166167B2 (ja) マイクロコンピュータ
KR100442290B1 (ko) 프로그램 카운터 제어회로
JPH0484224A (ja) スタックエリア保護回路
JPS61177551A (ja) 処理装置の立上げ制御方式
JP2944080B2 (ja) メモリ内容保護回路
JPS6226738B2 (ja)
JPH04280334A (ja) ワンチップマイクロコンピュータ
JPS5914061A (ja) メモリバンク切換回路
KR100895686B1 (ko) 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법
JPH06139084A (ja) 情報処理装置
JPH0413346A (ja) 電子交換機
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
JPS592056B2 (ja) マイクロコンピユ−タノ プログラムカウンタヒヨウジホウシキ
JPH0333939A (ja) マイクロプロセッサ
JPS63138437A (ja) プログラム制御システム
JPH03208132A (ja) シングルチツプマイクロコンピユータ
JPH047755A (ja) ワンチップマイクロコンピュータ
JPH0764822A (ja) マイクロコンピュータ
JPH10340200A (ja) 情報処理装置