JPS61279940A - 計算機の異常検出装置 - Google Patents
計算機の異常検出装置Info
- Publication number
- JPS61279940A JPS61279940A JP60120523A JP12052385A JPS61279940A JP S61279940 A JPS61279940 A JP S61279940A JP 60120523 A JP60120523 A JP 60120523A JP 12052385 A JP12052385 A JP 12052385A JP S61279940 A JPS61279940 A JP S61279940A
- Authority
- JP
- Japan
- Prior art keywords
- area
- cpu
- stack
- stack pointer
- limit value
- 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
- Devices For Executing Special Programs (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、計算機の異常検出装置に関するものである
。
。
第3図は従来の計算機の異常検出装置を示すブロック図
であシ、図において1は計算機本体、10は計算機本体
1の中央演算処理装置(以下′、CPUと略記する)、
12はランダムアクセスメモリ(以下、RAMと略記す
る)、13はメモリパリティ発生回路、14はパリティ
ビットメモリ用RAM。
であシ、図において1は計算機本体、10は計算機本体
1の中央演算処理装置(以下′、CPUと略記する)、
12はランダムアクセスメモリ(以下、RAMと略記す
る)、13はメモリパリティ発生回路、14はパリティ
ビットメモリ用RAM。
15はメモリパリティチェック回路でアシ、これらはC
PUバス16に接続されている。
PUバス16に接続されている。
次に動作について説明する。
CPU1GはRAM12に’jj行プログラムをイニシ
ャルプログラムローディング(以下、IPLと略記する
)シ九後、プログラムを実行していき、演算データをR
AM12に書込みまたは読出しする。メモリパリティ発
生回路13はCPUIQがRAM12にデータを書込む
ときにのみ、書込みデータのパリティを計算してパリテ
ィビットメモリ用RAM14に書込む。また、メモリパ
リティチェック回路15はCPU1GがRAM12のデ
ータを読出すときのみ、読出しデータのパリティ値を計
算するとともに、パリティビットメモリ用RAM14か
らCPU10がデータ書込みしたときにメモリパリティ
発生回路13が書込んだパリティ値を読出し、計算した
パリティ値と比較する。比較した結果、値が一致すれば
CPU10に処理の継続を指示し、逆に不一致になれば
異常信号tSaをアクティベートするとともにCPU1
0に処理実行の中断を指示する。
ャルプログラムローディング(以下、IPLと略記する
)シ九後、プログラムを実行していき、演算データをR
AM12に書込みまたは読出しする。メモリパリティ発
生回路13はCPUIQがRAM12にデータを書込む
ときにのみ、書込みデータのパリティを計算してパリテ
ィビットメモリ用RAM14に書込む。また、メモリパ
リティチェック回路15はCPU1GがRAM12のデ
ータを読出すときのみ、読出しデータのパリティ値を計
算するとともに、パリティビットメモリ用RAM14か
らCPU10がデータ書込みしたときにメモリパリティ
発生回路13が書込んだパリティ値を読出し、計算した
パリティ値と比較する。比較した結果、値が一致すれば
CPU10に処理の継続を指示し、逆に不一致になれば
異常信号tSaをアクティベートするとともにCPU1
0に処理実行の中断を指示する。
以上のようなメモリパリティチェック回路15では、R
AM12のハードウェア故障を検出するとともにCPU
IGが今まで一度も書込みにこなかったメモリ空間をア
クセスしたことを検出することもできる。
AM12のハードウェア故障を検出するとともにCPU
IGが今まで一度も書込みにこなかったメモリ空間をア
クセスしたことを検出することもできる。
従って、メモリパリティチェック回路15によシ、RA
M12の異常検出とともに、CPU10の不正読出し検
出も行なえるため、CPUIG内のソフトウェアの暴走
検出にも応用できる。
M12の異常検出とともに、CPU10の不正読出し検
出も行なえるため、CPUIG内のソフトウェアの暴走
検出にも応用できる。
従来の計算機の異常検出装置は以上のように構成されて
いるので、ソフトウェア暴走検出としては不正読出し検
出しか行なえず、しかもパリティピットメモリ用RAM
14の電源投入直後のイニシャルパターンによっては、
不正読出し発生時に必らず検出することができない場合
もあシ、ソフトウェア暴走発生に対して検出効率があが
らない等の問題点があった。
いるので、ソフトウェア暴走検出としては不正読出し検
出しか行なえず、しかもパリティピットメモリ用RAM
14の電源投入直後のイニシャルパターンによっては、
不正読出し発生時に必らず検出することができない場合
もあシ、ソフトウェア暴走発生に対して検出効率があが
らない等の問題点があった。
この発明は上記のような問題点を解決するためになされ
次もので、スタック領域のオーバーフローの検出が行え
、ソフトウェア暴走の検出ができる計算機の異常検出装
置を得ることを目的とする。
次もので、スタック領域のオーバーフローの検出が行え
、ソフトウェア暴走の検出ができる計算機の異常検出装
置を得ることを目的とする。
この発明に係る計算機の異常検出装置は、限界値設定回
路にRAMのスタックエリア又はデータエリアの限界メ
モリ番地に相当する限界値を設定し、比較回路でCPU
のスタックポインタ又はプログラムカウンタの内容が前
記限界値設定回路に設定された限界値と同一の値になっ
たことを検出するようにしたものである。
路にRAMのスタックエリア又はデータエリアの限界メ
モリ番地に相当する限界値を設定し、比較回路でCPU
のスタックポインタ又はプログラムカウンタの内容が前
記限界値設定回路に設定された限界値と同一の値になっ
たことを検出するようにしたものである。
この発明における比較回路は、CPUのスタックポイン
タ又はプログラムカウンタの内容が、RAMのスタック
エリア又はデータエリアの限界値と等しくなったことを
検出することにより、スタックエリア又はデータエリア
のオーバーフローを検出し、ソフトウェアの暴走の検出
を行う。
タ又はプログラムカウンタの内容が、RAMのスタック
エリア又はデータエリアの限界値と等しくなったことを
検出することにより、スタックエリア又はデータエリア
のオーバーフローを検出し、ソフトウェアの暴走の検出
を行う。
以下、この発明の一実施例を図について説明する。第1
図において、1.1G、12.16は前述した第3図と
同−又は相当部分である。21はRAM12のスタック
エリアの限界のメモリ番地(最深のメモリ番地)に相当
する限界値を設定するスタックポインタ限界値設定回路
、2oはCPU10のスタックポインタの内容がスタッ
クポインタ限界値設定回路21で設定された限界値と等
しくなったことを検出する比較回路である。
図において、1.1G、12.16は前述した第3図と
同−又は相当部分である。21はRAM12のスタック
エリアの限界のメモリ番地(最深のメモリ番地)に相当
する限界値を設定するスタックポインタ限界値設定回路
、2oはCPU10のスタックポインタの内容がスタッ
クポインタ限界値設定回路21で設定された限界値と等
しくなったことを検出する比較回路である。
次に動作について説明する。
CPU10はRAM12に実行プログラムをIPI、
l。
l。
た後、プログラムを実行していき、演算データをRAM
12に書込みまたは読出しする。そのときのRAM12
のメモリマツプを第2図に示す。RAM12のメモリ空
間は、データエリア12A、コードエリア12B及びス
タック・エリア12Cの3つに分けることができる。デ
ータエリア12Aは一時的な演算データをストアしてお
くためのメモリ領域であシ、コードエリア12BはCP
U10の実行プログラムをストアしておくためのメモリ
領域であシ、またスタックエリア12Cは割込み発生時
あるいはサブルーチン呼出し時のプログラムステータス
ワード(以下PSWと略す)をストアしておくためのメ
モリ領域である。特に、スタックエリア12CはCPU
l0内のスタックポインターという名称のレジスターに
よ多制御される。スタックポインターはCPU10のリ
セット直後にスタックエリア12Cの最終メモリ番地(
第2図中のX番地)の値がイニシャルセットされ、以降
、割込処理あるいはサブルーチン呼出し処理に伴なうP
SWのセーブが行なわれる毎に必要数だけ減じられてい
くレジスターであシ、その内容は現在までに使用されて
いるスタックエリア12Cのメモリ番地’に示している
。通常スタックエリア12Cは処理に必要とするサイズ
に比較して十分大きいメモリサイズのエリアが与えられ
ているため、スタックポインターの内容がスタックエリ
ア12Cの最深のメモリ番地(第2図のY番地)と同じ
値となって、すなわちスタックエリア12Cの全領域を
使ってしまって、さらにPSWのセーブを行なったため
コードエリア12Bあるいはデータエリア12Aを破壊
してしまうようなことが起きないようにしている。しか
L、CPU1G内のソフトウェアが正常動作していない
ような場合、例えばPlvのセーブのみ行ないりセーブ
が全く実行されていない等の異常な動きをしている場合
には、スタックポインターの内容がスタックエリア12
Cの最深のメモリ番地であるY番地よりも小さい値とな
ってしまい、その結果コードエリア12Bを破壊するよ
うな不具合が発生してしまうことがある。
12に書込みまたは読出しする。そのときのRAM12
のメモリマツプを第2図に示す。RAM12のメモリ空
間は、データエリア12A、コードエリア12B及びス
タック・エリア12Cの3つに分けることができる。デ
ータエリア12Aは一時的な演算データをストアしてお
くためのメモリ領域であシ、コードエリア12BはCP
U10の実行プログラムをストアしておくためのメモリ
領域であシ、またスタックエリア12Cは割込み発生時
あるいはサブルーチン呼出し時のプログラムステータス
ワード(以下PSWと略す)をストアしておくためのメ
モリ領域である。特に、スタックエリア12CはCPU
l0内のスタックポインターという名称のレジスターに
よ多制御される。スタックポインターはCPU10のリ
セット直後にスタックエリア12Cの最終メモリ番地(
第2図中のX番地)の値がイニシャルセットされ、以降
、割込処理あるいはサブルーチン呼出し処理に伴なうP
SWのセーブが行なわれる毎に必要数だけ減じられてい
くレジスターであシ、その内容は現在までに使用されて
いるスタックエリア12Cのメモリ番地’に示している
。通常スタックエリア12Cは処理に必要とするサイズ
に比較して十分大きいメモリサイズのエリアが与えられ
ているため、スタックポインターの内容がスタックエリ
ア12Cの最深のメモリ番地(第2図のY番地)と同じ
値となって、すなわちスタックエリア12Cの全領域を
使ってしまって、さらにPSWのセーブを行なったため
コードエリア12Bあるいはデータエリア12Aを破壊
してしまうようなことが起きないようにしている。しか
L、CPU1G内のソフトウェアが正常動作していない
ような場合、例えばPlvのセーブのみ行ないりセーブ
が全く実行されていない等の異常な動きをしている場合
には、スタックポインターの内容がスタックエリア12
Cの最深のメモリ番地であるY番地よりも小さい値とな
ってしまい、その結果コードエリア12Bを破壊するよ
うな不具合が発生してしまうことがある。
第1図において、スタックポインタ限界値設定回路21
で限界値を、スタックエリア12Cの最深のメモリ番地
であるY番地に相当する値に設定した場合、比較回路2
0はCPoloのスタックポインターがY番地相当値に
なったとき、すなわちCPU10がRAM12のスタッ
クエリア12Cの最深のメモリ番地にPSWのセーブを
行なったとき、異常信号20&をアクティベートすると
ともにCPU10に処理の中断を指示する。
で限界値を、スタックエリア12Cの最深のメモリ番地
であるY番地に相当する値に設定した場合、比較回路2
0はCPoloのスタックポインターがY番地相当値に
なったとき、すなわちCPU10がRAM12のスタッ
クエリア12Cの最深のメモリ番地にPSWのセーブを
行なったとき、異常信号20&をアクティベートすると
ともにCPU10に処理の中断を指示する。
従って、この発明の一実施例ではCPU1Gのスタック
ポインターがスタックエリア12Cの最深のメモリ番地
に相当する値となったことを検出できる九め、スタック
エリア12Cのオーバーフローの監視ができ、ソフトウ
ェアの暴走検出を行なうことができる。
ポインターがスタックエリア12Cの最深のメモリ番地
に相当する値となったことを検出できる九め、スタック
エリア12Cのオーバーフローの監視ができ、ソフトウ
ェアの暴走検出を行なうことができる。
なお、上記実施例ではCPU10のスタックポインター
の内容を検出する比較回路20を設けたものを示したが
、CPU10のプログラムカウンター内容を検出する比
較回路を設けてもよい。
の内容を検出する比較回路20を設けたものを示したが
、CPU10のプログラムカウンター内容を検出する比
較回路を設けてもよい。
通常、プログラムカウンターの内容はコードエリア12
Bのメモリ番地に相当する値としかならないため、プロ
グラムカウンターの内容がデータエリア12Aあるいは
スタックエリア12Cの限界のメモリ番地に相当する値
となったことを検出する比較回路を設けてもソフトウェ
アの暴走検出を行なうことができる。
Bのメモリ番地に相当する値としかならないため、プロ
グラムカウンターの内容がデータエリア12Aあるいは
スタックエリア12Cの限界のメモリ番地に相当する値
となったことを検出する比較回路を設けてもソフトウェ
アの暴走検出を行なうことができる。
以上のように、この発明によれば、CPUのスタックポ
インタ又はプログラムカウンタの内容が正常限界値を越
えたことを検出する比較回路を設けたので、スタックエ
リア又はデータエリアのオーバーフローの検出が確実に
行なえ、信頼性゛の高い計算機動作を達成できる効果が
ある。
インタ又はプログラムカウンタの内容が正常限界値を越
えたことを検出する比較回路を設けたので、スタックエ
リア又はデータエリアのオーバーフローの検出が確実に
行なえ、信頼性゛の高い計算機動作を達成できる効果が
ある。
第1図はこの発明の一実施例による計算機の異常検出装
置を示すブロック図、第2図は一般的な計算機のメモリ
マツプを示すメモリマツプ図、第3図は従来の計算機の
異常検出装置を示すブロック図である。 図において、1は計算機本体、10はCPU、12はR
AM、2Gは比較回路、21はスタックポインタ限界値
設定回路である。 なお、図中、同一符号は同一、又は相当部分を示す。
置を示すブロック図、第2図は一般的な計算機のメモリ
マツプを示すメモリマツプ図、第3図は従来の計算機の
異常検出装置を示すブロック図である。 図において、1は計算機本体、10はCPU、12はR
AM、2Gは比較回路、21はスタックポインタ限界値
設定回路である。 なお、図中、同一符号は同一、又は相当部分を示す。
Claims (1)
- スタツクアーキテクチヤを有する中央演算処理装置と
、ランダムアクセスメモリとを有する計算機の異常検出
装置において、前記ランダムアクセスメモリのスタツク
エリア又はデータエリアの限界のメモリ番地に相当する
限界値を設定する限界値設定回路と、前記中央演算処理
装置のスタツクポインタ又はプログラムカウンタの内容
が前記限界値設定回路に設定された前記限界値と同一の
値になつたことを検出する比較回路とを備えた計算機の
異常検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60120523A JPS61279940A (ja) | 1985-06-05 | 1985-06-05 | 計算機の異常検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60120523A JPS61279940A (ja) | 1985-06-05 | 1985-06-05 | 計算機の異常検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS61279940A true JPS61279940A (ja) | 1986-12-10 |
Family
ID=14788362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60120523A Pending JPS61279940A (ja) | 1985-06-05 | 1985-06-05 | 計算機の異常検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61279940A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0370652U (ja) * | 1989-11-13 | 1991-07-16 | ||
JPH03215180A (ja) * | 1990-01-18 | 1991-09-20 | Mita Ind Co Ltd | モータの回転速度制御装置 |
JPH0546407A (ja) * | 1991-08-12 | 1993-02-26 | Toshiba Corp | スタツク管理システム |
-
1985
- 1985-06-05 JP JP60120523A patent/JPS61279940A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0370652U (ja) * | 1989-11-13 | 1991-07-16 | ||
JPH03215180A (ja) * | 1990-01-18 | 1991-09-20 | Mita Ind Co Ltd | モータの回転速度制御装置 |
JPH0546407A (ja) * | 1991-08-12 | 1993-02-26 | Toshiba Corp | スタツク管理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5283792A (en) | Power up/power down controller and power fail detector for processor | |
US4903194A (en) | Storage addressing error detection circuitry | |
US7447943B2 (en) | Handling memory errors in response to adding new memory to a system | |
JPH02156357A (ja) | プログラム破壊防止方法 | |
JPH03175537A (ja) | デバッグ用マイクロプロセッサのエラー制御装置 | |
JPS61279940A (ja) | 計算機の異常検出装置 | |
JPS59231800A (ja) | 主記憶装置への不正書込防止装置 | |
JPS61279941A (ja) | 計算機の異常検出装置 | |
US5036516A (en) | Process and means for selftest of RAMs in an electronic device | |
JPS63250753A (ja) | メモリアクセスチエツク方式 | |
JPS59112494A (ja) | メモリテスト方式 | |
JPH0484224A (ja) | スタックエリア保護回路 | |
JPH01180656A (ja) | メモリ保護装置 | |
JP3110222B2 (ja) | マイクロコンピュータ | |
JPH05274223A (ja) | キャッシュメモリ | |
JPS6195464A (ja) | デ−タ保護方式 | |
JPH0644145A (ja) | メモリエラー回避システム | |
JPS6232544A (ja) | 情報処理装置の異常検出回路 | |
JPS61216059A (ja) | 記憶デ−タ保護方式 | |
JPS60258623A (ja) | マイクロコンピユ−タ | |
JPS63193249A (ja) | マイクロプログラム制御装置 | |
JPH0797335B2 (ja) | コンピユータの暴走検知装置 | |
JPS6086628A (ja) | 計算機の異常検出方式 | |
JPS58141500A (ja) | メモリ管理保護方式 | |
JPH02141832A (ja) | マイクロプロセッサ制御方式 |