JP2009529722A - 追跡データを生成するための機器、方法、およびコンピュータ・プログラム製品 - Google Patents

追跡データを生成するための機器、方法、およびコンピュータ・プログラム製品 Download PDF

Info

Publication number
JP2009529722A
JP2009529722A JP2008557811A JP2008557811A JP2009529722A JP 2009529722 A JP2009529722 A JP 2009529722A JP 2008557811 A JP2008557811 A JP 2008557811A JP 2008557811 A JP2008557811 A JP 2008557811A JP 2009529722 A JP2009529722 A JP 2009529722A
Authority
JP
Japan
Prior art keywords
item
data
tracking
tag
data processing
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.)
Ceased
Application number
JP2008557811A
Other languages
English (en)
Inventor
ブラッドリー、ダリル、ウェイン
ホーリー、ジョン、マイケル
ウッドハウス、シェルドン、ジェイムズ
Original Assignee
エイアールエム リミテッド
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 エイアールエム リミテッド filed Critical エイアールエム リミテッド
Publication of JP2009529722A publication Critical patent/JP2009529722A/ja
Ceased legal-status Critical Current

Links

Images

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/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus

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

或るデータ処理機器を開示する。前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも1個に関連する追跡論理と、前記複数のデバイスの少なくとも1個に関連するタグ付け論理とを含み、前記タグ付け論理は、監視対象の活動を含む少なくとも1つの項目を選択し、前記少なくとも1つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも1つの選択された項目に与え、また前記追跡論理は、前記少なくとも1個のデバイスが処理したタグ付き項目を検出し、前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力する。

Description

本発明の分野はデータ処理に関するものであって、特にデータ処理操作を監視するための診断機構に関するものである。
データ・プロセッサが実行中の処理の記録を取りたい場合は非常に多い。例えば、データ処理装置の開発中はかかる情報は有用であり、処理回路の活動を追跡したいことが多い。かかるプロセスで支援に用いられる追跡インフラストラクチャの一例は追跡ツールである。
装置内のステップ毎の活動を表すデータを含む追跡(trace)ストリームを生成することによりデータ処理装置の活動を追跡するのは、装置およびソフトウエア開発において非常に有用なツールである。かかる追跡ツールはプログラム・フローを追跡するための種々の手段、例えば、処理を監視するチップ上に存在する(埋込み追跡マクロセル(Embedded Trace Mcrocells)(ETM(TM))など)を用いる。
新しいデバイスの複雑さが増すに従って、支援インフラストラクチャおよびツールも複雑さを増す必要がある。既存の追跡ソース(ETMなど)は広範囲のプログラミングおよび構成機能を支援するので、効率的に用いると、追跡データの生成を正確に制御しまた管理することができるし、またこのデータの取得を関心のある領域に制限することができる。これにより、多すぎる追跡データが生成されるのを防ぐことができる。追跡データが多すぎると、データ処理機器からダウンロードするのが困難であり、分析するのも困難である。
追跡インフラストラクチャの展開が単一のCPUを超えて多数の構成要素にまで広がると、ユーザが要求する複雑さと構成が更に大きくなる。チップの回りの情報の流れを理解するには、各追跡ソースを構成するときに他の追跡ソースとの関係を考慮する必要がある。また、追跡を開始する前に、複数の追跡ソースを構成する必要があろう。
図1は、多数の追跡ソース21,22,23,24を含む従来技術に係るチップ10を示す。各追跡ソースはチップ上の異なるデバイスの動作を追跡する。すなわち、ディジタル信号処理プロセッサの活動を追跡するDSP追跡ハードウエア24と、2個の異なるCPUを追跡する2個のETM21,23と、バス30の活動を監視するバス追跡マクロセル22とがある。したがって、4つの異なる追跡データのストリームが生成される。これらはファンネル(Funnel)40内で結合され、出力ポート50を介して出力される。
かかる装置では、4つの異なる追跡データのストリームが生成されるだけでなく、4つの異なる追跡ソースを構成する必要がある。アドレスおよびデータ値などの特定の詳細な追跡知識が必要な場合は、追跡領域を厳しく管理し、生成されるデータ量を制限して追跡ポート(追跡ポート50など)の帯域幅の制約を満たすために、複雑なSoCインフラストラクチャの複雑な構成および詳細な知識が必要である。
本発明は上記の問題の一部に対処しようとするものである。
本発明の第1の態様は或るデータ処理機器を提供する。前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも1個に関連する追跡論理と、前記複数のデバイスの少なくとも1個に関連するタグ付け論理とを含み、前記タグ付け論理は、監視対象の活動を含む少なくとも1つの項目を選択し、前記少なくとも1つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも1つの選択された項目に与え、また前記追跡論理は、前記追跡論理に関連する前記少なくとも1個のデバイスが処理したタグ付き項目を検出し、前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力する。
本発明が従来技術の追跡と異なる点は、監視対象である特定の活動を含む項目を選択してタグを付けることである。この活動は、或るデータ項目または或る命令に関係してよく、またはクロス・トリガなどの或る事象でよい。その項目にタグを付けることにより、他の追跡論理(もしあれば)はその活動を検出して、全ての検出されたタグ付き項目に関する追跡情報を出力することができる。これは異なる追跡方法であり、特定の活動に応じるデータ処理機器の挙動を監視することができる。これは、選択された活動を監視することに追跡の目標を絞って、関係のあるものだけに追跡データを限定するだけでなく、デバイスの構成を非常に簡単にする。詳しく述べると、構成は特定の項目にタグを付けるためのタグ付け論理の構成だけでよく、その結果、タグ付き項目に対して自動的に、データ処理機器は動作しまたデバイスおよび追跡論理は反応することができる。今後異なるデバイスが処理する項目について述べるときは、これは例えばバスにより送信される項目を含むことに注意していただきたい。また項目のタグ付けは、その項目が監視対象であることを示す標識をその項目に関連付けることを含む。これは多くの方法で簡単に行うことができる。その一部の概要を以下に示す。
利点として、前記複数のデバイスの少なくとも一部は、タグ付き項目を受けると前記受けたタグ付き項目の処理によって生成された全ての項目にタグを付ける。
デバイスの少なくとも一部が、受けたタグ付き項目の処理によって生成された全ての項目に自動的にタグを付けることにより、タグ付き項目に応じるデータ処理機器の挙動を効率的に監視することができる。このように、タグ付き項目は他のタグ付き項目を処理するデバイスにより作られるので、データ処理機器の挙動の流れを自動的に監視することができる。これによりタグ付き項目に応じる機器の挙動を監視することができると共に、追跡を開始する前に個別のデバイスに関連する個別の追跡論理を別々に構成する必要がなくなる。
或る実施の形態では、前記データ処理機器は対応するデバイスにそれぞれ関連する複数の追跡ソースを含み、前記複数の追跡ソースはそれぞれタグ付き項目を検出して、前記検出されたタグ付き項目の少なくとも一部に関係する追跡情報を出力する。
データ処理機器は複数のデバイスの1個に関連する単一の追跡論理を含んでよく、またはデバイスの部分集合に関連する複数の追跡論理を含んでよく、または実際のところ、各デバイスに関連する追跡論理を含んでよい。1つの利点は、これらの追跡論理を個別に構成しなくてよいことがあることである。なぜなら、これらの追跡論理はタグ付き項目を自動的に検出し、タグ情報に従って応答するからである。基本的な追跡を可能にする/不能にすることだけが必要であろう。
タグ・データは選択された項目に関連する単なる情報である。これは多くの形をとってよい。例えば、側波帯信号として前記項目に関連してよく、また別の実施の形態では別々の通信チャネルで送信してよい。
或る実施の形態では、前記タグ・データは関連する項目を追跡すべきかどうかを示すビットを含む。
タグ付きデータは多くの形を含んでよいが、或る実施の形態では、関連する項目を追跡すべきかどうかを示す単一のビットを含む。これは、実現するのが簡単でかつ情報を送信するのに多くの帯域幅を必要としないという利点を有する。
或る実施の形態では、前記タグ・データは関連する項目の安全保護情報を含み、前記追跡ソースは、前記安全保護情報に応じて前記タグ付き項目に関係する追跡情報の出力を制限して前記タグ付き項目の追跡を妨げ、また前記安全保護情報に応じて前記追跡情報を出力させて前記タグ付き項目の追跡を可能にする。
本発明の実施の形態は安全なシステムを追跡してよい。かかるシステムでは、タグを用いて安全な世界からの情報の出力を妨げ、これにより簡単であるが効果的な方法でシステムの安全性を高め、またその特定の安全なデータを追跡することが許可されていないところに安全なデータが追跡情報として出力されるのを防ぐ。
或る実施の形態では、前記タグ・データは関連する項目を監視する際の優先レベルを示す優先順位情報を含み、前記追跡ソースは、前記項目が高い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力し、また前記項目が低い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力しない。
タグ付きデータは関連する項目の監視の重要度を示す優先順位情報も含んでよい。これは、追跡するデータの量が増えて大きくなりすぎるのを止めるのに用いてよい。関連する項目を追跡することの重要度を示すタグを用いることにより、追跡するデータが大きくなりすぎて管理できなくなる場合に優先順位の高いデータだけを追跡するように選択することができる。
利点として、前記複数のデバイスの少なくとも一部は前記項目の処理中に前記項目に関連する前記タグの前記優先順位情報を変えて情報の優先順位が低いことを示し、前記項目の処理に応じて生成した全ての項目に前記優先順位レベルが低いことを示すタグを付ける。
タグ付き項目を処理すると、この処理により生成される項目も全てタグ付きになる。場合によってはタグ付きデータ項目が多数の他の項目を生成することがある。これは急速に増大して大量の追跡データを生じることがある。したがってこの問題に対処する1つの方法は、処理する度にデータ項目の優先順位のレベルを下げることである。したがって、処理した項目の優先順位はその項目および主な関心点から離れるに従って低くなるので、これらの項目に関心がなくなってそれ以上追跡しなくてよい或る点を選択してよい。
或る実施の形態では、前記タグ・データは寿命表示を含む。この場合、デバイスがタグ付き項目を処理する度に前記寿命表示を減らし、前記寿命の終わりを示す値まで前記寿命が減ると前記タグを削除する。
追跡データの量を抑制する別の方法は寿命標識をタグ・データとして用いることである。タグ付き項目を処理する度に寿命標識を減らし、処理を或る回数行うと寿命が終わってその項目はその後追跡の対象にならないように寿命標識を設定してよい。
或る実施の形態では前記複数のデバイスの前記少なくとも1個はカウンタを含み、前記複数のデバイスの前記少なくとも1個は現在のカウンタ値を前記タグ・データとして与え、前記追跡ソースは、前記項目に関連する追跡情報を出力するとき前記データ項目にタグを付けた時点での前記カウンタ値を示す前記タグ・データを出力し、また前記複数のデバイスの少なくとも別の1個で処理した後に前記複数のデバイスの前記少なくとも1個で前記タグ付き項目を受けた時点での前記カウンタのカウンタ値を出力する。
このデバイスの実施の形態を用いてデータ処理機器の性能を監視することができる。これは、デバイスの1つにカウンタを設けてこのカウンタ値をタグ値として用いることにより行う。したがって、タグを付けたときのカウンタ値をタグ・データに設定した場合は、そのデータ項目にタグを付けたときとデバイスがそれを解釈したときとの間の時間を監視してよい。これはデータ処理機器の性能を監視するのに非常に有効な方法であろう。
或る実施の形態では、前記タグ・データは期待宛先デバイスを示す情報を含み、前記複数のデバイスの少なくとも一部は前記項目を処理するとき前記タグを検出し、前記タグが前記期待宛先デバイスであることを示さない場合は前記タグ・データを修正して前記項目が監視対象であることを示す。
期待宛先デバイス標識をタグ・データとして用いると、このデータを受けたデバイスはそれを受けるべきでなかったかどうかをタグ付きデータから検出することができる。そうであれば、タグ・データを修正してこの項目を監視すべきであることを示す。従来技術の追跡システムでは、或る項目が実際上間違った宛先に送られた場合に、どこで問題が起こったかを追跡することが困難なことがある。問題が起こったことが分かった場合はこの項目の期待宛先を追跡するが、各デバイスを別々の追跡ソースまたは論理により別々に追跡するので、その項目の実際の宛先を探し出すのは容易ではないであろう。この実施の形態ではタグ・データを用いることにより、間違った宛先に到着したことを容易に識別することができる。これは、関連性の高い追跡データを作り、関連性のない大量の追跡データを作るのを避けまたは少なくとも減らす有効な方法である。
或る実施の形態では、前記タグ・データは、その後の全ての項目を監視すべきであることを示す情報かまたは項目の監視を停止すべきであることを示す情報を含む。前記追跡論理は前記タグ・データに応じて前記少なくとも1個のデバイスの活動の追跡を開始しまた停止する。
タグ・データは単に、追跡情報の監視を開始すべきであることと停止すべきであることの情報を含んでよい。したがって、この形の特定のタグ・データを受けると追跡を実施しまた停止してよい。
利点として、タグ付け論理は監視のために選択する前記項目に関する情報を記憶するタグ付け資源を含み、前記タグ付け資源はプログラム可能である。
監視対象の特定の項目は、ユーザが定義してデバイス内にプログラムする。これは、タグ付け資源を含むタグ付け論理を少なくともいくつかのデバイスに与えることにより行う。これらのデバイスは、どの項目を選択して監視対象としてタグを付けるかを示す、ユーザが入力する情報を記憶する。
或る実施の形態では、前記タグ付け資源はアドレス比較器、データ値比較器、アドレスを記憶するレジスタ、データ値を記憶するレジスタ、および、例外や中断や性能監視論理事象などの事象の発生を監視する事象監視論理、の少なくとも1つを含む。
アドレス比較器、データ値比較器、必要なアドレスおよびデータ値を記憶するレジスタを用いると、ユーザは関心のある項目を識別するのに必要なデータ値または命令アドレスを入力することができる。次にデバイスは記憶されている値と処理中の実際の項目とを比較し、一致を検出すると項目にタグを付けてよい。追加的にまたは代替的に、事象監視論理を用いて事象を検出し、この検出された事象に応じて項目にタグを付けてよい。事象は中断または例外でよく、またはプロセッサの性能に関連する何らかの事象でよい。
好ましくは、前記データ処理機器は前記複数のデバイスの少なくとも2個を接続する少なくとも1本のバスを含み、前記少なくとも1本のバスはタグ・データの送信専用の少なくとも1本のワイヤを含む。
タグ・データを送信する1つの方法は、各バスにタグ・データの送信専用の少なくとも1本の追加のワイヤを設けることである。一般にワイヤは2本あり、1本はタグ・データを一方向に送信するためであり、他の1本はこれを逆方向に送信するためである。これらのワイヤは、この実施の形態のこの場合はタグ付きデータを単一ビットとして送信し、タグ・データが複数のビットである別の実施の形態では、特定のプロトコルに従って送信される直列の複数のビットとして送信してよい。
或る実施の形態では、前記追跡ソースは前記タグ付きデータに応じて操作を行い、前記操作は、追跡情報を収集しまた出力する前に、前記タグ付きデータが指定する多数のステップを実行することを含む。
追跡ソースはいくつかのタグ・データに応じて追跡情報を出力してよいが、他のタグ・データに応じて他の動作(デバイスを監視して、追跡情報を出力する前に複数のステップを実行するのを待つなど)を実行してよい。
本発明の別の態様は、或る活動に応じてデータ処理機器の挙動を監視する方法を提供する。前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも1個に関連する追跡論理とを含み、前記方法は、監視対象の活動を含む少なくとも1つの項目を選択するステップと、前記少なくとも1つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも1つの選択された項目に与えるステップと、前記少なくとも1個のデバイスが処理したタグ付きデータを検出するステップと、前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力するステップとを含む。
本発明の更に別の態様は、データ・プロセッサ上で走らせるとデータ・プロセッサを制御して本発明の別の態様に係る方法のステップを実行するコンピュータ・プログラム製品を提供する。
本発明の上記のまたは他の目的、特徴、および利点は、例示の実施の形態の以下の詳細な説明を、添付の図面に関して読めば明らかになる。
図2は本発明の或る実施の形態に係るデータ処理機器60を示す。データ処理機器60は2つの追跡論理ブロックすなわち追跡ソース68,70を含む。これらは、CPU80を追跡するETM70と、バス・マトリクス90を追跡するバス追跡マクロセル68を含む。このデータ処理機器60は更に、第2のCPU100と、メモリ管理ユニット(MMU)110,92と、直接メモリ・アクセス・コントローラ(DMA)95と、スレーブ・デバイス120とを含む。CPU80および100と、MMU92および110と、DMA95とは、タグ付け論理82,102,93,112,97をそれぞれ含む。タグ付け論理82,102,93,112,97はプログラム可能であり、デバイスのユーザはこれを用いて、特定の追跡を実行するよう機器を構成する。ユーザはこれを行うのに、監視対象の特定の活動を選択し、次にこの活動の表示をタグ付け論理ブロック内に記憶する。これは命令アドレスの形でよく、またはデータ値でよい。タグ付け論理82の詳細を図3に示す。これについては後で説明する。
各デバイス内の追跡論理82,102,93,112,97はタグを付けるデータ項目を選択するようにユーザが構成してよい。これらはこの方法で構成することができるデバイスだけであるが、スレーブ・デバイス120を含めてデータ処理機器60上の全てのデバイスは何らかの方法でデータにタグを付けることができる。すなわち全てのデバイスは、受けたタグ付き項目を処理したときに生成された全ての項目にタグを付ける。これは、タグ付き項目を処理したときに生成された単一項目にタグを付けることを意味してよく、またはタグ付き項目を処理したときに生成された多数の項目にタグを付けることを意味してよい。
図2の機器では、追跡論理は2個のデバイス(すなわち、CPU80およびマトリックス90)だけに関連する。したがって、追跡論理70および68はこれらのデバイスが処理するタグ付きデータをそれぞれ検出することができる。またタグの性質に依存して、このタグ・データが検出されると追跡データの出力を開始してよい。または出力を開始するのではなく、追跡論理内の異なる事象(追跡データを出力する前に複数のステップを実行するなど)を開始してもよい。または、特定のタグに応じて単に追跡データを出力しなくてよい。これはタグ・データの性質に依存するものであって、タグ・データは追跡して出力する項目を示す単純なデータでよく、または更なる制御情報を含んでよい。
図3はタグ付け論理82の詳細を示す。タグ付け論理82はレジスタ83,84,85を含む。レジスタ83は事象の存在を記憶する。レジスタ84はユーザが入力した命令アドレスを記憶し、レジスタ85はユーザが入力したデータ値を記憶する。比較器86,87,88は処理中の命令およびデータの値およびアドレスとCPU80内で起こっている事象を比較し、値が等しいことを比較器が示す場合は、論理89は処理中の項目にタグを付け(入力タグ71を変更してタグ73を形成し)、情報72との関連を保持する。入力タグ71は随意である。すなわち、項目にはまだタグが付いていなくてよく、また論理89はタグ付け情報を与えてタグ73を生成した最初の例であってよい。この単一項目にタグを付けることによりこのタグ付き項目を処理する全てのデバイス内で更なる事象が起こっても起こらなくてもよく、その結果、この項目に応じるデータ処理機器の挙動を追跡することができる。なぜなら、全てのデバイスがタグ付きデータを検出して応答するからである。応答は、情報を変えずに通すだけでもよい。
図4は、本発明の或る実施の形態に係るバスを簡単に示す。このバスは、アドレスを送信するアドレス・チャネルと、制御データを送信する制御チャネルと、読取りデータを送信する読取りデータチャネルと、書込みデータを送信する書込みデータチャネルと、タグ・データを送信および受信する2つのタグ・データ・チャネルとを含む。このようにこの実施の形態では、或る項目に関連するタグ・データをデータ処理機器の回りで送信できるようにする追加のタグ・チャネルをバス上に設ける。
図5は本発明の別の実施の形態を示す。この場合は、AXIバスを用いて2個のCPU130,140とバス・マトリックス150とを接続する。また別のAXIバスを用いてスレーブ160とバス・マトリックス150とを接続する。トランザクションは不規則性があるので、従来技術を用いるとAXIバスの追跡に問題がある。本発明の実施の形態はAXIバスの活動の追跡に関連する多くの問題に対処する。
詳しく述べると、AXIバスはアドレス書込み制御チャネルAWと、アドレス読取り制御チャネルARと、書込みデータチャネルWと、読取りデータチャネルRと、Bチャネル(書込みが要求どおりに完了したことを示す制御チャネル)とを含む。AXIバス上のチャネルは独立に動作するので、或るチャネルで送信中の書込みデータとこれに関連する制御データとを追跡中に関連付けることは困難なことがある。タグを用いまたタグ付き項目により生成される全ての項目にタグを付けることにより、AW,W、B上のどの項目が互いに関連するかを容易に知ることができる。
図6Aおよび図6Bは本発明の或る実施の形態の詳細なシナリオを示す。この実施の形態では、矢印1はCPUがDMAコントローラをプログラムして、データをUARTからメモリに転送することを表す。矢印2はDMAコントローラがUARTにアクセスすることを表す。矢印3はUARTがDMAコントローラにデータを返すことを表し、矢印4はDMAコントローラがデータをメモリに記憶することを表し、矢印5はCPUがメモリを読み取ることを表す。
本発明の実施の形態がカバーする方式を用いると、CPUがDMAに対して開始したトランザクションに(UARTコードを実行するとき)タグが付けられる。その後のDMAによるトランザクションには全てタグが付けられる。UARTはこれらのタグ付き転送を受け、返す全てのデータにタグを付ける。このデータはDMAに、更にメモリに戻され、最終的にCPUに戻される。これが図6Aに示すデータ・フローである。
図6Bは図6Aのシステムのデータ・フローに起こる問題を示す。この例では、メモリを読み取るときにCPUはいくつかのUARTデータが壊れているのを発見する。これは、DMA(直接メモリ・アクセス・コントローラ)がUART(万能非同期受信送信機)からデータを転送中(特に上の図の段階2と段階3の間)に第2のCPUがUARTにアクセスするために起こる。本発明の実施の形態を用いれば、このプロセスを追跡してDMAがアクセス中はUARTへのアクセスを強調表示し、第2のCPUでの追跡を段階3Aのように開始することができる。従来技術の追跡方式では、ユーザはCPU2での追跡をプログラムしていないことがある。なぜなら、従来技術は第1のCPU内で起こることにのみ関心があり、CPU2がUARTに影響を与える可能性については考えていないからである。
本発明の実施の形態を用いれば、関心のある事象が起こったときだけ(すなわち、CPUがタグ付きデータを受けたときだけ)追跡を開始してよい。したがって、CPU2はUARTにアクセスするとタグ付きデータを受け、このトランザクションに関する追跡情報を出力する。従来技術の追跡の解決法でも全システムを絶えず追跡するようプログラムすることはできるが、システム帯域幅が限られている場合は実行できない。このように図6Aおよび図6Bは、システム内で起こる、本発明の実施の形態に係る追跡が特に有利な問題を示す。
図7は追跡するシステムの別の例を示す。このシステムでは、デバイス160および162はそれぞれに関連する追跡論理(すなわち、追跡ソース)170,172を有する。項目1はタグを付けられて160から162に送られる。しかしこのタグは自分が追跡対象であることを示さないので追跡データは出力されない。タグ付け活動は更にブロックからブロックを通り、最後の矢印5はタグ付き項目をプロセッサ162で受けたことを示す。この項目のタグは追跡対象であることを示すので、追跡データが追跡論理172により出力される。
この図は、単にタグ付きデータが追跡対象であること以外の情報をタグ・データが含んでよいことを示す。タグが含んでよい制御データの例は、その点から追跡を開始しまたは停止することを追跡ソースに示す情報、または追跡の重要度を示して、追跡ソースの優先レベルの設定に従って追跡してもよいし追跡しなくてもよいことを示す情報を含む。これはまた、それが安全な世界からの項目である場合はその追跡を妨げる安全保護データも含んでよい。
或る実施の形態では、どのデバイスにアクセスすべきか(例えば、排他的負荷および記憶の場合)が分かっているプロセスがあってよい。したがって、或る実施の形態ではこの情報がタグ・データ内に含まれる。このような場合は、タグ・データが指定するデバイスではないデバイスがこのタグを有する項目によってアクセスされると、そのデバイスはタグを修正して、このタグ付き項目を追跡すべきであることを示す。
更に別の実施の形態では、タグ付け論理はカウンタを含み、タグを付けたときのカウンタの値をタグ内に含めてよい。これにより、このカウンタ値を有するタグを有する任意の項目をこのタグ付け論理を有するデバイスに受けると、タグを設定してからこの項目が到着するまでにかかった時間を、タグ付きカウンタ値とこの項目を受けたときのカウンタ値から計算することができる。これは、データ処理機器の性能を評価するときに用いることのできる非常に有用なツールであろう。
添付の図面を参照して本発明の例示の実施の形態を詳細に説明したが、本発明はこれらの実施の形態だけに限定されるものではないことが理解される。添付のクレームに規定されている本発明の範囲から逸れずに、当業者は種々の変更および修正を行ってよい。
従来技術に係るデバイスおよび追跡ソースを含むチップを示す。 本発明の或る実施の形態に係るデータ処理機器を示す。 本発明の或る実施の形態に係るタグ付け論理を示す。 本発明の或る実施の形態に係るバスのチャネルの略図を示す。 AXIバスによりリンクされるデバイスを含むデータ処理機器を示す。 デバイス間のトランザクションの略図を示す。 図6Aに示す2つのトランザクションの間に起こる追加のトランザクションを持つ同じトランザクションの略図を示す。 デバイスの間のトランザクションと選択されたトランザクションの追跡の略図を示す。

Claims (20)

  1. データ処理機器であって、前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも1個に関連する追跡論理と、前記複数のデバイスの少なくとも1個に関連するタグ付け論理とを含み、
    前記タグ付け論理は、
    監視対象の活動を含む少なくとも1つの項目を選択し、
    前記少なくとも1つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも1つの選択された項目に与え、
    また前記追跡論理は、
    前記追跡論理に関連する前記少なくとも1個のデバイスが処理したタグ付き項目を検出し、
    前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力する、
    データ処理機器。
  2. 前記複数のデバイスの少なくとも一部は、タグ付き項目を受けると、前記受けたタグ付き項目の処理によって生成された全ての項目にタグを付ける、請求項1記載のデータ処理機器。
  3. 対応するデバイスにそれぞれ関連する複数の追跡ソースを含み、前記複数の追跡ソースはそれぞれタグ付き項目を検出して、前記検出されたタグ付き項目の少なくとも一部に関係する追跡情報を出力する、先行請求項の任意の一項記載のデータ処理機器。
  4. 前記タグ・データは側波帯信号として前記項目に関連する、先行請求項の任意の一項記載のデータ処理機器。
  5. 前記タグ・データは別々の通信チャネルで送信する、請求項1から3の任意の一項記載のデータ処理機器。
  6. 前記タグ・データは関連する項目を追跡すべきかどうかを示すビットを含む、先行請求項の任意の一項記載のデータ処理機器。
  7. 前記タグ・データは関連する項目の安全保護情報を含み、前記追跡ソースは前記安全保護情報に応じて追跡情報の出力を制限して前記タグ付き項目に関係する追跡情報の出力を妨げ、また前記安全保護情報に応じて前記追跡情報を出力させて前記追跡情報の追跡を可能にする、先行請求項の任意の一項記載のデータ処理機器。
  8. 前記タグ・データは関連する項目を監視する際の優先レベルを示す優先順位情報を含み、前記追跡ソースは、前記項目が高い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力し、また前記項目が低い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力しない、先行請求項の任意の一項記載のデータ処理機器。
  9. 前記複数のデバイスの少なくとも一部は前記項目の処理中に前記項目に関連する前記タグの前記優先順位情報を変えて優先順位が低いことを示し、前記項目の処理に応じて生成した全ての項目に前記優先順位レベルが低いことを示すタグを付ける、請求項7記載のデータ処理機器。
  10. 前記タグ・データは寿命表示を含み、デバイスがタグ付き項目を処理する度に前記寿命表示を減らし、前記寿命の終わりを示す値まで前記寿命が減ると前記タグを削除する、先行請求項の任意の一項記載のデータ処理機器。
  11. 前記複数のデバイスの前記少なくとも1個はカウンタを含み、前記複数のデバイスの前記少なくとも1個は現在のカウンタ値を前記タグ・データとして与え、前記追跡ソースは、前記項目に関連する追跡情報を出力するとき前記データ項目にタグを付けた時点での前記カウンタ値を示す前記タグ・データを出力し、また前記複数のデバイスの少なくとも別の1個で処理した後に前記複数のデバイスの前記少なくとも1個で前記タグ付き項目を受けた時点での前記カウンタのカウンタ値を出力する、先行請求項の任意の一項記載のデータ処理機器。
  12. 前記タグ・データは期待宛先デバイスを示す情報を含み、前記複数のデバイスの少なくとも一部は前記項目を処理するとき前記タグを検出し、前記タグが前記期待宛先デバイスであることを示さない場合は前記タグ・データを修正して前記項目が監視対象であることを示す、先行請求項の任意の一項記載のデータ処理機器。
  13. 前記タグ・データは、その後の全ての項目を監視すべきであることを示す情報かまたは項目の監視を停止すべきであることを示す情報を含み、前記追跡論理は前記タグ・データに応じて前記少なくとも1個のデバイスの活動の追跡を開始しまた停止する、先行請求項の任意の一項記載のデータ処理機器。
  14. 前記タグ付け論理は、監視のために選択する前記項目に関する情報を記憶するタグ付け資源を含み、前記タグ付け資源はプログラム可能である、先行請求項の任意の一項記載のデータ処理機器。
  15. 前記タグ付け資源は、アドレス比較器、データ値比較器、アドレスを記憶するレジスタ、データ値を記憶するレジスタ、および、例外や中断や性能監視論理事象などの事象の発生を監視する事象監視論理、の少なくとも1つを含む、請求項14記載のデータ処理機器。
  16. 前記データ処理機器は前記複数のデバイスの少なくとも2個を接続する少なくとも1本のバスを含み、前記少なくとも1本のバスはタグ・データの送信専用の少なくとも1本のワイヤを含む、先行請求項の任意の一項記載のデータ処理機器。
  17. 前記追跡ソースは前記タグ付きデータに応じて操作を行い、前記操作は、追跡情報を収集しまた出力する前に、前記タグ付きデータから得られる多数のステップを実行することを含む、先行請求項の任意の一項記載のデータ処理機器。
  18. 或る活動に応じてデータ処理機器の挙動を監視する方法であって、前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも1個に関連する追跡論理とを含み、前記方法は、
    監視対象の活動を含む少なくとも1つの項目を選択するステップと、
    前記少なくとも1つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも1つの選択された項目に与えるステップと、
    前記少なくとも1個のデバイスが処理したタグ付きデータを検出するステップと、
    前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力するステップと
    を含む、データ処理機器の挙動を監視する方法。
  19. 前記複数のデバイスの前記別の1個でタグ付き項目を受けると、前記受けたタグ付き項目の処理によって生成された全ての項目にタグを付けるステップを更に含む、請求項18記載のデータ処理機器の挙動を監視する方法。
  20. データ・プロセッサ上で走らせると前記データ・プロセッサが制御して請求項18または19記載の方法のステップを実行する、コンピュータ・プログラム製品。
JP2008557811A 2006-03-09 2006-03-09 追跡データを生成するための機器、方法、およびコンピュータ・プログラム製品 Ceased JP2009529722A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/GB2006/000831 WO2007101972A1 (en) 2006-03-09 2006-03-09 An apparatus, method and computer program product for generating trace data

Publications (1)

Publication Number Publication Date
JP2009529722A true JP2009529722A (ja) 2009-08-20

Family

ID=37440938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008557811A Ceased JP2009529722A (ja) 2006-03-09 2006-03-09 追跡データを生成するための機器、方法、およびコンピュータ・プログラム製品

Country Status (6)

Country Link
US (1) US8468394B2 (ja)
EP (1) EP1999588A1 (ja)
JP (1) JP2009529722A (ja)
CN (1) CN101438250A (ja)
IL (1) IL193912A (ja)
WO (1) WO2007101972A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008017796A1 (en) * 2006-08-17 2008-02-14 Arm Limited Apparatus and method for performing integrity checks on software
GB2477936B (en) 2010-02-17 2016-02-10 Advanced Risc Mach Ltd Trace data priority selection
US11379475B2 (en) * 2018-10-26 2022-07-05 Splunk Inc. Analyzing tags associated with high-latency and error spans for instrumented software

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916439A (ja) * 1995-06-27 1997-01-17 Saitama Nippon Denki Kk 特定データトレース装置
JPH1040224A (ja) * 1996-07-26 1998-02-13 Hitachi Ltd 並列計算機内部ネットワークの挙動監視システム
JP2000148533A (ja) * 1998-11-12 2000-05-30 Nec Corp マルチプロセッサシステムで用いられるトレース方法及びトレース装置
EP1130518A1 (en) * 2000-01-31 2001-09-05 Applied Microsystems Corporation Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
JP2002236596A (ja) * 2001-01-29 2002-08-23 Applied Microsystems Corp タグ・ステイトメントを備えたターゲット・システム実行ソフトウエアよりの分析データを選択的に収集する装置を有したソフトウエア分析システムとその使用方法
US20050276386A1 (en) * 2004-06-15 2005-12-15 Cisco Technology, Inc. System and method for end-to-end communications tracing

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6083281A (en) * 1997-11-14 2000-07-04 Nortel Networks Corporation Process and apparatus for tracing software entities in a distributed system
US6345295B1 (en) * 1999-01-22 2002-02-05 International Business Machines Corporation Conducting traces in a computer system attachment network
US6415378B1 (en) * 1999-06-30 2002-07-02 International Business Machines Corporation Method and system for tracking the progress of an instruction in an out-of-order processor
US7107489B2 (en) * 2002-07-25 2006-09-12 Freescale Semiconductor, Inc. Method and apparatus for debugging a data processing system
EP1556766B1 (fr) 2002-10-29 2007-08-08 STMicroelectronics S.A. Surveillance d'un programme de microprocesseur par envoi de messages reperables dans le temps
US7278073B2 (en) 2003-04-17 2007-10-02 Arm Limited Diagnostic data capture within an integrated circuit
US7206977B2 (en) * 2004-01-13 2007-04-17 International Business Machines Corporation Intelligent self-configurable adapter
US7721266B2 (en) * 2004-03-26 2010-05-18 Sap Ag Unified logging service with a logging formatter
US20070225943A1 (en) * 2004-12-06 2007-09-27 Marano Howard T Executable application operation monitoring system
US8041804B2 (en) * 2006-05-25 2011-10-18 Cisco Technology, Inc. Utilizing captured IP packets to determine operations performed on packets by a network device
US7937683B1 (en) * 2007-04-30 2011-05-03 Innovations Holdings, L.L.C. Method and apparatus for configurable systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916439A (ja) * 1995-06-27 1997-01-17 Saitama Nippon Denki Kk 特定データトレース装置
JPH1040224A (ja) * 1996-07-26 1998-02-13 Hitachi Ltd 並列計算機内部ネットワークの挙動監視システム
JP2000148533A (ja) * 1998-11-12 2000-05-30 Nec Corp マルチプロセッサシステムで用いられるトレース方法及びトレース装置
EP1130518A1 (en) * 2000-01-31 2001-09-05 Applied Microsystems Corporation Software analysis system having an apparatus for selectively collecting analysis data from a target system executing software instrumented with tag statements and method for use thereof
JP2002236596A (ja) * 2001-01-29 2002-08-23 Applied Microsystems Corp タグ・ステイトメントを備えたターゲット・システム実行ソフトウエアよりの分析データを選択的に収集する装置を有したソフトウエア分析システムとその使用方法
US20050276386A1 (en) * 2004-06-15 2005-12-15 Cisco Technology, Inc. System and method for end-to-end communications tracing

Also Published As

Publication number Publication date
IL193912A (en) 2013-02-28
US20090177928A1 (en) 2009-07-09
US8468394B2 (en) 2013-06-18
EP1999588A1 (en) 2008-12-10
CN101438250A (zh) 2009-05-20
WO2007101972A1 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
US9507688B2 (en) Execution history tracing method
US7287194B2 (en) Real-time debug support for a DMA device and method thereof
CN102193778B (zh) 用于生成时间戳的方法、设备和跟踪模块
US9021311B2 (en) Method and apparatus for filtering trace information
US20040003327A1 (en) Method and system to implement a system event log for system manageability
US8935577B2 (en) Method and apparatus for filtering trace information
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
CN103430158A (zh) 使用执行单一步骤来诊断编码
CN109753391A (zh) 处理器的一个或多个结构的功能测试的系统、装置和方法
US8966323B2 (en) Monitoring multiple data transfers
US8468394B2 (en) Method of tracing selected activities within a data processing system by tagging selected items and tracing the tagged items
JP2006164185A (ja) デバッグ装置
US9298468B2 (en) Monitoring processing time in a shared pipeline
US10534688B2 (en) Trace hub logic with automatic event triggering
JP2006079485A (ja) 電子計算機における障害解析用情報収集方式
US9678852B2 (en) Tracing the operations of a data processing apparatus using trace data source identifiers to respond to flush requests
US9600422B2 (en) Monitoring accesses to memory in a multiprocessor system
CN103380609A (zh) 通信装置
KR20080113052A (ko) 추적 데이터 생성 장치, 방법 및 컴퓨터 프로그램 제품
JP2020140380A (ja) 半導体装置及びデバッグシステム
US7222202B2 (en) Method for monitoring a set of semaphore registers using a limited-width test bus
RU2571376C1 (ru) Способ и устройство для параллельной обработки цифровой информации в вычислительной системе
JP2019526108A (ja) 診断データキャプチャ
EP1531395A1 (en) Method of determining information about the processes which run in a program-controlled unit during the execution of a program
US20080195896A1 (en) Apparratus and method for universal programmable error detection and real time error detection

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120419

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120706

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20131220