JPS5924355A - ブランチトレ−スヒストリ処理方式 - Google Patents

ブランチトレ−スヒストリ処理方式

Info

Publication number
JPS5924355A
JPS5924355A JP57134986A JP13498682A JPS5924355A JP S5924355 A JPS5924355 A JP S5924355A JP 57134986 A JP57134986 A JP 57134986A JP 13498682 A JP13498682 A JP 13498682A JP S5924355 A JPS5924355 A JP S5924355A
Authority
JP
Japan
Prior art keywords
address
branch
instruction
memory
register
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
JP57134986A
Other languages
English (en)
Inventor
Sukezumi Koike
小池 夫澄
Takio Tezuka
手塚 多喜男
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 JP57134986A priority Critical patent/JPS5924355A/ja
Publication of JPS5924355A publication Critical patent/JPS5924355A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software

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)発明の技術分野 本発明はブランチトレースヒストリ処理方式、特にいわ
ゆるブランチトレース機能全有するデータ処理装置にお
いて、分岐命令のトレースアドレスを所望のメモリ領域
に順次蓄積できるようにしたブランチトレースヒストリ
処理方式に関するものである。
(2)従来技術と問題点 データ処理装置においては、ソフトウェアのデバッグお
よびハードウェアのデバッグを容易にするための各種プ
ログラム監視機能が装備されている。その一つとして、
例えばプログラムイベントレコーディング(PER)が
ある。プログラムイベントレコーディングは、プログラ
ム状態語(PSW)および制御レジスタに設定された条
件によシ、分岐命令における分岐成功事象、指定された
主記憶領域からの命令読出し事象、指定された主記憶領
域内の内容変更事象または指定された汎用レジスタ内の
内容変更事象等を監視する。
分岐成功事象の監視は、次のようにして行う。
プログラム状態語のプログラムイベントレコーディ/グ
用−Yスフを1にし、第9制御レジスタの分岐成功イベ
ントマスクを1にする。こうすることによって、分岐命
令を実行して、その分岐が成功したときに、プログラム
割込みが発生する。このとき、事象を起こした命令アド
レスは、ハードウェア固定領域に格納される。従って、
予めプログラム割込み処理ルーチンとして、割込みコー
ドを判定し、割込コードが分岐成功事象検出を示す場合
に、上記ハードウェア固定領域から成功した分岐命令の
アドレスを収集するルーチンを組込んでおけば、ブラン
チのトレースが可能である。
しかし、上記従来の方式によれば、成功した分岐命令の
アドレスは、1命令分だけのハードウェアの固定領域に
格納され、その履歴ケとるためには、プログラム割込み
ルーチンであるソフトウェア・プログラムでしか行うこ
ンができ麿い−・そのタメ、特にハードウェアのデバッ
グ時においては、命令処理ルートの解析には、多大な時
間を費するという問題があった。また、プログラム割込
みルーチンにバグが生じる可能性もあシ、ハードウェア
のデバッグを目的としている場合であっても、ソフトウ
ェアのデバッグも併せて行なわなければならず、異常が
生じた場合には、ハードウェアに欠陥があるのか、ソフ
トウェアに欠陥があるのかの切分けも必要であった。
(3)発明の目的と構成 本発明は上記問題点の解決を図シ、成功した分岐命令の
命令アドレスが、自動的に順次所望のメモリ領域に蓄積
されるようにし、該メモリを参照することによシ、予め
ソフトウェアのプログラム割込成することなく、命令処
理ルートの履歴を認知できるようにすることを目的とし
ている。そのため、本発明のブランチトレースヒストリ
処理方式は、メモリから命令をフェッチして実行し、そ
の冥行した命令が分岐命令であって分岐に成功した場合
に、その分岐命令の命令アドレス全メモリに格納するブ
ランチトレース機能を有するデータ処理装談において、
上記命令アドレスを格納するメモリアドレスが設定され
るブランチトレース・ストアアドレス設定レジスタを設
けるとともに、分岐成功事象検出時に上記ブランチトレ
ース・ストアアドレス設定レジスタの内容を入力して次
の上記命令アドレスを格納するメモリアドレスに更新し
て再設定する演算回路を設け、成功した分岐命令の命令
アドレスを順次アドレスを更新しながらメモリへ格納す
ることを特徴としている。以下図面を参照しつつ説明す
る。
(4)発明の実施例 第1図は本発明の一実施例構成、第2図は演算回路の詳
細説明図、第3図はメモリへのトレース情報格納態様説
明図を示す。
図中、1は制御回路、2iiブランチトレース・ストア
アドレス設定レジスタ、3は演算回路、4はリザルト・
レジスタ、5はメモリアクセスアドレス作成回路、6は
アドレスアダー、7け実効アドレスレジスタ、8はメモ
リ、9ないし11はゲートを表わす。
制御回路1は、図示しないプログラム状態語(PAW 
) オよび制御レジスタのマスク状態に従って。
分岐成功事象を検出し、ゲート9ないし11をコントロ
ールする回路である。分岐成功事象を検出する回路構成
等は、従来とはは同様でよく、詳細な説明は省略するが
、特に分岐成功事象を検出したときに、プログラム割込
みによってソフトウェアに通知する回路分設ける必要は
ない。
ブランチトレース・ストアアドレス設定レジスタ2は、
分岐成功事象が検出されたときに、その分岐命令の命令
アドレスを格納するためのメモリ8のアドレスが設定さ
れるレジスタである。演算回路3は、分岐成功事象の検
出ごとに、ブランチトレース・ストアアドレス設定レジ
スタ21の内容全入力して、更新し、結果をリザルト・
レジスタ4に設定する回路である。
操作者は、ブランチトレースを実行する場合には、予め
メモリ8の任意の空領域のアドレスを、ブランチトレー
ス・ストアアドレス設定レジスタ2に初期設定する。分
岐成功事象が発生し、ブランチトレース条件が満足され
ると、制御回路工は、ゲート11を開き、レジスタ2の
内容を演算回路3に入力させる。演算回路3は、この内
容に対して、1個の分岐命令アドレスの格納に必要な領
域の長さの固定値2例えば「4」を加えて、結果をリザ
ルト、レジスタ4にセットする。このリザルト・レジス
タ4にセットされた内容は、制御回路1によるゲート9
.1?よび10の制御によシ、メモリアクセスアドレス
作成回路5に供給されるとともに、ブランチトレース・
ストアアドレス設定レジスタ2に供給され、再設定され
る。
メモリアクセスアドレス作成回路5に供給されたアドレ
スは、アドレスアダー6をスルーして、実効アドレスレ
ジスタ7にセットされ、メモリ8のアクセスアドレスを
与える。このアドレスのメモリ8上の領域に、図示省略
したデータバスから供給される分岐成功事象に係る分岐
命令のアドレス情報が格納されることになる。以f1 
ブランチトレース条件が発生するごとに上記処理がなさ
れメモリ8内にブランチ・トレース時の命令アドレスが
蓄積される。
演算回路3は1例えば第2図図示の如く構成される。第
2図中、符号3 、4Fi第1図に対応し、12はサー
ビスプロセッサ(SVP)、13は比較回路、14は更
新回路、15は条件設定部を表わす。
条件設定部15には、予め例えばサービスプロセッサ1
2のスキャンイン/スキャンアウトインタフェースによ
り、トレースする分岐命令の個数または分岐命令アドレ
スの格納用に用意されたメモリ8の領域の範囲等の各種
条件が、設定される。比較量Fl+13は、ブランチト
レース、ストアアドレス設定レジスタ2から供給された
アドレスと、条件設定部151’17設定された条件と
を比較し、新アドレスが設定条件を満足するかどうかを
判定する。満足する場合には、更新回路1417rよっ
て、入力アドレスr(固定値を加え、リザルト・レジス
タ4にセットする。設定条件から外れる場合には、例え
ば更新回路14による加算動作を停止する七か、リザル
ト・レジスタ4に初期設定値を再設定するとかの処理を
実行する。
分岐命令アドレスの格納領域として、例えば第3図図示
の如く、α番地から(α+4tL)番地までの領域が指
定されたとする。ブランチ・トレース条件が発生するご
とに、第3図図示の番号(11、(21、(3) 、・
・・・・・の順に分岐命令アドレスが格納されていく。
番号体)の領域オで格納されると、次に比較回路13の
条件判定結果に従って、例えばリザルト・レジスタ4が
再びcL番地をポイントするよう再設定され、同様VC
(n + 1 )、(n+2)、(n+3)、・・・・
・・の順で分岐命令アドレスがオーバー・ライトされる
。この処理は、イベントマスクの解除またはデータ処理
装置の実行停止まで続けられる。また、条件設定部15
への設定条件により、オーバー・ライトすることなく、
第n番目の分岐命令アドレスの格納後にトレースを停止
するようにしてもよい。
なお、上記演算回路3による処理を、マイクロプログラ
ムrCよって実行制御するようにしてもよい。
収集した分岐命令のトレースアドレスをダンプすれは、
命令処理ルートを解析することができ、ソフトウェアお
よびハードウェアのデバッグに役立てることができる。
(5)発明の効果 “− 以上説明した如く本発明によれば、任意のメモリ領域に
分岐命令のトレースアドレスを蓄積することができ、ソ
フトウェアおよびハードウェアのデバッグを簡易に行う
ことができるようになる。
予め分岐命令アドレスを1個ずつ固定領域から読み出し
C5他の場所に転送するようなプログラム割込みルーチ
ンを作成する必要rriなく、デバッグ環境を整Aる処
理が簡略化さすLるとともに、プログラム割込みによっ
て通常の処理ルートを変更することもなく、迅速にトレ
ース情報を収集することができる。
【図面の簡単な説明】
第1図d本発明の一実施例構成、m2図は演算回路の詳
細説明図、第3図はメモリへのトレース情報格納態様説
明図を示す。 図中% 1は制御回路、2はブランチトレース・ストア
アドレス設定レジスタ、3は演算回路、4はリザルト・
レジスタ、5はメモリアクセニアドレス作成回路、8t
riメモリヶ表わす。 特許出願人  富士通株式会社

Claims (1)

    【特許請求の範囲】
  1. メモリから命令を7エツチして実行し、その実行した命
    令が分岐命令であって分岐に成功した場合に、その分岐
    命令の命令アドレスをメモリに格納するブランチトレー
    ス機能を有するデータ処理装置において、上記命令アド
    レスを格納するメモリアドレスが設定されるブランチト
    レース・ストアアドレス設定レジスタを設けるとともに
    、分岐成功事象検出時に上記ブランチトレース・ストア
    アドレス設定レジスタの内容を入力して次の上記命令ア
    ドレスを格納するメモリアドレスに更新して再設定する
    演算回路を設け、成効した分岐命令の命令アドレスを順
    次アドレスを更新しながらメモリへ格納することを蒔徴
    とするブランチトレースヒストリ処理方式。
JP57134986A 1982-07-31 1982-07-31 ブランチトレ−スヒストリ処理方式 Pending JPS5924355A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57134986A JPS5924355A (ja) 1982-07-31 1982-07-31 ブランチトレ−スヒストリ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57134986A JPS5924355A (ja) 1982-07-31 1982-07-31 ブランチトレ−スヒストリ処理方式

Publications (1)

Publication Number Publication Date
JPS5924355A true JPS5924355A (ja) 1984-02-08

Family

ID=15141249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57134986A Pending JPS5924355A (ja) 1982-07-31 1982-07-31 ブランチトレ−スヒストリ処理方式

Country Status (1)

Country Link
JP (1) JPS5924355A (ja)

Similar Documents

Publication Publication Date Title
GB2197506A (en) Providing and handling break points in a software monitor
JP2003508864A (ja) スレッド志向デバッギング
JPS5924355A (ja) ブランチトレ−スヒストリ処理方式
JPS59178542A (ja) 情報処理装置
JPH0283749A (ja) マイクロプロセッサの内部割込み制御方式
JPH03294934A (ja) 高級プログラム言語用デバッガ
JPH0581087A (ja) プロセサのモニタ方式
JPS6142301B2 (ja)
JPS6042968B2 (ja) 情報処理装置
JPS61169944A (ja) プログラムのテスト機構
JP3097750B2 (ja) オンライン中の情報収集方式
JPH0410139A (ja) 知識ベースを利用した動的バグ検出方式
JPS62109140A (ja) プログラム処理装置のトレ−ス回路
JPS63289654A (ja) プログラム分岐命令モニタ方式
JPH11119992A (ja) ファームウェアのトレース制御装置
JPS63226745A (ja) プロセツサシステム
JPH0772874B2 (ja) 割込み受取り装置
JPS59202550A (ja) デバツグ装置
JPH03127234A (ja) 計算機システムのプログラムデバッグ装置
JPS6255175B2 (ja)
JPS6240550A (ja) プログラムデバツク装置
JPH01158541A (ja) プログラム走行ルートの収集方式
JPH02292637A (ja) 仮想計算機
JPH04167146A (ja) 情報処理装置のアドレストレース方式
JPS61141046A (ja) デバツグ割込み制御方式