JPS6355087B2 - - Google Patents

Info

Publication number
JPS6355087B2
JPS6355087B2 JP58137034A JP13703483A JPS6355087B2 JP S6355087 B2 JPS6355087 B2 JP S6355087B2 JP 58137034 A JP58137034 A JP 58137034A JP 13703483 A JP13703483 A JP 13703483A JP S6355087 B2 JPS6355087 B2 JP S6355087B2
Authority
JP
Japan
Prior art keywords
index
program
module
register
storage means
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
Application number
JP58137034A
Other languages
English (en)
Other versions
JPS6027952A (ja
Inventor
Koji Mita
Yukio Maehashi
Shigetatsu Katori
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP58137034A priority Critical patent/JPS6027952A/ja
Publication of JPS6027952A publication Critical patent/JPS6027952A/ja
Publication of JPS6355087B2 publication Critical patent/JPS6355087B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

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)

Description

【発明の詳細な説明】 〔発明の属する技術分野〕 本発明は、情報処理装置におけるプログラムア
ドレス誤動作検出方式に関する。
〔従来技術〕
プログラムの実行や周辺装置の制御を行う情報
処理装置においては、プログラムを所定の順序通
り実行する事が重要である。もしも定められてい
ない飛び越しや繰返しなどのプログラムアドレス
の誤動作が生じたならば、情報処理装置はその誤
動作を検出し、対応動作を行う必要がある。
従来のプログラムアドレス誤動作検出機構と
は、プログラムを分割可能な単位ルーチンのモジ
ユールに分け、各モジユールの入口と出口にその
モジユールに固有な指標をおき、この2つの指標
をチエツクしながら処理を進める事により、その
モジユール以外への暴走を検出しようというもの
である。
第1図は従来のアドレス誤動作検出回路の一例
の回路図である。
第1図において、指標発生器1は第1の指標発
生命令によつて実行中のモジユールに固有の指標
を指標レジスタ2に出力し、指標レジスタ2はこ
の指標を一持保持する。指標発生器1は第2の指
標発生命令によつて、実行中のモジユールに固有
な指標を指標比較器3に出力する。指標比較器3
は指標レジスタ2内の指標と指標発生器1で発生
した指標を比較し、両者が等しくない場合は不一
致信号5をCPU4に出力する。
プログラムの構成は第2図に示すように、分割
可能な単位ルーチンのモジユールに分けられ、各
モジユールの最初には第1の指標発生命令、最後
には第2の指標発生命令がある。同一モジユール
にある第1の指標発生命令と第2の指標発生命令
は、指標発生器1に対し、同一の指標を出力させ
る。今、モジユールM2の第1の指標発生命令が
実行されると、指標発生器1はモジユールM2
固有な第1の指標を発生し、これを指標レジスタ
2が保持する。そのまま所定のルートでプログラ
ムが進みそのモジユールの最後で第2の指標発生
命令が実行されると、指標発生器1は第2の指標
を発生し、指標比較器3でこの第2の指標と指標
レジスタ2に保持されていた第1の指標との比較
を行う。比較の結果、第1の指標と第2の指標が
不一致であれば、指標比較器3は不一致信号5を
CPU4に対し出力する。CPU4は不一致信号5
の入力により、プログラムアドレスの誤動作を検
知し、エラー処理動作を行う。
プログラムが所定のルートに従つて実行されて
いれば第1の指標と第2の指標ともモジユール
M2に固有のものであり、等しい。ところが、も
しもプログラムアドレスの誤動作が生じ、モジユ
ールM2の実行途中で矢印で示すようにモジユー
ルM3の実行に飛んでしまつたとすると、第2の
指標発生命令はモジユールM3の指標発生命令が
実行される。この時、指標発生器1はモジユール
M3に固有な指標を発生し、この第2の指標と指
標レジスタ2に保持されていたモジユールM2
固有な第1の指標はそれぞれ異なる値であるか
ら、指標比較器3は不一致信号5をCPU4に対
して出力し、CPU4はこれを受けてプログラム
アドレスの誤動作を検知する。
しかしながら、上述の従来の検出方式にはいく
つかの欠点がある。
第一に、同一プログラムモジユール内でその実
行が所定のルートに従つている事は判定できる
が、各モジユールが所定の順番に従つて実行され
ているかは検出できない。例えば、ちようど1つ
のモジユール全てを飛び越して実行するような誤
動作や、同一モジユールを繰り返し実行するよう
な誤動作は全く検出できない。
第二に、指標発生命令の実行が容易であるた
め、アドレスの誤動作時にも指標発生命令が実行
されてしまう可能性がある。そのため、アドレス
の誤動作にもかかわらず正しい指標が書込まれる
危険性が高く、そうなると誤動作を検出できな
い。つまり、アドレス誤動作という非常事態を検
出する確実性に乏ぼしい。
第三に、アドレスの誤動作を検出した場合も、
その誤動作が発生したモジユールを確認する方法
がなく、アドレスの誤動作が発生する以前のプロ
グラムモジユールに戻り再試行を行う事が不可能
である。
〔発明の目的〕
本発明の目的は、上記欠点を除去し、プログラ
ムアドレス全体に亘りアドレス誤動作を確実に監
視し、暴走を検知した場合には正規のルート復帰
させる事ができるプログラムアドレス誤動作検出
方式を提供することにある。
〔発明の構成〕
本発明の第1の発明は、プログラムを分割可能
な単位のモジユールに分割し、前記モジユール毎
に実行順に対応した固有の指標と、指標情報とし
て前記固有の指標を備えた指標確認命令を設け、
前記指標確認命令の実行により前記指標確認命令
内の前記指標情報としての前記固有指標を第1の
指標として保持する第1の指標記憶手段と、前記
指標確認命令の実行を検知して第2の指標を発生
する指標発生回路と、前記第2の指標を保持する
第2の指標記憶手段と、前記第1の指標記憶手段
内の実際に実行された前記モジユールの固有指標
に対応する前記第1の指標と、前記第2の指標記
憶手段内の前記プログラムの構成上実行されるべ
き前記モジユールの固有指標に対応する前記第2
の指標とを比較する事により、前記プログラムの
アドレス誤動作を検出する指標比較手段とを含ん
で構成される。
本発明の第2の発明は、プログラムを分割可能
な単位モジユールに分割し、前記モジユール毎に
実行順に対応した固有の指標と、指標情報として
前記固有の指標を備えた第1の指標確認命令と第
2の指標確認命令を設け、前記第1の指標確認命
令の実行により前記第1の指標確認命令内の指標
情報を保持する第1の補助レジスタと、前記第2
の指標確認命令の実行により前記第2の指標確認
命令内の指標情報を保持する第2の補助レジスタ
と、前記第1の補助レジスタの内容と前記第2の
補助レジスタの内容により第1の判定信号を出力
する第1の条件判定回路と、前記第1の条件判定
回路から出力される前記第1の判定信号を受けて
前記第1の指標確認命令内の指標情報と前記第2
の指標確認命令内の指標情報から前記モジユール
の固有指標を第1の指標として保持する第1の指
標記憶手段と、前記第1の判定信号を受けて前記
第1の指標記憶手段の前記第1の指標の保持を検
知して第2の指標を発生する指標発生回路と、前
記第2の指標を保持する第2の指標記憶手段と、
第1の指標書換え命令によつて書き込み動作が行
なわれる第3の補助レジスチと、第2の指標書き
換え命令によつて書込み動作が行なわれる。第4
の補助レジスタと、前記第3の補助レジスタの内
容と前記第4の補助レジスタの内容により第2の
判定信号を出力する第2の条件判定回路と、前記
第2の判定信号を受けて前記第3の補助レジスタ
の内容と前記第4の補助レジスタの内容により前
記第2の指標記憶手段の内容を書換える手段と、
前記第1の指標記憶手段内の実際に実行された前
記モジユールの固有指標に対応する前記第1の指
標と、前記第2の指標記憶手段内の前記プログラ
ムの構成上実行されるべき前記モジユールの固有
指標に対応する前記第2の指標を比較する事によ
り前記プログラムのアドレス誤動作を検出する指
標比較手段とを含んで構成される。
〔実施例の説明〕
まず、本発明の実施例に使用するプログラムの
構成について説明する。
第3図は本発明の実施例に使用するプログラム
の第1の構成例を説明するためのフローチヤート
である。
プログラムを分割可能な単位ルーチンのモジユ
ールM1〜M2′〜Mnに分け、それぞれ実行順に対
応して各モジユール固有に1、2、3、…、i、
…と番号を付け、これをそのモジユールの指標と
する。各モジユールの最後部には指標確認命令と
して指標書込み命令を置く。
第4図は本発明の実施例に使用するプログラム
の第2の構成例を説明するためのフローチヤート
である。
この構成例は、プログラム・モジユールの間に
繰返しループがある場合の例である。この場合、
前に実行したモジユールへ分岐するルートに指標
カウンタ初期化命令(指標カウンタの値をiにす
る命令)を置く。
第5図は本発明の実施例に使用するプログラム
の第3の構成例を説明するためのフローチヤート
である。
この構成例は、プログラム・モジユールの間に
条件分岐がある場合の例である。この場合、各分
岐間の実行ルートごとに先頭から順番に、例えば
i、i+1、i+2、…;j、j+1、j+2、
…;k、k+1、k+2、…;のようにモジユー
ルに番号を付けて、これをそのモジユールの指標
とする。分岐した各ルートの最初のモジユールの
先端部と、合流した実行ルートの最初のモジユー
ルの先頭部には、指標カウンタの初期化命令22
が置かれる。
次に、本発明の実施例について説明する。
第6図は本第1の発明の一実施例のブロツク図
である。
この実施例は、第3図乃至第5図で説明したプ
ログラム、即ちモジユールに分割され、固有指標
を書込む命令(指標確認命令)が設けられている
プログラムを実行したとき、指標確認命令として
の指標書込み命令21の実行により指標書込み命
令内の指標情報としての固有指標を第1の指標と
して保持する第1の指標記憶手段としての指標レ
ジスタ11と、指標書込み命令の実行を検知して
第2の指標を発生する指標発生回路としてのイン
クリメンタ14と、第2の指標を保持する第2の
指標記憶手段としての指標カウンタ12と、指標
レジスタ11内の実際に実行されたプログラム・
モジユールの固有指標に対応する第1の指標と指
標カウンタ12内のプログラムの構成上実行され
るべきモジユールの固有指標に対応する第2の指
標とを比較する事により、前記プログラムのアド
レス誤動作を検出する指標比較手段としての指標
比較器13とを含んで構成される。
更に詳しく説明すると、指標レジスタ11は指
標書込み命令によつて指標が書込まれるレジスタ
である。指標レジスタ11に指標の書込みが行わ
れると書込み有効信号15が、インクリメンタ1
4に対して出力される。指標レジスタ11は指標
を保持するレジスタであり、指標カウンタ12は
指標レジスタ11に保持された指標の数を計数す
るカウンタであり、その内容は命令によつて読出
す事ができる。指標比較器13は、指標レジスタ
11と指標カウンタ12の内容を比較し、異なつ
た値でれば不一致信号16をCPU17に対して
出力する。
次に、この実施例の動作について説明する。
まず、第3図に示したような、プログラム・モ
ジユール間に条件分岐や、繰返しループを含まな
いプログラムの実行ルートをチエツクする場合に
ついて説明する。
第7図は第6図に示す指標レジスタと指標カウ
ンタに格納される指標及び計数3の格納状態を説
明する図である。
プログラムを実行する前の初期状態では、指標
レジスタ11、指標カウンタ12とも内容は
“0”である。プログラムが順次実行され、最初
のモジユールが終了すると、モジユールの最後部
にある指標書込み命令により、指標レジスタ11
には指標“1”が書込まれる。この時、指標レジ
スタ11から出力された書込み有効信号15はイ
ンクリメンタ14に送られ、インクリメンタ14
は指標カウンタ12の内容に1を加える。これは
指標レジスタ11の内容に等しい。以下、モジユ
ールを順次実行していく事により、指標レジスタ
11と指標カウンタ12の内容は等しく1づつ増
加していく。
指標レジスタ11の内容と指標カウンタ12の
内容は書換えがあるたびに指標比較器13で比較
される。プログラムが所定のルートに従つて、各
モジユールが順番に実行されていれば、実行を終
つたモジユールの番号を保持する指標レジスタ1
1の内容と、実際に実行したモジユールの指標書
込み命令の数を示す指標カウンタ12の内容とは
等しい。このため指標比較器13は不一致信号1
6を出力しない。
プログラムアドレス誤動作の発生によりモジユ
ールMiの実行途中からモジユールMjの実行へ飛
んでしまつた場合には、モジユールMjの最後部
において指標書込み命令が実行され、指標レジス
タ11には指標“j”が格納される。一方、この
時点まで実行したモジユールの指標書込み命令の
数はi個であるから、指標カウンタ12の内容は
“i”となる。このため指標比較器13は両者を
比較し、不一致信号16をCPU17に対して出
力し、これによりCPU17はプログラムアドレ
スに誤動作があつた事を検知する。
以上述べたアドレス誤動作検出の基本動作を基
にして、次に第5図に示したように途中で分岐す
るプログラムと、第4図に示したように繰返しル
ープを持つプログラムにおける実行ルートのチエ
ツク機構について述べる。
分岐して、または合流して最初に実行されるプ
ログラム・モジユールの先頭部において、前述し
た指標カウンタ初期化命令22を実行し、指標カ
ウンタ12には分岐したプログラム・モジユール
の指標から1引いた値を書込む。プログラムが順
次実行され、このモジユールの実行が終了する
と、指標書込み命令21によつて指標レジスタ1
1にはこの最初のモジユールの指標値が書込ま
れ、指標カウンタ12の値は1つ増加し、その結
果指標の値に等しくなる。これにより以下は、プ
ログラム・モジユール間に分岐を含まない場合の
プログラムアドレス誤動作検出機構と同様にし
て、実行ルートがチエツクされる。第5図に示す
ように、各指標カウンタ初期化命令による指標カ
ウンタ12の初期値を異なつたものにするなら
ば、並行する実行ルートの途中で1つのルートか
ら他のルートへ分岐する誤動作を検出する事がで
きる。
次に、第4図に示したように、繰返しループが
ある場合、以前実行したモジユールを再実行する
ために、分岐する際に指標カウンタの初期化命令
を実行し、指標カウンタ12に再実行するプログ
ラムモジユールの指標値から1引いた値を書込
む。再実行された最初のプログラムモジユールの
実行が終了すると、分岐の場合と同様の過程で指
標レジスタ11には指標値が書込まれ、指標カウ
ンタ12は指標値に等しい値となつている。これ
により、モジユールの繰返しループを含まない場
合のプログラムアドレス誤動作検出機構と同様に
して実行ルートがチエツクされる。
次に正規のルートへ復帰するための機構につい
て説明する。不一致信号15を受けたCPU17
は、ただちにアドレス誤動作の処理に移る。この
処理においてCPU17は指標カウンタ12の内
容をデータバス18を通して読出す。これはプロ
グラムアドレス誤動作が起らなければ本来実行さ
れていれずのモジユールの番号である。モジユー
ルの番号はモジユールの先頭アドレスと1対1の
対応関係にあるから、CPU17は本来実行すべ
きモジユールの先頭アドレスを読出して、正常な
実行ルートへ復帰する事ができる。
次に、第2の発明について説明する。
まず、本第2の発明の実施例に使用するプログ
ラムの構成について説明する。
第8図は本第2の発明の実施例に使用するプロ
グラムの指標書込み命令の構成を示す図、第9図
は本第2の発明の実施例に使用するプログラムの
指標カウンタ初期化命令の構成を示す図である。
プログラムは、第3図に示したように、単位ル
ーチンのモジユール分割し、それぞれの実行順に
各モジユール固有の番号1、2、3…で、…を付
し、指標とする。第8図に示すように、各モジユ
ールMiの最後部には続けて第1の指標書込み命
令41と第2の指標書込み命令42を置く。
第5図に示したように、プログラム・モジユー
ルの間に条件分岐がある場合には、分岐した各モ
ジユールMi、Mj、Mkの先頭部と、合流した実
行ルートの最初のモジユールMlの先頭部には、
第9図に示すように(第9図にはこれらのモジユ
ールをモジユルMkで代表させて示してある)、
第1の指標カウンタ初期化命令43と第2の指標
カウンタ初期化命令44を置く。
次に、第2の発明の実施例について説明する。
第10図は本第2の発明の一実施例のブロツク
図である。
この実施例は第3図、第5図、第8図、第9図
で説明したプログラム、即ちモジユールに分割さ
れ、第1の指標書込み命令(第1の指標確認命
令)と第2の指標書込み命令(第2の指標確認命
令)と、条件分岐がある場合は第1及び第2の指
標カウンタ初期化命令が設けられているプログラ
ムを実行したとき、第1の指標確認命令としての
第1の指標書込み命令41の実行によりこの第1
の指標書込み命令41内の指標情報を保持する第
1の補助レジスタ60と、第2の指標確認命令と
しての第2の指標書込み命令42の実行によりこ
の第2の指標書込み命令42内の指標情報を保持
する第2の補助レジスタ61と、第1の補助レジ
スタ60の内容と第2の補助レジスタ62の内容
により第1の判定信号を出力する第1の条件判定
回路としての第1比較器62と、この第1比較器
62から出力される第1の判定信号を受けて第1
の指標書込み命令41内の指標情報と第2の指標
書込み命令42内の指標情報からモジユールの固
有指標を第1の指標として保持する第1の指標記
憶手段としての指標レジスタ51と、第1の判定
信号を受けて指標レジスタ51の第1の指標の保
持を検知して第2の指標を発生する指標発生回路
としてのインクリメンタ54と、第2の指標を保
持する第2の指標記憶手段としての指標カウンタ
52と、第1の指標書換え命令にとしての第1の
指標カウンタ初期化命令43によつて書込み動作
が行なわれる第3の補助レジスタ64と、第2の
指標書換え命令としての第2の指標カウンタ初期
化命令44によつて書込み動作が行なわれる第4
の補助レジスタ65と、第3の補助レジスタ64
の内容と第4の補助レジスタ65の内容により第
2の判定信号を出力する第2の条件判定回路とし
ての第2比較器66と、これから出力される第2
の判定信号を受けて第3の補助レジスタ64の内
容と第4の補助レジスタ65の内容により指標カ
ウンタ52の内容を書換える手段としての第2ゲ
ート67と、指標レジスタ51内の実際に実行さ
れたプログラム・モジユールの固有指標に対応す
る前記第1の指標と、指標カウンタ52内の前記
プログラムの構成上実行されるべきモジユールの
固有指標に対応する第2の指標を比較する事によ
り前記プログラムのアドレス誤動作を検出する指
標比較手段としての指標比較器53とを含んで構
成される。
更に詳しく説明すると、第1の補助レジスタ6
0は、第1の指標書込み命令41によつて指標の
論理値の反転値が書込まれ、第2の補助レジス
タ61は第2の指標書込み命令42によつて指標
iが書込まれるレジスタである。第1比較器62
は第1の補助レジスタ60と第2の補助レジスタ
61の内容を比較し、両者が互いに反転値である
時書込み有効信号55を第1ゲート63とインク
リメタ54に対して出力する。指標レジスタ51
は指標を保持するレジスタであり、指標カウンタ
52は指標レジスタ51に保持された指標の数を
計数するカウンタであり、その内容は命令によつ
て読出す事ができる。第3の補助レジスタ64は
第1の指標カウンタ私期化命令43により指標カ
ウンタの初期値の反転値が書込まれ、第4補助レ
ジスタ65は第2の指標カウンタ初期化命令44
により指標カウンタの初期値が書込まれるレジス
タである。第2比較器66は第3の補助レジスタ
64と第4の補助レジスタ65の内容を比較し、
両者が互いに反転値である時、初期化有効信号6
8を第2ゲート67に対して出力する。指標比較
器53は指標レジスタ51と指標カウンタ52の
内容を比較し、異なつた値であれば不一致信号5
6をCPU57に対し出力する。
次に、この実施例の動作について説明する。
まず、指標記憶手段としての指標レジスタ51
と指標カウンタ52への書込みについて説明す
る。
プログラムアドレスをチエツクするたのの指標
の記憶手段の内容が容易に書換え可能であると、
アドレス誤動作時に指標記憶手段内のデータが書
換えられてしまう危険性があり、そうするとアド
レス誤動作を正確に検出できないおそれがある。
そのため本発明では二重に書込み命令を設ける事
により、指標内容の書換えエラーを防止してい
る。
指標レジスタへの書込み動作の場合、第8図に
示すように、プログラム・モジユールへの最後部
において、まず第1の補助レジスタ60への指標
書込み命令41が実行され、指標の反転値が6
0に書込まれる。続いて第2の補助レジスタ61
への書込み命令42が実行され、指標iが第2の
補助レジスタ61に書込まれる。第1比較器62
はこの両方の値が正確にこの順番に続いて書込ま
れ、かつ反転値どうしであるならば、その時に限
り書込み有効信号55を第1ゲート63に対して
出力する。第1ゲート63はこの信号を受けとる
とゲートを開き、第2の補助レジスタ61内の指
標を指標レジスタ51に格納する。指標カウンタ
52への書込み動作の場合も同様である。
第5図に示すように、プログラムの分岐点ある
いは合流点にあるプログラムモジユールの先頭部
において、第9図に示すように、まず第1の指標
カウンタ初期化命令43によつて第3の補助レジ
スタ64への書込みが実行され、指標カウンタの
初期値の反転値が第3の補助レジスタ64に書込
まれる。続いて第2の指標カウンタ初期化命令4
4によつて、第4の補助レジスタ65への書込み
が実行され、指標カウンタの初期値が第4の補助
レジスタ65に書込まれる。第2比較器66はこ
の両方の値が正確にこの順番に書込まれ、かつ反
転値どうしであるならば、その時に限り初期化有
効信号68を第2ゲート67に対して出力する。
第2ゲート67はこの信号を受けとるとゲートを
開き、第4の補助レジスタ65内の指標カウンタ
初期値を指標カウンタ52に格納する。
次に、指標レジスタ51内に保持された指標を
用い、第3図にあるようなプログラム・モジユー
ル間に条件分岐や繰返しループを含まないプログ
ラムの実行ルートをチエツクする機構について、
第7図を参照しながら説明する。
プログラムを実行する前の初期状態では指標レ
ジスタ51、指標カウンタ52とも内容は“0”
である。プログラムが順次実行され最初のモジユ
ルが終了すると、前述した指標書込み命令によ
り、指標レジスタ51には指標“1”が書込まれ
る。この時、第1比較器62から出力された書込
み有効信号55はインクリメンタ54にも送ら
れ、インクリメンタ54は指標カウンタ52の内
容に1を加える。これは指標レジスタ51の内容
に等しい。以下モジユールを順次実行して行く事
により、指標レジスタ51と指標カウンタ52の
内容は等しく1づつ増加していく。
指標レジスタ51の内容と指標カウンタ52の
内容は書換えがあるたびに指標比較器53で比較
される。プログラムが所定のルートに従つて、各
モジユールが順番に実行されていれば、実行を終
つたモジユールの番号を保持する指標レジスタ5
1の内容と、実際に実行したモジユールの指標命
令の数を示す指標カウンタ52の内容とは等し
い。このため指標比較器53は不一致信号56を
出力しない。
プログラムアドレス誤動作の発生により、モジ
ユールMiの実行途中からモジユールMjの実行へ
飛んでしまつた場合には、モジユールMjの最後
部において第1、第2の指標書込み命令41,4
2が実行され、指標レジスタ51には指標“j”
が格納される。一方、この時点まで実行したモジ
ユールの第1、第2の指標確認命令の数はi個で
あるから、指標カウンタの内容は“i”となる。
このため指標比較器53は両者を比較し、不一致
信号56をCPU57に出力し、これにより、
CPUはプログラムアドレスに誤動作のあつた事
を検知する。
以上述べたアドレス誤動作検出の基本動作を基
にして、次に第5図に示したように途中で分岐す
るプログラムと、第4図に示したように繰返しル
ープを持つプログラムにおける実行ルートのチエ
ツク機構について説明する。
分岐して、または合流して最初に実行するモジ
ユールの先頭部において前述した第1の指標カウ
ンタ初期化命令43と第2の指標カウンタ初期化
命令44を実行し、指標カウンタ52には分岐し
たプログラム・モジユールの指標から1を引いた
値を書込む。プログラムが順次実行されこのモジ
ユールの実行が終了すると、前述した指標書込み
命令によつて指標レジスタ51にはこの最初のモ
ジユールの指標値が書込まれ、指標カウンタ52
の値は1つ増加しその結果指標の値に等しくな
る。これにより、以下はプログラムモジユール間
に分岐を含まない場合のプログラムアドレス誤動
作チエツク機構と同様にして実行ルートがチエツ
クされる。第5図に示すように、各指標カウンタ
初期化命令による指標カウンタ52の初期値を異
なつたものにするならば、並行する実行ルートの
途中で1つのルートから他のルートへ分岐する誤
動作を検出する事ができる。繰返しループがある
場合、以前実行したモジユールを再実行するため
に分岐する際に指標カウンタ初期化命令を実行
し、指標カウンタ52に再実行するプログラム・
モジユールの指標値から1を引いた値を書込む。
再実行された最初のプログラム・モジユールの実
行が終了すると、分岐の場合と同様の過程で指標
レジスタ51には指標値が書き込まれ、指標カウ
ンタ52は指標値に等しい値となつている。これ
により、モジユールの繰返しループを含まない場
合のプログラムアドレス誤動作検出機構と同様に
して実行ルートがチエヨクされる。
次に、正規のルートへ復帰するための機構につ
いて説明する。不一致信号56を受けたCPU5
7は、ただちにアドレス誤動作の処理に移る。こ
の処理においてCPU57は指標カウンタ52の
内容のデータバス58を通じて読出す。これは、
プログラムアドレス誤動作が起らなければ本来実
行されているはずのモジユールの番号である。モ
ジユールの番号はモジユールの先頭アドレスと1
対1の対応関係にあるから、CPU57は本来実
行すべきモジユールの先頭アドレスを読出して、
正常な実行ルートへ復帰する事ができる。
〔発明の効果〕
以上説明したように、本発明はプログラムの所
定の順番に従つた実行を、プログラム全体に亘り
確実に監視する事ができる効果を有する。しか
も、暴走が起きた場合、これを検出して正規のル
ートへ復起する事が可能である。このため情報処
理装置におけるプログラムアドレスの誤動作検出
方式として有用なものであり、特に、プロセス制
御等、使用環境がきびしく、かつ処理順序が厳密
に定められる分野での応用においてその実行効果
がある。
【図面の簡単な説明】
第1図は従来のアドレス誤動作検出回路の一例
の回路図、第2図は従来のアドレス誤動作検出を
行えるように構成したプロゲラムの一例のフロー
チヤート、第3図乃至第5図は本発明の実施例に
使用するプログラムの第1乃至第3の構成例を説
明するためのフローチヤート、第6図は本第1の
発明の一実施例のブロツク図、第7図は第6図に
示す指標レジスタと指標カウンタに格納される指
数標及び計数値の格納状態を説明する図、第8図
は本第2の発明の実施例に使用するプログラムの
指標書込み命令の構成を示す図、第9図は本第2
の発明の実施例に使用する指標カウンタ初期化命
令の構成を示す図、第10図は本第2の発明の一
実施例のブロツク図である。 1……指標発生器、2……指標レジスタ、3…
…指標比較器、11……指標レジスタ、12……
指標カウンタ、13……指標比較器、14……イ
ンクリメンタ、15……書込み有効信号、16…
…不一致信号、17……CPU、18……データ
バス、19……アドレスバス、21……指標書込
み命令、22……指標カウンタ初期化命令、41
……第1の指標書込み命令、42……第2の指標
書込み命令、43……第1の指標カウンタ初期化
命令、44……第2の指標カウンタ初期化命令、
51……指標レジスタ、52……指標カウンタ、
53……指標比較器、54……インクリメンタ、
55……書込み有効信号、56……不一致信号、
57……CPU、58……データバス、59……
アドレスバス、60……第1の補助レジスタ、6
1……第2の補助レジスタ、62……第1比較
器、63……第1ゲート、64……第3の補助レ
ジスタ、65……第4の補助レジスタ、66……
第2比較器、67……第2ゲート、68……初期
化有効信号。

Claims (1)

  1. 【特許請求の範囲】 1 プログラムを分割可能な単位のモジユールに
    分割し、前記モジユール毎に実行順に対応した固
    有の指標と、指標情報として前記固有の指標を備
    えた指標確認命令を設け、前記指標確認命令の実
    行により前記指標確認命令内の前記指標情報とし
    ての前記固有指標を第1の指標として保持する第
    1の指標記憶手段と、前記指標確認命令の実行を
    検知して第2の指標を発生する指標発生回路と、
    前記第2の指標を保持する第2の指標記憶手段
    と、前記第1の指標記憶手段内の実際に実行され
    た前記モジユールの固有指標に対応する前記第1
    の指標と、前記第2の指標記憶手段内の前記プロ
    グラムの構成上実行されるべき前記モジユールの
    固有指標に対応する前記第2の指標とを比較する
    事により、前記プログラムのアドレス誤動作を検
    出する指標比較手段とを含むことを特徴とするプ
    ログラムアドレス誤動作検出方式。 2 プログラムを分割可能な単位モジユールに分
    割し、前記モジユール毎に実行順に対応した固有
    の指標と、指標情報として前記固有の指標を備え
    た第1の指標確認命令と第2の指標確認命令を設
    け、前記第1の指標確認命令の実行により前記第
    1の指標確認命令内の指標情報を保持する第1の
    補助レジスタと、前記第2の指標確認命令の実行
    により前記第2の指標確認命令内の指標情報を保
    持する第2の補助レジスタと、前記第1の補助レ
    ジスタの内容と前記第2の補助レジスタの内容に
    より第1の判定信号を出力する第1の条件判定回
    路と、前記第1の条件判定回路から出力される前
    記第1の判定信号を受けて前記第1の指標確認命
    令内の指標情報と前記第2の指標確認命令内の指
    標情報から前記モジユールの固有指標を第1の指
    標として保持する第1の指標記憶手段と、前記第
    1の判定信号を受けて前記第1の指標記憶手段の
    前記第1の指標の保持を検知して第2の指標を発
    生する指標発生回路と、前記第2の指標を保持す
    る第2の指標記憶手段と、第1の指標書換え命令
    によつて書込み動作が行なわれる第3の補助レジ
    スタと、第2の指標書換え命令によつて書込み動
    作が行なわれる第4の補助レジスチと、前記第3
    の補助レジスタの内容と前記第4の補助レジスタ
    の内容により第2の判定信号を出力する第2の条
    件判定回路と、前記第2の判定信号を受けて前記
    第3の補助レジスタの内容と前記第4の補助レジ
    スタの内容により前記第2の指標記憶手段の内容
    を書換える手段と、前記第1の指標記憶手段内の
    実際に実行された前記モジユールの固有指標に対
    応する前記第1の指標と、前記第2の指標記憶手
    段内の前記プログラムの構成上実行されるべき前
    記モジユールの固有指標に対応する前記第2の指
    標を比較する事により前記プログラムのアドレス
    誤動作を検出する指標比較手段とを含むことを特
    徴とするプログラムアドレス誤動作検出方式。
JP58137034A 1983-07-27 1983-07-27 プログラムアドレス誤動作検出方式 Granted JPS6027952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58137034A JPS6027952A (ja) 1983-07-27 1983-07-27 プログラムアドレス誤動作検出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58137034A JPS6027952A (ja) 1983-07-27 1983-07-27 プログラムアドレス誤動作検出方式

Publications (2)

Publication Number Publication Date
JPS6027952A JPS6027952A (ja) 1985-02-13
JPS6355087B2 true JPS6355087B2 (ja) 1988-11-01

Family

ID=15189299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58137034A Granted JPS6027952A (ja) 1983-07-27 1983-07-27 プログラムアドレス誤動作検出方式

Country Status (1)

Country Link
JP (1) JPS6027952A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5287336A (en) * 1976-01-16 1977-07-21 Toshiba Corp Erroneous operation detecting circuit for program addressing
JPS5418641A (en) * 1977-07-13 1979-02-10 Hitachi Ltd Program runaway preventing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5287336A (en) * 1976-01-16 1977-07-21 Toshiba Corp Erroneous operation detecting circuit for program addressing
JPS5418641A (en) * 1977-07-13 1979-02-10 Hitachi Ltd Program runaway preventing method

Also Published As

Publication number Publication date
JPS6027952A (ja) 1985-02-13

Similar Documents

Publication Publication Date Title
EP0173515B1 (en) Error recovery system in a data processor having a control storage
JPS62182954A (ja) 一致回路を備えたメモリ装置を含むデ−タ処理装置と方法
JPS6355087B2 (ja)
US4410988A (en) Out of cycle error correction apparatus
JPS6261974B2 (ja)
JPS60142747A (ja) 命令再実行制御方式
KR830002883B1 (ko) 마이크로 프로그램 제어장치
SU926724A2 (ru) Устройство дл контрол пам ти
JPS608962A (ja) 記憶情報一時障害検出方式
CN112035290A (zh) 一种星载数字信号处理器抗单粒子翻转方法
SU1056193A1 (ru) Устройство дл управлени восстановлением микропрограмм при сбо х
JPS5939777B2 (ja) 制御記憶装置
JPH02127731A (ja) 演算レジスタのバイパスチェック方式
JPS61846A (ja) メモリ内容の正常性試験方法
JPS63170756A (ja) 主記憶イニシヤライズ方式
JPS58186851A (ja) 誤り検査装置
JPH01156834A (ja) チェック回路の診断装置
JPH03163642A (ja) メモリ異常検出方式
JPS59160898A (ja) 記憶装置の故障診断装置
JPS63265337A (ja) プロセツサ装置の障害検出回路
JPS59111551A (ja) 動作記録装置
JPH01166144A (ja) ファームウェア・プログラムのデバッグ方式
JPS58215799A (ja) 制御記憶検証方式
JPH04372025A (ja) アクセスビットつき記憶装置
JPH0769846B2 (ja) エラー処理回路の検証装置