JPS6014345A - プログラムの暴走保護方式 - Google Patents
プログラムの暴走保護方式Info
- Publication number
- JPS6014345A JPS6014345A JP58122216A JP12221683A JPS6014345A JP S6014345 A JPS6014345 A JP S6014345A JP 58122216 A JP58122216 A JP 58122216A JP 12221683 A JP12221683 A JP 12221683A JP S6014345 A JPS6014345 A JP S6014345A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- instruction code
- microprocessor
- program memory
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明はマイクロプロセッサ等において7°ログラム
が各種要因によって暴走した場合、該プログラムを所定
の番地に簡羊に復帰させることができる方式に関する。
が各種要因によって暴走した場合、該プログラムを所定
の番地に簡羊に復帰させることができる方式に関する。
従来、この種の方式には次のようなものがあった。
構成はマイクロプロセッサと該マイクロプロセッサに制
御されるハードウェアタイマとかう成す、該タイマはマ
イクロプロセッサによってセットされた所定時間を経過
するとマイクロプロセッサに対し割込みを発生するよう
にしておく。一方処理グロダラム中で、上記所定時間内
に少なくとも一度は通過するステップに上記タイマをリ
セットする命令を挿入しておく。このようにすると、正
常な動作を行なっているときには上記タイマがマイクロ
プロセッサに対し割込みを発生することはな(2) イカ、マイクロプロセッサが何らかの原因で76 ログ
ラムの存在しない記憶領域をアドレスし通常のルーチン
から飛び出してしまった場合には上記タイマはリセット
されないために、上記所定時間後にマイクロプロセッサ
に対して割込みを発生する。
御されるハードウェアタイマとかう成す、該タイマはマ
イクロプロセッサによってセットされた所定時間を経過
するとマイクロプロセッサに対し割込みを発生するよう
にしておく。一方処理グロダラム中で、上記所定時間内
に少なくとも一度は通過するステップに上記タイマをリ
セットする命令を挿入しておく。このようにすると、正
常な動作を行なっているときには上記タイマがマイクロ
プロセッサに対し割込みを発生することはな(2) イカ、マイクロプロセッサが何らかの原因で76 ログ
ラムの存在しない記憶領域をアドレスし通常のルーチン
から飛び出してしまった場合には上記タイマはリセット
されないために、上記所定時間後にマイクロプロセッサ
に対して割込みを発生する。
マイクロプロセッサは該割込みにより異常が発生したと
判断し、その後適当なる処理を行なう。
判断し、その後適当なる処理を行なう。
ととろで、上述した従来方式によれば、プログラマ−の
作成するプログラムおよび前述のハードウェアタイマと
いうソフトおよびハードの両方の構成が成立しないと、
正常な機能を実現することができない欠点があり、また
制御も一般的に複雑である。
作成するプログラムおよび前述のハードウェアタイマと
いうソフトおよびハードの両方の構成が成立しないと、
正常な機能を実現することができない欠点があり、また
制御も一般的に複雑である。
この発明は上記実情に鑑みてなされたものであシ、各種
要因によって暴走したプログラムをハードウェア構成の
みで簡単に復帰させるようにしたゾログラムの暴走保護
方式を提供することを目的とする。
要因によって暴走したプログラムをハードウェア構成の
みで簡単に復帰させるようにしたゾログラムの暴走保護
方式を提供することを目的とする。
そこでこの発明では、マイクロプロセッサがプログラム
メモリのプログラム領域以外をアドレスした場合、ソフ
トウェア割込み命令に対応した命令コードを前記マイク
ロプロセッサに読込捷ぜ、以後の制御を前記プログラム
メモリに記憶されたプログラムの予め決められた所定番
地に移行するようにしている。このようにすると、例え
ば該所定番地に誤動作から復帰するだめのプログラムを
書き込んでおくと、自動的にマイクロプロセッサを正常
動作に戻すことが可能になる。なお、上記動作を実行さ
せる手段には、 (1) プログラム領域以外の全記憶領域にソフトウェ
ア割込み用の命令コードを書き込んでおく (2)マイクロプロセッサとプログラムメモリ間のデー
ダバスをフローティングバスニスル(3) ソフトウェ
ア割込み用の命令コードが記憶されているレジスタを設
ける 等の方式がある。
メモリのプログラム領域以外をアドレスした場合、ソフ
トウェア割込み命令に対応した命令コードを前記マイク
ロプロセッサに読込捷ぜ、以後の制御を前記プログラム
メモリに記憶されたプログラムの予め決められた所定番
地に移行するようにしている。このようにすると、例え
ば該所定番地に誤動作から復帰するだめのプログラムを
書き込んでおくと、自動的にマイクロプロセッサを正常
動作に戻すことが可能になる。なお、上記動作を実行さ
せる手段には、 (1) プログラム領域以外の全記憶領域にソフトウェ
ア割込み用の命令コードを書き込んでおく (2)マイクロプロセッサとプログラムメモリ間のデー
ダバスをフローティングバスニスル(3) ソフトウェ
ア割込み用の命令コードが記憶されているレジスタを設
ける 等の方式がある。
以下、本発明を添付図面に示す実施例にしたがって詳細
に説明する 第1図は本発明の第1の実施例を説明するだめの図であ
り、プログラムメモリの記憶内容を示している。同図の
斜線部には所定のプログラムが記憶されており、該斜線
部以外の領域は通常未使用領域である。本実施例は、該
未使用領域にCPUを所定の番地に移行させることがで
きる所定の命令コード(この場合は16進でFF)を書
込んでおき、CPUが暴走して核未使用領域をアドレス
した場合、該命令コードをCPUに読込ませようとする
ものである。
に説明する 第1図は本発明の第1の実施例を説明するだめの図であ
り、プログラムメモリの記憶内容を示している。同図の
斜線部には所定のプログラムが記憶されており、該斜線
部以外の領域は通常未使用領域である。本実施例は、該
未使用領域にCPUを所定の番地に移行させることがで
きる所定の命令コード(この場合は16進でFF)を書
込んでおき、CPUが暴走して核未使用領域をアドレス
した場合、該命令コードをCPUに読込ませようとする
ものである。
例えばインテル8080系を例にとると、該命令コード
rF’FJはR8T7(割込みを発生させる命令)に対
応しており、もしCPUが誤動作して上記のプログラム
領域以外をアクセスした場合、CPUへはF’ Fとい
う命令コードが送シ込まれることになシ、結果としてC
PUは38(16進)番地から始まる新しいプログラム
を実行することになる。したが(5) って、プログラム中でもし上記のR8T 7を使用して
いなければ、まだ正常動作では上記38番地を通らない
プログラムであったならば、それにもかかわらず38番
地をCPUが実行したときには、それ以前に何らかの要
因で誤動作が生じたことになる。また上記の38番地に
誤動作から復帰するだめのプログラムを書き込んでおく
と、自動的にCPUを正常動作に戻すことが可能になる
。なお、上記のようにCPUを特定番地に移行するとと
ができる命令コードがrFFJあるいは「00」などの
システムではノ臂ワーオン・ノリセットあるいはパワー
オンリセットなどの機能を使って電源投入時にプログラ
ムメモリの全記憶領域がrFFJあるいは「00」とな
るようにしておけば、簡単に本実施例を実現することが
できる。
rF’FJはR8T7(割込みを発生させる命令)に対
応しており、もしCPUが誤動作して上記のプログラム
領域以外をアクセスした場合、CPUへはF’ Fとい
う命令コードが送シ込まれることになシ、結果としてC
PUは38(16進)番地から始まる新しいプログラム
を実行することになる。したが(5) って、プログラム中でもし上記のR8T 7を使用して
いなければ、まだ正常動作では上記38番地を通らない
プログラムであったならば、それにもかかわらず38番
地をCPUが実行したときには、それ以前に何らかの要
因で誤動作が生じたことになる。また上記の38番地に
誤動作から復帰するだめのプログラムを書き込んでおく
と、自動的にCPUを正常動作に戻すことが可能になる
。なお、上記のようにCPUを特定番地に移行するとと
ができる命令コードがrFFJあるいは「00」などの
システムではノ臂ワーオン・ノリセットあるいはパワー
オンリセットなどの機能を使って電源投入時にプログラ
ムメモリの全記憶領域がrFFJあるいは「00」とな
るようにしておけば、簡単に本実施例を実現することが
できる。
ところで、マイクロプロセッサがアドレス指定すること
ができるアドレス領域の範囲はそのプロセッサによって
個別に予め決定されている。本第1の実施例は特に当該
マイクロプロセッサがアドレス指定することができる全
てのアドレス領域に(6) プログラムメモリの記憶素子が存在する場合に有効な手
段となり得る。
ができるアドレス領域の範囲はそのプロセッサによって
個別に予め決定されている。本第1の実施例は特に当該
マイクロプロセッサがアドレス指定することができる全
てのアドレス領域に(6) プログラムメモリの記憶素子が存在する場合に有効な手
段となり得る。
第2図に本発明の第2の実施例を示す。本実施例は、前
記のインテル8080系のようにプログラムが暴走した
場合CPUを所定の番地に移行させることができる命令
コードがrFFJである場合を特定している。
記のインテル8080系のようにプログラムが暴走した
場合CPUを所定の番地に移行させることができる命令
コードがrFFJである場合を特定している。
本実施例でけCPUl0の全てのデータバスDo〜D7
を所定電圧が印加されたプルアッゾ抵抗rによってフロ
ーティング状態とする。このようにすればCPU]、O
が誤動作してメモリを実装していないアドレスへアクセ
スしたときにCPUへはrFFJが送りこまれ、CPU
は前記同様38番地から始まる新しいプログラムを実行
することになる。
を所定電圧が印加されたプルアッゾ抵抗rによってフロ
ーティング状態とする。このようにすればCPU]、O
が誤動作してメモリを実装していないアドレスへアクセ
スしたときにCPUへはrFFJが送りこまれ、CPU
は前記同様38番地から始まる新しいプログラムを実行
することになる。
本第2の実施例は特に当該マイクロプロセッサがアドレ
ス指定することができる全てのアドレス領域にプログラ
ムメモリの記憶素子が存在しない場合に有効な手段とな
シ得る。
ス指定することができる全てのアドレス領域にプログラ
ムメモリの記憶素子が存在しない場合に有効な手段とな
シ得る。
第3図に本発明の第3の実施例を示す。
本実施例ではCPUl0.プログラムメモリ2oの構成
の他にレジスタ30を貝えるように17ている。
の他にレジスタ30を貝えるように17ている。
そして該レジスタ30にCPU ] (1を所定の番地
に移行することができる所定の命令コードを予め書込ん
でおき、もしCPUl0がアドレスバスADを介してプ
ログラムメモリ20に該プログラムメモリのアドレス領
域を超えたアドレスをアクセスした場合これを検出し、
データバスDBを介してCPU ] 0に上記の命令コ
ードを送り込むようにする。
に移行することができる所定の命令コードを予め書込ん
でおき、もしCPUl0がアドレスバスADを介してプ
ログラムメモリ20に該プログラムメモリのアドレス領
域を超えたアドレスをアクセスした場合これを検出し、
データバスDBを介してCPU ] 0に上記の命令コ
ードを送り込むようにする。
このようにすることにより本実施例ではたとえCPUl
0を所定の番地に移行させることができる所定の命令コ
ードが任意のいかなるコードであった場合においても、
まだ当該マイクロプロセッサがアドレス指定することが
できる全てのアドレス領域にプログラムメモリの記憶素
子が存在しない場合においても、プログラム復帰の有効
な手段となることができる。
0を所定の番地に移行させることができる所定の命令コ
ードが任意のいかなるコードであった場合においても、
まだ当該マイクロプロセッサがアドレス指定することが
できる全てのアドレス領域にプログラムメモリの記憶素
子が存在しない場合においても、プログラム復帰の有効
な手段となることができる。
なお、特に上記第1および第2の実施例は現時点ではワ
イヤロジック方式の8ビットワンチップマイクロプロセ
ッサに適用できるものであるが、該第1および第2の実
施例をマイクロプログラム方式が通常用いられる16ビ
ツトマイクロプロセツザに適用させることもできる。1
6ビツト系のマイクロプロセッサは命令コードも16ビ
ツトから成るものがほとんどであり、通常命令コードの
上位バイトと下位バイトは一致していない。然しなから
16ビツト系でもマイクロゾログラム方式の場合は、命
令コードの上位バイトと下位バイトとが同じになるよう
にコード体系を予設定すれば、本第1および第2の実施
例を適用することができるし、さらにワイヤロジック方
式の16ビツトワンチツプマイクロコンピユータの場合
も同様に命令コードの上位バイトと下位バイトとが同じ
になるようにコード体系を予設定すれば第1および第2
の実施例を適用することができる。第3に示した実施例
は任意のコードをレジスタ、に記憶させることができる
ので、上述の16ビツト系マイクロ7’oセツザにも適
用することができる。
イヤロジック方式の8ビットワンチップマイクロプロセ
ッサに適用できるものであるが、該第1および第2の実
施例をマイクロプログラム方式が通常用いられる16ビ
ツトマイクロプロセツザに適用させることもできる。1
6ビツト系のマイクロプロセッサは命令コードも16ビ
ツトから成るものがほとんどであり、通常命令コードの
上位バイトと下位バイトは一致していない。然しなから
16ビツト系でもマイクロゾログラム方式の場合は、命
令コードの上位バイトと下位バイトとが同じになるよう
にコード体系を予設定すれば、本第1および第2の実施
例を適用することができるし、さらにワイヤロジック方
式の16ビツトワンチツプマイクロコンピユータの場合
も同様に命令コードの上位バイトと下位バイトとが同じ
になるようにコード体系を予設定すれば第1および第2
の実施例を適用することができる。第3に示した実施例
は任意のコードをレジスタ、に記憶させることができる
ので、上述の16ビツト系マイクロ7’oセツザにも適
用することができる。
以上説明したように、本発明にかかるプログラムの暴走
保護方式によれば、ソフトウェア構成を(9) 必要とすることなくハードウェア構成のみで、暴走した
プログラムが誤動作から簡単に復帰できるようになる。
保護方式によれば、ソフトウェア構成を(9) 必要とすることなくハードウェア構成のみで、暴走した
プログラムが誤動作から簡単に復帰できるようになる。
また特に前述の第1および第2の実施例によれば、この
ための特別かつ新だなハードウェアも必要としないとい
う優れた効果を奏する。
ための特別かつ新だなハードウェアも必要としないとい
う優れた効果を奏する。
第1図は本発明の第1の実施例を示す図、第2図は本発
明の第2の実施例を示す図、第3図は本発明の第3の実
施例を示すブロック図である。 10・・・CPU、20・・・プログラムメモリ、30
・・・レジスタ。 (10) 第1図 第2図 G 第3図
明の第2の実施例を示す図、第3図は本発明の第3の実
施例を示すブロック図である。 10・・・CPU、20・・・プログラムメモリ、30
・・・レジスタ。 (10) 第1図 第2図 G 第3図
Claims (4)
- (1)マイクロプロセッサがプログラムメモリのプログ
ラム領域以外をアドレスした場合、所定の命令コードを
前記マイクロプロセッサに読込ませ該マイクロプロセッ
サの制御を前記プログラムメモリのプログラム領域の所
定番地に移行させる手段を具えるようにしたプログラム
の暴走保護方式。 - (2)前記手段は前記プログラムメモリのプログラム領
域以外の全記憶領域に前記所定の命令コードを書込んだ
プログラムメモリである特許請求の範囲第(1)項記載
のプログラムの暴走保護方式。 - (3)前記手段は前記マイクロプロセッサとプログラム
メモリとの間のデータバスをゾルアップするプルアップ
手段である特許請求の範囲第(1)項記載のプログラム
の暴走保護方式。 - (4) 前記手段は前記所定の命令コードが記憶されて
いるレジスタである特許請求の範囲第(1)項記(1) 一つQo 載のプログラムの暴走保護方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58122216A JPS6014345A (ja) | 1983-07-05 | 1983-07-05 | プログラムの暴走保護方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58122216A JPS6014345A (ja) | 1983-07-05 | 1983-07-05 | プログラムの暴走保護方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6014345A true JPS6014345A (ja) | 1985-01-24 |
Family
ID=14830424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58122216A Pending JPS6014345A (ja) | 1983-07-05 | 1983-07-05 | プログラムの暴走保護方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6014345A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63155236A (ja) * | 1986-12-18 | 1988-06-28 | Fuji Electric Co Ltd | ソフトウエアの暴走検知方法 |
JPH0277942A (ja) * | 1988-09-14 | 1990-03-19 | Matsushita Electric Ind Co Ltd | 記憶装置とマイクロプログラム制御装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57189400A (en) * | 1981-05-18 | 1982-11-20 | Mitsubishi Electric Corp | Incorrect address detector |
JPS5829052A (ja) * | 1981-08-12 | 1983-02-21 | Hitachi Ltd | 誤動作防止機能付マイクロコンピユ−タ装置 |
-
1983
- 1983-07-05 JP JP58122216A patent/JPS6014345A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57189400A (en) * | 1981-05-18 | 1982-11-20 | Mitsubishi Electric Corp | Incorrect address detector |
JPS5829052A (ja) * | 1981-08-12 | 1983-02-21 | Hitachi Ltd | 誤動作防止機能付マイクロコンピユ−タ装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63155236A (ja) * | 1986-12-18 | 1988-06-28 | Fuji Electric Co Ltd | ソフトウエアの暴走検知方法 |
JPH0277942A (ja) * | 1988-09-14 | 1990-03-19 | Matsushita Electric Ind Co Ltd | 記憶装置とマイクロプログラム制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100444537B1 (ko) | 데이타처리장치 | |
EP0312194B1 (en) | Data processor having two modes of operation | |
JPS6133218B2 (ja) | ||
JPS5992500A (ja) | デ−タ処理装置の保護システム | |
JPH0232659B2 (ja) | ||
EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
JPS6014345A (ja) | プログラムの暴走保護方式 | |
JPH0156410B2 (ja) | ||
JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
JP2871429B2 (ja) | 暴走監視機能を有するプロセッサ | |
JP3344432B2 (ja) | 情報処理装置 | |
WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
JP2003330800A (ja) | 半導体集積回路 | |
JPS6428730A (en) | Fault detection system | |
JPS6341962A (ja) | プログラム制御装置 | |
JPS63155330A (ja) | マイクロプログラム制御装置 | |
JPH10247187A (ja) | 1チップマイクロコンピュータ | |
JPS6195464A (ja) | デ−タ保護方式 | |
JPH01180656A (ja) | メモリ保護装置 | |
JP2000020498A (ja) | マイクロコンピュータおよびその復帰方法 | |
JPS6226738B2 (ja) | ||
JPH05334195A (ja) | 情報処理装置 | |
JPH04160539A (ja) | マイクロコンピュータ | |
JPS60138655A (ja) | 不揮発性メモリの保護方法 | |
JPS61279941A (ja) | 計算機の異常検出装置 |