JP3019922B2 - トレースデータ削減方式 - Google Patents

トレースデータ削減方式

Info

Publication number
JP3019922B2
JP3019922B2 JP9189322A JP18932297A JP3019922B2 JP 3019922 B2 JP3019922 B2 JP 3019922B2 JP 9189322 A JP9189322 A JP 9189322A JP 18932297 A JP18932297 A JP 18932297A JP 3019922 B2 JP3019922 B2 JP 3019922B2
Authority
JP
Japan
Prior art keywords
value
resource
program counter
output
trace data
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 - Fee Related
Application number
JP9189322A
Other languages
English (en)
Other versions
JPH1124958A (ja
Inventor
直道 米澤
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP9189322A priority Critical patent/JP3019922B2/ja
Publication of JPH1124958A publication Critical patent/JPH1124958A/ja
Application granted granted Critical
Publication of JP3019922B2 publication Critical patent/JP3019922B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はトレースデータ削減
方式に関し、特に情報処理装置の性能を解析するために
実際の情報処理装置上でユーザプログラムがどのような
シーケンスで実行されるのかを表す実行履歴であるトレ
ースデータを削減して記録するトレースデータ削減方式
に関する。
【0002】
【従来の技術】従来、性能評価のために命令の実行履歴
であるトレースデータを採取する場合、1命令毎にデバ
グ割り込みを発生させ、このデバグ割り込みによりスタ
ックフレーム上などに格納された情報処理装置の持つプ
ログラムカウンタ,命令語,レジスタなどのリソースの
値を、そのまま外部記憶装置に出力していた。そのた
め、一般的な情報処理装置が1つの命令でアクセスでき
るリソースの数が1から数個程度であるのに対し、外部
記憶装置には更新されていないリソースの値を含むすべ
てのリソースの値が記録されることになり、効率の悪い
データ列となっていた。
【0003】そこで、1命令毎に変化したリソースの値
だけを記録することにより、外部記憶装置に記憶される
データの効率を改善することが可能であり、その従来技
術として、特開平7−191875号公報(以下、先行
技術文献という)に開示されたデバッガーがある。この
従来のデバッガーには、プログラムを1ステップずつ実
行するとともに、1命令実行する毎に情報処理装置の状
態を出力するトレース実行手段と、トレース実行手段の
出力する情報処理装置の状態を保持する実行状態保持手
段と、トレース実行手段の出力する情報処理装置の状態
と実行状態保持手段の情報とから変更履歴を作成する実
行出力抽出手段と、この変更履歴を記憶する変更履歴保
持手段とが含まれている。ただし、上記先行技術文献に
は、変更履歴の構成や構造に関する記述はない。また、
先行技術文献第3頁右段の25行目から29行目に示さ
れる実施例の記述から、変更のあったメモリやレジスタ
の種類と、レジスタ番号やメモリのアドレスおよび実際
の値からなる履歴情報であると考えられる。加えて、上
記先行技術文献において、実行出力抽出手段は、変更の
あった情報を出力する以外、特段の機能を有していない
ことから、これら履歴情報は、履歴情報間の相互関係な
どを意識した構造になっていないと考えられる。また、
変更された情報列のみを変更履歴保持手段に記憶した場
合、1命令分の区切りを認識することが不可能となって
しまうため、必然的に1命令分を識別するための区切り
情報が必要になると考えられる。
【0004】以上から、先行技術文献の変更履歴保持手
段に記録される1つのリソースに関する履歴情報は、図
12に示すような形式になると考えられる。
【0005】図12は、1つの履歴情報に関するデータ
形式の例であり、ここでは、これを単位情報と呼ぶ。こ
の単位情報には、そこに保持されている情報の種類、た
とえばプログラムカウンタ,レジスタ,メモリといった
リソースを示す識別情報21と、各種類毎の位置、たと
えばレジスタの場合はレジスタ番号、メモリの場合はメ
モリのアドレスを示す位置情報22と、情報の内容その
ものを示す内容23とが含まれる。
【0006】図13は、ある命令でレジスタの1番が1
234の内容でアクセスされた場合のレジスタ1に関す
る単位情報の例を示す。図13において、識別情報21
にはレジスタを示す識別情報Rが登録される。また、位
置情報22にはレジスタ番号の1に対応する情報が登録
される。同様に、内容23には、アクセスされたレジス
タの1番の内容である1234が登録されることにな
る。
【0007】上記先行技術文献では、1命令毎に変化の
あったリソースの単位情報を実行履歴として変更履歴保
持手段に残すことができるため、この実行履歴を外部記
憶装置などに出力することにより、プログラムの実行履
歴であるトレースデータを作成できる。
【0008】そこで、上記先行技術文献のデバッガーを
使用して、トレースデータを採取した場合、どのような
トレースデータが採取されるかについて説明する。
【0009】まず、図2はトレースデータを採取する情
報処理装置の条件、図14はリソースと単位情報の中の
識別情報との対応表を示す。
【0010】図5は、トレースデータを採取する5つの
命令の実行イメージを1命令毎に別々の表で示してい
る。図5の表の見方は、リソースの列がアクセスされる
リソースの種類、位置の列が各リソースの位置情報、フ
ィールド位置が命令語内のアドレス指定フィールドの位
置、アクセス内容がアクセスされた各リソースの値を示
す10進の値である。
【0011】図5において、位置の欄が”−”となって
いるものは、その欄に対応するリソースが1つしかな
く、位置情報を必要としないものである。フィールド位
置の欄が”−”となっているものは、その欄に対応して
いるリソースがメモリではなく、アドレス指定フィール
ドを必要としないものである。
【0012】たとえば、図5の1命令目の表は、命令語
が10、プログラムカウンタが1002、レジスタ2お
よびレジスタ8がそれぞれ444および666の値でア
クセスされ、命令語のアドレス指定フィールドの1番で
示された120番地のアドレスのメモリが888の値で
アクセスされたことを示している。
【0013】図15は、図2および図14で示した条件
により、図5で示した5つの命令を順に実行した場合に
トレースデータとして採取される実行履歴を示した表で
ある。
【0014】図15において、トレースデータと記述さ
れた列の、識別情報,位置情報および内容がトレースデ
ータとして出力される値である。まず、図5に示した1
命令目が実行されると、はじめに命令の区切りを示すた
めの識別情報である”S”を持ったトレースデータが出
力される。次に、1命令目ではプログラムカウンタおよ
び命令語が内容1002および10でアクセスされてい
ることから、識別情報および内容が”P”および100
2ならびに”I”および10となるトレースデータが出
力される。また、1命令目ではレジスタ2,8およびメ
モリの120番地がそれぞれ内容444,666および
888でアクセスされていることから、それぞれの識別
情報,位置情報および内容を”R”,2および444
と、”R”,8および666と、”M”,120および
888としたトレースデータが出力され、これが図15
の1命令目の行に記述されたトレースデータに対応す
る。
【0015】次に、図15の2命令目が実行されると、
まず、1命令目と同様に、命令の区切りを示すために区
切り情報”S”を持った識別情報が出力される。次に、
2命令目では、プログラムカウンタおよび命令語が10
06および456の内容でアクセスされていることか
ら、識別情報および内容を”P”および1006ならび
に”I”および456としたトレースデータが出力され
る。また、2命令目では、レジスタ15およびメモリ1
の480番地が135および1010の内容でアクセス
されていることから、それぞれの識別情報,位置情報お
よび内容を”R”,15および135ならびに”M”,
480および1010としたトレースデータが出力さ
れ、これが図15の2命令目の行にかかれたトレースデ
ータに対応する。
【0016】同様に、図5の3,4および5命令目を実
行した場合に後で採取されるトレースデータを示したの
が、図15の3,4および5命令目の行である。
【0017】以上から、図15のトレースデータの列
が、図5の1命令目から5命令目までを順番に実行した
場合のトレースデータに対応することになる。
【0018】ここで、この従来例におけるトレースデー
タの情報量について検討する。まず、トレースデータ上
の各情報の情報量を、図7に示す。図7において、識別
情報のビット数は、図14の表から少なくとも5種類必
要であることから3ビットとしている。命令語長は、図
5に示されている命令語長が対応する。
【0019】図7のトレースデータ上の情報量の条件に
より、従来例で採取したトレースデータの情報量を示し
たのが、図15中の情報量の欄であり、各欄の値は対応
する単位情報毎のビット数を示す。また、合計の行に、
5命令分すべてのトレースデータの情報量を示す。した
がって、この従来例では、図2および図14に示した条
件下において図5で示した5つの命令列を実行した場
合、採取されるトレースデータのビット数は627ビッ
トとなる。
【0020】以上のように、上記先行技術文献のデバッ
ガーにおいても、命令毎に1命令前との変更部分をチェ
ックし、変更された情報のみを記憶していくことで、す
べてのリソースの値を保持することなく各命令毎の実行
履歴であるトレースデータを採取することが可能であ
る。
【0021】しかしながら、情報処理装置の持つ情報に
はいくつかの特性がある。たとえば、通常、情報処理装
置では、1命令毎にプログラムカウンタ,命令語,レジ
スタなどの複数のリソースがアクセスされる。したがっ
て、従来例のように更新されたリソースを識別するた
め、1つのリソース毎に専用の識別情報を持たせると、
トレースデータ上では、アクセスされた情報の数に比例
した識別情報が必要になる。加えて、トレースデータへ
の出力が必要となるレジスタなどのすべての数は、それ
ぞれの情報処理装置のアーキテクチャや性能解析を行い
たい内容にも依存するが、数十程度の場合が一般であ
り、その場合、リソース毎に識別情報を与えるより、各
リソースと1対1で対応したビットパターンで表現した
方が、同時に複数のリソースに対するアクセスの有無を
表現できることから、トレースデータ内に登録されるリ
ソースの数に比例して増える識別情報が不要な分、全体
としての情報量を減らすことが可能である。
【0022】また、メモリのアクセスについては、一般
の情報処理装置の場合、命令語の値と命令実行時のレジ
スタの値とが既知であれば、その命令によってアクセス
されるメモリのアドレスを導き出すことが可能であり、
上記先行技術文献のように、メモリの位置を実行履歴と
して持つ必要はなく、無駄な情報である。
【0023】加えて、プログラムカウンタは、通常、1
命令毎に更新されるとともに、多くの場合、実行された
命令の命令語長でインクリメントされるため、1命令毎
にプログラムカウンタ全体の値を実行履歴として記録す
ることには無駄が多い。
【0024】以上の点から、上記先行技術文献のよう
に、1命令前のリソースの値と現在のリソースの値との
差分から単純に実行履歴を作成する方法を流用すること
でも、すべてのリソースの値を保存する場合に比べ、デ
ータ量を削減したトレースデータを作成することは可能
である。しかし、情報処理装置の特性を考えた場合、無
駄な情報が多く含まれる情報となってしまい、数億命令
単位の実ジョブのトレースデータを採取するためには、
上記先行技術文献の構成を利用したトレースデータの採
取方法は機能的に不十分であった。
【0025】
【発明が解決しようとする課題】第1の問題点は、上記
先行技術文献に記載されたデバッガーでは、情報処理装
置の状態を示す情報の持つ特性を意識せず、単純に1命
令前のリソースの値と現在のリソースの値との変更部分
をその他の情報に頼ることなく単独の情報で再生できる
ように、リソースの値とその情報の位置やリソースの種
類などを識別する情報を履歴情報として記録している点
にある。その理由は、通常の情報処理装置では、1命令
毎にプログラムカウンタ,命令語,レジスタなどの複数
のリソースがアクセスされるため、1つのリソース毎に
識別情報を付与すると、トレースデータ上ではアクセス
されたリソースの数に比例して、リソースを識別する情
報も増えるからである。
【0026】また、プログラムカウンタは通常1命令毎
に実行した命令語長分でインクリメントされるだけであ
り、プログラムカウンタが変更されても、多くの場合命
令語長がわかれば、1命令前のプログラムカウンタの値
に命令語長を加えることにより、新しいプログラムカウ
ンタの値を求めることが可能であることから、プログラ
ムカウンタの値の全てを記憶しておく必要はない。
【0027】加えて、メモリのアクセスするアドレス
は、実行された命令語の値と、その命令実行時のレジス
タの値とが既知であれば、それらの値から計算すること
が可能であり、変更されたメモリの位置であるアドレス
を記憶しておくことは無駄である。
【0028】本発明の目的は、ユーザプログラムの性能
評価に使われる命令の実行履歴であるトレースデータの
採取において、1命令前のプログラムカウンタやレジス
タなどのリソースの値と現在のリソースの値との差分に
よってトレースデータを生成する以外に、情報処理装置
の各リソースの持つ特性に注目したトレースデータの生
成を行うことにより、トレースデータの情報量を削減す
るようにしたトレースデータ削減方式を提供することに
ある。
【0029】また、本発明の他の目的は、1つの命令で
多くのリソースがアクセスされ、それらリソースの値が
トレースデータとして出力された場合でも、1命令分の
トレースデータの中にどのリソースに対応する情報が登
録されているかの識別が、1つのビットパターンのみで
実現できるようにし、トレースデータに出力されるリソ
ースの数に比例して増加するリソースを識別するための
情報を排除できるようにしたトレースデータ削減方式を
提供することにある。
【0030】さらに、本発明の別の目的は、メモリの内
容が更新された場合、命令語のアドレス指定フィールド
に対応したビットの値と、アクセスされたメモリの内容
だけがトレースデータに出力されるようにし、メモリの
位置を示すアドレスがトレースデータ上に出力されない
ようにしたトレースデータ削減方式を提供することにあ
る。
【0031】さらにまた、本発明のさらに別の目的は、
プログラムカウンタに関しては、多くの場合、トレース
データ上に出力されるプログラムカウンタに対応した情
報は、トレースデータの中にプログラムカウンタ全体の
値があるのか、1命令前の値との差分のみがあるのかを
示すビットの情報および命令語長、または命令語長の情
報だけとなるようにし、1命令毎に常にプログラムカウ
ンタの値がトレースデータに出力される場合に比べ、ト
レースデータの情報量を大幅に減らすことができるよう
にしたトレースデータ削減方式を提供することにある。
【0032】
【課題を解決するための手段】本発明のトレースデータ
削減方式は、1命令毎にデバグ割り込みを発生させるこ
とが可能であり、かつデバグ割り込み発生時のプログラ
ムカウンタ,命令語,レジスタなどのリソースの値を保
持するリソース保持手段を有する情報処理装置におい
て、1命令前のデバグ割り込み発生時のリソースの値を
保持する前値保持手段と、前記リソース保持手段の保持
するリソースの値と前記前値保持手段の保持するリソー
スの値とを比較し、どのリソースがアクセスされたかを
示す、リソースと1対1に対応したビットパターンを生
成するリソースアクセスフラグ生成手段と、このリソー
スアクセスフラグ生成手段の出力するビットパターンに
基づいて前記リソース保持手段からアクセスされたリソ
ースの値を出力するリソース値生成手段と、前記リソー
スアクセスフラグ生成手段の出力するビットパターンと
前記リソース値生成手段の出力するリソースの値とか
ら、事前に決められた規則に従い、どのリソースがアク
セスされたかを示すリソースビットパターンと更新され
たリソースの値とで構成されるトレースデータを出力す
ると同時にトレースデータ出力完了指示を出力するトレ
ースデータ生成手段と、このトレースデータ生成手段の
出力するトレースデータ出力完了指示により前記リソー
ス保持手段の保持するリソースの値で前記前値保持手段
の保持するリソースの値を更新する前値更新手段とを有
する。これにより、たとえば、1つの命令で多くのリソ
ースがアクセスされ、それらリソースの値がトレースデ
ータとして出力された場合でも、1命令分のトレースデ
ータの中にどのリソースに対応する情報が登録されてい
るかの識別が、1つのビットパターンのみで実現できる
ため、トレースデータに出力されるリソースの数に比例
して増加するリソースを識別するための情報を排除でき
る。
【0033】また、本発明のトレースデータ削減方式
は、請求項1記載のトレースデータ削減方式において、
命令語の中に、アクセスするメモリのアドレスを指定す
るアドレス指定フィールドを1つもしくは複数有する情
報処理装置において、命令語の中のどのアドレス指定フ
ィールドで指定されたアドレスにアクセスがあったかを
示す、アドレス指定フィールドと1対1に対応したビッ
トパターンを生成するメモリアクセスフラグ生成手段
と、このメモリアクセスフラグ生成手段の出力するビッ
トパターンと前記リソース保持手段の保持するリソース
の値とからアドレス指定フィールドで指定されたメモリ
のアドレスを求め、該アドレスによりアクセスされたメ
モリの値を取り出して出力するメモリ値生成手段とを有
するとともに、事前に決められた規則に従い前記リソー
スアクセスフラグ生成手段の出力するビットパターンと
前記メモリアクセスフラグ生成手段の出力するビットパ
ターンとを組み合わせたリソースビットパターンと、前
記リソース値生成手段の出力するリソースの値と、前記
メモリ値生成手段の出力するメモリの値とをトレースデ
ータとして出力する前記トレースデータ生成手段を有す
る。これにより、メモリの内容が更新された場合、命令
語のアドレス指定フィールドに対応したビットの値と、
アクセスされたメモリの値だけがトレースデータに出力
されるため、メモリの位置を示すアドレスがトレースデ
ータ上に出力されない。
【0034】さらに、本発明のトレースデータ削減方式
は、請求項1または請求項2記載のトレースデータ削減
方式において、前記リソースビットパターンのうちのプ
ログラムカウンタに対応するビットの値を、トレースデ
ータ内にプログラムカウンタ全体の値を保持するか、ま
たは1命令前のプログラムカウンタの値との差分のみを
保持するかのフラグを定義するととともに、前記リソー
ス保持手段の保持するプログラムカウンタの値と前記前
値保持手段の保持するプログラムカウンタの値とを比較
し、前記リソース保持手段の保持するプログラムカウン
タの値をトレースデータに出力するか、前記リソース保
持手段の保持するプログラムカウンタの値と前記前値保
持手段の保持するプログラムカウンタの値との差分のみ
を出力するかを判断し、リソースビットパターン上のプ
ログラムカウンタに対応したビットの情報と、プログラ
ムカウンタ全体の値または差分を出力するプログラムカ
ウンタ値生成手段を有し、事前に決められた規則に従
い、前記リソースアクセスフラグ生成手段の出力するビ
ットパターンと前記メモリアクセスフラグ生成手段の出
力するビットパターンと前記プログラムカウンタ値生成
手段の出力するリソースビットパターン上のプログラム
カウンタに対応したビットの値とからリソースビットパ
ターンを生成するとともに、前記リソース値生成手段の
出力するリソースの値と、前記メモリ値生成手段の出力
するメモリの値と、前記プログラムカウンタ値生成手段
の出力するプログラムカウンタ全体の値または差分とか
らトレースデータを作成する前記トレースデータ生成手
段を有する。これにより、プログラムカウンタに関して
は、多くの場合、トレースデータ上に出力されるプログ
ラムカウンタに対応した情報は、トレースデータの中に
プログラムカウンタ全体の値があるのか、1命令前のプ
ログラムカウンタの値との差分のみがあるのかを示すビ
ットの情報および命令語長、または命令語長の情報だけ
となるため、1命令毎に常にプログラムカウンタの値が
トレースデータに出力される場合に比べ、トレースデー
タの情報量を大幅に減らすことができる。
【0035】さらにまた、本発明のトレースデータ削減
方式は、請求項lまたは請求項2記載のトレースデータ
削減方式において、前記リソースビットパターンのうち
のプログラムカウンタに対応するビットを1ビットまた
は複数ビットのプログラムカウンタ更新パターンに置き
換え、このプログラムカウンタ更新パターンの組み合わ
せにより、プログラムカウンタの値が1命令前のプログ
ラムカウンタに対し、どの程度の変位を持った値である
か、または後続するトレースデータ内にプログラムカウ
ンタ全体の値があるかを指示できるようにするととも
に、前記リソース保持手段の保持するプログラムカウン
タの値と前記前値保持手段の保持するプログラムカウン
タの値とを比較し、前記リソース保持手段の保持するプ
ログラムカウンタの値をトレースデータに出力するか、
前記リソース保持手段の保持するプログラムカウンタの
値と前記前値保持手段の保持するプログラムカウンタの
値との変位に対応したプログラムカウンタ更新パターン
のみを出力するかを判断し、プログラムカウンタ全体の
値を出力する場合はトレースデータ内にプログラムカウ
ンタ全体の値があることを示すプログラムカウンタ更新
パターンとプログラムカウンタ全体の値とを出力し、プ
ログラムカウンタの変位のみを出力する場合は変位に対
応したプログラムカウンタ更新パターンを出力するプロ
グラムカウンタ値生成手段を有し、事前に決められた規
則に従い、前記リソースアクセスフラグ生成手段の出力
するビットパターンと前記メモリアクセスフラグ生成手
段の出力するビットパターンと前記プログラムカウンタ
値生成手段の出力するプログラムカウンタ更新パターン
とから前記リソースビットパターンを生成するととも
に、前記リソース保持手段の保持するリソースの値と、
前記メモリ値生成手段の出力するメモリの値と、前記プ
ログラムカウンタ値生成手段がプログラムカウンタ全体
の値を出力する場合は、この出力されたプログラムカウ
ンタ全体の値とを含んだトレースデータを作成する前記
トレースデータ生成手段を有する。
【0036】一方、本発明の記録媒体は、コンピュータ
を、デバグ割り込み発生時のプログラムカウンタ,命令
語,レジスタなどのリソースの値を保持するリソース保
持手段,1命令前のデバグ割り込み発生時のリソースの
値を保持する前値保持手段,前記リソース保持手段の保
持するリソースの値と前記前値保持手段の保持するリソ
ースの値とを比較し、どのリソースがアクセスされたか
を示す、リソースと1対1に対応したビットパターンを
生成するリソースアクセスフラグ生成手段,このリソー
スアクセスフラグ生成手段の出力するビットパターンに
基づいて前記リソース保持手段からアクセスされたリソ
ースの値を出力するリソース値生成手段,前記リソース
アクセスフラグ生成手段の出力するビットパターンと前
記リソース値生成手段の出力するリソースの値とから、
事前に決められた規則に従い、どのリソースがアクセス
されたかを示すリソースビットパターンと更新されたリ
ソースの値とで構成されるトレースデータを出力すると
同時にトレースデータ出力完了指示を出力するトレース
データ生成手段,ならびにこのトレースデータ生成手段
の出力するトレースデータ出力完了指示により前記リソ
ース保持手段の保持するリソースの値で前記前値保持手
段の保持するリソースの値を更新する前値更新手段とし
て機能させるためのプログラムを記録する。
【0037】また、本発明の記録媒体は、コンピュータ
を、デバグ割り込み発生時のプログラムカウンタ,命令
語,レジスタなどのリソースの値を保持するリソース保
持手段,1命令前のデバグ割り込み発生時のリソースの
値を保持する前値保持手段,前記リソース保持手段の保
持するリソースの値と前記前値保持手段の保持するリソ
ースの値とを比較し、どのリソースがアクセスされたか
を示す、リソースと1対1に対応したビットパターンを
生成するリソースアクセスフラグ生成手段,このリソー
スアクセスフラグ生成手段の出力するビットパターンに
基づいて前記リソース保持手段からアクセスされたリソ
ースの値を出力するリソース値生成手段,命令語の中の
どのアドレス指定フィールドで指定されたアドレスにア
クセスがあったかを示す、アドレス指定フィールドと1
対1に対応したビットパターンを生成するメモリアクセ
スフラグ生成手段,このメモリアクセスフラグ生成手段
の出力するビットパターンと前記リソース保持手段の保
持するリソースの値とからアドレス指定フィールドで指
定されたメモリのアドレスを求め、該アドレスによりア
クセスされたメモリの値を取り出して出力するメモリ値
生成手段,事前に決められた規則に従い前記リソースア
クセスフラグ生成手段の出力するビットパターンと前記
メモリアクセスフラグ生成手段の出力するビットパター
ンとを組み合わせたリソースビットパターンと、前記リ
ソース値生成手段の出力するリソースの値と、前記メモ
リ値生成手段の出力するメモリの値とをトレースデータ
として出力すると同時にトレースデータ出力完了指示を
出力するトレースデータ生成手段,ならびにこのトレー
スデータ生成手段の出力するトレースデータ出力完了指
示により前記リソース保持手段の保持するリソースの値
で前記前値保持手段の保持するリソースの値を更新する
前値更新手段として機能させるためのプログラムを記録
する。
【0038】さらに、本発明の記録媒体は、コンピュー
タを、デバグ割り込み発生時のプログラムカウンタ,命
令語,レジスタなどのリソースの値を保持するリソース
保持手段,1命令前のデバグ割り込み発生時のリソース
の値を保持する前値保持手段,前記リソース保持手段の
保持するリソースの値と前記前値保持手段の保持するリ
ソースの値とを比較し、どのリソースがアクセスされた
かを示す、リソースと1対1に対応したビットパターン
を生成するリソースアクセスフラグ生成手段,このリソ
ースアクセスフラグ生成手段の出力するビットパターン
に基づいて前記リソース保持手段からアクセスされたリ
ソースの値を出力するリソース値生成手段,前記リソー
スビットパターンのうちのプログラムカウンタに対応す
るビットの値を、トレースデータ内にプログラムカウン
タ全体の値を保持するか、または1命令前のプログラム
カウンタの値との差分のみを保持するかのフラグを定義
するととともに、前記リソース保持手段の保持するプロ
グラムカウンタの値と前記前値保持手段の保持するプロ
グラムカウンタの値とを比較し、前記リソース保持手段
の保持するプログラムカウンタの値をトレースデータに
出力するか、前記リソース保持手段の保持するプログラ
ムカウンタの値と前記前値保持手段の保持するプログラ
ムカウンタの値との差分のみを出力するかを判断し、リ
ソースビットパターン上のプログラムカウンタに対応し
たビットの情報と、プログラムカウンタ全体の値または
差分を出力するプログラムカウンタ値生成手段,事前に
決められた規則に従い、前記リソースアクセスフラグ生
成手段の出力するビットパターンと前記メモリアクセス
フラグ生成手段の出力するビットパターンと前記プログ
ラムカウンタ値生成手段の出力するリソースビットパタ
ーン上のプログラムカウンタに対応したビットの値とか
らリソースビットパターンを生成するとともに、前記リ
ソース値生成手段の出力するリソースの値と、前記メモ
リ値生成手段の出力するメモリの値と、前記プログラム
カウンタ値生成手段の出力するプログラムカウンタ全体
の値または差分とからトレースデータを作成すると同時
にトレースデータ出力完了指示を出力するトレースデー
タ生成手段,ならびにこのトレースデータ生成手段の出
力するトレースデータ出力完了指示により前記リソース
保持手段の保持するリソースの値で前記前値保持手段の
保持するリソースの値を更新する前値更新手段として機
能させるためのプログラムを記録する。
【0039】さらにまた、本発明の記録媒体は、コンピ
ュータを、デバグ割り込み発生時のプログラムカウン
タ,命令語,レジスタなどのリソースの値を保持するリ
ソース保持手段,1命令前のデバグ割り込み発生時のリ
ソースの値を保持する前値保持手段,前記リソース保持
手段の保持するリソースの値と前記前値保持手段の保持
するリソースの値とを比較し、どのリソースがアクセス
されたかを示す、リソースと1対1に対応したビットパ
ターンを生成するリソースアクセスフラグ生成手段,こ
のリソースアクセスフラグ生成手段の出力するビットパ
ターンに基づいて前記リソース保持手段からアクセスさ
れたリソースの値を出力するリソース値生成手段,命令
語の中のどのアドレス指定フィールドで指定されたアド
レスにアクセスがあったかを示す、アドレス指定フィー
ルドと1対1に対応したビットパターンを生成するメモ
リアクセスフラグ生成手段,このメモリアクセスフラグ
生成手段の出力するビットパターンと前記リソース保持
手段の保持するリソースの値とからアドレス指定フィー
ルドで指定されたメモリのアドレスを求め、該アドレス
によりアクセスされたメモリの値を取り出して出力する
メモリ値生成手段,前記リソースビットパターンのうち
のプログラムカウンタに対応するビットの値を、トレー
スデータ内にプログラムカウンタ全体の値を保持する
か、または1命令前のプログラムカウンタの値との差分
のみを保持するかのフラグを定義するととともに、前記
リソース保持手段の保持するプログラムカウンタの値と
前記前値保持手段の保持するプログラムカウンタの値と
を比較し、前記リソース保持手段の保持するプログラム
カウンタの値をトレースデータに出力するか、前記リソ
ース保持手段の保持するプログラムカウンタの値と前記
前値保持手段の保持するプログラムカウンタの値との差
分のみを出力するかを判断し、リソースビットパターン
上のプログラムカウンタに対応したビットの情報と、プ
ログラムカウンタ全体の値または差分を出力するプログ
ラムカウンタ値生成手段,事前に決められた規則に従
い、前記リソースアクセスフラグ生成手段の出力するビ
ットパターンと前記メモリアクセスフラグ生成手段の出
力するビットパターンと前記プログラムカウンタ値生成
手段の出力するリソースビットパターン上のプログラム
カウンタに対応したビットの値とからリソースビットパ
ターンを生成するとともに、前記リソース値生成手段の
出力するリソースの値と前記メモリ値生成手段の出力す
るメモリの値と前記プログラムカウンタ値生成手段の出
力するプログラムカウンタ全体の値または差分とからト
レースデータを作成すると同時にトレースデータ出力完
了指示を出力するトレースデータ生成手段,ならびにこ
のトレースデータ生成手段の出力するトレースデータ出
力完了指示により前記リソース保持手段の保持するリソ
ースの値で前記前値保持手段の保持するリソースの値を
更新する前値更新手段として機能させるためのプログラ
ムを記録する。
【0040】また、本発明の記録媒体は、コンピュータ
を、デバグ割り込み発生時のプログラムカウンタ,命令
語,レジスタなどのリソースの値を保持するリソース保
持手段,1命令前のデバグ割り込み発生時のリソースの
値を保持する前値保持手段,前記リソース保持手段の保
持するリソースの値と前記前値保持手段の保持するリソ
ースの値とを比較し、どのリソースがアクセスされたか
を示す、リソースと1対1に対応したビットパターンを
生成するリソースアクセスフラグ生成手段,このリソー
スアクセスフラグ生成手段の出力するビットパターンに
基づいて前記リソース保持手段からアクセスされたリソ
ースの値を出力するリソース値生成手段,前記リソース
ビットパターンのうちのプログラムカウンタに対応する
ビットを1ビットまたは複数ビットのプログラムカウン
タ更新パターンに置き換え、このプログラムカウンタ更
新パターンの組み合わせにより、プログラムカウンタの
値が1命令前のプログラムカウンタに対し、どの程度の
変位を持った値であるか、または後続するトレースデー
タ内にプログラムカウンタ全体の値があるかを指示でき
るようにするとともに、前記リソース保持手段の保持す
るプログラムカウンタの値と前記前値保持手段の保持す
るプログラムカウンタの値とを比較し、前記リソース保
持手段の保持するプログラムカウンタの値をトレースデ
ータに出力するか、前記リソース保持手段の保持するプ
ログラムカウンタの値と前記前値保持手段の保持するプ
ログラムカウンタの値との変位に対応したプログラムカ
ウンタ更新パターンのみを出力するかを判断し、プログ
ラムカウンタ全体の値を出力する場合はトレースデータ
内にプログラムカウンタ全体の値があることを示すプロ
グラムカウンタ更新パターンとプログラムカウンタ全体
の値とを出力し、プログラムカウンタの値の変位のみを
出力する場合は変位に対応したプログラムカウンタ更新
パターンを出力するプログラムカウンタ値生成手段,事
前に決められた規則に従い、前記リソースアクセスフラ
グ生成手段の出力するビットパターンと前記メモリアク
セスフラグ生成手段の出力するビットパターンと前記プ
ログラムカウンタ値生成手段の出力するプログラムカウ
ンタ更新パターンとから前記リソースビットパターンを
生成するとともに、前記リソース保持手段の保持するリ
ソースの値と、前記メモリ値生成手段の出力するメモリ
の値と、前記プログラムカウンタ値生成手段がプログラ
ムカウンタ全体の値を出力する場合は、この出力された
プログラムカウンタ全体の値とを含んだトレースデータ
を作成すると同時にトレースデータ出力完了指示を出力
するトレースデータ生成手段,ならびにこのトレースデ
ータ生成手段の出力するトレースデータ出力完了指示に
より前記リソース保持手段の保持するリソースの値で前
記前値保持手段の保持するリソースの値を更新する前値
更新手段として機能させるためのプログラムを記録す
る。
【0041】さらに、本発明の記録媒体は、コンピュー
タを、デバグ割り込み発生時のプログラムカウンタ,命
令語,レジスタなどのリソースの値を保持するリソース
保持手段,1命令前のデバグ割り込み発生時のリソース
の値を保持する前値保持手段,前記リソース保持手段の
保持するリソースの値と前記前値保持手段の保持するリ
ソースの値とを比較し、どのリソースがアクセスされた
かを示す、リソースと1対1に対応したビットパターン
を生成するリソースアクセスフラグ生成手段,このリソ
ースアクセスフラグ生成手段の出力するビットパターン
に基づいて前記リソース保持手段からアクセスされたリ
ソースの値を出力するリソース値生成手段,命令語の中
のどのアドレス指定フィールドで指定されたアドレスに
アクセスがあったかを示す、アドレス指定フィールドと
1対1に対応したビットパターンを生成するメモリアク
セスフラグ生成手段,このメモリアクセスフラグ生成手
段の出力するビットパターンと前記リソース保持手段の
保持するリソースの値とからアドレス指定フィールドで
指定されたメモリのアドレスを求め、該アドレスにより
アクセスされたメモリの値を取り出して出力するメモリ
値生成手段,前記リソースビットパターンのうちのプロ
グラムカウンタに対応するビットを1ビットまたは複数
ビットのプログラムカウンタ更新パターンに置き換え、
このプログラムカウンタ更新パターンの組み合わせによ
り、プログラムカウンタの値が1命令前のプログラムカ
ウンタに対し、どの程度の変位を持った値であるか、ま
たは後続するトレースデータ内にプログラムカウンタ全
体の値があるかを指示できるようにするとともに、前記
リソース保持手段の保持するプログラムカウンタの値と
前記前値保持手段の保持するプログラムカウンタの値と
を比較し、前記リソース保持手段の保持するプログラム
カウンタの値をトレースデータに出力するか、前記リソ
ース保持手段の保持するプログラムカウンタの値と前記
前値保持手段の保持するプログラムカウンタの値との変
位に対応したプログラムカウンタ更新パターンのみを出
力するかを判断し、プログラムカウンタ全体の値を出力
する場合はトレースデータ内にプログラムカウンタ全体
の値があることを示すプログラムカウンタ更新パターン
とプログラムカウンタ全体の値とを出力し、プログラム
カウンタの値の変位のみを出力する場合は変位に対応し
たプログラムカウンタ更新パターンを出力するプログラ
ムカウンタ値生成手段,事前に決められた規則に従い、
前記リソースアクセスフラグ生成手段の出力するビット
パターンと前記メモリアクセスフラグ生成手段の出力す
るビットパターンと前記プログラムカウンタ値生成手段
の出力するプログラムカウンタ更新パターンとから前記
リソースビットパターンを生成するとともに、前記リソ
ース保持手段の保持するリソースの値と、前記メモリ値
生成手段の出力するメモリの値と、前記プログラムカウ
ンタ値生成手段がプログラムカウンタ全体の値を出力す
る場合は、この出力されたプログラムカウンタ全体の値
とを含んだトレースデータを作成すると同時にトレース
データ出力完了指示を出力するトレースデータ生成手
段,ならびにこのトレースデータ生成手段の出力するト
レースデータ出力完了指示により前記リソース保持手段
の保持するリソースの値で前記前値保持手段の保持する
リソースの値を更新する前値更新手段として機能させる
ためのプログラムを記録する。
【0042】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら詳細に説明する。
【0043】図1は、本発明の第1の実施の形態に係る
トレースデータ削減方式の構成を示すブロック図であ
る。本実施の形態に係るトレースデータ削減方式は、メ
モリ1と、プロセッサ2と、リソース保持手段3と、前
値保持手段4と、リソースアクセスフラグ生成手段5
と、メモリアクセスフラグ生成手段6と、リソース値生
成手段7と、メモリ値生成手段8と、プログラムカウン
タ値生成手段9と、トレースデータ生成手段10と、前
値更新手段11とから構成されている。
【0044】メモリ1は、プログラムやデータを保持す
る。
【0045】プロセッサ2は、メモリ1からプログラム
やデータを受け取り処理を行う。また、プロセッサ2
は、デバグ割り込み指示に応じて、1命令毎に自分の持
つ命令語,プログラムカウンタ,レジスタなどのリソー
スの値を出力する。
【0046】リソース保持手段3は、プロセッサ2から
出力されたリソースの値により保持しているリソースの
値を更新するとともに、リソース更新指示を出力する。
【0047】前値保持手段4は、1命令前のデバグ割り
込み発生時にリソース保持手段3が保持していたリソー
スの値を保持している。
【0048】リソースアクセスフラグ生成手段5は、リ
ソース保持手段3からのリソース更新指示を受け取る
と、リソース保持手段3の保持するリソースの値と前値
保持手段4の保持するリソースの値とを比較し、リソー
ス保持手段3の保持するリソースの値と前値保持手段4
の保持するリソースの値とが一致する場合には0、リソ
ース保持手段3の保持するリソースの値と前値保持部4
の保持するリソースの値とが一致しない場合には1とな
る、各リソースと1対1に対応したビットパターンを出
力する。
【0049】メモリアクセスフラグ生成手段6は、リソ
ース保持手段3からのリソース更新指示を受け取ると、
リソース保持手段3の保持する命令語の値からメモリ1
に対してアクセスが発生したか否かを判定すると同時
に、メモリ1へのアクセスがあった場合には1、メモリ
1ヘのアクセスがなかった場合には0となる命令語のア
ドレス指定フィールドに対応したビットパターンを出力
する。
【0050】リソース値生成手段7は、リソースアクセ
スフラグ生成手段5の出力するビットパターンに基づい
てリソース保持手段3の保持するリソースの値からアク
セスされたリソースの値のみを選択して出力する。
【0051】メモリ値生成手段8は、メモリアクセスフ
ラグ生成手段6の出力するビットパターンとリソース保
持手段3の保持する命令語やレジスタなどのリソースの
値とから、アクセスされたメモリ1のアドレスを計算す
るとともに、メモリ1からアクセスされたアドレスの内
容を読み出して出力する。
【0052】プログラムカウンタ値生成手段9は、リソ
ース保持手段3からリソースアクセス指示を受け取る
と、リソース保持手段3の保持するプログラムカウンタ
の値と前値保持手段4の保持するプログラムカウンタの
値との差分から事前に指定された変位で更新されたか否
かを判断し、指定された変位で更新された場合は、その
変位に対応したビットパターンを出力し、指定された変
位以外で更新された場合は、対応する変位を持たないビ
ットパターンを出力するとともに、リソース保持手段3
の保持するプログラムカウンタの値を出力する。
【0053】トレースデータ生成手段10は、リソース
アクセスフラグ生成手段5の出力するビットパターン
と、メモリアクセスフラグ生成手段6の出力するビット
パターンと、プログラムカウンタ値生成手段9の出力す
る変位のビットパターンとを事前に設定された規則に従
って再構成して出力するとともに、この出力に続き、リ
ソース値生成手段7の出力するリソースの値と、メモリ
値生成手段8の出力するリソースの値とを出力する。ま
た、プログラムカウンタ値生成手段9の出力する変位の
ビットパターンが対応する変位の値を持たないパターン
の場合は、トレースデータ生成手段10は、プログラム
カウンタ値生成手段9の出力するプログラムカウンタの
値を事前に指定された規則に従って出力する。最後に、
トレースデータ生成手段10は、すべてのトレースデー
タの出力を完了すると、トレースデータ出力完了指示を
出力する。
【0054】前値更新手段11は、次の命令のトレース
データを採取する準備として、トレースデータ生成手段
10から出力されるトレースデータ出力完了指示を受け
取ると、リソース保持手段3の保持するリソースの値を
読み出し、読み出したリソースの値で前値保持手段4の
保持するリソースの値を更新する。
【0055】次に、このように構成された第1の実施の
形態に係るトレースデータ削減方式の動作について説明
する。
【0056】まず、情報処理装置の前提条件について
は、従来例でも使用した図2の条件を使用する。
【0057】次に、リソースに対するアクセスがあった
か否かを示すビットとプログラムカウンタの変位とから
なるビットパターンの形式を、図3のビットパターンフ
ォーマットとする。図3のビットパターンフォーマット
において、ビットR00〜R15は、それぞれ16本あ
るレジスタ0〜15と1対1で対応する。ビットIR
は、命令語に対応する。ビットASlおよびAS2は、
命令語の持つ2つのアドレス指定フィールドと1対1で
対応する。ビットIL2〜IL0はプログラムカウンタ
の変位を示すビットであり、プログラムカウンタの変位
の1,2または4の値がそのまま2進値として設定され
るものとする。また、ビットIL2〜IL0の値がすべ
て1のとき、トレースデータ上にプログラムカウンタ全
体の値が登録されていることを示すこととする。ここ
で、図4は、図3で定義したビットパターンに対する設
定の例であり、レジスタ2,8,命令語および命令語の
アドレス指定フィールド1で指定されたアドレスがアク
セスされ、プログラムカウンタは変位2で更新された場
合を示したものである。
【0058】トレースデータへの出力順は、はじめに図
3のビットパターンフォーマットにしたがって作成され
たビットパターンが出力され、次にリソースの値が図3
のビットパターンフォーマットの定義の左から順番に出
力されるものとする。たとえば、レジスタ1および2の
値が出力される場合は、ビットパターン,レジスタ1お
よびレジスタ2の内容の順でトレースデータに出力され
る。
【0059】プロセッサ2は、メモリ1にあるプログラ
ムやデータに従いプログラムを実行するとともに、デバ
グ割り込みが指示された場合、指定されたデバグ割り込
み条件に従って、デバグ割り込みを発生させ、デバグ割
り込み指示を出力すると同時に、そのときのプロセッサ
2の持つプログラムカウンタや16本のレジスタ0〜1
5などのリソースの値をリソース保持手段3に出力す
る。
【0060】リソース保持手段3は、プロセッサ2から
デバグ割り込みによるリソースの値を受け取ると、事前
に指定された領域に各リソースの値を格納する。また、
このとき、前値保持手段4には、1命令前にリソース保
持手段3に保持されていたリソースの値が保持されてい
る。リソース保持手段3は、プロセッサ2からデバグ割
り込み信号を受け取ると、まず、リソースアクセスフラ
グ生成手段5に対し、図3に示したビットパターンフォ
ーマットのうち、メモリ1のアクセスがあったか否かを
示すビットASlおよびAS2ならびにプログラムカウ
ンタの変位を示すビットIL0〜IL2を除くビットR
00〜R15およびIRからなるビットパターンの生成
を指示する。
【0061】リソースアクセスフラグ生成手段5は、リ
ソース保持手段3からのビットパターン生成指示を受け
取ると、リソース保持手段3の保持する命令語および1
6本のレジスタ0〜15の値と前値保持手段4の保持す
る命令語および16本のレジスタ0〜15の値とを比較
し、値に変化のあったリソースを調べる。そして、値に
変化のあったリソースに対応するビットを1、値に変化
のなかったリソースに対応するビットを0としたビット
パターンを生成する。たとえば、図5の1命令目の場
合、レジスタ2,8および命令語がアクセスされている
ことから、図3に示すビットパターンフォーマットのう
ち、ビットR02,R08およびIRが1、ビットR0
0,R0l,R03,R07,R09およびR15が0
となるビットパターンを生成し、これをリソース値生成
手段7に出力する。
【0062】これと平行して、リソース保持手段3は、
プロセッサ2からデバグ割り込み指示を受け取ると、メ
モリアクセスフラグ生成手段6に対してメモリ1に対す
るアクセスがあったか否かを示すビットASlおよびA
S2に対応するビットパターンの生成を指示する。
【0063】メモリアクセスフラグ生成手段6は、リソ
ース保持手段3からビットパターン生成指示を受け取る
と、リソース保持手段3の保持する命令語の値を調べ、
メモリアクセスがあったか否か、またメモリアクセスが
あった場合には命令語のメモリ指定フィールドのいずれ
で指定されたアドレスかを調べる。そして、メモリ1に
対するアクセスがあった場合は、メモリアクセスのあっ
た領域を指定しているメモリ指定フィールドに対応する
ビットを1、メモリアクセスがなかったメモリ指定フィ
ールドに対応するビットを0とした、図3のビットパタ
ーンフォーマットの中のビットASlおよびAS2に対
応したビットパターンを生成し、これをメモリ値生成手
段8に出力する。たとえば、図5の1命令目の場合、ア
ドレス指定フィールド1で指定されたアドレスにアクセ
スがあることから、図3に示すビットパターンフォーマ
ットのうち、ビットASlが1、ビットAS2が0とな
るビットパターンをメモリ値生成手段8に出力する。
【0064】同時に、リソース保持手段3は、プロセッ
サ2からデバグ割り込み指示を受け取ると、プログラム
カウンタ値生成手段9に対してプログラムカウンタの変
位を示すビットIL2〜IL0に対応したビットパター
ンの生成を指示する。
【0065】プログラムカウンタ値生成手段9は、リソ
ース保持手段3からのビットパターン生成指示を受け取
ると、リソース保持手段3の保持するプログラムカウン
タの値と前値保持手段4の保持する1命令前のプログラ
ムカウンタの値とを比較し、その変位に対応するビット
パターンを生成し、トレースデータ生成手段10に出力
する。また、プログラムカウンタ値生成手段9は、求め
た変位に対応するビットパターンがない場合は、どの変
位とも対応しないビットパターンとともに、プログラム
カウンタ全体の値も併せて、トレースデータ生成手段1
0に出力する。たとえば、図5の1命令目の場合、命令
語長の2でプログラムカウンタが更新されるため、図3
に示すビットパターンフォーマットのビットIL2〜I
L0には、2進値の2に対応する0,1および0となる
ビットパターンが生成され、これがトレースデータ生成
手段10に出力される。また、図5の5命令目の場合、
プロラムカウンタの値が1014から2000に更新さ
れているため、事前に規定された変位の1,2または4
のどれとも対応がとれないことから、ビットIL2〜I
L0がすべて1となるビットパターンがトレースデータ
生成手段10に出力されるとともに、プログラムカウン
タの値である2000もトレースデータ生成手段10に
出力される。
【0066】リソース値生成手段7は、リソースアクセ
スフラグ生成手段5からビットパターンを受け取ると、
このビットパターンのうちの1となっているビットに対
応したリソースの値をリソース保持手段3から取り出
し、トレースデータ生成手段10に出力する。たとえ
ば、図5の1命令目の場合、先に説明したようにリソー
スアクセスフラグ生成手段5から、図4のR02,R0
8,IRに対応したビットが1となるビットパターンが
出力されるため、リソース値生成手段7は、リソース保
持手段3からレジスタ2,8および命令語の値である4
44,666および10を取り出し、トレースデータ生
成手段10に出力する。
【0067】メモリ値生成手段8は、メモリアクセスフ
ラグ生成手段6の出力するビットパターンを受け取る
と、このビットパターンのうちの1となっているアドレ
ス指定フィールドを調べる。もし、1に設定されている
アドレス指定フィールドがある場合、まずリソース保持
手段3から命令語を読み出し、対応するアドレス指定フ
ィールドの内容を取り出す。続いて、メモリ値生成手段
8は、アドレス指定フィールドの内容をリソース保持手
段3の保持するリソースの値を使って展開し、アクセス
されたメモリ1のアドレスを求める。そして、求められ
たアドレスに対応する内容をメモリ1から取り出し、こ
の内容をトレースデータ生成手段10に出力する。たと
えば、図5の1命令目の場合、先に示したようにビット
ASlに対応したビットを1に設定したビットパターン
がメモリアクセスフラグ生成手段6から出力されるた
め、メモリ値生成手段8は、リソース保持手段3の保持
する命令語のアドレス指定フィールド1の部分を取り出
し、アクセスされたアドレスを計算する。図5の1命令
目の場合、ここで計算されたアドレスが120となるた
め、メモリ値生成手段8は、アドレスの120を指定し
て、メモリ1から888の値を取り出し、これをトレー
スデータ生成手段10に出力する。
【0068】トレースデータ生成手段10は、リソース
アクセスフラグ生成手段5,メモリアクセスフラグ生成
手段6およびプログラムカウンタ値生成手段9の出力す
る各ビットパターンを受け取ると、図3のビットパター
ンフォーマットに従ったビットパターンを構築し、トレ
ースデータとして出力する。次に、トレースデータ生成
手段10は、アクセスのあったリソースやメモリがある
場合、リソース値生成手段7の出力するリソースの値お
よびメモリ値生成手段8の出力するリソースの値を図3
のビットパターンフォーマットの左に指定されているも
のから順にトレースデータとして出力する。また、トレ
ースデータ生成手段10は、プログラムカウンタ値生成
手段9から出力されたビットIL2〜IL0に対応する
ビットパターンがすべて1の場合、プログラムカウンタ
値生成手段9から出力されるプログラムカウンタの値も
トレースデータとして出力する。
【0069】したがって、最終的にトレースデータ生成
手段10から出力されるトレースデータは、たとえば、
図5の1命令目の場合、図3のビットパターンフォーマ
ットにおけるビットR02,R08,ASlおよびIR
が1、ビットIL2〜IL0が0,1および0であるこ
とから、まずはじめに、”0010000010000
000110010”のビットパターンが出力される。
次に、図3のビットパターンフォーマットの左から定義
されている順番にしたがい、レジスタ2,レジスタ8,
命令語およびアドレス指定フィールド1で指定されたア
ドレスにあるメモリの値の順に444,666,10お
よび888がトレースデータとして出力される。
【0070】つまり、図5の1命令目の場合、以下のよ
うなトレースデータが生成されることになる。
【0071】 0010000010000000110010, 444, 666, 10, 888
【0072】また、図5の5命令目の場合、アクセスさ
れたリソースは命令語のみである。一方、プログラムカ
ウンタについては1命令前との変位が、2000−10
14=986であり、事前にビットパターンと対応づけ
られた1,2または4の値でないため、プログラムカウ
ンタ値生成手段9は、ビットIL2〜IL0を1,1お
よび1と設定したビットパターンをトレースデータ生成
手段10に出力する。
【0073】この場合、トレースデータ生成手段10
は、命令語以外にプログラムカウンタ値生成手段7から
出力されたプログラムカウンタの値も、トレースデータ
の最後に出力する必要がある。つまり、図5の5命令目
の場合、トレースデータ生成手段10は、命令語に対応
するビットIRを1、プログラムカウンタの変位に対応
するビットIL2〜IL0を1,1および1とした、”
0000000000000000100111”のビ
ットパターンをトレースデータとして出力した後、リソ
ース値生成手段7から出力される命令語の20を出力
し、その後、プログラムカウンタ値生成手段9から出力
されるプログラムカウンタの値の2000を出力する必
要がある。
【0074】したがって、図5の5命令目の場合、以下
のようなトレースデータが生成されることになる。
【0075】 0000000000000000100111, 20, 2000
【0076】また、トレースデータ生成手段10は、1
命令分のトレースデータをすべて出力し終えると、トレ
ースデータ出力完了指示を、前値更新手段11に出力す
る。
【0077】前値更新手段11は、トレースデータ出力
手段10からのトレースデータ出力完了指示を受け取る
と、リソース保持手段3の保持するリソースの値を読み
出し、前値保持手段4の保持するリソースの値を更新す
る。これにより、前値保持手段4は、次の命令に対して
1命令前のリソースの値を保持することになる。
【0078】以上のようにして図5の5つの命令で生成
されるトレースデータを考えると、各命令毎に出力され
るトレースデータは図6のようになる。
【0079】図6において、トレースデータの列が出力
されるトレースデータに当たる。情報の内容の列は、ト
レースデータの値がどのリソースの値を示している情報
であり、トレースデータに含まれる情報ではない。
【0080】ここで、第1の実施の形態に係るトレース
データ削減方式におけるトレースデータの情報量につい
て考える。
【0081】まず、各リソースがアクセスされたプログ
ラムカウンタの変位を記憶するビットパターンの情報量
を、図3のビットパターンフォーマットから22ビット
とする。また、それ以外の情報については、従来例と比
較するため、従来例でも使用した図7のトレースデータ
上の情報量を使う。
【0082】この条件により求めたビット単位の情報量
が図6中の情報量の列であり、各欄の値が、個々のビッ
トパターンやリソースのサイズを示している。そして、
合計の行に示された値が、5命令分のトレースデータ全
体のビット数である。
【0083】図6の情報量の合計から、本実施の形態で
の5命令分のトレースデータ量は、462ビットとなっ
ており、図15の従来例の627ビットに比べ、トレー
スデータの情報量を削減できていることになる。
【0084】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。
【0085】図8を参照すると、本発明の第2の実施の
形態に係るトレースデータ削減方式は、キーボード等の
入力装置81と、メモリ1およびプロセッサ2を含む情
報処理装置82と、記憶装置83と、ディスプレイ等の
出力装置84と、ソフトウェアであるトレースプログラ
ム86を記録した記録媒体85とから構成されている。
記録媒体85は、磁気ディスク,半導体メモリ,その他
の記録媒体であってもよい。
【0086】図9,図10および図11は、第2の実施
の形態に係るトレースデータ削減方式をトレースプログ
ラム86で実現した場合の処理を示すフローチャートで
ある。
【0087】トレースプログラム86は、記録媒体85
から情報処理装置82を介して記憶装置83に読み込ま
れ、情報処理装置82の動作を制御する。情報処理装置
82は、トレースプログラム86により、以下の処理を
実行する。
【0088】デバグ割り込みが発生すると、プロセッサ
2は、自分の持つリソースの値を出力する。
【0089】リソース保持手段3は、プロセッサ2から
出力されたリソースの値を、リソース保持手段3の持つ
リソースの値を格納する配列CRBに格納する。
【0090】次に、リソースアクセスフラグ生成手段5
は、リソースアクセスフラグ格納用変数RAFおよびワ
ーク用変数Nをそれぞれ0に初期化し(ステップS10
1)、配列要素CRB(N)と前値保持手段4の持つリ
ソースの値を格納する配列要素BRB(N)とが一致す
るかどうかを判定する(ステップS102)。両者が一
致していれば、リソースアクセスフラグ生成手段5は、
リソースアクセスフラグ格納用変数RAFの0ビット目
から16ビット目までをリソースアクセスフラグ格納用
変数RAFの0ビット目から15ビット目と0とをビッ
ト連結したものとする(ステップS103)。両者が一
致していなければ、リソースアクセスフラグ生成手段5
は、リソースアクセスフラグ格納用変数RAFの0ビッ
ト目から16ビット目までをリソースアクセスフラグ格
納用変数RAFの0ビット目から15ビット目と1とを
ビット連結したものとする(ステップS104)。次
に、リソースアクセスフラグ生成手段5は、ワーク用変
数Nを1つインクリメントし(ステップS105)、ワ
ーク用変数Nが16未満であれば(ステップS106で
ノー)、ステップS102に制御を戻してステップS1
02〜ステップS106を繰り返し、ワーク用変数Nが
16以上であれば(ステップS106でイエス)、処理
を終了する。
【0091】続いて、メモリアクセスフラグ生成手段6
は、メモリアクセスフラグ格納用変数MAFおよびワー
ク用変数Nをそれぞれ0に初期化し(ステップS20
1)、配列CRB内のプログラムカウンタのN番目のア
ドレスシラブルのメモリアクセスを確認する(ステップ
S202)。メモリアクセスがなければ、メモリアクセ
スフラグ生成手段6は、メモリアクセスフラグ格納用変
数MAFの0ビット目から2ビット目までをメモリアク
セスフラグ格納用変数MAFの1ビット目と0とをビッ
ト連結したものとし(ステップS203)、メモリアク
セスがあれば、メモリアクセスフラグ格納用変数MAF
の0ビット目から2ビット目までをメモリアクセスフラ
グ格納用変数MAFの1ビット目と1とをビット連結し
たものとする(ステップS204)。次に、メモリアク
セスフラグ生成手段6は、ワーク用変数Nを1つインク
リメントし(ステップS205)、ワーク用変数Nが2
未満であれば(ステップS206でノー)、ステップS
202に制御を戻してステップS202〜ステップS2
06を繰り返し、ワーク用変数Nが2以上であれば(ス
テップS206でイエス)、処理を終了する。
【0092】次に、リソース値生成手段7は、リソース
数格納用変数RSNを0に、テンポラリ変数TRAFを
リソースアクセスフラグ格納用変数RAFに、ワーク用
変数Nを0にそれぞれ初期化し(ステップS301)、
テンポラリ変数TRAFの0ビット目から1ビット目ま
でが0であるかどうかを判定する(ステップS30
2)。0でなければ、リソース値生成手段7は、リソー
スの値を保持する配列要素RVT(RSN)に配列要素
CRB(N)を代入し、ソース数格納用変数RSNを1
つインクリメントする(ステップS303)。次に、リ
ソース値生成手段7は、テンポラリ変数TRAFの0ビ
ット目から16ビット目をテンポラリ変数TRAFの0
ビット目から15ビット目と0とをビット結合したもの
とし、ワーク用変数Nを1つインクリメントする(ステ
ップS304)。次に、リソース値生成手段7は、ワー
ク用変数Nが16未満であれば(ステップS305でノ
ー)、ステップS302に制御を戻してステップS30
2〜ステップS305を繰り返し、ワーク用変数Nが1
6以上であれば(ステップS305でイエス)、処理を
終了する。
【0093】続いて、メモリ値生成手段8は、アドレス
シラブル数格納用変数ASNを0に、テンポラリ変数T
MAFをメモリアクセスフラグ格納用変数MAFに、ワ
ーク用変数Nを0にそれぞれ初期化し(ステップS40
1)、テンポラリ変数TMAFの0ビット目から1ビッ
ト目までが0であるかどうかを判定する(ステップS4
02)。0でなければ、メモリ値生成手段8は、ASV
=CRBに含まれる命令語のNの値に対応したアドレス
シラブルを展開したアドレス値とし(ステップS40
3)、アクセスされたメモリの値を保持する配列要素M
VT(ASN)にメモリ(ASV)の値を代入し、アド
レスシラブル数ASNを1つインクリメントする(ステ
ップS404)。次に、メモリ値生成手段8は、テンポ
ラリ変数TMAFの0ビット目から2ビット目を、テン
ポラリ変数TMAFの1ビット目と0とをビット結合し
たものとし、ワーク用変数Nを1つインクリメントする
(ステップS405)。続いて、メモリ値生成手段8
は、ワーク用変数Nが2未満であれば(ステップS40
6でノー)、ステップS402に制御を戻してステップ
S402〜ステップS406を繰り返し、ワーク用変数
Nが2以上であれば(ステップS406でイエス)、処
理を終了する。
【0094】次に、プログラムカウンタ値生成手段9
は、プログラムカウンタ差分格納用変数PCDを配列C
RB内のプログラムカウンタの値からリソース値格納用
配列BRB内のプログラムカウンタの値を引いたものに
し(ステップS501)、プログラムカウンタの差分P
CDが1,2または4であるかどうかを判定する(ステ
ップS502)。そうでなければ、プログラムカウンタ
値生成手段9は、ビットパターン格納用変数ILを7と
し、プログラムカウンタ値保持変数PCTをリソース値
格納配列CRB内のプログラムカウンタの値とし(ステ
ップS503)、そうであれば、ビットパターン格納用
変数ILをプログラムカウンタ差分格納用変数PCDと
し(ステップS504)、処理を終了する。
【0095】続いて、トレースデータ生成手段10は、
ビットパターンフィールド値格納用変数BPFをリソー
スアクセスフラグ格納用変数RAF,メモリアクセスフ
ラグ格納用変数MAFおよびビットパターン格納用変数
LNのビット結合とし(ステップS601)、ビットパ
ターンフィールド値格納用変数BPFをトレースデータ
として出力し(ステップS602)、ワーク用変数Nを
0とする(ステップS603)。次に、トレースデータ
生成手段10は、ワーク用変数Nがリソース数格納用変
数RSN以上であるかどうかを判定し(ステップS60
4)、ワーク用変数Nがリソース数格納用変数RSN未
満であれば、リソースの値を保持する配列要素RVT
(N)をトレースデータとして出力し(ステップS60
5)、ワーク用変数Nを1つインクリメントして(ステ
ップS606)、ステップS604に制御を戻す。ステ
ップS604で、ワーク用変数Nがリソース数格納用変
数RSN以上であれば、トレースデータ生成手段10
は、ワーク用変数Nを0とし(ステップS607)、ワ
ーク用変数Nがアドレスシラブル数格納用変数ASN以
上であるかどうかを判定する(ステップS608)。ワ
ーク用変数Nがアドレスシラブル数格納用変数ASN未
満であれば、メモリの値を保持する配列要素MVT
(N)をトレースデータとして出力し(ステップS60
9)、ワーク用変数Nを1つインクリメントして(ステ
ップS610)、ステップS608に制御を戻す。ステ
ップS608で、ワーク用変数Nがアドレスシラブル格
納用変数ASN以上であれば、トレースデータ生成手段
10は、ビットパターン格納用変数ILが7かどうかを
判定し(ステップS611)、そうであれば、プログラ
ムカウンタ値保持変数PCTをトレースデータとして出
力して(ステップS612)、処理を終了する。
【0096】次に、前値更新手段11は、リソース保持
手段3の配列CRBを読み出し、前値保持手段4に出力
する。
【0097】最後に、前値保持手段4は、前値更新手段
11の出力にて配列BFBを更新する。
【0098】
【発明の効果】第1の効果は、トレースデータのデータ
量を削減できることにある。これにより、従来採取が不
可能であった大規模なプログラムのトレースデータが採
取可能となり、大規模なプログラムの性能評価を行うこ
とを可能とすることである。その理由は、トレースデー
タとして採取すべき情報処理装置の持つ情報には、いく
つかの特性があり、その特性に着目することにより、採
取すべきトレースデータの量を減らすことができるから
である。
【0099】たとえば、通常の情報処理装置では、1命
令毎にプログラムカウンタ,命令語,レジスタなどの複
数のリソースがアクセスされる。一方、トレースデータ
への出力が必要となるレジスタなどのすべてのリソース
の数は、数十程度の場合が一般である。その場合、リソ
ース毎に識別情報を与えるより、本発明のように各リソ
ースと1対1で対応したビットパターンで表現した方
が、同時に複数のリソースに対するアクセスの有無を表
現できることから、全体としての情報量を減らすことが
できる。
【0100】また、プログラムカウンタは、多くの場
合、プログラムカウンタ全体に対し、比較的小さな数種
類の値でインクリメントされるだけである。したがっ
て、プログラムカウンタ全体を1命令毎にトレースデー
タとして記録することは無駄であり、本発明のように通
常は変位に対応した少ないビット数をトレースデータに
記録し、このビット幅で表現できなくなったときのみ、
プログラムカウンタ全体をトレースデータに記録するこ
とにより、トレースデータの情報量を減らすことができ
る。
【0101】さらに、ある命令がどのアドレスを参照し
たかは、命令語とアドレスを指定するために使用される
レジスタの値とが既知であれば、計算により求めること
が可能であり、トレースデータとして、アクセスされた
メモリのアドレスを記録することも無駄である。つま
り、本発明のようにメモリをアクセスした命令語内のア
ドレス指定フィールドを識別する手段のみを提供すれ
ば、多くのビット数を必要とするアドレスの値をトレー
スデータ内に保持する必要はなく、トレースデータの情
報量を減らすことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るトレースデー
タ削減方式の構成を示すブロック図である。
【図2】第1の実施の形態を説明するための情報処理装
置の条件を示す図である。
【図3】第1の実施の形態で使用するビットパターンの
フォーマットを示す図である。
【図4】図3のビットパターンフォーマットでのビット
パターン例を示す図である。
【図5】第1の実施の形態で使用する命令実行イメージ
を示す図である。
【図6】図5の命令実行イメージを第1の実施の形態を
使って採取したトレースデータ列を示した図である。
【図7】第1の実施の形態で採取されるトレースデータ
上の各リソースの情報量を示す図である。
【図8】本発明の第2の実施の形態に係るトレースデー
タ削減方式の構成を示すブロック図である。
【図9】第2の実施の形態に係るトレースデータ削減方
式の処理の前部を示すフローチャートである。
【図10】第2の実施の形態に係るトレースデータ削減
方式の処理の中程部を示すフローチャートである。
【図11】第2の実施の形態に係るトレースデータ削減
方式の処理の後部を示すフローチャートである。
【図12】従来例のおける1つのリソースに対する単位
情報の例を示す図である。
【図13】図12の単位情報に対する設定の例を示す図
である。
【図14】従来例で使用するリソースと識別情報との対
応表である。
【図15】従来例で図5の命令実行イメージを使って採
取したトレースデータイメージを示す図である。
【符号の説明】
1 メモリ 2 プロセッサ 3 リソース保持手段 4 前値保持手段 5 リソースアクセスフラグ生成手段 6 メモリアクセスフラグ生成手段 7 リソース値生成手段 8 メモリ値生成手段 9 プログラムカウンタ値生成手段 10 トレースデータ生成手段 11 前値更新手段 21 識別情報 22 位置情報 23 内容 81 入力装置 82 情報処理装置 83 記憶装置 84 出力装置 85 記録媒体 86 トレースプログラム

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 1命令毎にデバグ割り込みを発生させる
    ことが可能であり、かつデバグ割り込み発生時のプログ
    ラムカウンタ,命令語,レジスタなどのリソースの値を
    保持するリソース保持手段を有する情報処理装置におい
    て、 1命令前のデバグ割り込み発生時のリソースの値を保持
    する前値保持手段と、 前記リソース保持手段の保持するリソースの値と前記前
    値保持手段の保持するリソースの値とを比較し、どのリ
    ソースがアクセスされたかを示す、リソースと1対1に
    対応したビットパターンを生成するリソースアクセスフ
    ラグ生成手段と、 このリソースアクセスフラグ生成手段の出力するビット
    パターンに基づいて前記リソース保持手段からアクセス
    されたリソースの値を出力するリソース値生成手段と、 前記リソースアクセスフラグ生成手段の出力するビット
    パターンと前記リソース値生成手段の出力するリソース
    の値とから、事前に決められた規則に従い、どのリソー
    スがアクセスされたかを示すリソースビットパターンと
    更新されたリソースの値とで構成されるトレースデータ
    を出力すると同時にトレースデータ出力完了指示を出力
    するトレースデータ生成手段と、 このトレースデータ生成手段の出力するトレースデータ
    出力完了指示により前記リソース保持手段の保持するリ
    ソースの値で前記前値保持手段の保持するリソースの値
    を更新する前値更新手段とを有することを特徴とするト
    レースデータ削減方式。
  2. 【請求項2】 命令語の中に、アクセスするメモリのア
    ドレスを指定するアドレス指定フィールドを1つもしく
    は複数有する情報処理装置において、命令語の中のどの
    アドレス指定フィールドで指定されたアドレスにアクセ
    スがあったかを示す、アドレス指定フィールドと1対1
    に対応したビットパターンを生成するメモリアクセスフ
    ラグ生成手段と、このメモリアクセスフラグ生成手段の
    出力するビットパターンと前記リソース保持手段の保持
    するリソースの値とからアドレス指定フィールドで指定
    されたメモリのアドレスを求め、該アドレスによりアク
    セスされたメモリの値を取り出して出力するメモリ値生
    成手段とを有するとともに、事前に決められた規則に従
    い前記リソースアクセスフラグ生成手段の出力するビッ
    トパターンと前記メモリアクセスフラグ生成手段の出力
    するビットパターンとを組み合わせたリソースビットパ
    ターンと、前記リソース値生成手段の出力するリソース
    の値と、前記メモリ値生成手段の出力するメモリの値と
    をトレースデータとして出力する前記トレースデータ生
    成手段を有する請求項1記載のトレースデータ削減方
    式。
  3. 【請求項3】 前記リソースビットパターンのうちのプ
    ログラムカウンタに対応するビットの値を、トレースデ
    ータ内にプログラムカウンタ全体の値を保持するか、ま
    たは1命令前のプログラムカウンタの値との差分のみを
    保持するかのフラグを定義するととともに、前記リソー
    ス保持手段の保持するプログラムカウンタの値と前記前
    値保持手段の保持するプログラムカウンタの値とを比較
    し、前記リソース保持手段の保持するプログラムカウン
    タの値をトレースデータに出力するか、前記リソース保
    持手段の保持するプログラムカウンタの値と前記前値保
    持手段の保持するプログラムカウンタの値との差分のみ
    を出力するかを判断し、リソースビットパターン上のプ
    ログラムカウンタに対応したビットの情報と、プログラ
    ムカウンタ全体の値または差分を出力するプログラムカ
    ウンタ値生成手段を有し、事前に決められた規則に従
    い、前記リソースアクセスフラグ生成手段の出力するビ
    ットパターンと前記メモリアクセスフラグ生成手段の出
    力するビットパターンと前記プログラムカウンタ値生成
    手段の出力するリソースビットパターン上のプログラム
    カウンタに対応したビットの値とからリソースビットパ
    ターンを生成するとともに、前記リソース値生成手段の
    出力するリソースの値と、前記メモリ値生成手段の出力
    するメモリの値と、前記プログラムカウンタ値生成手段
    の出力するプログラムカウンタ全体の値または差分とか
    らトレースデータを作成する前記トレースデータ生成手
    段を有する請求項1または請求項2記載のトレースデー
    タ削減方式。
  4. 【請求項4】 前記リソースビットパターンのうちのプ
    ログラムカウンタに対応するビットを1ビットまたは複
    数ビットのプログラムカウンタ更新パターンに置き換
    え、このプログラムカウンタ更新パターンの組み合わせ
    により、プログラムカウンタの値が1命令前のプログラ
    ムカウンタに対し、どの程度の変位を持った値である
    か、または後続するトレースデータ内にプログラムカウ
    ンタ全体の値があるかを指示できるようにするととも
    に、前記リソース保持手段の保持するプログラムカウン
    タの値と前記前値保持手段の保持するプログラムカウン
    タの値とを比較し、前記リソース保持手段の保持するプ
    ログラムカウンタの値をトレースデータに出力するか、
    前記リソース保持手段の保持するプログラムカウンタの
    値と前記前値保持手段の保持するプログラムカウンタの
    値との変位に対応したプログラムカウンタ更新パターン
    のみを出力するかを判断し、プログラムカウンタ全体の
    値を出力する場合はトレースデータ内にプログラムカウ
    ンタ全体の値があることを示すプログラムカウンタ更新
    パターンとプログラムカウンタ全体の値とを出力し、プ
    ログラムカウンタの値の変位のみを出力する場合は変位
    に対応したプログラムカウンタ更新パターンを出力する
    プログラムカウンタ値生成手段を有し、事前に決められ
    た規則に従い、前記リソースアクセスフラグ生成手段の
    出力するビットパターンと前記メモリアクセスフラグ生
    成手段の出力するビットパターンと前記プログラムカウ
    ンタ値生成手段の出力するプログラムカウンタ更新パタ
    ーンとから前記リソースビットパターンを生成するとと
    もに、前記リソース保持手段の保持するリソースの値
    と、前記メモリ値生成手段の出力するメモリの値と、前
    記プログラムカウンタ値生成手段がプログラムカウンタ
    全体の値を出力する場合は、この出力されたプログラム
    カウンタ全体の値とを含んだトレースデータを作成する
    前記トレースデータ生成手段を有する請求項lまたは請
    求項2記載のトレースデータ削減方式。
  5. 【請求項5】 コンピュータを、デバグ割り込み発生時
    のプログラムカウンタ,命令語,レジスタなどのリソー
    スの値を保持するリソース保持手段,1命令前のデバグ
    割り込み発生時のリソースの値を保持する前値保持手
    段,前記リソース保持手段の保持するリソースの値と前
    記前値保持手段の保持するリソースの値とを比較し、ど
    のリソースがアクセスされたかを示す、リソースと1対
    1に対応したビットパターンを生成するリソースアクセ
    スフラグ生成手段,このリソースアクセスフラグ生成手
    段の出力するビットパターンに基づいて前記リソース保
    持手段からアクセスされたリソースの値を出力するリソ
    ース値生成手段,前記リソースアクセスフラグ生成手段
    の出力するビットパターンと前記リソース値生成手段の
    出力するリソースの値とから、事前に決められた規則に
    従い、どのリソースがアクセスされたかを示すリソース
    ビットパターンと更新されたリソースの値とで構成され
    るトレースデータを出力すると同時にトレースデータ出
    力完了指示を出力するトレースデータ生成手段,ならび
    にこのトレースデータ生成手段の出力するトレースデー
    タ出力完了指示により前記リソース保持手段の保持する
    リソースの値で前記前値保持手段の保持するリソースの
    値を更新する前値更新手段として機能させるためのプロ
    グラムを記録した記録媒体。
  6. 【請求項6】 コンピュータを、デバグ割り込み発生時
    のプログラムカウンタ,命令語,レジスタなどのリソー
    スの値を保持するリソース保持手段,1命令前のデバグ
    割り込み発生時のリソースの値を保持する前値保持手
    段,前記リソース保持手段の保持するリソースの値と前
    記前値保持手段の保持するリソースの値とを比較し、ど
    のリソースがアクセスされたかを示す、リソースと1対
    1に対応したビットパターンを生成するリソースアクセ
    スフラグ生成手段,このリソースアクセスフラグ生成手
    段の出力するビットパターンに基づいて前記リソース保
    持手段からアクセスされたリソースの値を出力するリソ
    ース値生成手段,命令語の中のどのアドレス指定フィー
    ルドで指定されたアドレスにアクセスがあったかを示
    す、アドレス指定フィールドと1対1に対応したビット
    パターンを生成するメモリアクセスフラグ生成手段,こ
    のメモリアクセスフラグ生成手段の出力するビットパタ
    ーンと前記リソース保持手段の保持するリソースの値と
    からアドレス指定フィールドで指定されたメモリのアド
    レスを求め、該アドレスによりアクセスされたメモリの
    値を取り出して出力するメモリ値生成手段,事前に決め
    られた規則に従い前記リソースアクセスフラグ生成手段
    の出力するビットパターンと前記メモリアクセスフラグ
    生成手段の出力するビットパターンとを組み合わせたリ
    ソースビットパターンと、前記リソース値生成手段の出
    力するリソースの値と、前記メモリ値生成手段の出力す
    るメモリの値とをトレースデータとして出力すると同時
    にトレースデータ出力完了指示を出力するトレースデー
    タ生成手段,ならびにこのトレースデータ生成手段の出
    力するトレースデータ出力完了指示により前記リソース
    保持手段の保持するリソースの値で前記前値保持手段の
    保持するリソースの値を更新する前値更新手段として機
    能させるためのプログラムを記録した記録媒体。
  7. 【請求項7】 コンピュータを、デバグ割り込み発生時
    のプログラムカウンタ,命令語,レジスタなどのリソー
    スの値を保持するリソース保持手段,1命令前のデバグ
    割り込み発生時のリソースの値を保持する前値保持手
    段,前記リソース保持手段の保持するリソースの値と前
    記前値保持手段の保持するリソースの値とを比較し、ど
    のリソースがアクセスされたかを示す、リソースと1対
    1に対応したビットパターンを生成するリソースアクセ
    スフラグ生成手段,このリソースアクセスフラグ生成手
    段の出力するビットパターンに基づいて前記リソース保
    持手段からアクセスされたリソースの値を出力するリソ
    ース値生成手段,前記リソースビットパターンのうちの
    プログラムカウンタに対応するビットの値を、トレース
    データ内にプログラムカウンタ全体の値を保持するか、
    または1命令前のプログラムカウンタの値との差分のみ
    を保持するかのフラグを定義するととともに、前記リソ
    ース保持手段の保持するプログラムカウンタの値と前記
    前値保持手段の保持するプログラムカウンタの値とを比
    較し、前記リソース保持手段の保持するプログラムカウ
    ンタの値をトレースデータに出力するか、前記リソース
    保持手段の保持するプログラムカウンタの値と前記前値
    保持手段の保持するプログラムカウンタの値との差分の
    みを出力するかを判断し、リソースビットパターン上の
    プログラムカウンタに対応したビットの情報と、プログ
    ラムカウンタ全体の値または差分を出力するプログラム
    カウンタ値生成手段,事前に決められた規則に従い、前
    記リソースアクセスフラグ生成手段の出力するビットパ
    ターンと前記メモリアクセスフラグ生成手段の出力する
    ビットパターンと前記プログラムカウンタ値生成手段の
    出力するリソースビットパターン上のプログラムカウン
    タに対応したビットの値とからリソースビットパターン
    を生成するとともに、前記リソース値生成手段の出力す
    るリソースの値と、前記メモリ値生成手段の出力するメ
    モリの値と、前記プログラムカウンタ値生成手段の出力
    するプログラムカウンタ全体の値または差分とからトレ
    ースデータを作成すると同時にトレースデータ出力完了
    指示を出力するトレースデータ生成手段,ならびにこの
    トレースデータ生成手段の出力するトレースデータ出力
    完了指示により前記リソース保持手段の保持するリソー
    スの値で前記前値保持手段の保持するリソースの値を更
    新する前値更新手段として機能させるためのプログラム
    を記録した記録媒体。
  8. 【請求項8】 コンピュータを、デバグ割り込み発生時
    のプログラムカウンタ,命令語,レジスタなどのリソー
    スの値を保持するリソース保持手段,1命令前のデバグ
    割り込み発生時のリソースの値を保持する前値保持手
    段,前記リソース保持手段の保持するリソースの値と前
    記前値保持手段の保持するリソースの値とを比較し、ど
    のリソースがアクセスされたかを示す、リソースと1対
    1に対応したビットパターンを生成するリソースアクセ
    スフラグ生成手段,このリソースアクセスフラグ生成手
    段の出力するビットパターンに基づいて前記リソース保
    持手段からアクセスされたリソースの値を出力するリソ
    ース値生成手段,命令語の中のどのアドレス指定フィー
    ルドで指定されたアドレスにアクセスがあったかを示
    す、アドレス指定フィールドと1対1に対応したビット
    パターンを生成するメモリアクセスフラグ生成手段,こ
    のメモリアクセスフラグ生成手段の出力するビットパタ
    ーンと前記リソース保持手段の保持するリソースの値と
    からアドレス指定フィールドで指定されたメモリのアド
    レスを求め、該アドレスによりアクセスされたメモリの
    値を取り出して出力するメモリ値生成手段,前記リソー
    スビットパターンのうちのプログラムカウンタに対応す
    るビットの値を、トレースデータ内にプログラムカウン
    タ全体の値を保持するか、または1命令前のプログラム
    カウンタの値との差分のみを保持するかのフラグを定義
    するととともに、前記リソース保持手段の保持するプロ
    グラムカウンタの値と前記前値保持手段の保持するプロ
    グラムカウンタの値とを比較し、前記リソース保持手段
    の保持するプログラムカウンタの値をトレースデータに
    出力するか、前記リソース保持手段の保持するプログラ
    ムカウンタの値と前記前値保持手段の保持するプログラ
    ムカウンタの値との差分のみを出力するかを判断し、リ
    ソースビットパターン上のプログラムカウンタに対応し
    たビットの情報と、プログラムカウンタ全体の値または
    差分を出力するプログラムカウンタ値生成手段,事前に
    決められた規則に従い、前記リソースアクセスフラグ生
    成手段の出力するビットパターンと前記メモリアクセス
    フラグ生成手段の出力するビットパターンと前記プログ
    ラムカウンタ値生成手段の出力するリソースビットパタ
    ーン上のプログラムカウンタに対応したビットの値とか
    らリソースビットパターンを生成するとともに、前記リ
    ソース値生成手段の出力するリソースの値と、前記メモ
    リ値生成手段の出力するメモリの値と、前記プログラム
    カウンタ値生成手段の出力するプログラムカウンタ全体
    の値または差分とからトレースデータを作成すると同時
    にトレースデータ出力完了指示を出力するトレースデー
    タ生成手段,ならびにこのトレースデータ生成手段の出
    力するトレースデータ出力完了指示により前記リソース
    保持手段の保持するリソースの値で前記前値保持手段の
    保持するリソースの値を更新する前値更新手段として機
    能させるためのプログラムを記録した記録媒体。
  9. 【請求項9】 コンピュータを、デバグ割り込み発生時
    のプログラムカウンタ,命令語,レジスタなどのリソー
    スの値を保持するリソース保持手段,1命令前のデバグ
    割り込み発生時のリソースの値を保持する前値保持手
    段,前記リソース保持手段の保持するリソースの値と前
    記前値保持手段の保持するリソースの値とを比較し、ど
    のリソースがアクセスされたかを示す、リソースと1対
    1に対応したビットパターンを生成するリソースアクセ
    スフラグ生成手段,このリソースアクセスフラグ生成手
    段の出力するビットパターンに基づいて前記リソース保
    持手段からアクセスされたリソースの値を出力するリソ
    ース値生成手段,前記リソースビットパターンのうちの
    プログラムカウンタに対応するビットを1ビットまたは
    複数ビットのプログラムカウンタ更新パターンに置き換
    え、このプログラムカウンタ更新パターンの組み合わせ
    により、プログラムカウンタの値が1命令前のプログラ
    ムカウンタに対し、どの程度の変位を持った値である
    か、または後続するトレースデータ内にプログラムカウ
    ンタ全体の値があるかを指示できるようにするととも
    に、前記リソース保持手段の保持するプログラムカウン
    タの値と前記前値保持手段の保持するプログラムカウン
    タの値とを比較し、前記リソース保持手段の保持するプ
    ログラムカウンタの値をトレースデータに出力するか、
    前記リソース保持手段の保持するプログラムカウンタの
    値と前記前値保持手段の保持するプログラムカウンタの
    値との変位に対応したプログラムカウンタ更新パターン
    のみを出力するかを判断し、プログラムカウンタ全体の
    値を出力する場合はトレースデータ内にプログラムカウ
    ンタ全体の値があることを示すプログラムカウンタ更新
    パターンとプログラムカウンタ全体の値とを出力し、プ
    ログラムカウンタの値の変位のみを出力する場合は変位
    に対応したプログラムカウンタ更新パターンを出力する
    プログラムカウンタ値生成手段,事前に決められた規則
    に従い、前記リソースアクセスフラグ生成手段の出力す
    るビットパターンと前記メモリアクセスフラグ生成手段
    の出力するビットパターンと前記プログラムカウンタ値
    生成手段の出力するプログラムカウンタ更新パターンと
    から前記リソースビットパターンを生成するとともに、
    前記リソース保持手段の保持するリソースの値と、前記
    メモリ値生成手段の出力するメモリの値と、前記プログ
    ラムカウンタ値生成手段がプログラムカウンタ全体の値
    を出力する場合は、この出力されたプログラムカウンタ
    全体の値とを含んだトレースデータを作成すると同時に
    トレースデータ出力完了指示を出力するトレースデータ
    生成手段,ならびにこのトレースデータ生成手段の出力
    するトレースデータ出力完了指示により前記リソース保
    持手段の保持するリソースの値で前記前値保持手段の保
    持するリソースの値を更新する前値更新手段として機能
    させるためのプログラムを記録した記録媒体。
  10. 【請求項10】 コンピュータを、デバグ割り込み発生
    時のプログラムカウンタ,命令語,レジスタなどのリソ
    ースの値を保持するリソース保持手段,1命令前のデバ
    グ割り込み発生時のリソースの値を保持する前値保持手
    段,前記リソース保持手段の保持するリソースの値と前
    記前値保持手段の保持するリソースの値とを比較し、ど
    のリソースがアクセスされたかを示す、リソースと1対
    1に対応したビットパターンを生成するリソースアクセ
    スフラグ生成手段,このリソースアクセスフラグ生成手
    段の出力するビットパターンに基づいて前記リソース保
    持手段からアクセスされたリソースの値を出力するリソ
    ース値生成手段,命令語の中のどのアドレス指定フィー
    ルドで指定されたアドレスにアクセスがあったかを示
    す、アドレス指定フィールドと1対1に対応したビット
    パターンを生成するメモリアクセスフラグ生成手段,こ
    のメモリアクセスフラグ生成手段の出力するビットパタ
    ーンと前記リソース保持手段の保持するリソースの値と
    からアドレス指定フィールドで指定されたメモリのアド
    レスを求め、該アドレスによりアクセスされたメモリの
    値を取り出して出力するメモリ値生成手段,前記リソー
    スビットパターンのうちのプログラムカウンタに対応す
    るビットを1ビットまたは複数ビットのプログラムカウ
    ンタ更新パターンに置き換え、このプログラムカウンタ
    更新パターンの組み合わせにより、プログラムカウンタ
    の値が1命令前のプログラムカウンタに対し、どの程度
    の変位を持った値であるか、または後続するトレースデ
    ータ内にプログラムカウンタ全体の値があるかを指示で
    きるようにするとともに、前記リソース保持手段の保持
    するプログラムカウンタの値と前記前値保持手段の保持
    するプログラムカウンタの値とを比較し、前記リソース
    保持手段の保持するプログラムカウンタの値をトレース
    データに出力するか、前記リソース保持手段の保持する
    プログラムカウンタの値と前記前値保持手段の保持する
    プログラムカウンタの値との変位に対応したプログラム
    カウンタ更新パターンのみを出力するかを判断し、プロ
    グラムカウンタ全体の値を出力する場合はトレースデー
    タ内にプログラムカウンタ全体の値があることを示すプ
    ログラムカウンタ更新パターンとプログラムカウンタ全
    体の値とを出力し、プログラムカウンタの値の変位のみ
    を出力する場合は変位に対応したプログラムカウンタ更
    新パターンを出力するプログラムカウンタ値生成手段,
    事前に決められた規則に従い、前記リソースアクセスフ
    ラグ生成手段の出力するビットパターンと前記メモリア
    クセスフラグ生成手段の出力するビットパターンと前記
    プログラムカウンタ値生成手段の出力するプログラムカ
    ウンタ更新パターンとから前記リソースビットパターン
    を生成するとともに、前記リソース保持手段の保持する
    リソースの値と、前記メモリ値生成手段の出力するメモ
    リの値と、前記プログラムカウンタ値生成手段がプログ
    ラムカウンタ全体の値を出力する場合は、この出力され
    たプログラムカウンタ全体の値とを含んだトレースデー
    タを作成すると同時にトレースデータ出力完了指示を出
    力するトレースデータ生成手段,ならびにこのトレース
    データ生成手段の出力するトレースデータ出力完了指示
    により前記リソース保持手段の保持するリソースの値で
    前記前値保持手段の保持するリソースの値を更新する前
    値更新手段として機能させるためのプログラムを記録し
    た記録媒体。
JP9189322A 1997-06-30 1997-06-30 トレースデータ削減方式 Expired - Fee Related JP3019922B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9189322A JP3019922B2 (ja) 1997-06-30 1997-06-30 トレースデータ削減方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9189322A JP3019922B2 (ja) 1997-06-30 1997-06-30 トレースデータ削減方式

Publications (2)

Publication Number Publication Date
JPH1124958A JPH1124958A (ja) 1999-01-29
JP3019922B2 true JP3019922B2 (ja) 2000-03-15

Family

ID=16239427

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9189322A Expired - Fee Related JP3019922B2 (ja) 1997-06-30 1997-06-30 トレースデータ削減方式

Country Status (1)

Country Link
JP (1) JP3019922B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3629181B2 (ja) 2000-03-28 2005-03-16 Necマイクロシステム株式会社 プログラム開発支援装置
US7702964B2 (en) * 2004-05-11 2010-04-20 Qualcomm Incorporated Compression of data traces for an integrated circuit with multiple memories
JP5312918B2 (ja) * 2008-11-26 2013-10-09 ルネサスエレクトロニクス株式会社 タイムスタンプ取得回路及びタイムスタンプ取得方法

Also Published As

Publication number Publication date
JPH1124958A (ja) 1999-01-29

Similar Documents

Publication Publication Date Title
JP2003067185A (ja) アプリケーション編集装置、データ処理方法及びプログラム
JPH06105429B2 (ja) マイクロプログラム制御装置
JP2006012064A (ja) トレース装置
JP3019922B2 (ja) トレースデータ削減方式
JP2009116395A (ja) データ形式変換装置及びデータ形式変換プログラム及びデータ形式変換方法
JPH11143753A (ja) データ変換装置、方法及び記録媒体
GB2397905A (en) Method for automatically generating and ordering test scripts
JPH11259335A (ja) トレーサ装置、トレースデータ圧縮方法および圧縮トレースデータ読み出し方法
JPS60122435A (ja) メモリダンプ方式
JPH11232309A (ja) 情報処理システム
JPS6148735B2 (ja)
JPH10187849A (ja) データ列処理装置
JP3039054B2 (ja) 画像処理装置
JP2001350801A (ja) データ処理方法及び装置
JP3456084B2 (ja) Cadシステムにおけるリファレンス参照方法
JP3156343B2 (ja) データ依存関係情報処理方法
JPH0769926B2 (ja) 符号解読型選択論理生成装置
JP2006139472A (ja) モデル駆動開発装置
JP2765051B2 (ja) 二値画像情報の合成方式
JP2002300278A (ja) メッセージ解析方法、そのプログラム、そのプログラムが記録された記録媒体及びその装置、メッセージ解析命令が記録された記録媒体、メッセージ解析のための処理テーブルが記録された記録媒体
JPH05250210A (ja) プログラムトレース方式
JPH022456A (ja) データ編集方法とその装置
JPH06236264A (ja) ロードモジュール生成方式
JPH09146808A (ja) 制御用定数値の管理装置
JP2008084262A (ja) プログラム自動生成装置、プログラム自動生成方法およびプログラム自動生成プログラム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees