JPH08278902A - プログラム暴走検出装置 - Google Patents
プログラム暴走検出装置Info
- Publication number
- JPH08278902A JPH08278902A JP7107870A JP10787095A JPH08278902A JP H08278902 A JPH08278902 A JP H08278902A JP 7107870 A JP7107870 A JP 7107870A JP 10787095 A JP10787095 A JP 10787095A JP H08278902 A JPH08278902 A JP H08278902A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- address
- chip select
- abnormality
- generating means
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 プログラムに異常が発生したことを迅速に検
出することができるプログラム暴走検出装置を提供す
る。 【構成】 アドレスデコーダ部12は、CPU32から
送出されたアドレス信号を監視し、そのアドレス信号が
何も割り当てられていないアドレス空間内のアドレスを
指定しているときにこれを検出してバーNGCS1 信号
を送出する。ローレベルのバーNGCS1 信号がインバ
ータ回路14で反転された後、CPU32に入力する
と、CPU32はプログラムの暴走が発生したと判定し
て、NMIをかけ、割込み処理を行う。また、アドレス
ラッチ回路16は、アドレスデコーダ部12からのバー
NGCS1 信号がローレベルになったときにアドレス信
号で指定されたアドレスを一時保持する。この不正なア
ドレスは、CPU32のNMI処理時に読み込まれ、誤
動作の原因を特定するための情報として利用される。
出することができるプログラム暴走検出装置を提供す
る。 【構成】 アドレスデコーダ部12は、CPU32から
送出されたアドレス信号を監視し、そのアドレス信号が
何も割り当てられていないアドレス空間内のアドレスを
指定しているときにこれを検出してバーNGCS1 信号
を送出する。ローレベルのバーNGCS1 信号がインバ
ータ回路14で反転された後、CPU32に入力する
と、CPU32はプログラムの暴走が発生したと判定し
て、NMIをかけ、割込み処理を行う。また、アドレス
ラッチ回路16は、アドレスデコーダ部12からのバー
NGCS1 信号がローレベルになったときにアドレス信
号で指定されたアドレスを一時保持する。この不正なア
ドレスは、CPU32のNMI処理時に読み込まれ、誤
動作の原因を特定するための情報として利用される。
Description
【0001】
【産業上の利用分野】本発明は、一般のコンピュータに
おいて、プログラムの暴走を検出するためのプログラム
暴走検出装置に関するものである。
おいて、プログラムの暴走を検出するためのプログラム
暴走検出装置に関するものである。
【0002】
【従来の技術】従来、一般のコンピュータにおいて、プ
ログラムの暴走を検出するときには、ウォッチドッグタ
イマ(watch dog timer )を用いている。たとえば、C
PUが、アドレス空間の割り当てられていない特定領域
のアドレスを指定した場合には、アクセスが行われなく
なり、プログラムが暴走する。このとき、ウォッチドッ
グタイマは、所定の監視期間内にリセットされないた
め、プログラムが暴走したと判定し、CPUにマスク不
可能割込み(NMI)をかける。これにより、CPUは
異常が発生したことを認識し、復旧可能なものについて
は復旧を行う。
ログラムの暴走を検出するときには、ウォッチドッグタ
イマ(watch dog timer )を用いている。たとえば、C
PUが、アドレス空間の割り当てられていない特定領域
のアドレスを指定した場合には、アクセスが行われなく
なり、プログラムが暴走する。このとき、ウォッチドッ
グタイマは、所定の監視期間内にリセットされないた
め、プログラムが暴走したと判定し、CPUにマスク不
可能割込み(NMI)をかける。これにより、CPUは
異常が発生したことを認識し、復旧可能なものについて
は復旧を行う。
【0003】
【発明が解決しようとする課題】ところで、ウォッチド
ッグタイマを動作させるためには、専用のプログラムを
必要とする。かかるプログラムにおいて、ウォッチドッ
グタイマの監視期間は、通常、1秒から2秒程度に、余
裕を持って設定している。この監視期間をあまり短くす
ると、アクセスの遅れ等があったときに、誤って異常で
あると判定してしまうからである。このように、ウォッ
チドッグタイマを用いる場合には、監視期間を1秒から
2秒程度としているため、異常が発生したことをすぐに
検出することができず、異常の検出に比較的長い時間を
要するという問題があった。また、この他に暴走原因の
特定(不正アドレスへのアクセス)ができないという問
題がある。
ッグタイマを動作させるためには、専用のプログラムを
必要とする。かかるプログラムにおいて、ウォッチドッ
グタイマの監視期間は、通常、1秒から2秒程度に、余
裕を持って設定している。この監視期間をあまり短くす
ると、アクセスの遅れ等があったときに、誤って異常で
あると判定してしまうからである。このように、ウォッ
チドッグタイマを用いる場合には、監視期間を1秒から
2秒程度としているため、異常が発生したことをすぐに
検出することができず、異常の検出に比較的長い時間を
要するという問題があった。また、この他に暴走原因の
特定(不正アドレスへのアクセス)ができないという問
題がある。
【0004】本発明は上記事情に基づいてなされたもの
であり、プログラムに異常が発生したことを迅速に検出
することができるプログラム暴走検出装置を提供するこ
とを目的とするものである。
であり、プログラムに異常が発生したことを迅速に検出
することができるプログラム暴走検出装置を提供するこ
とを目的とするものである。
【0005】
【課題を解決するための手段】上記目的を達成するため
の請求項1記載の発明に係るプログラム暴走検出装置
は、中央処理装置から送出されたアドレス信号を監視
し、前記アドレス信号が何も割り当てられていないアド
レス空間内のアドレスを指定しているときにこれを検出
してアドレス異常信号を前記中央処理装置に送出するア
ドレス異常信号発生手段と、前記アドレス信号に基づい
て所定のデバイスを選択するためのチップセレクト信号
を出力するアドレスデコーダと、前記アドレス信号が出
力されたことを検出してアクセス信号を出力するアクセ
ス信号発生手段と、前記アクセス信号が出力されている
のに前記チップセレクト信号が出力されていないときに
これを検出してチップセレクト異常信号を前記中央処理
装置に送出するチップセレクト異常信号発生手段と、前
記アドレス異常信号又は前記チップセレクト異常信号を
受けたときに前記アドレス信号で指定されたアドレスを
一時保持するアドレス保持手段と、前記アドレス異常信
号及び前記チップセレクト異常信号を一時記憶する記憶
手段と、を備えることを特徴とするものである。
の請求項1記載の発明に係るプログラム暴走検出装置
は、中央処理装置から送出されたアドレス信号を監視
し、前記アドレス信号が何も割り当てられていないアド
レス空間内のアドレスを指定しているときにこれを検出
してアドレス異常信号を前記中央処理装置に送出するア
ドレス異常信号発生手段と、前記アドレス信号に基づい
て所定のデバイスを選択するためのチップセレクト信号
を出力するアドレスデコーダと、前記アドレス信号が出
力されたことを検出してアクセス信号を出力するアクセ
ス信号発生手段と、前記アクセス信号が出力されている
のに前記チップセレクト信号が出力されていないときに
これを検出してチップセレクト異常信号を前記中央処理
装置に送出するチップセレクト異常信号発生手段と、前
記アドレス異常信号又は前記チップセレクト異常信号を
受けたときに前記アドレス信号で指定されたアドレスを
一時保持するアドレス保持手段と、前記アドレス異常信
号及び前記チップセレクト異常信号を一時記憶する記憶
手段と、を備えることを特徴とするものである。
【0006】請求項2記載の発明に係るプログラム暴走
検出装置は、請求項1記載の発明において、前記アドレ
ス異常信号発生手段、前記アドレスデコーダ、前記アク
セス信号発生手段、及び前記チップセレクト異常信号発
生手段を一つのPLDに組み込んだことを特徴とするも
のである。
検出装置は、請求項1記載の発明において、前記アドレ
ス異常信号発生手段、前記アドレスデコーダ、前記アク
セス信号発生手段、及び前記チップセレクト異常信号発
生手段を一つのPLDに組み込んだことを特徴とするも
のである。
【0007】請求項3記載の発明に係るプログラム暴走
検出装置は、中央処理装置から送出されたアドレス信号
を監視し、前記アドレス信号が何も割り当てられていな
いアドレス空間内のアドレスを指定しているときにこれ
を検出してアドレス異常信号を前記中央処理装置に送出
するアドレス異常信号発生手段と、前記アドレス異常信
号を受けたときに前記アドレス信号で指定されたアドレ
スを一時保持するアドレス保持手段と、を備えることを
特徴とするものである。
検出装置は、中央処理装置から送出されたアドレス信号
を監視し、前記アドレス信号が何も割り当てられていな
いアドレス空間内のアドレスを指定しているときにこれ
を検出してアドレス異常信号を前記中央処理装置に送出
するアドレス異常信号発生手段と、前記アドレス異常信
号を受けたときに前記アドレス信号で指定されたアドレ
スを一時保持するアドレス保持手段と、を備えることを
特徴とするものである。
【0008】請求項4記載の発明に係るプログラム暴走
検出装置は、中央処理装置から送出されたアドレス信号
に基づいて所定のデバイスを選択するためのチップセレ
クト信号を出力するアドレスデコーダと、前記アドレス
信号が出力されたことを検出してアクセス信号を出力す
るアクセス信号発生手段と、前記アクセス信号が出力さ
れているのに前記チップセレクト信号が出力されていな
いときにこれを検出してチップセレクト異常信号を前記
中央処理装置に送出するチップセレクト異常信号発生手
段と、前記チップセレクト異常信号を受けたときに前記
アドレス信号で指定されたアドレスを一時保持するアド
レス保持手段と、を備えることを特徴とするものであ
る。
検出装置は、中央処理装置から送出されたアドレス信号
に基づいて所定のデバイスを選択するためのチップセレ
クト信号を出力するアドレスデコーダと、前記アドレス
信号が出力されたことを検出してアクセス信号を出力す
るアクセス信号発生手段と、前記アクセス信号が出力さ
れているのに前記チップセレクト信号が出力されていな
いときにこれを検出してチップセレクト異常信号を前記
中央処理装置に送出するチップセレクト異常信号発生手
段と、前記チップセレクト異常信号を受けたときに前記
アドレス信号で指定されたアドレスを一時保持するアド
レス保持手段と、を備えることを特徴とするものであ
る。
【0009】請求項5記載の発明に係るプログラム暴走
検出装置は、請求項1、2、3又は4記載の発明におい
て、前記アドレス異常信号又は前記チップセレクト異常
信号を受けたときに警報を発する警報手段を備えること
を特徴とするものである。
検出装置は、請求項1、2、3又は4記載の発明におい
て、前記アドレス異常信号又は前記チップセレクト異常
信号を受けたときに警報を発する警報手段を備えること
を特徴とするものである。
【0010】
【作用】請求項1記載の発明は前記の構成によって、ア
ドレス信号を監視しアドレス信号が何も割り当てられて
いないアドレス空間内のアドレスを指定しているときに
これを検出してアドレス異常信号を送出するアドレス異
常信号発生手段と、アクセス信号発生手段からのアクセ
ス信号が出力されているのにアドレスデコーダからのチ
ップセレクト信号が出力されていないときにこれを検出
してチップセレクト異常信号を送出するチップセレクト
異常信号発生手段とを有することにより、従来のウォッ
チドッグタイマを用いる場合に比べて、異常が発生した
ことを迅速に検出することができる。また、記憶手段で
アドレス異常信号とチップセレクト異常信号を一時記憶
しておくことにより、異常の原因が中央処理装置の側に
あるのか、又はアドレスデコーダの側にあるのかを特定
することができる。更に、アドレス保持手段が、アドレ
ス異常信号又はチップセレクト異常信号を受けたときに
アドレス信号で指定されたアドレスを一時保持すること
により、このアドレスを、誤動作の原因を特定するため
の情報として利用することができる。
ドレス信号を監視しアドレス信号が何も割り当てられて
いないアドレス空間内のアドレスを指定しているときに
これを検出してアドレス異常信号を送出するアドレス異
常信号発生手段と、アクセス信号発生手段からのアクセ
ス信号が出力されているのにアドレスデコーダからのチ
ップセレクト信号が出力されていないときにこれを検出
してチップセレクト異常信号を送出するチップセレクト
異常信号発生手段とを有することにより、従来のウォッ
チドッグタイマを用いる場合に比べて、異常が発生した
ことを迅速に検出することができる。また、記憶手段で
アドレス異常信号とチップセレクト異常信号を一時記憶
しておくことにより、異常の原因が中央処理装置の側に
あるのか、又はアドレスデコーダの側にあるのかを特定
することができる。更に、アドレス保持手段が、アドレ
ス異常信号又はチップセレクト異常信号を受けたときに
アドレス信号で指定されたアドレスを一時保持すること
により、このアドレスを、誤動作の原因を特定するため
の情報として利用することができる。
【0011】請求項2記載の発明は前記の構成によっ
て、アドレス異常信号発生手段、アドレスデコーダ、ア
クセス信号発生手段、及びチップセレクト異常信号発生
手段を一つのPLDに組み込んだことにより、簡単に所
望の回路を構成することができる。
て、アドレス異常信号発生手段、アドレスデコーダ、ア
クセス信号発生手段、及びチップセレクト異常信号発生
手段を一つのPLDに組み込んだことにより、簡単に所
望の回路を構成することができる。
【0012】請求項3記載の発明は前記の構成によっ
て、アドレス信号を監視しアドレス信号が何も割り当て
られていないアドレス空間内のアドレスを指定している
ときにこれを検出してアドレス異常信号を送出するアド
レス異常信号発生手段を有することにより、中央処理装
置のプログラムの異常や、中央処理装置から送られるア
ドレスに異常が発生したことを迅速に検出することがで
きる。また、アドレス保持手段がアドレス異常信号を受
けたときにアドレス信号で指定されたアドレスを一時保
持することにより、このアドレスを、誤動作の原因を特
定するための情報として利用することができる。
て、アドレス信号を監視しアドレス信号が何も割り当て
られていないアドレス空間内のアドレスを指定している
ときにこれを検出してアドレス異常信号を送出するアド
レス異常信号発生手段を有することにより、中央処理装
置のプログラムの異常や、中央処理装置から送られるア
ドレスに異常が発生したことを迅速に検出することがで
きる。また、アドレス保持手段がアドレス異常信号を受
けたときにアドレス信号で指定されたアドレスを一時保
持することにより、このアドレスを、誤動作の原因を特
定するための情報として利用することができる。
【0013】請求項4記載の発明は前記の構成によっ
て、アクセス信号発生手段からのアクセス信号が出力さ
れているのにアドレスデコーダからのチップセレクト信
号が出力されていないときにこれを検出してチップセレ
クト異常信号を送出するチップセレクト異常信号発生手
段を有することにより、中央処理装置のプログラムの異
常や、中央処理装置又はアドレスデコーダの故障が発生
したことを迅速に検出することができる。また、アドレ
ス保持手段がチップセレクト異常信号を受けたときにア
ドレス信号で指定されたアドレスを一時保持することに
より、このアドレスを、誤動作の原因を特定するための
情報として利用することができる。
て、アクセス信号発生手段からのアクセス信号が出力さ
れているのにアドレスデコーダからのチップセレクト信
号が出力されていないときにこれを検出してチップセレ
クト異常信号を送出するチップセレクト異常信号発生手
段を有することにより、中央処理装置のプログラムの異
常や、中央処理装置又はアドレスデコーダの故障が発生
したことを迅速に検出することができる。また、アドレ
ス保持手段がチップセレクト異常信号を受けたときにア
ドレス信号で指定されたアドレスを一時保持することに
より、このアドレスを、誤動作の原因を特定するための
情報として利用することができる。
【0014】請求項5記載の発明は前記の構成によっ
て、アドレス異常信号又はチップセレクト異常信号を受
けたときに警報を発する警報手段を設けたことにより、
異常が発生したことをオペレータに容易に知らせること
ができる。
て、アドレス異常信号又はチップセレクト異常信号を受
けたときに警報を発する警報手段を設けたことにより、
異常が発生したことをオペレータに容易に知らせること
ができる。
【0015】
【実施例】以下に本発明の第一実施例について図面を参
照して説明する。図1は本発明の第一実施例であるプロ
グラム暴走検出装置の概略構成図、図2はCPUのアド
レス空間に各デバイスを割り当てたメモリマップを示す
図である。
照して説明する。図1は本発明の第一実施例であるプロ
グラム暴走検出装置の概略構成図、図2はCPUのアド
レス空間に各デバイスを割り当てたメモリマップを示す
図である。
【0016】第一実施例のプログラム暴走検出装置は、
図1に示すように、CPU32と二つのメモリ、RAM
(たとえばSRAM)34及びROM(たとえばEPR
OM)36との間でデータを転送する際に、プログラム
の暴走を検出するものであり、アドレスデコーダ部12
と、インバータ回路14と、アドレスラッチ回路16
と、ラッチ回路18と、警報手段としての発光ダイオー
ド(LED)22とを備える。
図1に示すように、CPU32と二つのメモリ、RAM
(たとえばSRAM)34及びROM(たとえばEPR
OM)36との間でデータを転送する際に、プログラム
の暴走を検出するものであり、アドレスデコーダ部12
と、インバータ回路14と、アドレスラッチ回路16
と、ラッチ回路18と、警報手段としての発光ダイオー
ド(LED)22とを備える。
【0017】一般に、RAM34やROM36等の周辺
の汎用デバイスはCPU32のプログラムにおける命令
に使用されるアドレスにマッピングされている。第一実
施例では、RAM34とROM36との合計二つのデバ
イスをCPU32のアドレス空間に割り当てており、こ
のときのメモリマップを図2に示す。CPU32には1
Mバイトのメモリの空間があり、RAM34とROM3
6はそれぞれ256kバイトの記憶容量があるとする。
00000hから3FFFFhまでのメモリ領域をRA
M34に割り当て、C0000hからFFFFFhまで
のメモリ領域をROM36に割り当てている。そして、
40000hからBFFFFhまでのメモリ領域は何も
割り当てられていない非実装エリアである。ここで、
「h」は、16進表記であることを示すものである。
の汎用デバイスはCPU32のプログラムにおける命令
に使用されるアドレスにマッピングされている。第一実
施例では、RAM34とROM36との合計二つのデバ
イスをCPU32のアドレス空間に割り当てており、こ
のときのメモリマップを図2に示す。CPU32には1
Mバイトのメモリの空間があり、RAM34とROM3
6はそれぞれ256kバイトの記憶容量があるとする。
00000hから3FFFFhまでのメモリ領域をRA
M34に割り当て、C0000hからFFFFFhまで
のメモリ領域をROM36に割り当てている。そして、
40000hからBFFFFhまでのメモリ領域は何も
割り当てられていない非実装エリアである。ここで、
「h」は、16進表記であることを示すものである。
【0018】また、図1において、アドレスバス42
は、CPU32がメモリにアクセスする際にそのアドレ
スを指定するための信号線であり、CPU32からアド
レスデコーダ部12、アドレスラッチ回路16等に接続
されている。データバス44は、データを転送するため
の信号線であり、アドレスラッチ回路16やCPU32
等に接続されている。尚、図1において、RAM34や
ROM36へのアドレスバスやデータバスについては省
略している。
は、CPU32がメモリにアクセスする際にそのアドレ
スを指定するための信号線であり、CPU32からアド
レスデコーダ部12、アドレスラッチ回路16等に接続
されている。データバス44は、データを転送するため
の信号線であり、アドレスラッチ回路16やCPU32
等に接続されている。尚、図1において、RAM34や
ROM36へのアドレスバスやデータバスについては省
略している。
【0019】アドレスデコーダ部12は、CPU32か
らのアドレス信号をデコードすると共に、そのアドレス
信号に基づいてアクセスすべきRAM34又はROM3
6を選択するチップセレクト信号(バーCS1 信号、バ
ーCS2 信号)を発生するものである。ここでは、RA
M34を選択するためにバーCS1 信号を、ROM36
を選択するためにバーCS2 信号を送出する。原則的に
は、一のサイクルタイムに一つのデバイスしかアクセス
することができないため、バーCS1 信号とバーCS2
信号は同時にローレベルにはならない。第一実施例で
は、アドレスバス42を同期式としており、CPU32
からはサイクルの監視を示すストローブ信号(バーAD
S信号)が出力される。そして、アドレスデコーダ部1
2から最終的にレディ信号(バーREADY信号)を出
力することにより一つのサイクルが完結する。なお、レ
ディ信号発生回路から別部分として発生させてもよい。
アドレスデコーダ部12は、バーADS信号を受けたと
きに、どこのアドレスを指定しているのかをアドレス信
号で調べ、そのアドレス信号に基づいてバーCS1 信号
又はバーCS2 信号を作る。これにより、CPU32か
ら出されたアドレスが、RAM34及びROM36のい
ずれか一方のアドレスに一意的に割り当てられる。
らのアドレス信号をデコードすると共に、そのアドレス
信号に基づいてアクセスすべきRAM34又はROM3
6を選択するチップセレクト信号(バーCS1 信号、バ
ーCS2 信号)を発生するものである。ここでは、RA
M34を選択するためにバーCS1 信号を、ROM36
を選択するためにバーCS2 信号を送出する。原則的に
は、一のサイクルタイムに一つのデバイスしかアクセス
することができないため、バーCS1 信号とバーCS2
信号は同時にローレベルにはならない。第一実施例で
は、アドレスバス42を同期式としており、CPU32
からはサイクルの監視を示すストローブ信号(バーAD
S信号)が出力される。そして、アドレスデコーダ部1
2から最終的にレディ信号(バーREADY信号)を出
力することにより一つのサイクルが完結する。なお、レ
ディ信号発生回路から別部分として発生させてもよい。
アドレスデコーダ部12は、バーADS信号を受けたと
きに、どこのアドレスを指定しているのかをアドレス信
号で調べ、そのアドレス信号に基づいてバーCS1 信号
又はバーCS2 信号を作る。これにより、CPU32か
ら出されたアドレスが、RAM34及びROM36のい
ずれか一方のアドレスに一意的に割り当てられる。
【0020】ところで、CPU32は、通常、RAM3
4又はROM36が割り当てられたメモリ領域にアクセ
スしに行くが、もしCPU32のプログラムが誤ってい
たり、CPU32に間欠故障や固定故障が起こったりす
ると、何も割り当てられていない非実装エリアにアクセ
スがされることがある。この場合、当然のことながら、
バーCS1 信号もバーCS2 信号も出力されないので、
メモリからデータが取り込まれないことになる。する
と、データが不定であるため、誤った状態を読み込んで
しまい、プログラムが暴走することになる。そこで、第
一実施例では、アドレスデコーダ部12に、CPU32
から送出されたアドレス信号を監視し、そのアドレス信
号が何も割り当てられていないアドレス空間内のアドレ
スを指定しているときにこれを検出してアドレス異常信
号(バーNGCS1 信号)を送出するアドレス異常信号
発生手段としての機能を持たせている。このため、アド
レスデコーダ部12としては、かかるアドレス異常信号
を出すための論理回路を組み込んだPLD(Programabl
e Logic Device)を使用している。バーNGCS1 信号
は、インバータ回路14、アドレスラッチ回路16、及
びラッチ回路18に出力される。
4又はROM36が割り当てられたメモリ領域にアクセ
スしに行くが、もしCPU32のプログラムが誤ってい
たり、CPU32に間欠故障や固定故障が起こったりす
ると、何も割り当てられていない非実装エリアにアクセ
スがされることがある。この場合、当然のことながら、
バーCS1 信号もバーCS2 信号も出力されないので、
メモリからデータが取り込まれないことになる。する
と、データが不定であるため、誤った状態を読み込んで
しまい、プログラムが暴走することになる。そこで、第
一実施例では、アドレスデコーダ部12に、CPU32
から送出されたアドレス信号を監視し、そのアドレス信
号が何も割り当てられていないアドレス空間内のアドレ
スを指定しているときにこれを検出してアドレス異常信
号(バーNGCS1 信号)を送出するアドレス異常信号
発生手段としての機能を持たせている。このため、アド
レスデコーダ部12としては、かかるアドレス異常信号
を出すための論理回路を組み込んだPLD(Programabl
e Logic Device)を使用している。バーNGCS1 信号
は、インバータ回路14、アドレスラッチ回路16、及
びラッチ回路18に出力される。
【0021】インバータ回路14は、バーNGCS1 信
号を反転させるものであり、正論理のNGCS1 信号に
する。CPU32は、インバータ回路14からハイレベ
ルのNGCS1 信号が入力すると、プログラムの暴走が
発生したと判定して、マスク不可能割込み(NMI(no
nmaskable interrupt ))もしくは通常の割込み(マス
ク可能)をかけ、所定の割込み処理を行う。
号を反転させるものであり、正論理のNGCS1 信号に
する。CPU32は、インバータ回路14からハイレベ
ルのNGCS1 信号が入力すると、プログラムの暴走が
発生したと判定して、マスク不可能割込み(NMI(no
nmaskable interrupt ))もしくは通常の割込み(マス
ク可能)をかけ、所定の割込み処理を行う。
【0022】また、アドレスラッチ回路16は、アドレ
スデコーダ部12からのバーNGCS1 信号がローレベ
ルになったときにアドレス信号で指定されたアドレスを
一時保持するものである。このアドレスラッチ回路16
に記憶された不正なアドレスは、CPU32のNMI処
理時に読み込まれ、CPU32が誤動作の原因を特定す
るための情報として利用される。
スデコーダ部12からのバーNGCS1 信号がローレベ
ルになったときにアドレス信号で指定されたアドレスを
一時保持するものである。このアドレスラッチ回路16
に記憶された不正なアドレスは、CPU32のNMI処
理時に読み込まれ、CPU32が誤動作の原因を特定す
るための情報として利用される。
【0023】ラッチ回路18は、アドレスデコーダ部1
2からのバーNGCS1 信号がローレベルになったとき
に、ラッチをかけるものである。このとき、ラッチ回路
18の出力がLED22に供給され、LED22は点灯
する。LED22を設けたことにより、異常が発生した
ことをオペレータに容易に知らせることができる。
2からのバーNGCS1 信号がローレベルになったとき
に、ラッチをかけるものである。このとき、ラッチ回路
18の出力がLED22に供給され、LED22は点灯
する。LED22を設けたことにより、異常が発生した
ことをオペレータに容易に知らせることができる。
【0024】次に、第一実施例のプログラム暴走検出装
置の動作について図3及び図4を用いて説明する。図3
は各信号のタイミングを説明するための図、図4はアド
レスデコーダ部12の状態をステートマシン表記で示し
た図(状態遷移図)である。ここで、図4において、
「ST1」はバーNGCS1 信号がハイレベルであるア
ドレスデコーダ部12の出力状態を表し、「ST0」は
バーNGCS1 信号がローレベルであるアドレスデコー
ダ部12の出力状態を表す。また、「!」は否定を、
「&」は論理積を示す。
置の動作について図3及び図4を用いて説明する。図3
は各信号のタイミングを説明するための図、図4はアド
レスデコーダ部12の状態をステートマシン表記で示し
た図(状態遷移図)である。ここで、図4において、
「ST1」はバーNGCS1 信号がハイレベルであるア
ドレスデコーダ部12の出力状態を表し、「ST0」は
バーNGCS1 信号がローレベルであるアドレスデコー
ダ部12の出力状態を表す。また、「!」は否定を、
「&」は論理積を示す。
【0025】まず、バーADS信号がローレベルになる
と、サイクルが開始される。このサイクルが開始される
ときには、アドレスデコーダ部12はST1の状態にあ
る。このとき、アドレスデコーダ部12は、クロックの
最初の立ち上がり時に、アドレス信号が非実装エリアを
指定しているかどうかを調べる。すなわち、バーADS
信号がローレベルで且つアドレスが40000hからB
FFFFhまでの間のメモリ領域を指し示している(条
件A)ならば、アドレスが非実装エリアを指し示してい
ると判定し、アドレスデコーダ部12は、ST1の状態
からST0の状態に遷移する。一方、条件Aが満たされ
なければ、そのままST1の状態に留まる。また、アド
レスデコーダ部12がST0の状態にあるときに、バー
READY信号がローレベルである(条件B)ならば、
ST0の状態からST1の状態に遷移し、次のサイクル
に備えることになる。一方、条件Bが満たされなけれ
ば、そのままST0の状態に留まる。
と、サイクルが開始される。このサイクルが開始される
ときには、アドレスデコーダ部12はST1の状態にあ
る。このとき、アドレスデコーダ部12は、クロックの
最初の立ち上がり時に、アドレス信号が非実装エリアを
指定しているかどうかを調べる。すなわち、バーADS
信号がローレベルで且つアドレスが40000hからB
FFFFhまでの間のメモリ領域を指し示している(条
件A)ならば、アドレスが非実装エリアを指し示してい
ると判定し、アドレスデコーダ部12は、ST1の状態
からST0の状態に遷移する。一方、条件Aが満たされ
なければ、そのままST1の状態に留まる。また、アド
レスデコーダ部12がST0の状態にあるときに、バー
READY信号がローレベルである(条件B)ならば、
ST0の状態からST1の状態に遷移し、次のサイクル
に備えることになる。一方、条件Bが満たされなけれ
ば、そのままST0の状態に留まる。
【0026】尚、バーNGCS1 信号をローレベルから
ハイレベルに帰す方法としては、必ずしもバーREAD
Y信号を用いて帰す必要はない。たとえば、バーNGC
S1信号は、外部でNMI処理又は割込アクノリッジ・
サイクルが発生するまで保持しておかなければ、割り込
みを正常に認識できないCPU等もある。この場合に
は、バーNGCS1 信号はNMI処理もしくは割込み処
理が行われたときに帰してやるようにすればよい。
ハイレベルに帰す方法としては、必ずしもバーREAD
Y信号を用いて帰す必要はない。たとえば、バーNGC
S1信号は、外部でNMI処理又は割込アクノリッジ・
サイクルが発生するまで保持しておかなければ、割り込
みを正常に認識できないCPU等もある。この場合に
は、バーNGCS1 信号はNMI処理もしくは割込み処
理が行われたときに帰してやるようにすればよい。
【0027】第一実施例のプログラム暴走検出装置で
は、アドレスデコーダ部が、CPUから送出されたアド
レス信号を監視し、アドレスが非実装エリアを指し示し
ているときにこれを検出してバーNGCS1 信号を送出
することにより、このバーNGCS1 信号が発生した場
合には、CPUから送られるアドレスに異常が発生し、
プログラムが暴走したと判定することができる。しか
も、アドレス信号を直接監視しているため、従来のウォ
ッチドッグタイマを用いる場合のように専用のプログラ
ムを必要とせず、異常が発生したことを迅速に検出する
ことができる。また、アドレスラッチ回路において、バ
ーNGCS1 信号が発生したときの不正なアドレスを一
時保持しておくことにより、この不正なアドレスを、C
PUの割込み処理時に読み込んで、CPUが誤動作の原
因を特定するための情報として利用することができる。
また、この不正なアドレスに関する情報はデバッグ(de
bug )の際にも有効に利用することができる。
は、アドレスデコーダ部が、CPUから送出されたアド
レス信号を監視し、アドレスが非実装エリアを指し示し
ているときにこれを検出してバーNGCS1 信号を送出
することにより、このバーNGCS1 信号が発生した場
合には、CPUから送られるアドレスに異常が発生し、
プログラムが暴走したと判定することができる。しか
も、アドレス信号を直接監視しているため、従来のウォ
ッチドッグタイマを用いる場合のように専用のプログラ
ムを必要とせず、異常が発生したことを迅速に検出する
ことができる。また、アドレスラッチ回路において、バ
ーNGCS1 信号が発生したときの不正なアドレスを一
時保持しておくことにより、この不正なアドレスを、C
PUの割込み処理時に読み込んで、CPUが誤動作の原
因を特定するための情報として利用することができる。
また、この不正なアドレスに関する情報はデバッグ(de
bug )の際にも有効に利用することができる。
【0028】次に、本発明の第二実施例について図面を
参照して説明する。図5は本発明の第二実施例であるプ
ログラム暴走検出装置の概略構成図である。
参照して説明する。図5は本発明の第二実施例であるプ
ログラム暴走検出装置の概略構成図である。
【0029】第二実施例のプログラム暴走検出装置は、
図5に示すように、アドレスデコーダ部52と、AND
回路54と、アドレスラッチ回路56とを備えるもので
ある。尚、第二実施例において、上記第一実施例と同様
の機能を有するものには同一の符号を付すことにより、
その詳細な説明を省略する。また、RAM34とROM
36のアドレスはCPU32のアドレス空間に図2と同
様に割り当てられているとする。
図5に示すように、アドレスデコーダ部52と、AND
回路54と、アドレスラッチ回路56とを備えるもので
ある。尚、第二実施例において、上記第一実施例と同様
の機能を有するものには同一の符号を付すことにより、
その詳細な説明を省略する。また、RAM34とROM
36のアドレスはCPU32のアドレス空間に図2と同
様に割り当てられているとする。
【0030】アドレスデコーダ部52は、CPU32か
らのアドレス信号をデコードすると共に、そのアドレス
信号に基づいてアクセスすべきRAM34又はROM3
6を選択するチップセレクト信号(バーCS1 信号、バ
ーCS2 信号)を発生するものである。また、このアド
レスデコーダ部52は、アドレス信号が出力されたこと
を検出してアクセス信号(ACS信号)を出力するアク
セス信号発生手段としての機能をも有する。このため、
このアドレスデコーダ部52としては、アクセス信号を
出すための論理回路を組み込んだPLDを使用してい
る。
らのアドレス信号をデコードすると共に、そのアドレス
信号に基づいてアクセスすべきRAM34又はROM3
6を選択するチップセレクト信号(バーCS1 信号、バ
ーCS2 信号)を発生するものである。また、このアド
レスデコーダ部52は、アドレス信号が出力されたこと
を検出してアクセス信号(ACS信号)を出力するアク
セス信号発生手段としての機能をも有する。このため、
このアドレスデコーダ部52としては、アクセス信号を
出すための論理回路を組み込んだPLDを使用してい
る。
【0031】AND回路54には、ACS信号、バーC
S1 信号及びバーCS2 信号を入力する。このAND回
路54は、ACS信号が出力されているのにバーCS1
信号又はバーCS2 信号が出力されていないときにこれ
を検出してチップセレクト異常信号(NGCS2 信号)
を送出するチップセレクト異常信号発生手段としての役
割を果たす。AND回路54は、ACS信号、バーCS
1 信号及びバーCS2信号のすべてがハイレベルである
ときのみ、NGCS2 信号がハイレベルとなる。したが
って、アクセスが開始されたが、RAM34及びROM
36のいずれも選択されていないときには、アドレスに
異常が発生したと判定することができる。このNGCS
2 信号は、CPU32及びアドレスラッチ回路56に出
力される。
S1 信号及びバーCS2 信号を入力する。このAND回
路54は、ACS信号が出力されているのにバーCS1
信号又はバーCS2 信号が出力されていないときにこれ
を検出してチップセレクト異常信号(NGCS2 信号)
を送出するチップセレクト異常信号発生手段としての役
割を果たす。AND回路54は、ACS信号、バーCS
1 信号及びバーCS2信号のすべてがハイレベルである
ときのみ、NGCS2 信号がハイレベルとなる。したが
って、アクセスが開始されたが、RAM34及びROM
36のいずれも選択されていないときには、アドレスに
異常が発生したと判定することができる。このNGCS
2 信号は、CPU32及びアドレスラッチ回路56に出
力される。
【0032】CPU32は、AND回路54からのハイ
レベルのNGCS2 信号が入力すると、NMIをかけ、
所定の割込み処理を行う。また、アドレスラッチ回路5
6は、AND回路54からのNGCS2 信号がハイレベ
ルになったときに、アドレスバス42からの不正なアド
レス信号を一時保持するものである。
レベルのNGCS2 信号が入力すると、NMIをかけ、
所定の割込み処理を行う。また、アドレスラッチ回路5
6は、AND回路54からのNGCS2 信号がハイレベ
ルになったときに、アドレスバス42からの不正なアド
レス信号を一時保持するものである。
【0033】次に、第二実施例のプログラム暴走検出装
置の動作について図6及び図7を用いて説明する。図6
は各信号のタイミングを説明するための図、図7はアド
レスデコーダ部52の状態をステートマシン表記で示し
た図(状態遷移図)である。ここで、図7において、
「ST1」はACS信号がハイレベルであるアドレスデ
コーダ部52の出力状態を表し、「ST0」はACS信
号がローレベルであるアドレスデコーダ部52の出力状
態を表す。
置の動作について図6及び図7を用いて説明する。図6
は各信号のタイミングを説明するための図、図7はアド
レスデコーダ部52の状態をステートマシン表記で示し
た図(状態遷移図)である。ここで、図7において、
「ST1」はACS信号がハイレベルであるアドレスデ
コーダ部52の出力状態を表し、「ST0」はACS信
号がローレベルであるアドレスデコーダ部52の出力状
態を表す。
【0034】サイクルが開始されるときには、アドレス
デコーダ部52はST0の状態にある。このとき、バー
ADS信号がローレベルである(条件A)ならば、アド
レスデコーダ部52はST0の状態からST1の状態に
遷移する。一方、条件Aが満たされなければ、そのまま
ST0の状態に留まる。次に、アドレスデコーダ部52
がST1の状態にあるときに、バーCS1 信号及びバー
CS2 信号のいずれもハイレベルであると、AND回路
54からのNGCS2 信号はハイレベルになる。一方、
バーCS1 信号又はバーCS2 信号のいずれかがローレ
ベルであると、AND回路54からのNGCS2 信号は
ローレベルになる。また、アドレスデコーダ部52がS
T1の状態にあるときに、バーREADY信号がローレ
ベルである(条件B)ならば、ST1の状態からST0
の状態に遷移し、NGCS2 信号もローレベルとなり、
次のサイクルに備えることになる。一方、条件Bが満た
されなければ、そのままST1の状態に留まる。
デコーダ部52はST0の状態にある。このとき、バー
ADS信号がローレベルである(条件A)ならば、アド
レスデコーダ部52はST0の状態からST1の状態に
遷移する。一方、条件Aが満たされなければ、そのまま
ST0の状態に留まる。次に、アドレスデコーダ部52
がST1の状態にあるときに、バーCS1 信号及びバー
CS2 信号のいずれもハイレベルであると、AND回路
54からのNGCS2 信号はハイレベルになる。一方、
バーCS1 信号又はバーCS2 信号のいずれかがローレ
ベルであると、AND回路54からのNGCS2 信号は
ローレベルになる。また、アドレスデコーダ部52がS
T1の状態にあるときに、バーREADY信号がローレ
ベルである(条件B)ならば、ST1の状態からST0
の状態に遷移し、NGCS2 信号もローレベルとなり、
次のサイクルに備えることになる。一方、条件Bが満た
されなければ、そのままST1の状態に留まる。
【0035】第二実施例のプログラム暴走検出装置で
は、アドレスデコーダ部からのACS信号が出力されて
いるのにバーCS1 信号及びバーCS2 信号のいずれも
出力されていないときにこれを検出してNGCS2 信号
を送出するチップセレクト異常信号発生手段(AND回
路)を有することにより、このNGCS2 信号が発生し
た場合には、CPUから送られるアドレスに異常が発生
し、プログラムが暴走したと判定することができる。し
かも、バーCS1 信号及びバーCS2 信号を直接監視し
ているため、異常が発生したことを迅速に検出すること
ができる。
は、アドレスデコーダ部からのACS信号が出力されて
いるのにバーCS1 信号及びバーCS2 信号のいずれも
出力されていないときにこれを検出してNGCS2 信号
を送出するチップセレクト異常信号発生手段(AND回
路)を有することにより、このNGCS2 信号が発生し
た場合には、CPUから送られるアドレスに異常が発生
し、プログラムが暴走したと判定することができる。し
かも、バーCS1 信号及びバーCS2 信号を直接監視し
ているため、異常が発生したことを迅速に検出すること
ができる。
【0036】特に、第二実施例では、第一実施例の場合
と異なり、バーCS1 信号及びバーCS2 信号を監視し
て、間接的にアドレスが異常であるかどうかを判定して
いるため、アドレスデコーダ部の故障についてまで検出
することができ、異常検出の対象が第一実施例の場合に
比べて拡大する。すなわち、第一実施例の場合は、アド
レス信号を監視しており、バーCS1 信号及びバーCS
2 信号を監視していないので、アドレスデコーダ部自身
の異常については検出できない。第二実施例の場合は、
たとえば、CPU自身は正常なアドレスを出している
が、アドレスデコーダ部が故障し、バーCS1 信号又は
バーCS2 信号がハイレベルに固定してしまった場合
も、異常を検出することができる。
と異なり、バーCS1 信号及びバーCS2 信号を監視し
て、間接的にアドレスが異常であるかどうかを判定して
いるため、アドレスデコーダ部の故障についてまで検出
することができ、異常検出の対象が第一実施例の場合に
比べて拡大する。すなわち、第一実施例の場合は、アド
レス信号を監視しており、バーCS1 信号及びバーCS
2 信号を監視していないので、アドレスデコーダ部自身
の異常については検出できない。第二実施例の場合は、
たとえば、CPU自身は正常なアドレスを出している
が、アドレスデコーダ部が故障し、バーCS1 信号又は
バーCS2 信号がハイレベルに固定してしまった場合
も、異常を検出することができる。
【0037】また、アドレスラッチ回路56において、
NGCS2 信号が発生したときの不正なアドレスを一時
保持しておくことにより、この不正なアドレスを、CP
Uの割込み処理時に読み込んで、CPUが誤動作の原因
を特定するための情報として利用することができる。
NGCS2 信号が発生したときの不正なアドレスを一時
保持しておくことにより、この不正なアドレスを、CP
Uの割込み処理時に読み込んで、CPUが誤動作の原因
を特定するための情報として利用することができる。
【0038】次に、本発明の第三実施例について図面を
参照して説明する。図8は本発明の第三実施例であるプ
ログラム暴走検出装置の概略構成図である。
参照して説明する。図8は本発明の第三実施例であるプ
ログラム暴走検出装置の概略構成図である。
【0039】第三実施例のプログラム暴走検出装置は、
図8に示すように、アドレスデコーダ部62と、AND
回路64と、アドレスラッチ回路66と、OR回路68
と、LED72と、レジスタ部74とを備えるものであ
る。尚、第三実施例において、上記第一実施例と同様の
機能を有するものには同一の符号を付すことにより、そ
の詳細な説明を省略する。また、RAM34とROM3
6のアドレスはCPU32のアドレス空間に図2と同様
に割り当てられているとする。
図8に示すように、アドレスデコーダ部62と、AND
回路64と、アドレスラッチ回路66と、OR回路68
と、LED72と、レジスタ部74とを備えるものであ
る。尚、第三実施例において、上記第一実施例と同様の
機能を有するものには同一の符号を付すことにより、そ
の詳細な説明を省略する。また、RAM34とROM3
6のアドレスはCPU32のアドレス空間に図2と同様
に割り当てられているとする。
【0040】アドレスデコーダ部62は、CPU32か
らのアドレス信号をデコードすると共に、そのアドレス
信号に基づいてアクセスすべきRAM34又はROM3
6を選択するチップセレクト信号(バーCS1 信号、バ
ーCS2 信号)を発生するものである。このアドレスデ
コーダ部62は、CPU32から送出されたアドレス信
号を監視し、そのアドレス信号が何も割り当てられてい
ないアドレス空間内のアドレスを指定しているときにこ
れを検出してアドレス異常信号(NGCS1 信号)を送
出するアドレス異常信号発生手段としての機能と、アド
レス信号が出力されたことを検出してアクセス信号(A
CS信号)を出力するアクセス信号発生手段としての機
能とを有する。このため、このアドレスデコーダ62と
しては、アドレス異常信号及びアクセス信号を出すため
の論理回路を組み込んだPLDを使用している。NGC
S1 信号は、OR回路68及びレジスタ部74に出力さ
れ、ACS信号は、AND回路64に出力される。
らのアドレス信号をデコードすると共に、そのアドレス
信号に基づいてアクセスすべきRAM34又はROM3
6を選択するチップセレクト信号(バーCS1 信号、バ
ーCS2 信号)を発生するものである。このアドレスデ
コーダ部62は、CPU32から送出されたアドレス信
号を監視し、そのアドレス信号が何も割り当てられてい
ないアドレス空間内のアドレスを指定しているときにこ
れを検出してアドレス異常信号(NGCS1 信号)を送
出するアドレス異常信号発生手段としての機能と、アド
レス信号が出力されたことを検出してアクセス信号(A
CS信号)を出力するアクセス信号発生手段としての機
能とを有する。このため、このアドレスデコーダ62と
しては、アドレス異常信号及びアクセス信号を出すため
の論理回路を組み込んだPLDを使用している。NGC
S1 信号は、OR回路68及びレジスタ部74に出力さ
れ、ACS信号は、AND回路64に出力される。
【0041】AND回路64には、ACS信号、バーC
S1 信号及びバーCS2 信号が入力する。AND回路6
4は、ACS信号が出力されているのにバーCS1 信号
又はバーCS2 信号が出力されていないときにこれを検
出してチップセレクト異常信号(NGCS2 信号)を送
出するチップセレクト異常信号発生手段としての役割を
果たす。NGCS2 信号は、OR回路68及びレジスタ
部74に出力される。
S1 信号及びバーCS2 信号が入力する。AND回路6
4は、ACS信号が出力されているのにバーCS1 信号
又はバーCS2 信号が出力されていないときにこれを検
出してチップセレクト異常信号(NGCS2 信号)を送
出するチップセレクト異常信号発生手段としての役割を
果たす。NGCS2 信号は、OR回路68及びレジスタ
部74に出力される。
【0042】OR回路68は、NGCS1 信号及びNG
CS2 信号のいずれかがハイレベルとなると、異常が発
生したと判定して、CPU32に信号を送るものであ
る。CPU32は、OR回路68からの信号を受ける
と、NMIをかけ、所定の割込み処理を行う。また、ア
ドレスラッチ回路66は、OR回路68からの出力がハ
イレベルになったときに、アドレスバス42からの不正
なアドレス信号を一時保持するものである。
CS2 信号のいずれかがハイレベルとなると、異常が発
生したと判定して、CPU32に信号を送るものであ
る。CPU32は、OR回路68からの信号を受ける
と、NMIをかけ、所定の割込み処理を行う。また、ア
ドレスラッチ回路66は、OR回路68からの出力がハ
イレベルになったときに、アドレスバス42からの不正
なアドレス信号を一時保持するものである。
【0043】レジスタ部74は、NGCS1 信号とNG
CS2 信号の出力を一時記憶するものである。CPU3
2は、このレジスタ部74に記憶された情報をNMI処
理時に読み込むことにより、アドレス信号が異常である
のか、チップセレクト信号が異常であるのかを識別する
ことができる。図9にNGCS1 信号及びNGCS2信
号の出力に基づいて異常の原因を特定するためのロジッ
クを示す。NGCS1信号とNGCS2 信号とが共にハ
イレベルである場合には、アドレス信号が異常であると
判定される。この場合、NGCS2 信号がハイレベルと
なっているのは、NGCS1 信号がハイレベルであるこ
とに起因するものと考えられる。アドレス信号が異常と
なる原因としては、CPU32のプログラムに誤りがあ
るか、CPU32自身のアドレスの出力がローレベル又
はハイレベルに固定されていることが考えられるので、
プログラム上何ら問題がなければ、CPU32を交換す
る必要がある。また、NGCS1 信号がハイレベルで、
NGCS2 信号がローレベルである場合、又はNGCS
1 信号がローレベルで、NGCS2 信号がハイレベルで
ある場合には、チップセレクト信号が異常であると判定
される。チップセレクト信号が異常となる原因として
は、アドレスデコーダ部62からのバーCS1信号又は
バーCS2 信号の出力がローレベル又はハイレベルに固
定されていることが考えられるので、この場合は、アド
レスデコーダ部62を交換する必要がある。但し、NG
CS1 信号がハイレベルで、NGCS2 信号がローレベ
ルとなる可能性は、ほとんどないと思われる。そして、
NGCS1 信号とNGCS2 信号とが共にローレベルで
ある場合は、正常であると判定される。
CS2 信号の出力を一時記憶するものである。CPU3
2は、このレジスタ部74に記憶された情報をNMI処
理時に読み込むことにより、アドレス信号が異常である
のか、チップセレクト信号が異常であるのかを識別する
ことができる。図9にNGCS1 信号及びNGCS2信
号の出力に基づいて異常の原因を特定するためのロジッ
クを示す。NGCS1信号とNGCS2 信号とが共にハ
イレベルである場合には、アドレス信号が異常であると
判定される。この場合、NGCS2 信号がハイレベルと
なっているのは、NGCS1 信号がハイレベルであるこ
とに起因するものと考えられる。アドレス信号が異常と
なる原因としては、CPU32のプログラムに誤りがあ
るか、CPU32自身のアドレスの出力がローレベル又
はハイレベルに固定されていることが考えられるので、
プログラム上何ら問題がなければ、CPU32を交換す
る必要がある。また、NGCS1 信号がハイレベルで、
NGCS2 信号がローレベルである場合、又はNGCS
1 信号がローレベルで、NGCS2 信号がハイレベルで
ある場合には、チップセレクト信号が異常であると判定
される。チップセレクト信号が異常となる原因として
は、アドレスデコーダ部62からのバーCS1信号又は
バーCS2 信号の出力がローレベル又はハイレベルに固
定されていることが考えられるので、この場合は、アド
レスデコーダ部62を交換する必要がある。但し、NG
CS1 信号がハイレベルで、NGCS2 信号がローレベ
ルとなる可能性は、ほとんどないと思われる。そして、
NGCS1 信号とNGCS2 信号とが共にローレベルで
ある場合は、正常であると判定される。
【0044】また、レジスタ部74は、NGCS1 信号
又はNGCS2 信号がハイレベルになったときに、信号
を出力し、LED72を点灯する。このLED72を設
けたことにより、特に、プログラムの開発を行っている
場合に、LED72が点灯すれば、アドレスのないとこ
ろにプログラムを作ってしまったということがわかる。
この場合、アドレスラッチ回路66に保持されたアドレ
スを読み取り、プログラム上にそのアドレスを指定した
部分がないかどうかを調べて、その部分のプログラムを
書き直すようにすれば、プログラムを容易に修正するこ
とができる。
又はNGCS2 信号がハイレベルになったときに、信号
を出力し、LED72を点灯する。このLED72を設
けたことにより、特に、プログラムの開発を行っている
場合に、LED72が点灯すれば、アドレスのないとこ
ろにプログラムを作ってしまったということがわかる。
この場合、アドレスラッチ回路66に保持されたアドレ
スを読み取り、プログラム上にそのアドレスを指定した
部分がないかどうかを調べて、その部分のプログラムを
書き直すようにすれば、プログラムを容易に修正するこ
とができる。
【0045】第三実施例のプログラム暴走検出装置で
は、CPUから送出されたアドレス信号を監視し、アド
レスが非実装エリアを指し示しているときにこれを検出
してNGCS1 信号を送出するアドレス異常信号発生手
段(アドレスデコーダ部)と、アドレスデコーダ部から
のACS信号が出力されているのにバーCS1 信号及び
バーCS2 信号のいずれも出力されていないときにこれ
を検出してNGCS2 信号を送出するチップセレクト異
常信号発生手段(AND回路)とを有することにより、
NGCS1 信号又はNGCS2 信号が発生した場合に
は、CPUから送られるアドレスに異常が発生し、プロ
グラムが暴走したと判定することができる。しかも、ア
ドレス信号及び、バーCS1 信号及びバーCS2 信号を
監視しているため、異常が発生したことを迅速に検出す
ることができる。
は、CPUから送出されたアドレス信号を監視し、アド
レスが非実装エリアを指し示しているときにこれを検出
してNGCS1 信号を送出するアドレス異常信号発生手
段(アドレスデコーダ部)と、アドレスデコーダ部から
のACS信号が出力されているのにバーCS1 信号及び
バーCS2 信号のいずれも出力されていないときにこれ
を検出してNGCS2 信号を送出するチップセレクト異
常信号発生手段(AND回路)とを有することにより、
NGCS1 信号又はNGCS2 信号が発生した場合に
は、CPUから送られるアドレスに異常が発生し、プロ
グラムが暴走したと判定することができる。しかも、ア
ドレス信号及び、バーCS1 信号及びバーCS2 信号を
監視しているため、異常が発生したことを迅速に検出す
ることができる。
【0046】また、レジスタ部でNGCS1 信号とNG
CS2 信号の出力を一時記憶しておくことにより、異常
の原因がCPUの側にあるのか、又はアドレスデコーダ
部の側にあるのかを特定することができる。更に、アド
レスラッチ回路において、NGCS1 信号又はNGCS
2 信号が発生したときの不正なアドレスを一時保持して
おくことにより、この不正なアドレスを、CPUの割込
み処理時に読み込んで、CPUが誤動作の原因を特定す
るための情報として利用することができる。
CS2 信号の出力を一時記憶しておくことにより、異常
の原因がCPUの側にあるのか、又はアドレスデコーダ
部の側にあるのかを特定することができる。更に、アド
レスラッチ回路において、NGCS1 信号又はNGCS
2 信号が発生したときの不正なアドレスを一時保持して
おくことにより、この不正なアドレスを、CPUの割込
み処理時に読み込んで、CPUが誤動作の原因を特定す
るための情報として利用することができる。
【0047】尚、本発明は上記の各実施例に限定される
ものではなく、その要旨の範囲内において種々の変形が
可能である。たとえば、アドレスラッチ回路は一段では
なく、FIFO(first-in first-out)等で多段になる
ように構成してもよい。プログラムの暴走はNMI処理
により止められるが、アドレス異常信号又はチップセレ
クト異常信号が出力されてからでもアドレス信号が次か
ら次へと送られる可能性がある。この場合、アドレスラ
ッチ回路をたとえば三段又は四段に構成しておけば、そ
れぞれのステップで各アドレスを記憶することができ
る。
ものではなく、その要旨の範囲内において種々の変形が
可能である。たとえば、アドレスラッチ回路は一段では
なく、FIFO(first-in first-out)等で多段になる
ように構成してもよい。プログラムの暴走はNMI処理
により止められるが、アドレス異常信号又はチップセレ
クト異常信号が出力されてからでもアドレス信号が次か
ら次へと送られる可能性がある。この場合、アドレスラ
ッチ回路をたとえば三段又は四段に構成しておけば、そ
れぞれのステップで各アドレスを記憶することができ
る。
【0048】また、上記の各実施例では、CPUがアド
レス異常信号又はチップセレクト異常信号を受けたとき
に、NMI割込みをかける場合について説明したが、C
PUはマスク可能な通常の割込みをかけるようにしても
よい。
レス異常信号又はチップセレクト異常信号を受けたとき
に、NMI割込みをかける場合について説明したが、C
PUはマスク可能な通常の割込みをかけるようにしても
よい。
【0049】更に、上記の第二実施例においてアドレス
デコーダ部52とAND回路54とを一つのPLDに組
み込んだり、また、上記の第三実施例においてアドレス
デコーダ部62とAND回路64とOR回路68とを一
つのPLDに組み込んだりしてもよい。これにより、簡
単に所望の回路を構成することができる。
デコーダ部52とAND回路54とを一つのPLDに組
み込んだり、また、上記の第三実施例においてアドレス
デコーダ部62とAND回路64とOR回路68とを一
つのPLDに組み込んだりしてもよい。これにより、簡
単に所望の回路を構成することができる。
【0050】
【発明の効果】以上説明したように請求項1記載の発明
によれば、アドレス信号を監視しアドレス信号が何も割
り当てられていないアドレス空間内のアドレスを指定し
ているときにこれを検出してアドレス異常信号を送出す
るアドレス異常信号発生手段と、アクセス信号発生手段
からのアクセス信号が出力されているのにアドレスデコ
ーダからのチップセレクト信号が出力されていないとき
にこれを検出してチップセレクト異常信号を送出するチ
ップセレクト異常信号発生手段とを有することにより、
従来のウォッチドッグタイマを用いる場合に比べて、異
常が発生したことを迅速に検出することができ、また、
記憶手段でアドレス異常信号とチップセレクト異常信号
を一時記憶しておくことにより、異常の原因が中央処理
装置の側にあるのか、又はアドレスデコーダの側にある
のかを特定することができると共に、アドレス保持手段
が、アドレス異常信号又はチップセレクト異常信号を受
けたときにアドレス信号で指定されたアドレスを一時保
持することにより、このアドレスを、誤動作の原因を特
定するための情報として利用することができるプログラ
ム暴走検出装置を提供することができる。
によれば、アドレス信号を監視しアドレス信号が何も割
り当てられていないアドレス空間内のアドレスを指定し
ているときにこれを検出してアドレス異常信号を送出す
るアドレス異常信号発生手段と、アクセス信号発生手段
からのアクセス信号が出力されているのにアドレスデコ
ーダからのチップセレクト信号が出力されていないとき
にこれを検出してチップセレクト異常信号を送出するチ
ップセレクト異常信号発生手段とを有することにより、
従来のウォッチドッグタイマを用いる場合に比べて、異
常が発生したことを迅速に検出することができ、また、
記憶手段でアドレス異常信号とチップセレクト異常信号
を一時記憶しておくことにより、異常の原因が中央処理
装置の側にあるのか、又はアドレスデコーダの側にある
のかを特定することができると共に、アドレス保持手段
が、アドレス異常信号又はチップセレクト異常信号を受
けたときにアドレス信号で指定されたアドレスを一時保
持することにより、このアドレスを、誤動作の原因を特
定するための情報として利用することができるプログラ
ム暴走検出装置を提供することができる。
【0051】請求項2記載の発明によれば、アドレス異
常信号発生手段、アドレスデコーダ、アクセス信号発生
手段、及びチップセレクト異常信号発生手段を一つのP
LDに組み込んだことにより、簡単に所望の回路を構成
することができるプログラム暴走検出装置を提供するこ
とができる。
常信号発生手段、アドレスデコーダ、アクセス信号発生
手段、及びチップセレクト異常信号発生手段を一つのP
LDに組み込んだことにより、簡単に所望の回路を構成
することができるプログラム暴走検出装置を提供するこ
とができる。
【0052】請求項3記載の発明によれば、アドレス信
号を監視しアドレス信号が何も割り当てられていないア
ドレス空間内のアドレスを指定しているときにこれを検
出してアドレス異常信号を送出するアドレス異常信号発
生手段を有することにより、中央処理装置から送られる
アドレスに異常が発生したことを迅速に検出することが
でき、また、アドレス保持手段がアドレス異常信号を受
けたときにアドレス信号で指定されたアドレスを一時保
持することにより、このアドレスを、誤動作の原因を特
定するための情報として利用することができるプログラ
ム暴走検出装置を提供することができる。
号を監視しアドレス信号が何も割り当てられていないア
ドレス空間内のアドレスを指定しているときにこれを検
出してアドレス異常信号を送出するアドレス異常信号発
生手段を有することにより、中央処理装置から送られる
アドレスに異常が発生したことを迅速に検出することが
でき、また、アドレス保持手段がアドレス異常信号を受
けたときにアドレス信号で指定されたアドレスを一時保
持することにより、このアドレスを、誤動作の原因を特
定するための情報として利用することができるプログラ
ム暴走検出装置を提供することができる。
【0053】請求項4記載の発明によれば、アクセス信
号発生手段からのアクセス信号が出力されているのにア
ドレスデコーダからのチップセレクト信号が出力されて
いないときにこれを検出してチップセレクト異常信号を
送出するチップセレクト異常信号発生手段を有すること
により、中央処理装置のプログラムの異常や、中央処理
装置又はアドレスデコーダの故障が発生したことを迅速
に検出することができ、また、アドレス保持手段がチッ
プセレクト異常信号を受けたときにアドレス信号で指定
されたアドレスを一時保持することにより、このアドレ
スを、誤動作の原因を特定するための情報として利用す
ることができるプログラム暴走検出装置を提供すること
ができる。
号発生手段からのアクセス信号が出力されているのにア
ドレスデコーダからのチップセレクト信号が出力されて
いないときにこれを検出してチップセレクト異常信号を
送出するチップセレクト異常信号発生手段を有すること
により、中央処理装置のプログラムの異常や、中央処理
装置又はアドレスデコーダの故障が発生したことを迅速
に検出することができ、また、アドレス保持手段がチッ
プセレクト異常信号を受けたときにアドレス信号で指定
されたアドレスを一時保持することにより、このアドレ
スを、誤動作の原因を特定するための情報として利用す
ることができるプログラム暴走検出装置を提供すること
ができる。
【0054】請求項5記載の発明によれば、アドレス異
常信号又はチップセレクト異常信号を受けたときに警報
を発する警報手段を設けたことにより、異常が発生した
ことをオペレータに容易に知らせることができるプログ
ラム暴走検出装置を提供することができる。
常信号又はチップセレクト異常信号を受けたときに警報
を発する警報手段を設けたことにより、異常が発生した
ことをオペレータに容易に知らせることができるプログ
ラム暴走検出装置を提供することができる。
【図1】本発明の第一実施例であるプログラム暴走検出
装置の概略構成図である。
装置の概略構成図である。
【図2】CPUのアドレス空間に各デバイスを割り当て
たメモリマップを示す図である。
たメモリマップを示す図である。
【図3】各信号のタイミングを説明するための図であ
る。
る。
【図4】アドレスデコーダ部の状態をステートマシン表
記で示した図(状態遷移図)である。
記で示した図(状態遷移図)である。
【図5】本発明の第二実施例であるプログラム暴走検出
装置の概略構成図である。
装置の概略構成図である。
【図6】各信号のタイミングを説明するための図であ
る。
る。
【図7】アドレスデコーダ部の状態をステートマシン表
記で示した図(状態遷移図)である。
記で示した図(状態遷移図)である。
【図8】本発明の第三実施例であるプログラム暴走検出
装置の概略構成図である。
装置の概略構成図である。
【図9】アドレス異常信号及びチップセレクト異常信号
の出力に基づいて異常の原因を特定するためのロジック
を示す図である。
の出力に基づいて異常の原因を特定するためのロジック
を示す図である。
12,52,62 アドレスデコーダ部 14 インバータ回路 16,56,66 アドレスラッチ回路 18 ラッチ回路 22,72 LED 32 CPU 34 RAM 36 ROM 42 アドレスバス 44 データバス 54,64 AND回路 68 OR回路 74 レジスタ部
Claims (5)
- 【請求項1】 中央処理装置から送出されたアドレス信
号を監視し、前記アドレス信号が何も割り当てられてい
ないアドレス空間内のアドレスを指定しているときにこ
れを検出してアドレス異常信号を前記中央処理装置に送
出するアドレス異常信号発生手段と、 前記アドレス信号に基づいて所定のデバイスを選択する
ためのチップセレクト信号を出力するアドレスデコーダ
と、 前記アドレス信号が出力されたことを検出してアクセス
信号を出力するアクセス信号発生手段と、 前記アクセス信号が出力されているのに前記チップセレ
クト信号が出力されていないときにこれを検出してチッ
プセレクト異常信号を前記中央処理装置に送出するチッ
プセレクト異常信号発生手段と、 前記アドレス異常信号又は前記チップセレクト異常信号
を受けたときに前記アドレス信号で指定されたアドレス
を一時保持するアドレス保持手段と、 前記アドレス異常信号及び前記チップセレクト異常信号
を一時記憶する記憶手段と、 を備えることを特徴とするプログラム暴走検出装置。 - 【請求項2】 前記アドレス異常信号発生手段、前記ア
ドレスデコーダ、前記アクセス信号発生手段、及び前記
チップセレクト異常信号発生手段を一つのPLDに組み
込んだことを特徴とする請求項1記載のプログラム暴走
検出装置。 - 【請求項3】 中央処理装置から送出されたアドレス信
号を監視し、前記アドレス信号が何も割り当てられてい
ないアドレス空間内のアドレスを指定しているときにこ
れを検出してアドレス異常信号を前記中央処理装置に送
出するアドレス異常信号発生手段と、 前記アドレス異常信号を受けたときに前記アドレス信号
で指定されたアドレスを一時保持するアドレス保持手段
と、 を備えることを特徴とするプログラム暴走検出装置。 - 【請求項4】 中央処理装置から送出されたアドレス信
号に基づいて所定のデバイスを選択するためのチップセ
レクト信号を出力するアドレスデコーダと、前記アドレ
ス信号が出力されたことを検出してアクセス信号を出力
するアクセス信号発生手段と、 前記アクセス信号が出力されているのに前記チップセレ
クト信号が出力されていないときにこれを検出してチッ
プセレクト異常信号を前記中央処理装置に送出するチッ
プセレクト異常信号発生手段と、 前記チップセレクト異常信号を受けたときに前記アドレ
ス信号で指定されたアドレスを一時保持するアドレス保
持手段と、 を備えることを特徴とするプログラム暴走検出装置。 - 【請求項5】 前記アドレス異常信号又は前記チップセ
レクト異常信号を受けたときに警報を発する警報手段を
備えることを特徴とする請求項1、2、3又は4記載の
プログラム暴走検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7107870A JPH08278902A (ja) | 1995-04-07 | 1995-04-07 | プログラム暴走検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7107870A JPH08278902A (ja) | 1995-04-07 | 1995-04-07 | プログラム暴走検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08278902A true JPH08278902A (ja) | 1996-10-22 |
Family
ID=14470180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7107870A Withdrawn JPH08278902A (ja) | 1995-04-07 | 1995-04-07 | プログラム暴走検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08278902A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079230A (ja) * | 2004-09-08 | 2006-03-23 | Nec Electronics Corp | 半導体回路装置及び暴走検出方法 |
JP2007004257A (ja) * | 2005-06-21 | 2007-01-11 | Nidec Sankyo Corp | Cpuを搭載した回路装置 |
-
1995
- 1995-04-07 JP JP7107870A patent/JPH08278902A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006079230A (ja) * | 2004-09-08 | 2006-03-23 | Nec Electronics Corp | 半導体回路装置及び暴走検出方法 |
JP4522799B2 (ja) * | 2004-09-08 | 2010-08-11 | ルネサスエレクトロニクス株式会社 | 半導体回路装置及び暴走検出方法 |
JP2007004257A (ja) * | 2005-06-21 | 2007-01-11 | Nidec Sankyo Corp | Cpuを搭載した回路装置 |
JP4621825B2 (ja) * | 2005-06-21 | 2011-01-26 | 日本電産サンキョー株式会社 | Cpuを搭載した回路装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2535518B2 (ja) | デ−タ処理システム | |
EP2824573B1 (en) | Microcomputer test | |
JPH08137763A (ja) | フラッシュメモリ制御装置 | |
EP3770765B1 (en) | Error recovery method and apparatus | |
JPH02202638A (ja) | 多重プロセッサを備えたフォールトトレラントなコンピュータシステム | |
JPH079625B2 (ja) | フォールトトレラントな能力を備えたコンピュータ | |
JP2000099406A (ja) | L1デ―タ・キャッシュ・パリティ・エラ―のための回復方法及びシステム | |
US5987585A (en) | One-chip microprocessor with error detection on the chip | |
JPH0869391A (ja) | データ・プロセッサとその方法 | |
JPH05225067A (ja) | 重要メモリ情報保護装置 | |
US20090259899A1 (en) | Method and apparatus for automatic scan completion in the event of a system checkstop | |
US4947478A (en) | Switching control system for multipersonality computer system | |
US7774690B2 (en) | Apparatus and method for detecting data error | |
US20140075176A1 (en) | Information processing apparatus | |
US9231618B2 (en) | Early data tag to allow data CRC bypass via a speculative memory data return protocol | |
JPH08278902A (ja) | プログラム暴走検出装置 | |
US5893932A (en) | Address path architecture | |
US7237099B2 (en) | Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor | |
JP2003309564A (ja) | マイクロコンピュータシステムおよびそれに使用されるトランシーバ | |
JP3171615B2 (ja) | データ転送のリトライ制御方式 | |
JPS6159557A (ja) | 仮想記憶制御装置 | |
JP3019336B2 (ja) | マイクロプロセッサ開発支援装置 | |
JP2006172196A (ja) | 割込みコントローラ | |
JPH0384640A (ja) | 障害情報通知方式 | |
CA1316608C (en) | Arrangement for error recovery in a self-guarding data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020702 |