JPH0962539A - 命令トレース制御方式 - Google Patents

命令トレース制御方式

Info

Publication number
JPH0962539A
JPH0962539A JP7218410A JP21841095A JPH0962539A JP H0962539 A JPH0962539 A JP H0962539A JP 7218410 A JP7218410 A JP 7218410A JP 21841095 A JP21841095 A JP 21841095A JP H0962539 A JPH0962539 A JP H0962539A
Authority
JP
Japan
Prior art keywords
instruction
address
data
current address
branch
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.)
Withdrawn
Application number
JP7218410A
Other languages
English (en)
Inventor
Masahito Ono
優人 大野
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 JP7218410A priority Critical patent/JPH0962539A/ja
Publication of JPH0962539A publication Critical patent/JPH0962539A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】本発明は命令トレースデータを高速に収集する
ことができる命令トレース制御方式を提供することを目
的とする。 【構成】手段11に設けられた手段13で手段12に記
憶された第1プログラムA1の動作開始指示データ(指
示データ)A2を分岐し、手段10に設けられた手段1
5で分岐指示データA2を手段16に退避し、手段19
で手段12から第1プログラムA1の命令B1を読み込
み、この命令B2が分岐命令でなければその命令B2を
手段20に複写し、手段21で手段16に記憶された指
示データA4を復元し、手段22で手段20に記憶され
た命令B3を読み出し、先に復元された指示データA5
に応じて命令B3のトレースを実行し、手段23で手段
22の実行結果である命令トレースデータT1を手段2
4に記憶する。また、手段11と手段10とをオペレー
ティングシステム1に接続された同一データ処理装置3
に配備して構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は命令トレース制御方式に
関する。データ処理装置のハードウエアの性能解析やソ
フトウエアのデバッグのための命令トレースデータを高
速に収集できる命令トレース制御方式が要望されてい
る。
【0002】
【従来の技術】図6に命令トレース制御方式によるコン
ピュータシステム図を示し、その説明を行う。
【0003】この図において、1はトレースデータを収
集するためのプロセス部、2はOS(Operating Syste
m)、3はトレースされるユーザプロセス部、4はプロセ
ス部1に格納された命令トレース制御プログラム、5は
ユーザプロセス部3に格納された被トレースプログラム
である。
【0004】従来、被トレースプログラム5と命令トレ
ース制御プログラム4とは、別々のプロセスとして実行
され、OS2を介在して一命令毎の実行を行っていた。
具体的には、まず、命令トレース制御プログラム4がO
S2に対してトレースを行う指示を付けて被トレースプ
ログラム5の起動を依頼する。この依頼を受けたOS2
が、トレース指示のあった被トレースプログラム5の起
動の際に一命令実行の後に実行する可能性のあるところ
にSVC(Super Viser Call)命令或いは無効命令を埋め
込み実行することにより、一命令実行後に割り込みによ
り再びOS2に制御が返ってくる。
【0005】これを繰り返すことで被トレースプログラ
ム5を一命令ずつ実行することができる。OS2は、一
命令毎に被トレースプログラム5から制御が返ってくる
と命令トレース制御プログラム4に対して被トレースプ
ログラム5の情報を通知すると共に制御を渡す。
【0006】命令トレース制御プログラム4では、OS
2より獲得した被トレースプログラム5の情報を収集す
ると共に、次の命令の実行をOS2に依頼する。以上の
ようにして、命令トレース制御プログラム4はOS2を
介して被トレースプログラム5を一命令ずつ実行してト
レースデータを収集する。
【0007】
【発明が解決しようとする課題】ところで、上述した従
来の命令トレース制御方式においては、被トレースプロ
グラム5を一命令実行する毎にOS2に割り込みを行う
ために、大きなオーバーヘッドがあり、高速に命令レベ
ルのトレースを実現することができない、言い換えれば
高速に命令トレースデータを収集することができない問
題があった。
【0008】本発明は、このような点に鑑みてなされた
ものであり、命令トレースデータを高速に収集すること
ができる命令トレース制御方式を提供することを目的と
している。
【0009】
【課題を解決するための手段】図1に本発明の原理図を
示す。この図で表現する命令トレース制御方式は、被ト
レースプログラムの命令を命令トレース制御プログラム
の制御によりトレースして収集するものである。
【0010】図中、符号10は命令トレース制御プログ
ラムの制御に依存する命令トレース制御手段、11は被
トレース手段である。被トレース手段11において、1
2は第1記憶手段であり、被トレースプログラムを記憶
するものである。13は分岐手段であり、第1記憶手段
12に記憶された被トレースプログラムA1の動作開始
指示を行う動作開始指示データA2を分岐するものであ
る。
【0011】命令トレース制御手段10において、15
は第1環境退避手段であり、分岐手段13で分岐された
動作開始指示データA2を第2記憶手段16に退避する
ものである。
【0012】19は命令複写手段であり、第1記憶手段
12から被トレースプログラムの命令B1を読み込み、
この読み込んだ命令B2が分岐命令でなければその命令
B2を第3記憶手段20に複写するものである。
【0013】21は環境復元手段であり、第2記憶手段
16に記憶された動作開始指示データA4を復元するも
のである。22は命令実行手段であり、第3記憶手段2
0に記憶された命令B3を読み出し、先に復元された動
作開始指示データA5に応じて命令B3のトレースを実
行するものである。
【0014】23は第2環境退避手段であり、命令実行
手段22の実行結果である命令トレースデータT1を第
4記憶手段24に記憶するものである。また、被トレー
ス手段11と命令トレース制御手段10とは、オペレー
ティングシステム1に接続された同一データ処理装置3
に配備されている。
【0015】
【作用】上述した本発明によれば、命令トレース制御手
段10に、被トレースプログラムの動作開始指示データ
A2と命令B1とを読み込んで、動作開始指示データA
2に応じて命令B1のトレースを実行し、この結果を記
憶するので、従来のようにオペレーティングシステム1
を介さず、命令トレース制御手段10内で、被トレース
プログラムの命令のトレースを実現することができる。
【0016】従って、従来のように、被トレースプログ
ラムを一命令実行する毎にオペレーティングシステム1
に割り込みが行われることが無くなり、これによって大
きなオーバーヘッドがなくなるので、高速に命令レベル
のトレースを実現して命令トレースデータを収集するこ
とができる。
【0017】
【実施例】以下、図面を参照して本発明の一実施例につ
いて説明する。図2は本発明の一実施例の命令トレース
制御方式によるコンピュータシステムのブロック構成図
である。この図に示す実施例において図5に示した従来
例の各部に対応する部分には同一符号を付し、その説明
を省略する。
【0018】図2に示す実施例の特徴は、ユーザプロセ
ス部3に命令トレース制御プログラムを有する命令トレ
ース制御部10の他に、被トレースプログラムを有する
被トレース部11を具備し、被トレースプログラムを被
トレース部11で分岐して命令トレース制御部10へ出
力し、OS2を介さず命令トレース制御部10内で命令
レベルのトレースを実現するようにした点にある。
【0019】被トレース部11において、符号12は被
トレースプログラムが記憶された第1メモリ部、13は
分岐部である。命令トレース制御部10において、15
は第1環境退避部、16は第2メモリ部、17は分岐命
令判定部、18は次命令アドレス生成部、19は命令複
写部、20は第3メモリ部、21は環境復元部、22は
命令実行部、23は第2環境退避部、24はメモリ部、
25は次命令アドレスセット部、26は現アドレスメモ
リ部、27は終了判定部であり、これらの各要素は図示
せぬ命令トレース制御プログラムによる命令レベルのト
レースを実現するものである。
【0020】分岐部13は、第1メモリ部12に記憶さ
れた被トレースプログラムA1の被トレースプログラム
動作開始指示データ(以降、動作開始指示データとい
う)A2を分岐して第1環境退避部15へ出力するもの
である。
【0021】この分岐部13による動作は、プログラム
レベルでは、被トレースプログラムのトレース開始位置
に命令を呼び出すための命令であるCALL命令を埋め
込み、そのCALL命令によって実現されるものであ
る。
【0022】第1環境退避部15は、分岐部13から出
力される動作開始指示データA2を読み込み、この読み
込んだ動作開始指示データA3を第2メモリ部16へ退
避させて記憶するものである。
【0023】命令複写部19は、終了判定部27から出
力される起動命令D1によって起動し、まず、図3のス
テップS1に示すように、第1メモリ部12から現アド
レスメモリ部26に記憶された現アドレスAD1が示す
命令データB1を読み込む。
【0024】次に、ステップS2に示すように、ステッ
プS1で読み込んだ命令データB2が分岐命令か否かを
判断し、この判断結果がNO、即ち分岐命令でなければ
その命令データB2をステップS3に示すように第3メ
モリ部20に複写、即ち記憶する。
【0025】一方、判断結果がYES、即ち分岐命令で
あればステップS4に示すようにnop命令(無操作命
令:何もしない命令)Nを第3メモリ部20に複写、即
ち記憶する。
【0026】環境復元部21は、第2メモリ部16に記
憶された動作開始指示データA4を復元、即ち読み出
し、この読み出した動作開始指示データA5を命令実行
部22へ出力するものである。
【0027】命令実行部22は、第3メモリ部20に記
憶された命令データB3を読み出し、動作開始指示デー
タA5に応じて命令データB3のトレースを実行し、こ
の実行結果であるトレースデータT1を第2環境退避部
23へ出力するものである。
【0028】第2環境退避部23は、命令実行部22か
ら入力されたトレースデータT2を第4メモリ部24へ
順次記憶するものである。分岐命令判定部17は、起動
命令D1によって起動し、まず、図4のステップS1に
示すように、命令複写部19で読み込まれた命令データ
B2が分岐命令か否かを判断し、この判断結果がNOで
あれば命令データB2が分岐命令でないことを示す否定
データC1を次命令アドレス生成部18へ出力する。
【0029】YESであればステップS2に示すよう
に、分岐命令が定義された分岐条件によって成立するも
のであるか否かを判断し、この判断結果がNOであれば
否定データC1を次命令アドレス生成部18へ出力し、
YESであれば命令データB2が分岐命令であることを
示す肯定データC2を次命令アドレス生成部18へ出力
する。
【0030】次命令アドレス生成部18は、分岐命令判
定部17から否定データC1が入力された場合に、図4
のステップS3に示すように、現アドレスメモリ部26
から出力される現アドレスAD1の次のアドレスを次命
令アドレスAD2として次命令アドレスセット部25へ
出力する。
【0031】また、分岐命令判定部17から肯定データ
C2が入力された場合に、図4のステップS4に示すよ
うに、分岐命令によって定義される分岐先アドレスを次
命令アドレスAD2として次命令アドレスセット部25
へ出力する。
【0032】次命令アドレスセット部25は、次命令ア
ドレス生成部18から出力される次命令アドレスAD3
を現アドレスメモリ部26へセットすると共に、次命令
アドレスAD3を終了判定部27へ出力する。
【0033】終了判定部27は、次命令アドレスAD3
が所定アドレス値となった場合に命令トレース制御を終
了させ、所定アドレス値以外の場合に分岐命令判定部1
7及び命令複写部19へ起動命令D1を出力するもので
ある。
【0034】このような実施例構成による被トレースプ
ログラムの命令レベルのトレース動作を図5に示すフロ
ーチャートを参照して説明する。まず、図5に示すステ
ップS1において分岐処理が行われる。即ち、被トレー
ス部11の分岐部13が、第1メモリ部12に記憶され
た被トレースプログラムA1の被トレースプログラム開
始動作動作開始指示データA2を分岐して第1環境退避
部15へ出力する 次に、ステップS2において環境退避処理が行われる。
即ち、第1環境退避部15が動作開始指示データA2を
読み込み、この読み込んだ動作開始指示データA3を第
2メモリ部16へ退避させる。
【0035】次に、ステップS3において命令の複写処
理が行われる。即ち、命令複写部19が上述で図3を参
照して説明したように、第1メモリ部12から現アドレ
スAD1が示す命令データB1を読み込み、この読み込
んだ命令データB2が分岐命令でなければその命令デー
タB2を第3メモリ部20に複写し、分岐命令であれば
nop命令Nを第3メモリ部20に複写する。
【0036】次に、ステップS4において環境復元処理
が行われる。即ち、環境復元部21が、第2メモリ部1
6に記憶された動作開始指示データA4を復元し、この
復元した動作開始指示データA5を命令実行部22へ出
力する。
【0037】次に、ステップS5において命令実行処理
が行われる。即ち、命令実行部22が、第3メモリ部2
0に記憶された命令データB3を読み出し、動作開始指
示データA5に応じて命令データB3のトレースを実行
し、この実行結果であるトレースデータT1を第2環境
退避部23へ出力する。
【0038】次に、ステップS6において環境退避処理
が行われる。即ち、第2環境退避部23が、命令実行部
22から出力されるトレースデータT2を第4メモリ部
24へ順次記憶する。
【0039】次に、ステップS7において分岐命令の判
定処理が行われる。即ち、分岐命令判定部17が、起動
命令D1によって起動し、上述で図4を参照して説明し
たように、命令データB2が分岐命令でなければ否定デ
ータC1を次命令アドレス生成部18へ出力し、分岐命
令であれば、その分岐命令が定義された分岐条件によっ
て成立するものであるか否かを判断し、この判断結果、
分岐条件が成立しなければ否定データC1を次命令アド
レス生成部18へ出力し、分岐条件が成立すれば肯定デ
ータC2を次命令アドレス生成部18へ出力する。
【0040】次に、ステップS8において次の命令アド
レスの生成処理が行われる。即ち、次命令アドレス生成
部18が、上述の図4で説明したように、否定データC
1が入力された場合に現アドレスAD1の次のアドレス
を次命令アドレスAD2として次命令アドレスセット部
25へ出力し、また、肯定データC2が入力された場合
に分岐命令によって定義される分岐先アドレスを次命令
アドレスAD2として次命令アドレスセット部25へ出
力する。
【0041】次に、ステップS9において、次命令アド
レスを現アドレスへセットする処理が行われる。即ち、
次命令アドレスセット部25が、次命令アドレスAD3
を現アドレスメモリ部26へセットすると共に、次命令
アドレスAD3を終了判定部27へ出力する。
【0042】次に、ステップS10において終了判定が
行われる。即ち、終了判定部27が、次命令アドレスA
D3が所定アドレス値であるか否かを判断し、この判断
結果がYESであればトレース処理を終了させる。
【0043】NOであれば分岐命令判定部17及び命令
複写部19へ起動命令D1を出力することによって、ス
テップS3における命令の複写処理、及びこの処理に係
わる処理が再起動されるようにすると共に、ステップS
7における分岐命令の判定処理、及びこの処理に係わる
処理が再起動されるようにする。
【0044】以上の動作が行われることによって、OS
2を介さず命令トレース制御部10内で、被トレースプ
ログラムの命令レベルのトレースを実現することができ
るので、従来のように、被トレースプログラムを一命令
実行する毎にOSに割り込みが行われることが無くな
り、これによって大きなオーバーヘッドがなくなるの
で、高速に命令レベルのトレースを実現して命令トレー
スデータを収集することができる。
【0045】
【発明の効果】以上説明したように、本発明の命令トレ
ース制御方式によれば、命令トレースデータを高速に収
集することができる効果がある。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の一実施例の命令トレース制御方式によ
るコンピュータシステムのブロック構成図である。
【図3】図2に示す命令複写部の処理を説明するための
フローチャートである。
【図4】図2に示す分岐命令判定部の処理を説明するた
めのフローチャートである。
【図5】図2の動作を説明するためのフローチャートで
ある。
【図6】従来例の命令トレース制御方式によるコンピュ
ータシステムのブロック構成図である。
【符号の説明】
1 OS 3 データ処理装置(ユーザプロセス部) 10 命令トレース制御手段 11 被トレース手段 12 第1記憶手段 13 分岐手段 15 第1環境退避手段 16 第2記憶手段 19 命令複写手段 20 第3記憶手段 21 環境復元手段 22 命令実行手段 23 第2環境退避手段 24 第4記憶手段 A1 被トレースプログラム A2,A3,A4,A5 被トレースプログラムの動作
開始指示データ B1,B2,B3 被トレースプログラムの命令 T1 命令トレースデータ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 被トレースプログラムの命令を命令トレ
    ース制御プログラムの制御によりトレースして収集する
    命令トレース制御方式において、 被トレース手段に、 前記被トレースプログラムを記憶する第1記憶手段と、 該第1記憶手段に記憶された被トレースプログラムの動
    作開始指示データを分岐する分岐手段とを具備し、 前記命令トレース制御プログラムの制御に依存する命令
    トレース制御手段に、 該分岐手段で分岐された動作開始指示データを第2記憶
    手段に退避する第1環境退避手段と、 該第1記憶手段から該被トレースプログラムの命令を読
    み込み、この読み込んだ命令が分岐命令でなければその
    命令を第3記憶手段に複写する命令複写手段と、 該第2記憶手段に記憶された動作開始指示データを復元
    する環境復元手段と、 該第3記憶手段に記憶された命令を読み出し、該復元さ
    れた動作開始指示データに応じて命令のトレースを実行
    する命令実行手段と、 該命令実行手段の実行結果である命令トレースデータを
    第4記憶手段に記憶する第2環境退避手段とを具備し、 前記被トレース手段と前記命令トレース制御手段とを、
    オペレーティングシステムに接続された同一データ処理
    装置に配備したことを特徴とする命令トレース制御方
    式。
  2. 【請求項2】 前記命令複写手段が読み込んだ前記被ト
    レースプログラムの命令が分岐命令の場合に無操作命令
    を第3記憶手段に複写するようにしたことを特徴とする
    請求項1記載の命令トレース制御方式。
  3. 【請求項3】 現アドレスがセットされる現アドレス記
    憶手段と、 該命令複写手段が読み込んだ前記被トレースプログラム
    の命令が分岐命令でない場合に、該現アドレス記憶手段
    にセットされた現アドレスの次のアドレスを次に実行す
    る現アドレスとしてセットするアドレスセット手段とを
    具備し、 該命令複写手段が、現アドレス記憶手段にセットされた
    現アドレスの示す命令を該被トレースプログラムから読
    み込むようにしたことを特徴とする請求項1又は2記載
    の命令トレース制御方式。
  4. 【請求項4】 前記アドレスセット手段が、前記命令複
    写手段が読み込んだ前記被トレースプログラムの命令が
    分岐命令の場合に、該分岐命令が定義分岐条件によって
    成立するものであるか否かを判断し、分岐条件が成立す
    る場合に分岐命令によって定義される分岐先アドレスを
    次に実行する現アドレスとして前記現アドレス記憶手段
    にセットするようにしたことを特徴とする請求項3記載
    の命令トレース制御方式。
  5. 【請求項5】 前記アドレスセット手段が、前記分岐命
    令が定義分岐条件によって成立するものであるか否かを
    判断した結果、分岐条件が成立しない場合に前記現アド
    レス記憶手段にセットされた現アドレスの次のアドレス
    を次に実行する現アドレスとしてセットするようにした
    ことを特徴とする請求項4記載の命令トレース制御方
    式。
  6. 【請求項6】 前記現アドレス記憶手段にセットされる
    前記次に実行する現アドレスが所定アドレス値の場合
    に、前記アドレスセット手段にアドレスのセット処理を
    停止させると共に、前記命令複写手段が行う前記命令の
    読み出し処理を停止させる終了判定手段を具備したこと
    を特徴とする請求項3〜5の何れかに記載の命令トレー
    ス制御方式。
  7. 【請求項7】 前記終了判定手段が、前記現アドレス記
    憶手段にセットされる前記次に実行する現アドレスが所
    定アドレス値でない場合に、前記アドレスセット手段に
    アドレスのセット処理を実行させると共に、前記命令複
    写手段に前記命令の読み出し処理を実行させるようにし
    たことを特徴とする請求項6記載の命令トレース制御方
    式。
JP7218410A 1995-08-28 1995-08-28 命令トレース制御方式 Withdrawn JPH0962539A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7218410A JPH0962539A (ja) 1995-08-28 1995-08-28 命令トレース制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7218410A JPH0962539A (ja) 1995-08-28 1995-08-28 命令トレース制御方式

Publications (1)

Publication Number Publication Date
JPH0962539A true JPH0962539A (ja) 1997-03-07

Family

ID=16719482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7218410A Withdrawn JPH0962539A (ja) 1995-08-28 1995-08-28 命令トレース制御方式

Country Status (1)

Country Link
JP (1) JPH0962539A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094475A (ja) * 2005-09-27 2007-04-12 Seiko Epson Corp 半導体集積回路、並びに、デバッグ方法及びデバッグシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094475A (ja) * 2005-09-27 2007-04-12 Seiko Epson Corp 半導体集積回路、並びに、デバッグ方法及びデバッグシステム

Similar Documents

Publication Publication Date Title
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
JPH06309178A (ja) 割込処理コードによって割込みを処理するための方法およびコンピュータシステム
JPH0962539A (ja) 命令トレース制御方式
CA1304823C (en) Apparatus and method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
IE79236B1 (en) Apparatus and method for recovering from page faults in vector data processing operations
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPS62125437A (ja) 付加プロセツサの制御方法
JP2795676B2 (ja) プログラムトレース装置
JP2663895B2 (ja) Cpuシミュレータ
JPH0772874B2 (ja) 割込み受取り装置
JPH0150936B2 (ja)
JP2564290B2 (ja) 命令再開処理方法および装置
JPH06110857A (ja) プログラムディスパッチ方式
JPH08320813A (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
JP3102381B2 (ja) タスクデバッグ装置、タスクデバッグ方法及びその記録媒体
JPH05250161A (ja) マイクロコンピュータ装置
JP2506591B2 (ja) 補助処理装置
JP3116819B2 (ja) マイクロプログラムのリトライ制御方式
JP2584528Y2 (ja) 情報処理装置
JPH06295252A (ja) 計算機
JPH0833825B2 (ja) マイクロプロセッサ
JPS63214856A (ja) デ−タ処理装置のデ−タ保護制御方式
JPH0816431A (ja) 利用者プログラムのデバッグ処理システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021105