JP3172981B2 - 未使用メモリ空間アクセスエラー検出回路 - Google Patents
未使用メモリ空間アクセスエラー検出回路Info
- Publication number
- JP3172981B2 JP3172981B2 JP05114393A JP5114393A JP3172981B2 JP 3172981 B2 JP3172981 B2 JP 3172981B2 JP 05114393 A JP05114393 A JP 05114393A JP 5114393 A JP5114393 A JP 5114393A JP 3172981 B2 JP3172981 B2 JP 3172981B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory space
- output
- cpu
- signal
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
するCPUシステムが未使用メモリ空間をアクセスした
場合を検出する未使用メモリ空間アクセスエラー検出回
路に関する。
合CPUは16ビットのデータバスと20ビットのアド
レスバスを有しており、1Mバイトのメモリ空間を有し
ている。通常この1Mバイトのメモリ空間を有効に使用
して各種のプログラムを実行する。しかし宇宙空間で使
用するなどの特殊な用途に使用する機器では、用途を限
定して必要なメモリ空間、例えば64kバイトのメモリ
しか搭載しないようにし、回路を小さくしてハードウェ
アの重量や寸法を出来るだけ小さくし、その消費電力も
少なくなるようにしている。これにより信頼性も向上す
る。なお、この場合1/16しかメモリ空間を使用しな
いため、残りの15/16は未使用のメモリ空間として
残されることになる。
未使用メモリ空間がある場合、この未使用メモリ空間か
らメモリを読み出したり、書き込んだりするような誤っ
た命令が出されることがある。この命令に従って未使用
メモリ空間のデータを読み出した場合、このデータは何
の意味も有しないものであるが、CPUはこれを命令と
してとらえ、暴走してしまうことがある。
ので、未使用メモリ空間のアクセスを検知して検知信号
を出力し、CPUの暴走を防止する未使用メモリ空間ア
クセスエラー検出回路を提供することを目的とする。
め、本発明は、アドレスバスよりのアドレスとメモリセ
レクト信号を入力し、メモリ空間のアクセスエラーを検
出するアドレスデコーダと、アドレスデコーダの出力を
一方の入力とするORゲートと、リード、ライト信号の
論理積を出力するANDゲートと、前記ORゲートの出
力をD端子に入力し、前記ANDゲートの出力をクロッ
ク端子に入力し、Q出力端子より、前記ORゲートの他
方の入力端子にフィードバックし、Q出力端子をCPU
の割り込み端子に接続し、CPUが割り込み処理後に発
生するリセット信号をリセット端子に接続したDフリッ
プフロップとを備えたものである。
スを検知する論理回路であり、アドレスバスに出力され
たアドレスが未使用メモリ空間のアドレスである場合、
エラー信号を出力する。アドレスバスにアドレスが出力
されると、同時にANDゲートにリード信号かライト信
号が出力され、ANDゲートは正から負の出力となり、
DフリップフロップはORゲートより出力されたエラー
信号をQ出力端子から出力する。このQ出力端子からの
エラー信号はORゲートの入力側に入り、Dフリップフ
ロップのD端子をリセットされるまでエラー信号にして
おく。このエラー信号はCPUの割り込み端子に入力さ
れているので、CPUは所定の割り込み処理を行い、終
了後Dフリップフロップにリセット信号を出力し、Q出
力端子からのエラー信号を解除する。これによりCPU
は未使用メモリ空間のアドレスにアクセスすることを阻
止されるので、CPUの暴走を防止することができる。
する。図1は本発明の実施例の未使用メモリ空間アクセ
スエラー検出回路図を含む装置の全体図を示し、図2は
未使用メモリ空間アクセスエラー検出回路を示す。図1
において、CPU20はメモリ30をアクセスすると
き、まずアドレスバスにアドレスを出力すると共にその
アドレスのデータが記憶されているメモリを選択するメ
モリセレクト信号を出力する。次にリード信号又はライ
ト信号を出力し、この信号によって読み出すのか書き込
むのかを定め、次に、この信号に従ってリードまたはラ
イト動作を行う。
が、同時に未使用メモリ空間アクセスエラー検出回路1
0にも入力される。CPU20はアドレスに正しいアド
レスを出力するが、アドレスバスにノイズが重畳し、C
PU20が指定したアドレスと異なり、未使用メモリ空
間のアドレスに変化する場合がある。宇宙空間などで使
用する場合、このようなノイズ源として伝導ノイズ、輻
射ノイズ、シングルイベントアップセット等がある。な
お、ノイズが重畳して使用メモリ空間内のアドレスに変
化することもあるが、このようなときは自己診断プログ
ラム等によりチェックされるようにしておくとよい。
10は、アドレスバスに出力されたアドレスが未使用メ
モリ空間のものであることを検出すると、検出信号をC
PU20に出力し、CPU20はこの検出信号に基づく
処理を行った後、リセット信号を出力して未使用メモリ
空間アクセスエラー検出回路10をリセットする。
エラー検出回路の詳細を説明する。アドレスデコーダ1
にはあらかじめ未使用メモリ空間のアドレスを検知する
論理が組まれており、メモリセレクト信号とアドレスバ
ス信号が入力されると、未使用アドレスであるか否かを
検出し、未使用のアドレス信号であればHレベルの信号
を、そうでなければLレベルの信号を出力する。ORゲ
ート2はアドレスデコーダの信号と、後述するDフリッ
プフロップ4のQ出力端子の出力を入力する。ANDゲ
ート3はリード信号、ライト信号をLレベルで入力す
る。Dフリップフロップ4はD入力端子よりORゲート
2の出力を入力し、クロック端子CKよりANDゲート
3の出力を入力し、クリア端子CLRにCPU20から
のリセット信号をLレベルで入力する。またQ出力端子
からはORゲート2の入力側とCPU20の割り込み端
子INTに出力する。
回路10の動作について説明する。CPU20が使用し
ている範囲内のアドレスをアクセスした場合は、アドレ
スデコーダ1は正常なアクセスであることを示すLレベ
ルの信号を出力する。Dフリップフロップ4はリセット
信号でリセットされた状態ではQ出力端子はLレベルと
なるように設定されている。これによりORゲート2の
出力はLレベルとなり、リード又はライトのアクセスに
よりCKがLレベルになってもQ端子出力はLレベルな
ので、CPU20の割り込み端子INTはLレベルであ
り、割り込みは発生しない。このため、CPU20はこ
のアクセスによりリード処理、又はライト処理実施す
る。
スが出力されている場合は、アドレスデコーダ1は異常
なアドレスであるとしてHレベルの信号を発生する。こ
のHレベル信号はORゲート2を通り、Dフリップフロ
ップ4のD入力端子に入力される。アドレスバスにアド
レスが出力されると、リードまたはライト信号が出力さ
れ、ANDゲート3はリードまたはライト信号がLレベ
ルになるため、クロックCKはLレベルとなり、Q出力
端子からHレベルが出力され、このHレベルによりCP
U20の割込端子INTを動作させて割り込み処理を行
わせると共に、ORゲート2にフィードバックされD入
力端子をHレベルに保持する。これによりCPU20が
割り込み処理中にリードまたはライト信号が変化して
も、Q出力端子はHレベルを保持する。CPU20は予
め定められた割り込み処理を終了するとリセット信号を
発生し、これによりDフリップフロップ4はリセットさ
れ、Q出力端子はLレベルとなる。
きのタイミング図である。T1サイクルでアドレスバスに
アドレスが出力され、これと同時にメモリセレクト信号
が出力される。T2サイクルにリード信号もしくはライト
信号が出力される。アドレスバスに出力されたアドレス
にノイズが重畳し、アドレスは未使用アドレス空間を表
しているものとする。未使用メモリ空間アクセスエラー
検出回路10は、アドレスバスのアドレスと、メモリセレ
クト信号、リード信号又はライト信号を入力し、未使用
メモリ空間アクセスエラーを検出すると検出信号をT3サ
イクルにおいてLレベルからHレベルにする。
ックのアップエッジで行うので、検出信号がLレベルか
らHレベルに変化するタイミングをT3またはT4のシステ
ムクロックのアップエッジより十分に早くなるよう未使
用メモリ空間アクセスエラー検出回路10は設計される。
CPU20がリード信号またはライト信号によりアクセ
ス動作するタイミングを割り込み処理開始後に行うよう
に設定してあるため、この割り込み処理により、アドレ
スバスに出されている未使用メモリ空間アドレスはアク
セスされない。これにより未使用メモリ空間にアクセス
し、誤ったデータに基づく処理を実行するという異常動
作はキャンセルされ、CPU20の暴走を防止すること
ができる。
出信号を使ってCPU20に割り込みをかけ、未使用メ
モリ空間アクセスエラーを処理する方法として次の3つ
の方法が用いられる。 未使用メモリ空間アクセスエラー発生時の命令の再実
行 未使用メモリ空間アクセスエラー発生時のプログラム
モジュールの再実行 強制的な停止
時の命令の再実行を行う方法は、エラー発生により実行
されなっかった命令を割り込み処理後再実行できるが、
メモリ(ROM)の使用量が多く、プログラムが比較的
複雑になる。また全ての命令長、データ長の長さが同一
のCPUシステムの場合(例えばRISC(ReducedIns
truction Set Computer)系のCPU採用の場合) には、
実現が比較的容易であるが、そうでないシステムの場合
には実現が困難である。
例を示す図である。メインプログラムによりCPUはメ
モリのX番地をリードし、命令1を実行し(ステップS
1)、次にX+1番地をリードし、命令2を実行する
(ステップS2)。次にX+2番地をリードする態勢に
入る。図3で説明したようにまずアドレスバスにX+2
番地のアドレスが出力されるが(ステップS3)、この
時、ノイズが重畳し、X+2番地のアドレスが未使用メ
モリ空間のアドレスに変更される(ステップS4)。す
ると図2で説明した未使用メモリ空間アクセスエラー検
出回路10が動作し、未使用メモリ空間アクセスエラー
の検出信号が出力される(ステップS5)。この検出信
号はCPU20の割り込み端子に入るが、CPU20は
割り込み処理に入る前に(X+2)番地の番地情報をス
タックにセーブし(ステップS6)、次に割り込み処理
に入る(ステップS7)。割り込み処理終了後、(X+
2)番地の番地情報をスタックより戻し(ステップS
8)、(X+2)番地の番地情報により命令3を再実行
し(ステップS9)、以下命令を続行してゆく(ステッ
プ10)。
時のプログラムモジュールを再実行する方法は、メモリ
(ROM)の使用量が少なくて済むが、プログラムの後
戻りが大きい。しかし、比較的簡単にCPUシステムを
構成することができる。本方法は検出信号が出された時
の命令(図4の場合、命令3)は実行せずに飛ばしてし
まい、割り込み処理ルーチン中で未使用メモリアクセス
エラーが発生したことを意味するワーニングフラグを立
て、メインプログラムでワーニングフラグを監視し、ワ
ーニングフラグが立っていると実行中のプログラムモジ
ュールを最初から実行し直す。
も簡単である。停止させた状態で人(あるいは当該CP
Uシステムが冗長の場合は冗長CPUシステム)が当該
CPUシステムの診断をした後、再起動させる等の方法
をとる。また、この方法の場合CPUにウオッチドッグ
タイマ等の異常検出回路を接続しておいて、未使用メモ
リ空間アクセスエラーの検出信号をCPUシステム外部
に積極的に表示させるとよい。割り込み処理ルーチンで
停止した状態になると、メインプログラムはウオッチド
ッグタイマを操作できなくなるため、ウオッチドッグタ
イマがこの検出信号を出力することになる。
了させるもので、割り込み処理のルーチンでNOP(ノ
ーオペレーション)あるいはWAIT状態にしてメイン
プログラムの処理に復帰させないようにする。
込み処理を行ったが、未使用メモリ空間アクセスエラー
の検出信号によりCPUを再起動するようにしてもよ
い。この方法はソフトウェアでの処理は必要ないが、エ
ラーが発生すると自動的にプログラムを最初からやり直
すことになる。図5は本方法の回路を示すもので、検出
信号によりパワーオンリセットを行い、プログラムを最
初からやり直すようにしている。
は、CPUが未使用メモリ空間をアクセスした場合異常
信号を出力し、CPUがこの異常なアクセスによって得
られたデータに基づき動作することを防止するので、C
PUの暴走を未然に防止することができる。
る。
させる装置の構成図である。
Claims (1)
- 【請求項1】 アドレスバスよりのアドレスとメモリセ
レクト信号を入力し、メモリ空間のアクセスエラーを検
出するアドレスデコーダと、アドレスデコーダの出力を
一方の入力とするORゲートと、リード、ライト信号の
論理積を出力するANDゲートと、前記ORゲートの出
力をD端子に入力し、前記ANDゲートの出力をクロッ
ク端子に入力し、Q出力端子より、前記ORゲートの他
方の入力端子にフィードバックし、Q出力端子をCPU
の割り込み端子に接続し、CPUが割り込み処理後に発
生するリセット信号をリセット端子に接続したDフリッ
プフロップとを備えたことを特徴とする未使用メモリ空
間アクセスエラー検出回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05114393A JP3172981B2 (ja) | 1993-03-12 | 1993-03-12 | 未使用メモリ空間アクセスエラー検出回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05114393A JP3172981B2 (ja) | 1993-03-12 | 1993-03-12 | 未使用メモリ空間アクセスエラー検出回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06266613A JPH06266613A (ja) | 1994-09-22 |
JP3172981B2 true JP3172981B2 (ja) | 2001-06-04 |
Family
ID=12878609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05114393A Expired - Fee Related JP3172981B2 (ja) | 1993-03-12 | 1993-03-12 | 未使用メモリ空間アクセスエラー検出回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3172981B2 (ja) |
-
1993
- 1993-03-12 JP JP05114393A patent/JP3172981B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06266613A (ja) | 1994-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8095825B2 (en) | Error correction method with instruction level rollback | |
EP0461792B1 (en) | Master/slave checking system | |
US8458533B2 (en) | Watch dog timer and counter with multiple timeout periods | |
US6119248A (en) | Operating system notification of correctable error in computer information | |
JP2696511B2 (ja) | パワーダウンモードからの復帰方式 | |
EP3629176B1 (en) | Fault detection circuit with progress register and status register | |
US5894549A (en) | System and method for fault detection in microcontroller program memory | |
JP3172981B2 (ja) | 未使用メモリ空間アクセスエラー検出回路 | |
EP0596144A1 (en) | Hierarchical memory system for microcode and means for correcting errors in the microcode | |
JP3141787B2 (ja) | マイクロコンピュータ | |
JP3025504B2 (ja) | 情報処理装置 | |
CN112506701B (zh) | 一种基于三模lockstep的多处理器芯片错误恢复方法 | |
JPH0883178A (ja) | 情報処理装置 | |
JPH06214831A (ja) | 中央処理装置の異常検出装置 | |
JPS59172044A (ja) | 命令制御方式 | |
JP2536781B2 (ja) | パリティチェック装置 | |
JP3166167B2 (ja) | マイクロコンピュータ | |
JP3415381B2 (ja) | マイクロコンピュータ及び電子制御装置 | |
JPS6118045A (ja) | プログラムの暴走検出方式 | |
JP2006155434A (ja) | Pciバスコントローラ及びその動作制御方法並びにプログラム | |
JP2979918B2 (ja) | 割り込み検出回路 | |
JPS58129555A (ja) | マイクロプログラム制御装置 | |
JPH0120778B2 (ja) | ||
JPS59144246A (ja) | デ−タ受信制御方式 | |
JPH0540701A (ja) | コンピユータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080330 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090330 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090330 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090330 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |