JPH07219813A - マイクロプロセッサの監視装置 - Google Patents
マイクロプロセッサの監視装置Info
- Publication number
- JPH07219813A JPH07219813A JP6024706A JP2470694A JPH07219813A JP H07219813 A JPH07219813 A JP H07219813A JP 6024706 A JP6024706 A JP 6024706A JP 2470694 A JP2470694 A JP 2470694A JP H07219813 A JPH07219813 A JP H07219813A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- cpu
- signal
- stack
- 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
Landscapes
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 プログラムが動作中にスタックエリアの破壊
または暴走の原因となる、スタックエリアのアクセス
と、常時監視するシステムを採用する。 【構成】 複数のプログラムが中央処理装置とスタック
エリアを共有して使用するマイクロプロセッサであっ
て、前記スタックエリアの上限を格納するアドレスコン
スタントレジスタと、該アドレスコンスタントレジスタ
の内容と記憶回路をアクセスするときのアドレスと比較
し、結果を前記中央処理装置に割り込み信号として出力
するコンパレタにて前記スタックエリアを越えないよう
に処理する。 【効果】 プログラムによるスタックの異常使用を検出
し、プログラムを停止することによってプログラムの破
壊を未然に防ぐ。
または暴走の原因となる、スタックエリアのアクセス
と、常時監視するシステムを採用する。 【構成】 複数のプログラムが中央処理装置とスタック
エリアを共有して使用するマイクロプロセッサであっ
て、前記スタックエリアの上限を格納するアドレスコン
スタントレジスタと、該アドレスコンスタントレジスタ
の内容と記憶回路をアクセスするときのアドレスと比較
し、結果を前記中央処理装置に割り込み信号として出力
するコンパレタにて前記スタックエリアを越えないよう
に処理する。 【効果】 プログラムによるスタックの異常使用を検出
し、プログラムを停止することによってプログラムの破
壊を未然に防ぐ。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサを
使用するシステムに関し、更に詳細には特に第3者が作
成する複数のプログラムが、CPUとスタックエリアを
共有して使用するシステムに関する。
使用するシステムに関し、更に詳細には特に第3者が作
成する複数のプログラムが、CPUとスタックエリアを
共有して使用するシステムに関する。
【0002】
【従来の技術】従来のマイクロプロセッサを使用するシ
ステムではアクセスする記憶回路のアドレスを監視しな
いのが一般的であり、プログラムの暴走は定期的な割り
込みにより暴走した後で発見される方法があった。ま
た、複数のプログラムがCPUや記憶回路を共有してい
るシステムにおいて、スタックの使用状態を管理できな
いためプログラム破壊や異常動作が発生することがあっ
た。
ステムではアクセスする記憶回路のアドレスを監視しな
いのが一般的であり、プログラムの暴走は定期的な割り
込みにより暴走した後で発見される方法があった。ま
た、複数のプログラムがCPUや記憶回路を共有してい
るシステムにおいて、スタックの使用状態を管理できな
いためプログラム破壊や異常動作が発生することがあっ
た。
【0003】
【発明が解決しようとする課題】ところが、従来の監視
方法では、プログラムが破壊または暴走した後に発見さ
れるため、プログラムが揮発性の記憶回路に保管されて
いるとプログラムが破壊されシステムが動作しなくな
る。また、システムが再起動できないため、装置が故障
しているのかプログラムミスで再起動しないのかの、原
因を確定できないという問題があった。
方法では、プログラムが破壊または暴走した後に発見さ
れるため、プログラムが揮発性の記憶回路に保管されて
いるとプログラムが破壊されシステムが動作しなくな
る。また、システムが再起動できないため、装置が故障
しているのかプログラムミスで再起動しないのかの、原
因を確定できないという問題があった。
【0004】
【課題を解決するための手段】そこで本発明は従来の問
題点に鑑みなされたもので、複数のプログラムが中央処
理装置とスタックエリアを共有して使用するマイクロプ
ロセッサであって、前記スタックエリアの上限を格納す
るアドレスコンスタントレジスタと、該アドレスコンス
タントレジスタの内容と記憶回路をアクセスするときの
アドレスと比較し、結果を前記中央処理装置に割り込み
信号として出力するコンパレタにて前記スタックエリア
を越えないように処理するマイクロプロセッサの監視装
置を提案するものである。
題点に鑑みなされたもので、複数のプログラムが中央処
理装置とスタックエリアを共有して使用するマイクロプ
ロセッサであって、前記スタックエリアの上限を格納す
るアドレスコンスタントレジスタと、該アドレスコンス
タントレジスタの内容と記憶回路をアクセスするときの
アドレスと比較し、結果を前記中央処理装置に割り込み
信号として出力するコンパレタにて前記スタックエリア
を越えないように処理するマイクロプロセッサの監視装
置を提案するものである。
【0005】
【作用】本発明では、プログラムが動作中にスタックエ
リアの破壊または暴走の原因となる、スタックエリアの
アクセスと、常時監視するシステムを採用する。
リアの破壊または暴走の原因となる、スタックエリアの
アクセスと、常時監視するシステムを採用する。
【0006】
【実施例】本発明の実施例を添付図面を参照して説明す
る。図1は電気的ブロック図である。図1において、マ
イクロコンピュータシステムは、中央処理装置1(以下
CPUという)と、アドレス信号バス4とメモリリクエ
スト信号12とリード信号13とライト信号14をデコ
ードして記憶回路3とアドレスコンスタントレジスタ5
へ送出するアドレスデコーダ回路2と、CPU1よりセ
ットされるアドレスをラッチするアドレスコンスタント
レジスタ5とアドレスデコード信号15に同期して前記
セットされているアドレスとを比較し、同一ならCPU
1に割り込み信号を発生するコンパレータ6と、図2に
その構成の一部を示すBIOS9とアプリケーションプ
ログラム10が格納され、スタックエリア11を有する
記憶回路3とから構成される。
る。図1は電気的ブロック図である。図1において、マ
イクロコンピュータシステムは、中央処理装置1(以下
CPUという)と、アドレス信号バス4とメモリリクエ
スト信号12とリード信号13とライト信号14をデコ
ードして記憶回路3とアドレスコンスタントレジスタ5
へ送出するアドレスデコーダ回路2と、CPU1よりセ
ットされるアドレスをラッチするアドレスコンスタント
レジスタ5とアドレスデコード信号15に同期して前記
セットされているアドレスとを比較し、同一ならCPU
1に割り込み信号を発生するコンパレータ6と、図2に
その構成の一部を示すBIOS9とアプリケーションプ
ログラム10が格納され、スタックエリア11を有する
記憶回路3とから構成される。
【0007】CPU1はCPU1内のプログラムカウン
タが示す記憶回路から命令を取り出して解読して必要な
機能を実行する。プログラムはサブルーチンコールを使
用して作られている。サブルーチンコール命令を実行す
ると戻り番地を自動的にスタックエリア11に記憶され
る。スタックエリア11はメモリの一部を割当られた記
憶領域のことであるが、このアドレスは、スタックポイ
ンタと呼ばれるCPU1内のレジスタに格納される。ス
タックポインタとスタックエリア11はBIOS9とア
プリケーションプログラム10で共通で使用する。
タが示す記憶回路から命令を取り出して解読して必要な
機能を実行する。プログラムはサブルーチンコールを使
用して作られている。サブルーチンコール命令を実行す
ると戻り番地を自動的にスタックエリア11に記憶され
る。スタックエリア11はメモリの一部を割当られた記
憶領域のことであるが、このアドレスは、スタックポイ
ンタと呼ばれるCPU1内のレジスタに格納される。ス
タックポインタとスタックエリア11はBIOS9とア
プリケーションプログラム10で共通で使用する。
【0008】CPU1は記憶回路3に書き込ませている
プログラムよりアドレスコンスタントレジスタ5にスタ
ックエリア11のアドレスをセットする。コンパレータ
6は、アドレス信号バス4のデータとアドレスコンスタ
ントレジスタ5の内容とを随時比較する。アドレス信号
バス4の値がアドレスコンスタントレジスタ5の内容よ
り小さい値のときは、CPU1に対して割り込み信号8
によってアドレスコンスタントレジスタ5とアドレスコ
ンスタントレジスタ5の内容より小さい値のときアドレ
スがアクセスされることを知らせる。
プログラムよりアドレスコンスタントレジスタ5にスタ
ックエリア11のアドレスをセットする。コンパレータ
6は、アドレス信号バス4のデータとアドレスコンスタ
ントレジスタ5の内容とを随時比較する。アドレス信号
バス4の値がアドレスコンスタントレジスタ5の内容よ
り小さい値のときは、CPU1に対して割り込み信号8
によってアドレスコンスタントレジスタ5とアドレスコ
ンスタントレジスタ5の内容より小さい値のときアドレ
スがアクセスされることを知らせる。
【0009】CPU1は割り込み信号を検出すると、B
IOS9内のサブルーチンを実行する。このサブルーチ
ンでは実行中のプログラムに割り込み信号が検出された
ことをフラグに格納する。
IOS9内のサブルーチンを実行する。このサブルーチ
ンでは実行中のプログラムに割り込み信号が検出された
ことをフラグに格納する。
【0010】コンパレータ6がアドレスコンスタントレ
ジスタ5のデータとアドレス信号バス4のアドレスとを
比較する条件は、図3に示すA16の条件の場合に行い
B17と19Dの条件の場合には比較しない。プログラ
ムはこのフラグによってスタックの異常使用と認識し、
プログラムの実行を停止することによってプログラムの
破壊を未然に防ぐ。
ジスタ5のデータとアドレス信号バス4のアドレスとを
比較する条件は、図3に示すA16の条件の場合に行い
B17と19Dの条件の場合には比較しない。プログラ
ムはこのフラグによってスタックの異常使用と認識し、
プログラムの実行を停止することによってプログラムの
破壊を未然に防ぐ。
【0011】
【発明の効果】本発明は以上のような構成となしたの
で、プログラムによるスタックの異常使用を検出し、プ
ログラムを停止することによってプログラムの破壊を未
然に防ぐことが出来る。
で、プログラムによるスタックの異常使用を検出し、プ
ログラムを停止することによってプログラムの破壊を未
然に防ぐことが出来る。
【図面の簡単な説明】
【図1】 電気的ブロック図
【図2】 記憶回路のメモリマップ
【図3】 記憶回路へのアクセス・タイムチャート
【図4】 従来例を示すブロック図
1 CPU 2 アドレスデコーダ回路 3 記憶回路 4 アドレス信号バス 5 アドレスコンスタントレジスタ 6 コンパレータ 7 データ信号バス 8 割り込み信号 9 BIOS 10 アプリケーションプログラム 11 スタックエリア 12 メモリリクエスト信号 13 リード信号 14 ライト信号 15 アドレスデコード信号 16 割り込み信号が発生するタイムチャート 17 割り込み信号が発生しないタイムチャート
(1) 18 割り込み信号が発生しないタイムチャート
(2) 19 割り込み信号が発生しないタイムチャート
(3)
(1) 18 割り込み信号が発生しないタイムチャート
(2) 19 割り込み信号が発生しないタイムチャート
(3)
Claims (1)
- 【請求項1】 複数のプログラムが中央処理装置とスタ
ックエリアを共有して使用するマイクロプロセッサであ
って、前記スタックエリアの上限を格納するアドレスコ
ンスタントレジスタと、該アドレスコンスタントレジス
タの内容と記憶回路をアクセスするときのアドレスと比
較し、結果を前記中央処理装置に割り込み信号として出
力するコンパレタにて前記スタックエリアを越えないよ
うに処理することを特徴とするマイクロプロセッサの監
視装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6024706A JPH07219813A (ja) | 1994-01-27 | 1994-01-27 | マイクロプロセッサの監視装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6024706A JPH07219813A (ja) | 1994-01-27 | 1994-01-27 | マイクロプロセッサの監視装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07219813A true JPH07219813A (ja) | 1995-08-18 |
Family
ID=12145628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6024706A Pending JPH07219813A (ja) | 1994-01-27 | 1994-01-27 | マイクロプロセッサの監視装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07219813A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708689A (zh) * | 2015-11-18 | 2017-05-24 | 中兴通讯股份有限公司 | 异常设备定位方法及装置 |
-
1994
- 1994-01-27 JP JP6024706A patent/JPH07219813A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708689A (zh) * | 2015-11-18 | 2017-05-24 | 中兴通讯股份有限公司 | 异常设备定位方法及装置 |
CN106708689B (zh) * | 2015-11-18 | 2020-05-05 | 中兴通讯股份有限公司 | 异常设备定位方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0619798A (ja) | セレクタの値のロードを回避する方法とシステム | |
JPH1115675A (ja) | 割込みコントローラ及び制御システム | |
JP2001005676A (ja) | 割り込み処理装置 | |
JPH07219813A (ja) | マイクロプロセッサの監視装置 | |
JP2004326331A (ja) | 不正メモリアクセス検知方法及びそのプログラム | |
JPH09198258A (ja) | タスクスタックオーバーフロー検出回路 | |
JPH0320832A (ja) | 情報処理システム | |
JPS58181160A (ja) | 緊急動作制御方式 | |
JPH0287239A (ja) | マイクロプログラム処理装置 | |
KR0119465B1 (ko) | 컴퓨터 바이러스 감염방지 방법 | |
JPS6329846A (ja) | 割込みベクタテ−ブル保護方式 | |
JPH04205144A (ja) | マイクロプロセッサ | |
JPS59112494A (ja) | メモリテスト方式 | |
JPH06223047A (ja) | 排他制御方式 | |
CN115934592A (zh) | 一种数据处理装置和访存请求的处理方法 | |
JPH02245937A (ja) | 情報処理装置 | |
JPH0991168A (ja) | エミュレータ | |
JP2000020351A (ja) | 情報処理装置および情報処理方法 | |
JP2002251299A (ja) | プログラムトレース装置 | |
JPH06236300A (ja) | マイクロコンピュータ | |
JPH08179944A (ja) | オンラインファームウェア入れ替え方式 | |
JPH02148340A (ja) | 制御記憶書込み制御方式 | |
JPH05216796A (ja) | 通信制御装置 | |
JPH0423139A (ja) | 制御装置の障害処理方式 | |
JPH05250275A (ja) | エラー処理方式 |