(57)【要約】  或るデータ処理機器を開示する。前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも１個に関連する追跡論理と、前記複数のデバイスの少なくとも１個に関連するタグ付け論理とを含み、前記タグ付け論理は、監視対象の活動を含む少なくとも１つの項目を選択し、前記少なくとも１つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも１つの選択された項目に与え、また前記追跡論理は、前記少なくとも１個のデバイスが処理したタグ付き項目を検出し、前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力する。
2009529722.tif 000002
【特許請求の範囲】
【請求項１】
データ処理機器であって、前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも１個に関連する追跡論理と、前記複数のデバイスの少なくとも１個に関連するタグ付け論理とを含み、
前記タグ付け論理は、
監視対象の活動を含む少なくとも１つの項目を選択し、
前記少なくとも１つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも１つの選択された項目に与え、
また前記追跡論理は、
前記追跡論理に関連する前記少なくとも１個のデバイスが処理したタグ付き項目を検出し、
前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力する、
データ処理機器。
【請求項２】
前記複数のデバイスの少なくとも一部は、タグ付き項目を受けると、前記受けたタグ付き項目の処理によって生成された全ての項目にタグを付ける、請求項１記載のデータ処理機器。
【請求項３】
対応するデバイスにそれぞれ関連する複数の追跡ソースを含み、前記複数の追跡ソースはそれぞれタグ付き項目を検出して、前記検出されたタグ付き項目の少なくとも一部に関係する追跡情報を出力する、先行請求項の任意の一項記載のデータ処理機器。
【請求項４】
前記タグ・データは側波帯信号として前記項目に関連する、先行請求項の任意の一項記載のデータ処理機器。
【請求項５】
前記タグ・データは別々の通信チャネルで送信する、請求項１から３の任意の一項記載のデータ処理機器。
【請求項６】
前記タグ・データは関連する項目を追跡すべきかどうかを示すビットを含む、先行請求項の任意の一項記載のデータ処理機器。
【請求項７】
前記タグ・データは関連する項目の安全保護情報を含み、前記追跡ソースは前記安全保護情報に応じて追跡情報の出力を制限して前記タグ付き項目に関係する追跡情報の出力を妨げ、また前記安全保護情報に応じて前記追跡情報を出力させて前記追跡情報の追跡を可能にする、先行請求項の任意の一項記載のデータ処理機器。
【請求項８】
前記タグ・データは関連する項目を監視する際の優先レベルを示す優先順位情報を含み、前記追跡ソースは、前記項目が高い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力し、また前記項目が低い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力しない、先行請求項の任意の一項記載のデータ処理機器。
【請求項９】
前記複数のデバイスの少なくとも一部は前記項目の処理中に前記項目に関連する前記タグの前記優先順位情報を変えて優先順位が低いことを示し、前記項目の処理に応じて生成した全ての項目に前記優先順位レベルが低いことを示すタグを付ける、請求項７記載のデータ処理機器。
【請求項１０】
前記タグ・データは寿命表示を含み、デバイスがタグ付き項目を処理する度に前記寿命表示を減らし、前記寿命の終わりを示す値まで前記寿命が減ると前記タグを削除する、先行請求項の任意の一項記載のデータ処理機器。
【請求項１１】
前記複数のデバイスの前記少なくとも１個はカウンタを含み、前記複数のデバイスの前記少なくとも１個は現在のカウンタ値を前記タグ・データとして与え、前記追跡ソースは、前記項目に関連する追跡情報を出力するとき前記データ項目にタグを付けた時点での前記カウンタ値を示す前記タグ・データを出力し、また前記複数のデバイスの少なくとも別の１個で処理した後に前記複数のデバイスの前記少なくとも１個で前記タグ付き項目を受けた時点での前記カウンタのカウンタ値を出力する、先行請求項の任意の一項記載のデータ処理機器。
【請求項１２】
前記タグ・データは期待宛先デバイスを示す情報を含み、前記複数のデバイスの少なくとも一部は前記項目を処理するとき前記タグを検出し、前記タグが前記期待宛先デバイスであることを示さない場合は前記タグ・データを修正して前記項目が監視対象であることを示す、先行請求項の任意の一項記載のデータ処理機器。
【請求項１３】
前記タグ・データは、その後の全ての項目を監視すべきであることを示す情報かまたは項目の監視を停止すべきであることを示す情報を含み、前記追跡論理は前記タグ・データに応じて前記少なくとも１個のデバイスの活動の追跡を開始しまた停止する、先行請求項の任意の一項記載のデータ処理機器。
【請求項１４】
前記タグ付け論理は、監視のために選択する前記項目に関する情報を記憶するタグ付け資源を含み、前記タグ付け資源はプログラム可能である、先行請求項の任意の一項記載のデータ処理機器。
【請求項１５】
前記タグ付け資源は、アドレス比較器、データ値比較器、アドレスを記憶するレジスタ、データ値を記憶するレジスタ、および、例外や中断や性能監視論理事象などの事象の発生を監視する事象監視論理、の少なくとも１つを含む、請求項１４記載のデータ処理機器。
【請求項１６】
前記データ処理機器は前記複数のデバイスの少なくとも２個を接続する少なくとも１本のバスを含み、前記少なくとも１本のバスはタグ・データの送信専用の少なくとも１本のワイヤを含む、先行請求項の任意の一項記載のデータ処理機器。
【請求項１７】
前記追跡ソースは前記タグ付きデータに応じて操作を行い、前記操作は、追跡情報を収集しまた出力する前に、前記タグ付きデータから得られる多数のステップを実行することを含む、先行請求項の任意の一項記載のデータ処理機器。
【請求項１８】
或る活動に応じてデータ処理機器の挙動を監視する方法であって、前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも１個に関連する追跡論理とを含み、前記方法は、
監視対象の活動を含む少なくとも１つの項目を選択するステップと、
前記少なくとも１つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも１つの選択された項目に与えるステップと、
前記少なくとも１個のデバイスが処理したタグ付きデータを検出するステップと、
前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力するステップと
を含む、データ処理機器の挙動を監視する方法。
【請求項１９】
前記複数のデバイスの前記別の１個でタグ付き項目を受けると、前記受けたタグ付き項目の処理によって生成された全ての項目にタグを付けるステップを更に含む、請求項１８記載のデータ処理機器の挙動を監視する方法。
【請求項２０】
データ・プロセッサ上で走らせると前記データ・プロセッサが制御して請求項１８または１９記載の方法のステップを実行する、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野はデータ処理に関するものであって、特にデータ処理操作を監視するための診断機構に関するものである。
【背景技術】
【０００２】
データ・プロセッサが実行中の処理の記録を取りたい場合は非常に多い。例えば、データ処理装置の開発中はかかる情報は有用であり、処理回路の活動を追跡したいことが多い。かかるプロセスで支援に用いられる追跡インフラストラクチャの一例は追跡ツールである。
装置内のステップ毎の活動を表すデータを含む追跡（ｔｒａｃｅ）ストリームを生成することによりデータ処理装置の活動を追跡するのは、装置およびソフトウエア開発において非常に有用なツールである。かかる追跡ツールはプログラム・フローを追跡するための種々の手段、例えば、処理を監視するチップ上に存在する（埋込み追跡マクロセル（Ｅｍｂｅｄｄｅｄ  Ｔｒａｃｅ  Ｍｃｒｏｃｅｌｌｓ）（ＥＴＭ（ＴＭ））など）を用いる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
新しいデバイスの複雑さが増すに従って、支援インフラストラクチャおよびツールも複雑さを増す必要がある。既存の追跡ソース（ＥＴＭなど）は広範囲のプログラミングおよび構成機能を支援するので、効率的に用いると、追跡データの生成を正確に制御しまた管理することができるし、またこのデータの取得を関心のある領域に制限することができる。これにより、多すぎる追跡データが生成されるのを防ぐことができる。追跡データが多すぎると、データ処理機器からダウンロードするのが困難であり、分析するのも困難である。
【０００４】
追跡インフラストラクチャの展開が単一のＣＰＵを超えて多数の構成要素にまで広がると、ユーザが要求する複雑さと構成が更に大きくなる。チップの回りの情報の流れを理解するには、各追跡ソースを構成するときに他の追跡ソースとの関係を考慮する必要がある。また、追跡を開始する前に、複数の追跡ソースを構成する必要があろう。
【０００５】
図１は、多数の追跡ソース２１，２２，２３，２４を含む従来技術に係るチップ１０を示す。各追跡ソースはチップ上の異なるデバイスの動作を追跡する。すなわち、ディジタル信号処理プロセッサの活動を追跡するＤＳＰ追跡ハードウエア２４と、２個の異なるＣＰＵを追跡する２個のＥＴＭ２１，２３と、バス３０の活動を監視するバス追跡マクロセル２２とがある。したがって、４つの異なる追跡データのストリームが生成される。これらはファンネル（Ｆｕｎｎｅｌ）４０内で結合され、出力ポート５０を介して出力される。
【０００６】
かかる装置では、４つの異なる追跡データのストリームが生成されるだけでなく、４つの異なる追跡ソースを構成する必要がある。アドレスおよびデータ値などの特定の詳細な追跡知識が必要な場合は、追跡領域を厳しく管理し、生成されるデータ量を制限して追跡ポート（追跡ポート５０など）の帯域幅の制約を満たすために、複雑なＳｏＣインフラストラクチャの複雑な構成および詳細な知識が必要である。
本発明は上記の問題の一部に対処しようとするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は或るデータ処理機器を提供する。前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも１個に関連する追跡論理と、前記複数のデバイスの少なくとも１個に関連するタグ付け論理とを含み、前記タグ付け論理は、監視対象の活動を含む少なくとも１つの項目を選択し、前記少なくとも１つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも１つの選択された項目に与え、また前記追跡論理は、前記追跡論理に関連する前記少なくとも１個のデバイスが処理したタグ付き項目を検出し、前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力する。
【０００８】
本発明が従来技術の追跡と異なる点は、監視対象である特定の活動を含む項目を選択してタグを付けることである。この活動は、或るデータ項目または或る命令に関係してよく、またはクロス・トリガなどの或る事象でよい。その項目にタグを付けることにより、他の追跡論理（もしあれば）はその活動を検出して、全ての検出されたタグ付き項目に関する追跡情報を出力することができる。これは異なる追跡方法であり、特定の活動に応じるデータ処理機器の挙動を監視することができる。これは、選択された活動を監視することに追跡の目標を絞って、関係のあるものだけに追跡データを限定するだけでなく、デバイスの構成を非常に簡単にする。詳しく述べると、構成は特定の項目にタグを付けるためのタグ付け論理の構成だけでよく、その結果、タグ付き項目に対して自動的に、データ処理機器は動作しまたデバイスおよび追跡論理は反応することができる。今後異なるデバイスが処理する項目について述べるときは、これは例えばバスにより送信される項目を含むことに注意していただきたい。また項目のタグ付けは、その項目が監視対象であることを示す標識をその項目に関連付けることを含む。これは多くの方法で簡単に行うことができる。その一部の概要を以下に示す。
【０００９】
利点として、前記複数のデバイスの少なくとも一部は、タグ付き項目を受けると前記受けたタグ付き項目の処理によって生成された全ての項目にタグを付ける。
デバイスの少なくとも一部が、受けたタグ付き項目の処理によって生成された全ての項目に自動的にタグを付けることにより、タグ付き項目に応じるデータ処理機器の挙動を効率的に監視することができる。このように、タグ付き項目は他のタグ付き項目を処理するデバイスにより作られるので、データ処理機器の挙動の流れを自動的に監視することができる。これによりタグ付き項目に応じる機器の挙動を監視することができると共に、追跡を開始する前に個別のデバイスに関連する個別の追跡論理を別々に構成する必要がなくなる。
【００１０】
或る実施の形態では、前記データ処理機器は対応するデバイスにそれぞれ関連する複数の追跡ソースを含み、前記複数の追跡ソースはそれぞれタグ付き項目を検出して、前記検出されたタグ付き項目の少なくとも一部に関係する追跡情報を出力する。
データ処理機器は複数のデバイスの１個に関連する単一の追跡論理を含んでよく、またはデバイスの部分集合に関連する複数の追跡論理を含んでよく、または実際のところ、各デバイスに関連する追跡論理を含んでよい。１つの利点は、これらの追跡論理を個別に構成しなくてよいことがあることである。なぜなら、これらの追跡論理はタグ付き項目を自動的に検出し、タグ情報に従って応答するからである。基本的な追跡を可能にする／不能にすることだけが必要であろう。
【００１１】
タグ・データは選択された項目に関連する単なる情報である。これは多くの形をとってよい。例えば、側波帯信号として前記項目に関連してよく、また別の実施の形態では別々の通信チャネルで送信してよい。
或る実施の形態では、前記タグ・データは関連する項目を追跡すべきかどうかを示すビットを含む。
タグ付きデータは多くの形を含んでよいが、或る実施の形態では、関連する項目を追跡すべきかどうかを示す単一のビットを含む。これは、実現するのが簡単でかつ情報を送信するのに多くの帯域幅を必要としないという利点を有する。
【００１２】
或る実施の形態では、前記タグ・データは関連する項目の安全保護情報を含み、前記追跡ソースは、前記安全保護情報に応じて前記タグ付き項目に関係する追跡情報の出力を制限して前記タグ付き項目の追跡を妨げ、また前記安全保護情報に応じて前記追跡情報を出力させて前記タグ付き項目の追跡を可能にする。
本発明の実施の形態は安全なシステムを追跡してよい。かかるシステムでは、タグを用いて安全な世界からの情報の出力を妨げ、これにより簡単であるが効果的な方法でシステムの安全性を高め、またその特定の安全なデータを追跡することが許可されていないところに安全なデータが追跡情報として出力されるのを防ぐ。
【００１３】
或る実施の形態では、前記タグ・データは関連する項目を監視する際の優先レベルを示す優先順位情報を含み、前記追跡ソースは、前記項目が高い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力し、また前記項目が低い優先順位を有することを示す前記優先順位情報に応じて前記項目に関係する追跡情報を出力しない。
タグ付きデータは関連する項目の監視の重要度を示す優先順位情報も含んでよい。これは、追跡するデータの量が増えて大きくなりすぎるのを止めるのに用いてよい。関連する項目を追跡することの重要度を示すタグを用いることにより、追跡するデータが大きくなりすぎて管理できなくなる場合に優先順位の高いデータだけを追跡するように選択することができる。
【００１４】
利点として、前記複数のデバイスの少なくとも一部は前記項目の処理中に前記項目に関連する前記タグの前記優先順位情報を変えて情報の優先順位が低いことを示し、前記項目の処理に応じて生成した全ての項目に前記優先順位レベルが低いことを示すタグを付ける。
タグ付き項目を処理すると、この処理により生成される項目も全てタグ付きになる。場合によってはタグ付きデータ項目が多数の他の項目を生成することがある。これは急速に増大して大量の追跡データを生じることがある。したがってこの問題に対処する１つの方法は、処理する度にデータ項目の優先順位のレベルを下げることである。したがって、処理した項目の優先順位はその項目および主な関心点から離れるに従って低くなるので、これらの項目に関心がなくなってそれ以上追跡しなくてよい或る点を選択してよい。
【００１５】
或る実施の形態では、前記タグ・データは寿命表示を含む。この場合、デバイスがタグ付き項目を処理する度に前記寿命表示を減らし、前記寿命の終わりを示す値まで前記寿命が減ると前記タグを削除する。
追跡データの量を抑制する別の方法は寿命標識をタグ・データとして用いることである。タグ付き項目を処理する度に寿命標識を減らし、処理を或る回数行うと寿命が終わってその項目はその後追跡の対象にならないように寿命標識を設定してよい。
【００１６】
或る実施の形態では前記複数のデバイスの前記少なくとも１個はカウンタを含み、前記複数のデバイスの前記少なくとも１個は現在のカウンタ値を前記タグ・データとして与え、前記追跡ソースは、前記項目に関連する追跡情報を出力するとき前記データ項目にタグを付けた時点での前記カウンタ値を示す前記タグ・データを出力し、また前記複数のデバイスの少なくとも別の１個で処理した後に前記複数のデバイスの前記少なくとも１個で前記タグ付き項目を受けた時点での前記カウンタのカウンタ値を出力する。
【００１７】
このデバイスの実施の形態を用いてデータ処理機器の性能を監視することができる。これは、デバイスの１つにカウンタを設けてこのカウンタ値をタグ値として用いることにより行う。したがって、タグを付けたときのカウンタ値をタグ・データに設定した場合は、そのデータ項目にタグを付けたときとデバイスがそれを解釈したときとの間の時間を監視してよい。これはデータ処理機器の性能を監視するのに非常に有効な方法であろう。
或る実施の形態では、前記タグ・データは期待宛先デバイスを示す情報を含み、前記複数のデバイスの少なくとも一部は前記項目を処理するとき前記タグを検出し、前記タグが前記期待宛先デバイスであることを示さない場合は前記タグ・データを修正して前記項目が監視対象であることを示す。
【００１８】
期待宛先デバイス標識をタグ・データとして用いると、このデータを受けたデバイスはそれを受けるべきでなかったかどうかをタグ付きデータから検出することができる。そうであれば、タグ・データを修正してこの項目を監視すべきであることを示す。従来技術の追跡システムでは、或る項目が実際上間違った宛先に送られた場合に、どこで問題が起こったかを追跡することが困難なことがある。問題が起こったことが分かった場合はこの項目の期待宛先を追跡するが、各デバイスを別々の追跡ソースまたは論理により別々に追跡するので、その項目の実際の宛先を探し出すのは容易ではないであろう。この実施の形態ではタグ・データを用いることにより、間違った宛先に到着したことを容易に識別することができる。これは、関連性の高い追跡データを作り、関連性のない大量の追跡データを作るのを避けまたは少なくとも減らす有効な方法である。
【００１９】
或る実施の形態では、前記タグ・データは、その後の全ての項目を監視すべきであることを示す情報かまたは項目の監視を停止すべきであることを示す情報を含む。前記追跡論理は前記タグ・データに応じて前記少なくとも１個のデバイスの活動の追跡を開始しまた停止する。
タグ・データは単に、追跡情報の監視を開始すべきであることと停止すべきであることの情報を含んでよい。したがって、この形の特定のタグ・データを受けると追跡を実施しまた停止してよい。
利点として、タグ付け論理は監視のために選択する前記項目に関する情報を記憶するタグ付け資源を含み、前記タグ付け資源はプログラム可能である。
【００２０】
監視対象の特定の項目は、ユーザが定義してデバイス内にプログラムする。これは、タグ付け資源を含むタグ付け論理を少なくともいくつかのデバイスに与えることにより行う。これらのデバイスは、どの項目を選択して監視対象としてタグを付けるかを示す、ユーザが入力する情報を記憶する。
或る実施の形態では、前記タグ付け資源はアドレス比較器、データ値比較器、アドレスを記憶するレジスタ、データ値を記憶するレジスタ、および、例外や中断や性能監視論理事象などの事象の発生を監視する事象監視論理、の少なくとも１つを含む。
【００２１】
アドレス比較器、データ値比較器、必要なアドレスおよびデータ値を記憶するレジスタを用いると、ユーザは関心のある項目を識別するのに必要なデータ値または命令アドレスを入力することができる。次にデバイスは記憶されている値と処理中の実際の項目とを比較し、一致を検出すると項目にタグを付けてよい。追加的にまたは代替的に、事象監視論理を用いて事象を検出し、この検出された事象に応じて項目にタグを付けてよい。事象は中断または例外でよく、またはプロセッサの性能に関連する何らかの事象でよい。
好ましくは、前記データ処理機器は前記複数のデバイスの少なくとも２個を接続する少なくとも１本のバスを含み、前記少なくとも１本のバスはタグ・データの送信専用の少なくとも１本のワイヤを含む。
【００２２】
タグ・データを送信する１つの方法は、各バスにタグ・データの送信専用の少なくとも１本の追加のワイヤを設けることである。一般にワイヤは２本あり、１本はタグ・データを一方向に送信するためであり、他の１本はこれを逆方向に送信するためである。これらのワイヤは、この実施の形態のこの場合はタグ付きデータを単一ビットとして送信し、タグ・データが複数のビットである別の実施の形態では、特定のプロトコルに従って送信される直列の複数のビットとして送信してよい。
或る実施の形態では、前記追跡ソースは前記タグ付きデータに応じて操作を行い、前記操作は、追跡情報を収集しまた出力する前に、前記タグ付きデータが指定する多数のステップを実行することを含む。
追跡ソースはいくつかのタグ・データに応じて追跡情報を出力してよいが、他のタグ・データに応じて他の動作（デバイスを監視して、追跡情報を出力する前に複数のステップを実行するのを待つなど）を実行してよい。
【００２３】
本発明の別の態様は、或る活動に応じてデータ処理機器の挙動を監視する方法を提供する。前記データ処理機器は、複数のデバイスと、前記複数のデバイスの少なくとも１個に関連する追跡論理とを含み、前記方法は、監視対象の活動を含む少なくとも１つの項目を選択するステップと、前記少なくとも１つの項目が監視対象項目であることを識別するタグ・データを前記少なくとも１つの選択された項目に与えるステップと、前記少なくとも１個のデバイスが処理したタグ付きデータを検出するステップと、前記検出されたタグ付き項目の少なくとも一部に関する追跡情報を出力するステップとを含む。
【００２４】
本発明の更に別の態様は、データ・プロセッサ上で走らせるとデータ・プロセッサを制御して本発明の別の態様に係る方法のステップを実行するコンピュータ・プログラム製品を提供する。
本発明の上記のまたは他の目的、特徴、および利点は、例示の実施の形態の以下の詳細な説明を、添付の図面に関して読めば明らかになる。
【実施例】
【００２５】
図２は本発明の或る実施の形態に係るデータ処理機器６０を示す。データ処理機器６０は２つの追跡論理ブロックすなわち追跡ソース６８，７０を含む。これらは、ＣＰＵ８０を追跡するＥＴＭ７０と、バス・マトリクス９０を追跡するバス追跡マクロセル６８を含む。このデータ処理機器６０は更に、第２のＣＰＵ１００と、メモリ管理ユニット（ＭＭＵ）１１０，９２と、直接メモリ・アクセス・コントローラ（ＤＭＡ）９５と、スレーブ・デバイス１２０とを含む。ＣＰＵ８０および１００と、ＭＭＵ９２および１１０と、ＤＭＡ９５とは、タグ付け論理８２，１０２，９３，１１２，９７をそれぞれ含む。タグ付け論理８２，１０２，９３，１１２，９７はプログラム可能であり、デバイスのユーザはこれを用いて、特定の追跡を実行するよう機器を構成する。ユーザはこれを行うのに、監視対象の特定の活動を選択し、次にこの活動の表示をタグ付け論理ブロック内に記憶する。これは命令アドレスの形でよく、またはデータ値でよい。タグ付け論理８２の詳細を図３に示す。これについては後で説明する。
【００２６】
各デバイス内の追跡論理８２，１０２，９３，１１２，９７はタグを付けるデータ項目を選択するようにユーザが構成してよい。これらはこの方法で構成することができるデバイスだけであるが、スレーブ・デバイス１２０を含めてデータ処理機器６０上の全てのデバイスは何らかの方法でデータにタグを付けることができる。すなわち全てのデバイスは、受けたタグ付き項目を処理したときに生成された全ての項目にタグを付ける。これは、タグ付き項目を処理したときに生成された単一項目にタグを付けることを意味してよく、またはタグ付き項目を処理したときに生成された多数の項目にタグを付けることを意味してよい。
【００２７】
図２の機器では、追跡論理は２個のデバイス（すなわち、ＣＰＵ８０およびマトリックス９０）だけに関連する。したがって、追跡論理７０および６８はこれらのデバイスが処理するタグ付きデータをそれぞれ検出することができる。またタグの性質に依存して、このタグ・データが検出されると追跡データの出力を開始してよい。または出力を開始するのではなく、追跡論理内の異なる事象（追跡データを出力する前に複数のステップを実行するなど）を開始してもよい。または、特定のタグに応じて単に追跡データを出力しなくてよい。これはタグ・データの性質に依存するものであって、タグ・データは追跡して出力する項目を示す単純なデータでよく、または更なる制御情報を含んでよい。
【００２８】
図３はタグ付け論理８２の詳細を示す。タグ付け論理８２はレジスタ８３，８４，８５を含む。レジスタ８３は事象の存在を記憶する。レジスタ８４はユーザが入力した命令アドレスを記憶し、レジスタ８５はユーザが入力したデータ値を記憶する。比較器８６，８７，８８は処理中の命令およびデータの値およびアドレスとＣＰＵ８０内で起こっている事象を比較し、値が等しいことを比較器が示す場合は、論理８９は処理中の項目にタグを付け（入力タグ７１を変更してタグ７３を形成し）、情報７２との関連を保持する。入力タグ７１は随意である。すなわち、項目にはまだタグが付いていなくてよく、また論理８９はタグ付け情報を与えてタグ７３を生成した最初の例であってよい。この単一項目にタグを付けることによりこのタグ付き項目を処理する全てのデバイス内で更なる事象が起こっても起こらなくてもよく、その結果、この項目に応じるデータ処理機器の挙動を追跡することができる。なぜなら、全てのデバイスがタグ付きデータを検出して応答するからである。応答は、情報を変えずに通すだけでもよい。
【００２９】
図４は、本発明の或る実施の形態に係るバスを簡単に示す。このバスは、アドレスを送信するアドレス・チャネルと、制御データを送信する制御チャネルと、読取りデータを送信する読取りデータチャネルと、書込みデータを送信する書込みデータチャネルと、タグ・データを送信および受信する２つのタグ・データ・チャネルとを含む。このようにこの実施の形態では、或る項目に関連するタグ・データをデータ処理機器の回りで送信できるようにする追加のタグ・チャネルをバス上に設ける。
【００３０】
図５は本発明の別の実施の形態を示す。この場合は、ＡＸＩバスを用いて２個のＣＰＵ１３０，１４０とバス・マトリックス１５０とを接続する。また別のＡＸＩバスを用いてスレーブ１６０とバス・マトリックス１５０とを接続する。トランザクションは不規則性があるので、従来技術を用いるとＡＸＩバスの追跡に問題がある。本発明の実施の形態はＡＸＩバスの活動の追跡に関連する多くの問題に対処する。
【００３１】
詳しく述べると、ＡＸＩバスはアドレス書込み制御チャネルＡＷと、アドレス読取り制御チャネルＡＲと、書込みデータチャネルＷと、読取りデータチャネルＲと、Ｂチャネル（書込みが要求どおりに完了したことを示す制御チャネル）とを含む。ＡＸＩバス上のチャネルは独立に動作するので、或るチャネルで送信中の書込みデータとこれに関連する制御データとを追跡中に関連付けることは困難なことがある。タグを用いまたタグ付き項目により生成される全ての項目にタグを付けることにより、ＡＷ，Ｗ、Ｂ上のどの項目が互いに関連するかを容易に知ることができる。
【００３２】
図６Ａおよび図６Ｂは本発明の或る実施の形態の詳細なシナリオを示す。この実施の形態では、矢印１はＣＰＵがＤＭＡコントローラをプログラムして、データをＵＡＲＴからメモリに転送することを表す。矢印２はＤＭＡコントローラがＵＡＲＴにアクセスすることを表す。矢印３はＵＡＲＴがＤＭＡコントローラにデータを返すことを表し、矢印４はＤＭＡコントローラがデータをメモリに記憶することを表し、矢印５はＣＰＵがメモリを読み取ることを表す。
本発明の実施の形態がカバーする方式を用いると、ＣＰＵがＤＭＡに対して開始したトランザクションに（ＵＡＲＴコードを実行するとき）タグが付けられる。その後のＤＭＡによるトランザクションには全てタグが付けられる。ＵＡＲＴはこれらのタグ付き転送を受け、返す全てのデータにタグを付ける。このデータはＤＭＡに、更にメモリに戻され、最終的にＣＰＵに戻される。これが図６Ａに示すデータ・フローである。
【００３３】
図６Ｂは図６Ａのシステムのデータ・フローに起こる問題を示す。この例では、メモリを読み取るときにＣＰＵはいくつかのＵＡＲＴデータが壊れているのを発見する。これは、ＤＭＡ（直接メモリ・アクセス・コントローラ）がＵＡＲＴ（万能非同期受信送信機）からデータを転送中（特に上の図の段階２と段階３の間）に第２のＣＰＵがＵＡＲＴにアクセスするために起こる。本発明の実施の形態を用いれば、このプロセスを追跡してＤＭＡがアクセス中はＵＡＲＴへのアクセスを強調表示し、第２のＣＰＵでの追跡を段階３Ａのように開始することができる。従来技術の追跡方式では、ユーザはＣＰＵ２での追跡をプログラムしていないことがある。なぜなら、従来技術は第１のＣＰＵ内で起こることにのみ関心があり、ＣＰＵ２がＵＡＲＴに影響を与える可能性については考えていないからである。
【００３４】
本発明の実施の形態を用いれば、関心のある事象が起こったときだけ（すなわち、ＣＰＵがタグ付きデータを受けたときだけ）追跡を開始してよい。したがって、ＣＰＵ２はＵＡＲＴにアクセスするとタグ付きデータを受け、このトランザクションに関する追跡情報を出力する。従来技術の追跡の解決法でも全システムを絶えず追跡するようプログラムすることはできるが、システム帯域幅が限られている場合は実行できない。このように図６Ａおよび図６Ｂは、システム内で起こる、本発明の実施の形態に係る追跡が特に有利な問題を示す。
【００３５】
図７は追跡するシステムの別の例を示す。このシステムでは、デバイス１６０および１６２はそれぞれに関連する追跡論理（すなわち、追跡ソース）１７０，１７２を有する。項目１はタグを付けられて１６０から１６２に送られる。しかしこのタグは自分が追跡対象であることを示さないので追跡データは出力されない。タグ付け活動は更にブロックからブロックを通り、最後の矢印５はタグ付き項目をプロセッサ１６２で受けたことを示す。この項目のタグは追跡対象であることを示すので、追跡データが追跡論理１７２により出力される。
【００３６】
この図は、単にタグ付きデータが追跡対象であること以外の情報をタグ・データが含んでよいことを示す。タグが含んでよい制御データの例は、その点から追跡を開始しまたは停止することを追跡ソースに示す情報、または追跡の重要度を示して、追跡ソースの優先レベルの設定に従って追跡してもよいし追跡しなくてもよいことを示す情報を含む。これはまた、それが安全な世界からの項目である場合はその追跡を妨げる安全保護データも含んでよい。
【００３７】
或る実施の形態では、どのデバイスにアクセスすべきか（例えば、排他的負荷および記憶の場合）が分かっているプロセスがあってよい。したがって、或る実施の形態ではこの情報がタグ・データ内に含まれる。このような場合は、タグ・データが指定するデバイスではないデバイスがこのタグを有する項目によってアクセスされると、そのデバイスはタグを修正して、このタグ付き項目を追跡すべきであることを示す。
【００３８】
更に別の実施の形態では、タグ付け論理はカウンタを含み、タグを付けたときのカウンタの値をタグ内に含めてよい。これにより、このカウンタ値を有するタグを有する任意の項目をこのタグ付け論理を有するデバイスに受けると、タグを設定してからこの項目が到着するまでにかかった時間を、タグ付きカウンタ値とこの項目を受けたときのカウンタ値から計算することができる。これは、データ処理機器の性能を評価するときに用いることのできる非常に有用なツールであろう。
【００３９】
添付の図面を参照して本発明の例示の実施の形態を詳細に説明したが、本発明はこれらの実施の形態だけに限定されるものではないことが理解される。添付のクレームに規定されている本発明の範囲から逸れずに、当業者は種々の変更および修正を行ってよい。
【図面の簡単な説明】
【００４０】
【図１】従来技術に係るデバイスおよび追跡ソースを含むチップを示す。
【図２】本発明の或る実施の形態に係るデータ処理機器を示す。
【図３】本発明の或る実施の形態に係るタグ付け論理を示す。
【図４】本発明の或る実施の形態に係るバスのチャネルの略図を示す。
【図５】ＡＸＩバスによりリンクされるデバイスを含むデータ処理機器を示す。
【図６Ａ】デバイス間のトランザクションの略図を示す。
【図６Ｂ】図６Ａに示す２つのトランザクションの間に起こる追加のトランザクションを持つ同じトランザクションの略図を示す。
【図７】デバイスの間のトランザクションと選択されたトランザクションの追跡の略図を示す。
【図１】
2009529722.tif 000003
【図２】
2009529722.tif 000004
【図３】
2009529722.tif 000005
【図４】
2009529722.tif 000006
【図５】
2009529722.tif 000007
【図６Ａ】
2009529722.tif 000008
【図６Ｂ】
2009529722.tif 000009
【図７】
2009529722.tif 000010
【国際調査報告】
2009529722.tif 000011
2009529722.tif 000012
2009529722.tif 000013