JPS58115559A - プログラム暴走検出回路 - Google Patents

プログラム暴走検出回路

Info

Publication number
JPS58115559A
JPS58115559A JP56213687A JP21368781A JPS58115559A JP S58115559 A JPS58115559 A JP S58115559A JP 56213687 A JP56213687 A JP 56213687A JP 21368781 A JP21368781 A JP 21368781A JP S58115559 A JPS58115559 A JP S58115559A
Authority
JP
Japan
Prior art keywords
program
address
memory
data
output
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
Application number
JP56213687A
Other languages
English (en)
Inventor
Hideo Tsuboi
秀夫 坪井
Takao Miura
孝雄 三浦
Yukio Otsuka
幸夫 大塚
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56213687A priority Critical patent/JPS58115559A/ja
Publication of JPS58115559A publication Critical patent/JPS58115559A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (1)発明の技術分野 本発明はプログラム4走検出l−!Iljに係り、特に
処理装置が1バイト成いは複数バイト命令から成る命令
群を順次メモリより読出して処理を行なう場合に、処理
装置の、Aまった命令実行を検出するプログラムψ走検
出回路に関する。
(2)技術の背景 一般に、処理装置t(以下CPUと称す)の來行プログ
ラム言−として機械−(アセンブリ菖−)梧 いる・即ち、1バイト砧令はオペコードのみから成る命
令、複数バイト命令は1つのオペコードと1つ或いは複
数個のオペランドとから成る命令である。ここでオペコ
ードはCPUに対する処理モードを指定する1バイトデ
ータでめり、ジャンプ(ブランチ)詰合、ストア命令、
加算命令等を表わす。オペランドはオペコードによって
指定する処理モードに必要なパラメータを表わす1バイ
ト或いは複数バイトデータでろり、例えばジャンプ命令
に必袂なジャンプ先アドレス、ストア命令に必要なスト
ア先アドレス或いはストアすべきデータ値等を表わすも
のである。
この機械語によるプロゲラ建ングの場合は、CPUの有
するアキ、−ムレータ等の各種レジスタの動作をも指定
するものであり、マイコン、ミニコン等に用いられる1
チツプLSI化されたCPUの動作制御プロゲラずング
菖語として広く用いられている。
(3)従来技術と問題点 第1図は従来のプログラム暴走検出回路を示すブロック
図である。1はCPU% 2はメモリ、3はバス、4は
アドレス検出回路である。
同図に示す如くメモリ2内のプログラムエリア2aには
、上述した機械語によるプログラムが各アドレス人、〜
Anにバイト単位で格納される。
この丸め、例えば3パイh命令(1つのオペコー、′ ドOPと2つのオペランドOL)の場合はアドレス人、
〜Atに順次格納されることになる。
以下、CPU1がプログラムエリア2&内に格納された
プログラムに従って処理を行なう動作を説明する。
CPU5が実行すべきプログラムの先頭番地が例えばア
ドレスA0とすると、CPU1はバス3を介してメモリ
2ヘアドレスA6を出力し、アドレスA・に格納された
オペコードOPデータを読出す。CPUIけト売出した
オペコードOPデータの指定する処理モードを解読し、
指定された処理モードを実行するために必要なオペラン
ドOLの数、言い換えれば読出し九オペコードOPが何
バイト命令であるかを判断する。判断したオペランドO
Lの数(この場合2つ)に従って、CPUIはメモリ2
へのアドレスを順次歩進して必要なオペランドデータを
続出す。図示した例では、CPU1はアドレスA0より
順次アドレス歩道を行ない、アドレスA+、lびA、に
格納されるデータをオペランドデータとして絖出す。以
上の動作によりてCPUIはメモリ2よシオペコード及
びオペ2ンドデータを続出し、所定の処理を行なう。
アドレスA0〜Amで与えられた3バイト命令の実行が
終了すると、CPU1は次の命令を続出すべくメモリ2
へのアドレスを歩進してアドレスAmに格納されるデー
タをオペコードデータとして絖出す。以下同様の動作を
繰返し、CPUIは適宜アドレスを歩進して1バイト或
いは複数ノ(イト命令を読出して処理を行なう。
トレース用メモリ2′にはCPUIがメモリ2をアクセ
スしたアドレスの内、オペコードとして読出しを行なっ
たメモリアドレス値が順次格納される。即ち、CPU1
はある命令を実行後、メモリアドレスを歩進してメモリ
2より出力されるデータをオペコードデータとしてd込
むとともに、トレース用メモリ2′へ7工ツチ信号S 
YNCを出力する。この信号5YNCによってFレース
用メモリ2′はバス3上に出力されているメモリアドレ
スtll[次格納していく。これによってトレース用メ
毫り2′にはCPUIがオペコードをアクセスしたアド
レスが蓄えられ、操作者はとのメそり2′に蓄えられた
アドレスを調べることにより、プログラムが正しく実行
されたか否か調べることがで亀る。
ここで、操作者或いはプログラム作成者が意図した動作
と異なる動作全行なって、CPU1が暴走することを検
知するプログラム暴走検出手段として、従来はアドレス
検出回路4が設けられていた。即ち、アドレス検出回路
4は、CPU1がアクセスするメモリ2へのアドレス値
を常時監視し、CPUIの出力アドレスイ直がメモリ2
のプログラムエリア2aの有するアドレスAo=An以
外の値であればプログラム暴走であると判断し、検出信
号SOを割込み信号としてCPUIに出力するものであ
る。この検出信号SOによりCPUIはプログラム暴走
を検知し、値ちにプログラム実行を中止し、図示しない
表示器によって操作者にプログラム暴走を知らせる等の
処理を行なっていた。
プログラム暴走を知らされた操作者は、1ktl述した
トレース用メモリ2 に格納されているCPU1の実行
アドレスを図示しない表示器等で&11fL、これによ
って、例えばプログラム中の誤t−)た命令等を検出す
ることができる。
このように従来のプログラム暴走検出回路は、CPUI
のプルグラム実行アドレスがメモリ2におけるプログラ
ムエリア外へ暴走した場合のみを検出しているにすぎな
かった。従って、操作者或いはプログム作成者の意図し
ないCPUIの動作が行なわれているにも拘わらず、例
えばプログラムエリア2a内で永久ループ等を起してい
ると、従来のプログラム暴走検出回路4では全く検知で
きないという欠点を有し九。また、プログラム暴走を検
知した場合、プログラム中のたかだか一ケ所のプログラ
ム建スを発見するために、操作者はトレース用メモリ2
 を用いてCPUIの実行アドレスをプログ2五実行の
先頭アドレスよυ1ステップずつトレースする必要があ
り、プログラムトレース(デパック)に多大の時間が費
やされるのみならず、トレース用メモリ2′にも大きな
メモリ容量を有するメモリを用いる必要があるという欠
点をも有した。
(4)発明の目的 本発明の目的は、上述した従来の欠点を取除くへく、操
作者尋によるプログラムトレースが11チに光了し、プ
ログラム中の誤まった命令等を直ちに発見し得るプログ
ラム暴走検出回路を提供するにある。
(5)発明の構成 上記目的を達成するため、本発明のプログラム暴走検出
回路は、処理モードを示すオペコード部及び該オペコー
ド部により指定される処理モードに必要なパラメータを
示すオペランド部によって構成される命令群が格納され
るメモリと、該メモリのアドレスを歩進して該オペコー
ド部をアクセスし、該命令群を実行する処理装置とを有
する命令実行a置において、前記命令群が格納される各
アドレスに対応した格納部を設けるとともに、該格納部
の格納データは対応したメモリアドレスに格納されるデ
ータを区別する区別データを付して構成し、該処理装置
の試出し信号出力と該区別データ出力との所定関係を検
゛出することによυ処理装置の暴走を検出することを特
徴とするものである。
(6)発明の実施レリ 第2@は本発明のプログラム暴走検出回路の一実施例を
示すブロック図である3同図中、2bはマークピットエ
リア、5は一致検出回路であシ、蕗1図と同一部分は園
−符号を付し、その説明は省略する。また、第3図は実
施例の動作を説明する図である。
即ち、本実施例においては、メモリ2のプログラムエリ
ア2&の各アドレスA(1−Anに対応して!−クビッ
Fエリア2bを設け、このマークピット出力を一致検出
回路5への一方の入力とするものである。また、一致検
出回路5の他方の入力には、前述し九CPUIからのフ
エVチ信号5YNC出力が供給される。第2図に示す如
くi−クビットエリア2bの各マークピットの値を、例
えばプログラムエリア2aにオペコードデータータが格
納されているアドレス(ここではアドレスA6 +Al
 、A4)に対応するピットを2進@l”、その他のア
ドレスのピットを2道@O”と設定する。この設定によ
り、オペコードOPが格納されるメモリアドレスがCP
UIによってアクセスされると、アクセスされたオペコ
ードデータと共にマークピットエリア2bよシ2進@1
”の出力がパス3−ヒに出力されることになる。
以下、第3図の説明を基に第2図に示す実施例の動作を
説明する。第1図における場合と同様に操作者によって
アドレスA0よりグログラム実行の設定がなされたとす
ると、CPUIはメモリ2よりアドレスA6に格納され
るデータをオペコードデータとして胱出すとともに、フ
ェッチ信号5YNCを例えば@1”レベルとして出力す
る。アドレスAoがアクセスされたことによって、マー
クピットエリア2bの対応するマークピットの値(この
場合11”)がメモリより出力される。この結果、一致
回路5は第3図に示すように5YNC信号、マークピッ
ト出力ともにレベルl1l111であるのでCPUIが
オペコードデータを正しく絖込んだと判断し、検出信号
SOを正常レベル10”に保つ。
CPU1はアドレスAo より1込んだオペコードデー
タが3バイト命令であることを解読し、メモリアドレス
歩進を行なってアドレスA、及ヒA!のデータを読出す
。この時CPUIはフェッチ信号5YNCQ”O”レベ
ルとし、アトL/スA1 、 AIのデータをオペラン
ドデータとしてフェッチ(読出し)したことを一致回路
5に出力する。このときAI 、 Afiに対応するマ
ークピットも2進″O”と設定されているため、−散積
出回路5へのマークピット出力もレベル@0”となって
いる。これら両者の信号の一致により一致検出回路5は
CPUIによりプログラムが正しく実行されていると判
断すゐ。
CPUIは、アドレスA・〜A、よシ読出した3バイト
命令を実行した後、メモリアドレスを歩進し、アドレス
Asから読出すデータをオペコードデータとしてフェッ
チし、フェッチ信号5YNCを再びレベル11”とじて
−散積出回路5に出力する・このときマータビ1ト出力
もレベル−1#となりアドレスAIのデータがオペコー
ドデータであることを示す。−散積出回路5は上述した
如く両信号入カー歓によシ検出信号SOをレベル10”
に保っている。
CPUIはアドレスA、によりフェッチしたオペコード
が1バイト命令と判断し、所定の処理を行ない、さらに
アドレス歩道によりA4のデータをオペコードデータと
して読出す。以下、同様の動作を行なってCPUIはア
ドレスA、よりオペランドデータ1に読出し、2バイト
命令として指定される処理モードを実行することになる
このように、操作者或いはプログラム作成者によるプロ
グラミングが正しく、且つCPUIがプログラムに従っ
て正しく動作すれば、−散積出回路5へ入力されるフェ
ッチ信号5YNC及びマークビグトイぎ号は全く一致す
る。
ここで例えば、CPUIがアドレスA、のデータをオペ
コードとして読出し、読出したオペコードが2バイト或
いは3バイト命令であると判断すると、CPUIは上述
したメモリアドレス歩進動作に従ってアドレスA4のデ
ータをオペ2ンドテータとして耽出すことになる。この
時、アドレスA4のデータを読出す除、CPUIは5Y
NC旧号をレベル@10”とし、第3図の破線3&で示
すように一致検出回路5に出力することになる。この結
果−散積出回路5は、8YNC信号とマークピッF信号
との一致関係がなくなりたことを検出し、破lll3b
で示すように検出信号SOをレベル11”とじCPtJ
1ヘプログラム暴走検出の割込み信号を出力することK
なる。この検出信号SOによってCPUIは直ちに処理
を中止するとともに、操作者に図示しない表示器により
てプログラム暴走を表示する等の表示を行なう。また、
−散積出回路5の検出信号SOで、図示しないラッチ回
路を駆動し、その時点でのCPUIの出力するメモリア
ドレスをラッチする等の処理も考えられる。
操作者はプログラム暴走の表示によって、上述したラッ
チ回路がラッチし九メモリアドレス値をる。
以上述べたように本実施例においては、一致検出回W&
5によりてCPU4がオペコード或いはオペランドとし
て読出したデータが、プログラム上べ のオtコード、オペランドデータと正しく一致している
か否か監視しているため、CPUIの動作がプログラム
作成者の意図する動作と異なり走時点で直ちにCPTJ
Iのプログラム暴走を検知することかで暫、操作者のプ
ログラムトレース時間を力しているメモリアドレスをラ
ッチすることにより、操作者はプログラム暴走が生じた
プログラム上の箇所を直ちに知ることができ、従来高価
なメモリを用いていたトレース用メモリ2′をも必要と
しないプログラムデパックを行なうことができる等のす
ぐれた効果を有する。
尚、第2図に示したプログラム暴走検出回路は本発明の
一実施1?+1であり、種々の応用が可能である。即ち
、実施例においては、メモリ2内にプログラムエリア2
aに対応するマークピットエリア2bを設けたが、本発
明はこれに限定されず、マークピットエリア2bを新た
なメモリ内の対応するアドレスに割付けてもよいし、各
アドレスをデ  4゜コードしてオペコードとオペラン
ドとを区別して示す信号を発生させてもよい。
また、メモリ2のデータ読出しの際にパリティチェック
を採用している場合は、例えばオペコードが格納される
アドレスに対応するパリティピットの値を反転させ、パ
リティチェックを行なうチェック回路出力によって、本
実施例における一致検出回路5へのマークピット出力を
代用してもよい0 (7)発明の効果 以上詳述したように、本発明によればプログラムが格納
されるメモリ上のプログラムエリア内で(DCPUプロ
グラム暴走をも検知することができ、プログ2ムii時
の7’aグラムトレース(デパック)時間を大幅に短縮
できる。さらに、従来より用いられていた高価なトレー
ス用メモリが不必要、或いは容量の小さいメモリで代用
することができ低価格なプログラム暴走検出回路が実現
できる等のすぐれ九効果を奏する。
【図面の簡単な説明】
第1図は従来のプログラム暴走検出回路を示すブロック
図、第2図は本発明のプログラム暴走検出回路の一実施
例を示すブロック図、第3図は実施例における回路の動
作を示す説明図である。 2はメモリ、2aはプログラムエリア、2bはマークピ
ットエリア、5は一致検出回路である。

Claims (1)

    【特許請求の範囲】
  1. 処理モードを示すオペコード部及び訝オペコード郡によ
    り指定される処理モードに必要なパラメータを示すオペ
    ランド部によって構成される命令群り格納されるメモリ
    と、該メモリのアドレスを歩進して該オペコード部をア
    クセスし、該命令群を実行する処理装置とを有する命令
    実行装置において、前記命令群が格納される各アドレス
    に対応し丸格納部を設けるとともに、該格納部の格納デ
    ータrよ対応したメモリアドレスに格納されるデータを
    区別する区別データをけして構成し、該処理装置の銃出
    し16号出力と該区別データ出力との所定関係t−練出
    することによシ、処理装置の暴走を検出することを特徴
    とするプログラム暴走検出回路。
JP56213687A 1981-12-29 1981-12-29 プログラム暴走検出回路 Pending JPS58115559A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56213687A JPS58115559A (ja) 1981-12-29 1981-12-29 プログラム暴走検出回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56213687A JPS58115559A (ja) 1981-12-29 1981-12-29 プログラム暴走検出回路

Publications (1)

Publication Number Publication Date
JPS58115559A true JPS58115559A (ja) 1983-07-09

Family

ID=16643314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56213687A Pending JPS58115559A (ja) 1981-12-29 1981-12-29 プログラム暴走検出回路

Country Status (1)

Country Link
JP (1) JPS58115559A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962525A (ja) * 1995-08-30 1997-03-07 Nec Ic Microcomput Syst Ltd プログラム暴走検出装置および暴走検出方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962525A (ja) * 1995-08-30 1997-03-07 Nec Ic Microcomput Syst Ltd プログラム暴走検出装置および暴走検出方法

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
JP4703718B2 (ja) 選択的サブルーチンリターン構造
US4757445A (en) Method and apparatus for validating prefetched instruction
JPS63279328A (ja) 仮想計算機システムのゲスト実行制御方式
JPS6250934A (ja) 処理装置の割込制御方式
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
US4266272A (en) Transient microcode block check word generation control circuitry
JPS58115559A (ja) プログラム暴走検出回路
KR940001268B1 (ko) 가변길이의 각 명령에 대하여 지시된 미정의 어드레싱의 감사기능을 가지는 데이타 프로세서
US5499351A (en) Arrangement of detecting branch error in a digital data processing system
US5621909A (en) Specialized millicode instruction for range checking
EP0336091A2 (en) Pipeline type microprocessor
JP3171615B2 (ja) データ転送のリトライ制御方式
US6662296B1 (en) Method and system for testing millicode branch points
US4511983A (en) Apparatus for controlling microinstructions stored in a data processing unit memory
EP0155275B1 (en) Prefetch validation
JP2782471B2 (ja) データ転送のリトライ制御方式
JP2950080B2 (ja) マイクロコンピュータ
JPS6083149A (ja) コンピユ−タ
JPS5955546A (ja) フア−ムウエア処理装置
JP2503210B2 (ja) マイクロプログラム制御装置
JPS6020769B2 (ja) マイクロプログラム制御方式
JP3129873B2 (ja) マイクロコンピュータ
JPH0371236A (ja) エラー検出システム
JPS60193046A (ja) 命令例外検出方式