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
Application number
JP05114393A
Other languages
English (en)
Other versions
JPH06266613A (ja
Inventor
博之 石井
Original Assignee
石川島播磨重工業株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 石川島播磨重工業株式会社 filed Critical 石川島播磨重工業株式会社
Priority to JP05114393A priority Critical patent/JP3172981B2/ja
Publication of JPH06266613A publication Critical patent/JPH06266613A/ja
Application granted granted Critical
Publication of JP3172981B2 publication Critical patent/JP3172981B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、未使用メモリ空間を有
するCPUシステムが未使用メモリ空間をアクセスした
場合を検出する未使用メモリ空間アクセスエラー検出回
路に関する。
【0002】
【従来の技術】16ビットパーソナルコンピュータの場
合CPUは16ビットのデータバスと20ビットのアド
レスバスを有しており、1Mバイトのメモリ空間を有し
ている。通常この1Mバイトのメモリ空間を有効に使用
して各種のプログラムを実行する。しかし宇宙空間で使
用するなどの特殊な用途に使用する機器では、用途を限
定して必要なメモリ空間、例えば64kバイトのメモリ
しか搭載しないようにし、回路を小さくしてハードウェ
アの重量や寸法を出来るだけ小さくし、その消費電力も
少なくなるようにしている。これにより信頼性も向上す
る。なお、この場合1/16しかメモリ空間を使用しな
いため、残りの15/16は未使用のメモリ空間として
残されることになる。
【0003】
【発明が解決しようとする課題】ところで、このような
未使用メモリ空間がある場合、この未使用メモリ空間か
らメモリを読み出したり、書き込んだりするような誤っ
た命令が出されることがある。この命令に従って未使用
メモリ空間のデータを読み出した場合、このデータは何
の意味も有しないものであるが、CPUはこれを命令と
してとらえ、暴走してしまうことがある。
【0004】本発明は上述の問題点に鑑みてなされたも
ので、未使用メモリ空間のアクセスを検知して検知信号
を出力し、CPUの暴走を防止する未使用メモリ空間ア
クセスエラー検出回路を提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、アドレスバスよりのアドレスとメモリセ
レクト信号を入力し、メモリ空間のアクセスエラーを検
出するアドレスデコーダと、アドレスデコーダの出力を
一方の入力とするORゲートと、リード、ライト信号の
論理積を出力するANDゲートと、前記ORゲートの出
力をD端子に入力し、前記ANDゲートの出力をクロッ
ク端子に入力し、Q出力端子より、前記ORゲートの他
方の入力端子にフィードバックし、Q出力端子をCPU
の割り込み端子に接続し、CPUが割り込み処理後に発
生するリセット信号をリセット端子に接続したDフリッ
プフロップとを備えたものである。
【0006】
【作用】アドレスデコーダは未使用メモリ空間のアドレ
スを検知する論理回路であり、アドレスバスに出力され
たアドレスが未使用メモリ空間のアドレスである場合、
エラー信号を出力する。アドレスバスにアドレスが出力
されると、同時にANDゲートにリード信号かライト信
号が出力され、ANDゲートは正から負の出力となり、
DフリップフロップはORゲートより出力されたエラー
信号をQ出力端子から出力する。このQ出力端子からの
エラー信号はORゲートの入力側に入り、Dフリップフ
ロップのD端子をリセットされるまでエラー信号にして
おく。このエラー信号はCPUの割り込み端子に入力さ
れているので、CPUは所定の割り込み処理を行い、終
了後Dフリップフロップにリセット信号を出力し、Q出
力端子からのエラー信号を解除する。これによりCPU
は未使用メモリ空間のアドレスにアクセスすることを阻
止されるので、CPUの暴走を防止することができる。
【0007】
【実施例】以下、本発明の実施例を図面を参照して説明
する。図1は本発明の実施例の未使用メモリ空間アクセ
スエラー検出回路図を含む装置の全体図を示し、図2は
未使用メモリ空間アクセスエラー検出回路を示す。図1
において、CPU20はメモリ30をアクセスすると
き、まずアドレスバスにアドレスを出力すると共にその
アドレスのデータが記憶されているメモリを選択するメ
モリセレクト信号を出力する。次にリード信号又はライ
ト信号を出力し、この信号によって読み出すのか書き込
むのかを定め、次に、この信号に従ってリードまたはラ
イト動作を行う。
【0008】これらの信号はメモリ30に入力される
が、同時に未使用メモリ空間アクセスエラー検出回路1
0にも入力される。CPU20はアドレスに正しいアド
レスを出力するが、アドレスバスにノイズが重畳し、C
PU20が指定したアドレスと異なり、未使用メモリ空
間のアドレスに変化する場合がある。宇宙空間などで使
用する場合、このようなノイズ源として伝導ノイズ、輻
射ノイズ、シングルイベントアップセット等がある。な
お、ノイズが重畳して使用メモリ空間内のアドレスに変
化することもあるが、このようなときは自己診断プログ
ラム等によりチェックされるようにしておくとよい。
【0009】未使用メモリ空間アクセスエラー検出回路
10は、アドレスバスに出力されたアドレスが未使用メ
モリ空間のものであることを検出すると、検出信号をC
PU20に出力し、CPU20はこの検出信号に基づく
処理を行った後、リセット信号を出力して未使用メモリ
空間アクセスエラー検出回路10をリセットする。
【0010】次に図2により未使用メモリ空間アクセス
エラー検出回路の詳細を説明する。アドレスデコーダ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に出力する。
【0011】次に未使用メモリ空間アクセスエラー検出
回路10の動作について説明する。CPU20が使用し
ている範囲内のアドレスをアクセスした場合は、アドレ
スデコーダ1は正常なアクセスであることを示すLレベ
ルの信号を出力する。Dフリップフロップ4はリセット
信号でリセットされた状態ではQ出力端子はLレベルと
なるように設定されている。これによりORゲート2の
出力はLレベルとなり、リード又はライトのアクセスに
よりCKがLレベルになってもQ端子出力はLレベルな
ので、CPU20の割り込み端子INTはLレベルであ
り、割り込みは発生しない。このため、CPU20はこ
のアクセスによりリード処理、又はライト処理実施す
る。
【0012】アドレスバスに未使用メモリ空間のアドレ
スが出力されている場合は、アドレスデコーダ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レベルとなる。
【0013】図3は未使用メモリ空間をアクセスすると
きのタイミング図である。T1サイクルでアドレスバスに
アドレスが出力され、これと同時にメモリセレクト信号
が出力される。T2サイクルにリード信号もしくはライト
信号が出力される。アドレスバスに出力されたアドレス
にノイズが重畳し、アドレスは未使用アドレス空間を表
しているものとする。未使用メモリ空間アクセスエラー
検出回路10は、アドレスバスのアドレスと、メモリセレ
クト信号、リード信号又はライト信号を入力し、未使用
メモリ空間アクセスエラーを検出すると検出信号をT3サ
イクルにおいてLレベルからHレベルにする。
【0014】CPU20は割り込み処理をシステムクロ
ックのアップエッジで行うので、検出信号がLレベルか
らHレベルに変化するタイミングをT3またはT4のシステ
ムクロックのアップエッジより十分に早くなるよう未使
用メモリ空間アクセスエラー検出回路10は設計される。
CPU20がリード信号またはライト信号によりアクセ
ス動作するタイミングを割り込み処理開始後に行うよう
に設定してあるため、この割り込み処理により、アドレ
スバスに出されている未使用メモリ空間アドレスはアク
セスされない。これにより未使用メモリ空間にアクセス
し、誤ったデータに基づく処理を実行するという異常動
作はキャンセルされ、CPU20の暴走を防止すること
ができる。
【0015】この未使用メモリ空間アクセスエラーの検
出信号を使ってCPU20に割り込みをかけ、未使用メ
モリ空間アクセスエラーを処理する方法として次の3つ
の方法が用いられる。 未使用メモリ空間アクセスエラー発生時の命令の再実
行 未使用メモリ空間アクセスエラー発生時のプログラム
モジュールの再実行 強制的な停止
【0016】の未使用メモリ空間アクセスエラー発生
時の命令の再実行を行う方法は、エラー発生により実行
されなっかった命令を割り込み処理後再実行できるが、
メモリ(ROM)の使用量が多く、プログラムが比較的
複雑になる。また全ての命令長、データ長の長さが同一
のCPUシステムの場合(例えばRISC(ReducedIns
truction Set Computer)系のCPU採用の場合) には、
実現が比較的容易であるが、そうでないシステムの場合
には実現が困難である。
【0017】図4はの方法を実施する動作フローの一
例を示す図である。メインプログラムにより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)。
【0018】の未使用メモリ空間アクセスエラー発生
時のプログラムモジュールを再実行する方法は、メモリ
(ROM)の使用量が少なくて済むが、プログラムの後
戻りが大きい。しかし、比較的簡単にCPUシステムを
構成することができる。本方法は検出信号が出された時
の命令(図4の場合、命令3)は実行せずに飛ばしてし
まい、割り込み処理ルーチン中で未使用メモリアクセス
エラーが発生したことを意味するワーニングフラグを立
て、メインプログラムでワーニングフラグを監視し、ワ
ーニングフラグが立っていると実行中のプログラムモジ
ュールを最初から実行し直す。
【0019】の強制的に停止させる方法は、実現が最
も簡単である。停止させた状態で人(あるいは当該CP
Uシステムが冗長の場合は冗長CPUシステム)が当該
CPUシステムの診断をした後、再起動させる等の方法
をとる。また、この方法の場合CPUにウオッチドッグ
タイマ等の異常検出回路を接続しておいて、未使用メモ
リ空間アクセスエラーの検出信号をCPUシステム外部
に積極的に表示させるとよい。割り込み処理ルーチンで
停止した状態になると、メインプログラムはウオッチド
ッグタイマを操作できなくなるため、ウオッチドッグタ
イマがこの検出信号を出力することになる。
【0020】の処理方法は図4の割り込みで処理を終
了させるもので、割り込み処理のルーチンでNOP(ノ
ーオペレーション)あるいはWAIT状態にしてメイン
プログラムの処理に復帰させないようにする。
【0021】なお、以上の3つの処理は、いずれも割り
込み処理を行ったが、未使用メモリ空間アクセスエラー
の検出信号によりCPUを再起動するようにしてもよ
い。この方法はソフトウェアでの処理は必要ないが、エ
ラーが発生すると自動的にプログラムを最初からやり直
すことになる。図5は本方法の回路を示すもので、検出
信号によりパワーオンリセットを行い、プログラムを最
初からやり直すようにしている。
【0022】
【発明の効果】以上の説明から明らかなように本発明
は、CPUが未使用メモリ空間をアクセスした場合異常
信号を出力し、CPUがこの異常なアクセスによって得
られたデータに基づき動作することを防止するので、C
PUの暴走を未然に防止することができる。
【図面の簡単な説明】
【図1】本発明の実施例の回路を含む装置の構成図であ
る。
【図2】本発明の実施例の回路図である。
【図3】本実施例のタイミング図である。
【図4】本実施例の動作フロー図である。
【図5】本実施例の検出信号によりプログラムを再実行
させる装置の構成図である。
【符号の説明】
1 アドレスデコーダ 2 ORゲート 3 ANDゲート 4 Dフリップフロップ 10 未使用メモリ空間アクセスエラー検出回路 20 CPU 30 メモリ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/00,11/30 G06F 12/00 - 12/06 G06F 12/14 - 12/16

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 アドレスバスよりのアドレスとメモリセ
    レクト信号を入力し、メモリ空間のアクセスエラーを検
    出するアドレスデコーダと、アドレスデコーダの出力を
    一方の入力とするORゲートと、リード、ライト信号の
    論理積を出力するANDゲートと、前記ORゲートの出
    力をD端子に入力し、前記ANDゲートの出力をクロッ
    ク端子に入力し、Q出力端子より、前記ORゲートの他
    方の入力端子にフィードバックし、Q出力端子をCPU
    の割り込み端子に接続し、CPUが割り込み処理後に発
    生するリセット信号をリセット端子に接続したDフリッ
    プフロップとを備えたことを特徴とする未使用メモリ空
    間アクセスエラー検出回路。
JP05114393A 1993-03-12 1993-03-12 未使用メモリ空間アクセスエラー検出回路 Expired - Fee Related JP3172981B2 (ja)

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)

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