JPS61170832A - プログラム実行シ−ケンス異常検出方式 - Google Patents
プログラム実行シ−ケンス異常検出方式Info
- Publication number
- JPS61170832A JPS61170832A JP60011612A JP1161285A JPS61170832A JP S61170832 A JPS61170832 A JP S61170832A JP 60011612 A JP60011612 A JP 60011612A JP 1161285 A JP1161285 A JP 1161285A JP S61170832 A JPS61170832 A JP S61170832A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- value
- counter
- branch
- operand
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、逐次処理型計算機において、ノイズやソフト
ウェアのバグにより意図したプログラム・シーケンス通
りの処理が実行されない場合、これを検出できるように
したプログラム実行シーケンス異常検出方式に関するも
のである。
ウェアのバグにより意図したプログラム・シーケンス通
りの処理が実行されない場合、これを検出できるように
したプログラム実行シーケンス異常検出方式に関するも
のである。
逐次処理型計算機では、一般にプログラムを先頭から順
番に実行して行く。例外としてジャンプ命令やサブルー
チン・コール命令、リターン命令等があり、これらの命
令を使用して命令を飛ばしたり、繰り返して同じルーチ
ンを実行したりすることが出来る。成るプログラムの実
行シーケンスがノイズやソフトウェアのバグにより狂っ
た場合、中央処理装置の暴走やプログラムの実行不良が
発生する。これを検出できればそこで実行をストップす
る等の対策を講することが出来るが、検出できないと重
大な障害に繋がることもある。また、このような異常が
常に起きれば発見や調査がし易いが、再現性がないため
(例えばノイズが原因で起こる場合)や特別の条件が重
なったときに起こる場合(稀なソフトウェア・バグ)な
どは発見が非常に困難である。従来、このような異常を
検出する手段としてトレース機能等があるが、中央処理
装置自身では実行シーケンスが異常であるか否かを判断
できないので、再現性の少ない異常動作に対しては十分
機能していなかった。
番に実行して行く。例外としてジャンプ命令やサブルー
チン・コール命令、リターン命令等があり、これらの命
令を使用して命令を飛ばしたり、繰り返して同じルーチ
ンを実行したりすることが出来る。成るプログラムの実
行シーケンスがノイズやソフトウェアのバグにより狂っ
た場合、中央処理装置の暴走やプログラムの実行不良が
発生する。これを検出できればそこで実行をストップす
る等の対策を講することが出来るが、検出できないと重
大な障害に繋がることもある。また、このような異常が
常に起きれば発見や調査がし易いが、再現性がないため
(例えばノイズが原因で起こる場合)や特別の条件が重
なったときに起こる場合(稀なソフトウェア・バグ)な
どは発見が非常に困難である。従来、このような異常を
検出する手段としてトレース機能等があるが、中央処理
装置自身では実行シーケンスが異常であるか否かを判断
できないので、再現性の少ない異常動作に対しては十分
機能していなかった。
本発明は、上記の考察に基づくものであって、中央処理
装置自身で実行シーケンスの異常を検出出来るようにし
たプログラム実行シーケンス異常検出方式を提供するこ
とを目的としている。
装置自身で実行シーケンスの異常を検出出来るようにし
たプログラム実行シーケンス異常検出方式を提供するこ
とを目的としている。
そしてそのため本発明のプログラム実行シーケンス異常
検出方式は、逐次処理型計算機におけるプログラム実行
シーケンス異常検出方式であって、命令が実行される毎
に単位量ずつその値が更新される命令カウンタを有する
と共に、メモリの中に、命令数が記入されたオペランド
を持つ分岐命令及び命令数が記入されたオペランドを持
つ合流命令を有するプログラムを格納し、且つ中央処理
装置は、上記分岐命令をフェッチした時、上記命令カウ
ンタの値と当該分岐命令のオペランドの値とを比較し、
両者が一致していたならば上記命令カウンタをクリアし
次いで分岐処理を行い、命令カウンタの値とオペランド
の値が一致しない場合には異常処理を行うように構成さ
れ、上記合流命令をフエ・チした時・上記命令カラ′り
の値が0でな lければ、上記命令カウンタの
値と合流命令のオペランドの値を比較し、両者が一致し
ていれば上記命令カウンタをクリアして次の命令を実行
し、両者が一致していなければ異常処理を行い、上記命
令カウンタの値が0であれば次の命令を実行するように
構成されていることを特徴とするものである。
検出方式は、逐次処理型計算機におけるプログラム実行
シーケンス異常検出方式であって、命令が実行される毎
に単位量ずつその値が更新される命令カウンタを有する
と共に、メモリの中に、命令数が記入されたオペランド
を持つ分岐命令及び命令数が記入されたオペランドを持
つ合流命令を有するプログラムを格納し、且つ中央処理
装置は、上記分岐命令をフェッチした時、上記命令カウ
ンタの値と当該分岐命令のオペランドの値とを比較し、
両者が一致していたならば上記命令カウンタをクリアし
次いで分岐処理を行い、命令カウンタの値とオペランド
の値が一致しない場合には異常処理を行うように構成さ
れ、上記合流命令をフエ・チした時・上記命令カラ′り
の値が0でな lければ、上記命令カウンタの
値と合流命令のオペランドの値を比較し、両者が一致し
ていれば上記命令カウンタをクリアして次の命令を実行
し、両者が一致していなければ異常処理を行い、上記命
令カウンタの値が0であれば次の命令を実行するように
構成されていることを特徴とするものである。
以下、本発明を図面を参照しつつ説明する。まず、プロ
グラムをシーケンシャルに実行される部分、ジャンプ命
令、サブルーチン・コール命令及びリターン命令に分け
る。第1図及び第2図はシーケンシャルに実行されるプ
ログラム部分の実行異常検出方式を説明する図である。
グラムをシーケンシャルに実行される部分、ジャンプ命
令、サブルーチン・コール命令及びリターン命令に分け
る。第1図及び第2図はシーケンシャルに実行されるプ
ログラム部分の実行異常検出方式を説明する図である。
シーケンシャルに実行される部分の異常の原因は、プロ
グラム・カウンタの誤動作が考えられる。そこで、シー
ケンシャルに実行される部分の命令数と実際に実行され
た命令の数とを比較し、実行シーケンスの異常を検出す
る。これを実現するために、命令カウンタを設け、シー
ケンシャルに実行される部分の先頭に“開始命令”を、
シーケンシャルに実行される部分の後ろに“終了命令”
を配置する。終了命令には、オペランドとしてシーケン
シャルに実行される部分の命令の数を入れておく。中央
処理装置は開始命令をフェッチすると命令カウンタをク
リアし、それから順次1命令を実行する度に命令カウン
タを+1し、終了命令をフェッチするど、命令カウンタ
の値とオペランドの値を比較する。一致していなければ
、実行シーケンスの異常であると判断し、異常処理を行
う。第1図はシーケンシャルに実行される部分が正常に
実行された場合を示す図である。命令AないしFがシー
ケンシャルに実行される部分、であり、命令Aの前に開
始命令が、命令Fの後ろに終了命令が配置されている。
グラム・カウンタの誤動作が考えられる。そこで、シー
ケンシャルに実行される部分の命令数と実際に実行され
た命令の数とを比較し、実行シーケンスの異常を検出す
る。これを実現するために、命令カウンタを設け、シー
ケンシャルに実行される部分の先頭に“開始命令”を、
シーケンシャルに実行される部分の後ろに“終了命令”
を配置する。終了命令には、オペランドとしてシーケン
シャルに実行される部分の命令の数を入れておく。中央
処理装置は開始命令をフェッチすると命令カウンタをク
リアし、それから順次1命令を実行する度に命令カウン
タを+1し、終了命令をフェッチするど、命令カウンタ
の値とオペランドの値を比較する。一致していなければ
、実行シーケンスの異常であると判断し、異常処理を行
う。第1図はシーケンシャルに実行される部分が正常に
実行された場合を示す図である。命令AないしFがシー
ケンシャルに実行される部分、であり、命令Aの前に開
始命令が、命令Fの後ろに終了命令が配置されている。
開始命令によって、命令カウンタが0クリアされ、以下
、命令A、B、C・・・が実行される度に命令カウンタ
の値は+1される。終了命令をフェッチすると、中央処
理装置は、命令カウンタの値と終了命令のオペランドの
値を比較する。この場合は、両者が一致するので、命令
Fの次の命令が直ちに実行される。第2図(al及び(
b)はシーケンシャルに実行される部分が正常に実行さ
れなかった場合を示す図である。第2図+8)は命令が
A、 B。
、命令A、B、C・・・が実行される度に命令カウンタ
の値は+1される。終了命令をフェッチすると、中央処
理装置は、命令カウンタの値と終了命令のオペランドの
値を比較する。この場合は、両者が一致するので、命令
Fの次の命令が直ちに実行される。第2図(al及び(
b)はシーケンシャルに実行される部分が正常に実行さ
れなかった場合を示す図である。第2図+8)は命令が
A、 B。
C・・・、Fと実行されるべき所、命令カウンタのエラ
ーでA、B、C,Fと実行された場合を示す。
ーでA、B、C,Fと実行された場合を示す。
この場合には、終了命令のオペランドの値と命令カウン
タの値とは一致しない。第2図(b)は、命令がA、B
、C・・・、Fと実行されるべき所、A、B。
タの値とは一致しない。第2図(b)は、命令がA、B
、C・・・、Fと実行されるべき所、A、B。
Y、zと実行された場合を示す。この場合も終了命令の
オペランドの値と命令カウンタの値は一致しない。
オペランドの値と命令カウンタの値は一致しない。
第3図は分岐命令(ジャンプ、サブルーチン・コール、
リターン)の実行シーケンスの異常検出方式を説明する
図である0分岐命令の実行シーケンス異常には次のよう
な原因が考えられる。
リターン)の実行シーケンスの異常検出方式を説明する
図である0分岐命令の実行シーケンス異常には次のよう
な原因が考えられる。
+8> ハードウェアの誤動作や番地算出のソフトウ
ェア・バグ等による分岐先番地の異常。
ェア・バグ等による分岐先番地の異常。
(bl 本来分岐命令でない命令の分岐命令への化け
。
。
ジャンプ命令の実行シーケンス異常を検出するために、
分岐は必ず開始命令へ行き、且つ分岐によって合流され
るプログラムでは合流される番地の開始命令の直前に終
了命令を置く。こうすることによって開始命令以外に分
岐した場合、実行シーケンスの異常が検出できる。さら
に実行シーケンス異常によって分岐命令以外から開始命
令に実行が移ってしまった場合、これを検出するために
開始命令をフェッチした時の命令カウンタの値が“0”
であれば異常なし、′0”以外であれば実行シーケンス
異常であると判断する機能を開始命令に付加する。即ち
、分岐が終了命令−分岐命令−開始命令と正常に行われ
た場合、開始命令をフェッチした時の命令カウンタの値
は“0”になっている筈である。但し、終了命令、分岐
命令、開始命令はカウントしない。第3図の実線の矢印
は正常ジャンプを示し、点線の矢印は異常ジャンプを示
す。
分岐は必ず開始命令へ行き、且つ分岐によって合流され
るプログラムでは合流される番地の開始命令の直前に終
了命令を置く。こうすることによって開始命令以外に分
岐した場合、実行シーケンスの異常が検出できる。さら
に実行シーケンス異常によって分岐命令以外から開始命
令に実行が移ってしまった場合、これを検出するために
開始命令をフェッチした時の命令カウンタの値が“0”
であれば異常なし、′0”以外であれば実行シーケンス
異常であると判断する機能を開始命令に付加する。即ち
、分岐が終了命令−分岐命令−開始命令と正常に行われ
た場合、開始命令をフェッチした時の命令カウンタの値
は“0”になっている筈である。但し、終了命令、分岐
命令、開始命令はカウントしない。第3図の実線の矢印
は正常ジャンプを示し、点線の矢印は異常ジャンプを示
す。
第4図(a)はサブルーチン・コール命令及びリターン
命令の異常検出方式を説明する図、第4図中)は分岐命
令以外から開始命令に分岐した場合を説明する図である
。
命令の異常検出方式を説明する図、第4図中)は分岐命
令以外から開始命令に分岐した場合を説明する図である
。
上述した実行シーケンス異常検出命令(開始台
I令、終了命令、分岐命令)は単機能のものである
が、分岐命令でシーケンシャルな実行部分は打ち切りに
なり、分岐する場合は分岐先で、分岐しない場合は分岐
命令の次から新たにシーケンシャルな実行部分が開始さ
れると考えられるので、分岐命令に終了命令、開始命令
の機能を持たせることが出来る。また、分岐先では合流
される方のプログラムは、そこでシーケンシャルな実行
部分が打ち切りになり、分岐先の次から新たにシーケン
シャルな実行部分が開始されると考えられるので、分岐
先の終了命令、開始命令の機能を1つにして合流命令と
することが出来る。
I令、終了命令、分岐命令)は単機能のものである
が、分岐命令でシーケンシャルな実行部分は打ち切りに
なり、分岐する場合は分岐先で、分岐しない場合は分岐
命令の次から新たにシーケンシャルな実行部分が開始さ
れると考えられるので、分岐命令に終了命令、開始命令
の機能を持たせることが出来る。また、分岐先では合流
される方のプログラムは、そこでシーケンシャルな実行
部分が打ち切りになり、分岐先の次から新たにシーケン
シャルな実行部分が開始されると考えられるので、分岐
先の終了命令、開始命令の機能を1つにして合流命令と
することが出来る。
このように考えると、本発明を実現するための最低必要
な構成は、下記のようになる。
な構成は、下記のようになる。
(a) 1命令を実行する毎に+1される命令カウン
タを有すること。
タを有すること。
山) リセットにより命令カウンタをクリアする機能を
有すること。
有すること。
(C1第1オペランドとして直前に存在するシーケンシ
ャルな実行部分に含まれる命令の数を持ち、命令カウン
タの値と第1オペランドの値を比較して一致したならば
、命令カウンタをクリアし且つ分岐条件が満足されたな
らば飛び先番地へ飛び、分岐条件が満足されなければ次
の命令を実行し、第1オペランドの値と命令カウンタの
値が一致しなければ、異常処理を行う分岐命令を有する
こと。
ャルな実行部分に含まれる命令の数を持ち、命令カウン
タの値と第1オペランドの値を比較して一致したならば
、命令カウンタをクリアし且つ分岐条件が満足されたな
らば飛び先番地へ飛び、分岐条件が満足されなければ次
の命令を実行し、第1オペランドの値と命令カウンタの
値が一致しなければ、異常処理を行う分岐命令を有する
こと。
分岐命令とはジャンプ命令、サブルーチン・コール命令
、リターン命令を含む概念である。
、リターン命令を含む概念である。
(d) オペランドとして直前に存在するシーケンシ
ャルな実行部分に含まれる命令の数を持ち、命令カウン
タの値が“0”であれば何もしないで次の番地に進み、
“O”でなければ命令カウンタの値とオペランドの値を
比較し、一致したならば、命令カウンタをクリアして次
の番地へ進み、一致しなければ、異常処理を行う“合流
命令”を有すること。
ャルな実行部分に含まれる命令の数を持ち、命令カウン
タの値が“0”であれば何もしないで次の番地に進み、
“O”でなければ命令カウンタの値とオペランドの値を
比較し、一致したならば、命令カウンタをクリアして次
の番地へ進み、一致しなければ、異常処理を行う“合流
命令”を有すること。
第5図は上記のような本発明の分岐命令及び合流命令を
持つプログラムの1例を示す図である。
持つプログラムの1例を示す図である。
第5図において、命令人ないしFはシーケンシャルに実
行される部分であり、命令Fの後に条件付分岐命令が配
置されている。この条件付分岐命令の第1オペランドに
は“6″が記入されている。
行される部分であり、命令Fの後に条件付分岐命令が配
置されている。この条件付分岐命令の第1オペランドに
は“6″が記入されている。
命令Gないし■もシーケンシャルに実行される部分であ
る。命令Iの後に条件付分岐命令が配置されている。こ
の条件付分岐命令の後に命令Jが配置され、命令Jの後
にオペランドに“1″が記入された合流命令が配置され
、この後に命令にないしNが配置される。命令にないし
Nはシーケンシャルに実行される部分である。命令Nの
後にオペランドに4″が記入された合流命令が配置され
、この合流命令の後に命令OとPが配置され、命令Pの
後に第1オペランドが“2”の条件付分岐命令が配置さ
れ、この条件付分岐命令の後に命令QないしSが配置さ
れる。
る。命令Iの後に条件付分岐命令が配置されている。こ
の条件付分岐命令の後に命令Jが配置され、命令Jの後
にオペランドに“1″が記入された合流命令が配置され
、この後に命令にないしNが配置される。命令にないし
Nはシーケンシャルに実行される部分である。命令Nの
後にオペランドに4″が記入された合流命令が配置され
、この合流命令の後に命令OとPが配置され、命令Pの
後に第1オペランドが“2”の条件付分岐命令が配置さ
れ、この条件付分岐命令の後に命令QないしSが配置さ
れる。
命令AないしFが実行されると、命令カウンタの値は“
6”となり、命令Fの次の分岐命令が実行されると命令
カウンタの値とこの分岐命令の第1オペランドの値が比
較され、この場合は一致するので、命令カウンタの値は
0クリアされ、分岐条件が成立するか否かが調べられる
。この場合は分岐条件は成立しないので命令Gが実行さ
れ、続いて命令H,Iが実行される。命令■が実行され
ると、命令カウンタの値は“3”となる。命令Iの後の
条件付分岐命令が実行されると、命令カウンタの値とこ
の分岐命令の第1オペランドの値が比較される。この場
合も両者は一致するので、命令カウンタは0クリアされ
、分岐条件が成立するか否かが調べられる。この場合は
分岐条件が成立するので、命令Nの次の合流命令がフェ
ッチされる。この場合、命令カウンタの値は“O”であ
るので、この合流命令のオペランドの値と命令カウンタ
の値との比較は行われない。続いて命令O1Pが実行さ
れる。命令Pが実行されると、命令カウンタの値は“2
”となる。命令Pの次に分岐命令が実行されるが、この
ときの命令カウンタの値と分岐命令の第1オペランドの
値は一致するので命令カウンタは0クリアされ、分岐条
件が成立するか否かが調べられる。分岐条件が成立する
と、命令Nの次の合流命令に飛び、以下、同様な処理h
<HD) iL’t1.5>@:l’Fh<tcfLL
ftイht 4 h、 −命令Q、R,Sが実行さ
れる。
6”となり、命令Fの次の分岐命令が実行されると命令
カウンタの値とこの分岐命令の第1オペランドの値が比
較され、この場合は一致するので、命令カウンタの値は
0クリアされ、分岐条件が成立するか否かが調べられる
。この場合は分岐条件は成立しないので命令Gが実行さ
れ、続いて命令H,Iが実行される。命令■が実行され
ると、命令カウンタの値は“3”となる。命令Iの後の
条件付分岐命令が実行されると、命令カウンタの値とこ
の分岐命令の第1オペランドの値が比較される。この場
合も両者は一致するので、命令カウンタは0クリアされ
、分岐条件が成立するか否かが調べられる。この場合は
分岐条件が成立するので、命令Nの次の合流命令がフェ
ッチされる。この場合、命令カウンタの値は“O”であ
るので、この合流命令のオペランドの値と命令カウンタ
の値との比較は行われない。続いて命令O1Pが実行さ
れる。命令Pが実行されると、命令カウンタの値は“2
”となる。命令Pの次に分岐命令が実行されるが、この
ときの命令カウンタの値と分岐命令の第1オペランドの
値は一致するので命令カウンタは0クリアされ、分岐条
件が成立するか否かが調べられる。分岐条件が成立する
と、命令Nの次の合流命令に飛び、以下、同様な処理h
<HD) iL’t1.5>@:l’Fh<tcfLL
ftイht 4 h、 −命令Q、R,Sが実行さ
れる。
第6図は本発明を実施するための中央処理装置の1実施
例構成を示す図である。第6図において、1は中央処理
装置、2は制御部、3はプログラム・力りンタ、4はア
ドレス・レジスタ、5は命令実行部、6はデータ・レジ
スタ、7は命令解析部、8は命令レジスタ、9は命令カ
ウンタ、lOは比較部をそれぞれ示している。命令カウ
ンタ9及び比較部10が本発明を実現するために追加さ
れた部分である。リセット時、制御部2の指令によって
命令カウンタ9をクリアする。中央処理装置1が命令レ
ジスタ8に命令をフェッチすると、命令解析部7により
命令を解析して命令実行部5に決められた動作をするよ
うに指示する。この時、命令が分岐命令、合流命令以外
であれば命令カウンタ9の値を1つ増加する動作を行う
。命令が分岐命令であれば命令レジスタ8にオペランド
を読み込み、命令カウンタ9の値と命令レジスタ8の値
を比較部IO・で比較し、一致すれば命令カウンタ9を
クリアし、分岐処理を行う。一致しない場合は異常を制
御部2に通知し、制御部2は異常処理を行う。
例構成を示す図である。第6図において、1は中央処理
装置、2は制御部、3はプログラム・力りンタ、4はア
ドレス・レジスタ、5は命令実行部、6はデータ・レジ
スタ、7は命令解析部、8は命令レジスタ、9は命令カ
ウンタ、lOは比較部をそれぞれ示している。命令カウ
ンタ9及び比較部10が本発明を実現するために追加さ
れた部分である。リセット時、制御部2の指令によって
命令カウンタ9をクリアする。中央処理装置1が命令レ
ジスタ8に命令をフェッチすると、命令解析部7により
命令を解析して命令実行部5に決められた動作をするよ
うに指示する。この時、命令が分岐命令、合流命令以外
であれば命令カウンタ9の値を1つ増加する動作を行う
。命令が分岐命令であれば命令レジスタ8にオペランド
を読み込み、命令カウンタ9の値と命令レジスタ8の値
を比較部IO・で比較し、一致すれば命令カウンタ9を
クリアし、分岐処理を行う。一致しない場合は異常を制
御部2に通知し、制御部2は異常処理を行う。
命令が合流命令であれば、まず命令カウンタ9の値が“
0”であるか否かを比較部10で検査し、“0”であれ
ば次の命令の実行に移る。もし、“0”でなければ、さ
らに合流命令のオペランドを命令レジスタ8に読み込み
、命令カウンタ9の値と命令レジスタ8の値を比較部1
0で比較し、一致すれば命令カウンタ、9をクリアして
次の命令の実行に移る。一致しない場合は、異常を制御
部2に通知し、制御部2は異常処理を行う。
0”であるか否かを比較部10で検査し、“0”であれ
ば次の命令の実行に移る。もし、“0”でなければ、さ
らに合流命令のオペランドを命令レジスタ8に読み込み
、命令カウンタ9の値と命令レジスタ8の値を比較部1
0で比較し、一致すれば命令カウンタ、9をクリアして
次の命令の実行に移る。一致しない場合は、異常を制御
部2に通知し、制御部2は異常処理を行う。
以上の説明から明らかなように、本発明によれは、プロ
グラムの実行シーケンスの異常を中央処理装置自身で検
出することが出来る。
グラムの実行シーケンスの異常を中央処理装置自身で検
出することが出来る。
第1図及び第2図はシーケンシャルに実行されるプログ
ラム部分の実行異常検出方式を説明する図、第3図はジ
ャンプ命令の実行シーケンスの異常検出方式を説明する
図、第4図はサブルーチン・コール命令及びリターン命
令の異常検出方式を説明する図、第5図は本発明の分岐
命令及び合流命令を持つプログラムの1例を示す図、第
6図は本発明を実施するための中央処理装置の1実施例
構成を示す図である。 ■・・・中央処理装置、2・・・制御部、3・・・プロ
グラム・カウンタ、4・・・アドレス・レジスタ、5・
・・命令実行部、6・・・データ・レジスタ、7・・・
命令解析部、8・・・命令レジスタ、9・・・命令カウ
ンタ、10・・・比較部。
ラム部分の実行異常検出方式を説明する図、第3図はジ
ャンプ命令の実行シーケンスの異常検出方式を説明する
図、第4図はサブルーチン・コール命令及びリターン命
令の異常検出方式を説明する図、第5図は本発明の分岐
命令及び合流命令を持つプログラムの1例を示す図、第
6図は本発明を実施するための中央処理装置の1実施例
構成を示す図である。 ■・・・中央処理装置、2・・・制御部、3・・・プロ
グラム・カウンタ、4・・・アドレス・レジスタ、5・
・・命令実行部、6・・・データ・レジスタ、7・・・
命令解析部、8・・・命令レジスタ、9・・・命令カウ
ンタ、10・・・比較部。
Claims (1)
- 逐次処理型計算機におけるプログラム実行シーケンス異
常検出方式であって、命令が実行される毎に単位量ずつ
その値が更新される命令カウンタを有すると共に、メモ
リの中に、命令数が記入されたオペランドを持つ分岐命
令及び命令数が記入されたオペランドを持つ合流命令を
有するプログラムを格納し、且つ中央処理装置は、上記
分岐命令をフェッチした時、上記命令カウンタの値と当
該分岐命令のオペランドの値とを比較し、両者が一致し
ていたならば上記命令カウンタをクリアし次いで分岐処
理を行い、命令カウンタの値とオペランドの値が一致し
ない場合には異常処理を行うように構成され、上記合流
命令をフェッチした時、上記命令カウンタの値が0でな
ければ、上記命令カウンタの値と合流命令のオペランド
の値を比較し、両者が一致していれば上記命令カウンタ
をクリアして次の命令を実行し、両者が一致していなけ
れば異常処理を行い、上記命令カウンタの値が0であれ
ば次の命令を実行するように構成されていることを特徴
とするプログラム実行シーケンス異常検出方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60011612A JPS61170832A (ja) | 1985-01-24 | 1985-01-24 | プログラム実行シ−ケンス異常検出方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60011612A JPS61170832A (ja) | 1985-01-24 | 1985-01-24 | プログラム実行シ−ケンス異常検出方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS61170832A true JPS61170832A (ja) | 1986-08-01 |
Family
ID=11782731
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60011612A Pending JPS61170832A (ja) | 1985-01-24 | 1985-01-24 | プログラム実行シ−ケンス異常検出方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61170832A (ja) |
-
1985
- 1985-01-24 JP JP60011612A patent/JPS61170832A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5379301A (en) | Microprocessor for debugging programs | |
| US5109381A (en) | Apparatus and method for detecting errors in a pipeline data processor | |
| US7266844B2 (en) | Heuristic detection of polymorphic computer viruses based on redundancy in viral code | |
| US20100293314A1 (en) | Computer system and method of controlling computer system | |
| US10747647B2 (en) | Method, apparatus and system for diagnosing a processor executing a stream of instructions | |
| US11152076B2 (en) | Apparatus and method for executing debug instructions | |
| US5283891A (en) | Error information saving apparatus of computer | |
| US20050050524A1 (en) | Generating software test information | |
| EP0417916B1 (en) | Procedure state descriptor system for digital data processors | |
| JP2531791B2 (ja) | フエッチアクセス時の異常処理方法 | |
| JPH05216721A (ja) | 電子計算機 | |
| KR102461532B1 (ko) | 프로그램 제어 흐름 그래프 재건 시스템 및 방법 | |
| EP0525672A2 (en) | Microprocessor with program tracing | |
| JPH0540668A (ja) | プログラム暴走防止方式 | |
| JP2735523B2 (ja) | プロシージャ・ステップ処理方法 | |
| JPH0287237A (ja) | Execute命令制御方式 | |
| JPS5875256A (ja) | 実行命令遂行状態のモニタ方式 | |
| JP2786215B2 (ja) | 再開処理制御方式 | |
| JP3012618B1 (ja) | 被検査プログラムのデバグ方法とそのデバグ方式 | |
| JPH11242613A (ja) | マイクロプロセッサ | |
| JPH03230227A (ja) | エラー検出方法および装置 | |
| JPS63165931A (ja) | 不連続命令フエツチアドレス情報記憶方式 | |
| JPH01226031A (ja) | 情報処理装置のパイプライン制御方式 | |
| JPS62182934A (ja) | プログラム実行装置 | |
| JPH01166140A (ja) | 情報処理装置診断方式 |