(57)【特許請求の範囲】
【請求項１】
データを処理する装置であって、前記装置は、
トレースデータを運ぶそれぞれ個々のトレースデータストリームを発生するため動作可能な複数のトレースデータソースと、
出力のため選択されたトレースデータストリームとして、前記個々のトレースデータストリームの１つを選択するため動作可能なトレースデータ選択器と、
出力トレースデータストリームを形成するため、前記選択されたトレースデータストリームをフォーマットするため動作可能なトレースデータフォーマッタとから成り、
前記トレースデータフォーマッタは、前記個々のトレースデータストリームのどれが、前記トレースデータ選択器により選択されたかを検出し、前記フォーマットの一部として、前記トレースデータ選択器により選択された前記個々のトレースデータスストリームの一つから当該個々のトレースデータストリームの異なる一つへのトレースデータストリームの変化に応じて前記出力トレースデータストリーム中にトレースデータソース識別子を挿入するため動作可能であり、前記トレースデータフォーマッタは前記選択されたトレースデータストリームに変更があったか否かに応じて、前記トレースデータソース識別子を前記出力トレースデータストリームに出力するか否かを選択するよう構成された、データを処理する装置。
【請求項２】
請求項１に記載の装置であって、前記トレースデータフォーマッタは、前記出力トレースデータストリーム内の所定のソース識別子位置に、前記トレースデータソース識別子を挿入するため動作可能である、データを処理する装置。
【請求項３】
請求項２に記載の装置であって、前記所定のソース識別子位置は、前記トレースデータソース識別子が挿入されない時は、トレースデータを中に含む、データを処理する装置。
【請求項４】
請求項３に記載の装置であって、前記出力トレースデータストリーム内の所定のフラグ位置におけるフラグは、前記所定のソース識別子位置が
（ｉ）前記トレースデータソース識別子を中に含むか、又は
（ｉｉ）トレースデータを中に含むかを示す、データを処理する装置。
【請求項５】
請求項２に記載の装置であって、前記所定のソース識別子位置が前記トレースデータソース識別子を含む時は、前記出力トレースデータストリーム内の別の所定位置が、前記トレースデータソース識別子により識別される前記トレースデータソースのトレースデータが、前記出力トレースデータストリーム内のどこで開始するかを示す位置フラグを含む、データを処理する装置。
【請求項６】
請求項５に記載の装置であって、前記トレースデータソース識別子が挿入されない時は、前記所定のソース識別子位置はトレースデータを中に含み又前記それ以上の所定位置はトレースデータを中に含む、データを処理する装置。
【請求項７】
請求項１に記載の装置であって、前記出力トレースデータストリームはデータフレームの中にフォーマットされ、各データフレームは、
（ｉ）トレースデータソース識別子、又は
（ｉｉ）トレースデータ、の１つをそれぞれ含む
複数の所定位置と、
トレースデータを中に含む複数の所定位置と、から成る、データを処理する装置。
【請求項８】
請求項７に記載の装置であって、各データフレームは、
（ｉ）前記データフレーム内のトレースデータソース識別子で識別される前記フレーム内でのトレースデータの開始位置を示す１以上の位置フラッグ、及び
（ｉｉ）トレースデータ、
の少なくとも１つを含むフラグ部分を含む、データを処理する装置。
【請求項９】
請求項１に記載の装置であって、前記トレースデータフォーマッタは、リザーブされた同期値をもつトレースデータソース識別子を同期マーカとして、前記出力トレースデータストリーム内に挿入するため動作可能である、データを処理する装置。
【請求項１０】
請求項１に記載の装置であって、前記トレースデータフォーマッタは、リザーブされた空値をもつトレースデータソース識別子を空値マーカとして、空値を含む前記出力トレースデータストリームを示す前記出力トレースデータストリーム内に挿入するため動作可能である、データを処理する装置。
【請求項１１】
請求項１に記載の装置であって、前記出力トレースデータストリームは、前記トレースデータフォーマッタから、
（ｉ）集積回路の１つ又はそれより多い実時間トレース出力、及び
（ｉｉ）集積回路のトレースデータバッファメモリ、
の１つへ向けられる、データを処理する装置。
【請求項１２】
請求項１に記載の装置であって、前記トレースデータフォーマッタから前記出力トレースデータストリーム中に挿入された前記トレースデータソース識別子は、前記出力トレースデータストリーム中の前記選択されたトレースデータストリームと関連する如何なるトレースデータシーケンスからも区別できるリザーブされたシーケンスから成る、データを処理する装置。
【請求項１３】
請求項１２に記載の装置であって、前記トレースデータフォーマッタは、前記個々のトレースデータストリームの少なくとも１つにおけるリザーブされたシーケンスに対応するトレースデータシーケンスの生起を検出するため動作可能であり、また前記リザーブされたシーケンスの検出と同時に、前記フォーマッタはまた、それを前記出力トレースデータストリームにおける前記リザーブされたシーケンスから区別するため前記データシーケンスを修正するため動作可能である、データを処理する装置。
【請求項１４】
トレースデータを発生する方法であって、前記方法は、
複数のトレースデータソースを用いて、トレースデータを運ぶそれぞれ個々のトレースデータストリームを発生するステップと、
前記個々のトレースデータストリームの１つを、出力のため選択されたトレースデータストリームとして選択するステップと、
出力トレースデータストリームを形成するため、前記選択されたトレースデータストリームをフォーマットするステップと、から成り、
前記フォーマットすることは、前記個々のトレースデータストリームのどれが選択されたかを検出し、前記選択されたトレースデータストリームの前記個々のトレースデータストリームの一つから当該個々のトレースデータストリームの他の一つへの変更に応じて前記出力トレースデータストリームの中にトレースデータソース識別子を挿入し、さらに前記フォーマットすることは、前記選択されたトレースデータストリームの前記変更があったか否かに応じて、前記出力トレースデータストリームに前記トレースデータソース識別子を出力するか否かを選択することを含む、トレースデータを発生する方法。
【請求項１５】
請求項１４に記載の方法であって、前記トレースデータソース識別子は、前記出力トレースデータストリーム内の所定のソース識別子位置に挿入される、トレースデータを発生する方法。
【請求項１６】
請求項１５に記載の方法であって、前記所定のソース識別子位置は、前記トレースデータソース識別子が挿入されない時はトレースデータを中に含む、トレースデータを発生する方法。
【請求項１７】
請求項１６に記載の方法であって、前記出力トレースデータストリーム内の所定のフラグ位置は、前記所定のソース識別子位置が、
（ｉ）前記トレースデータソース識別子を中に含むか、又は
（ｉｉ）トレースデータを中に含むか、を示す、トレースデータを発生する方法。
【請求項１８】
請求項１５に記載の方法であって、前記所定のソース識別子位置が、前記トレースデータソース識別子を含む時は、前記出力トレースデータストリーム内の別の所定の位置が、前記トレースデータソース識別子により識別される前記トレースデータソースのためのトレースデータが、前記出力トレースデータストリーム内のどこで開始するかを示す位置フラグを含む、トレースデータを発生する方法。
【請求項１９】
請求項１８に記載の方法であって、前記トレースデータソース識別子が挿入されない時は、前記所定のソース識別子位置がトレースデータを中に含み、また前記それ以上の所定の位置がトレースデータを中に含む、トレースデータを発生する方法。
【請求項２０】
請求項１４に記載の方法であって、前記出力トレースデータストリームはデータフレームの中にフォーマットされ、各データフレームは、
それぞれが
（ｉ）トレースデータソース識別子、又は
（ｉｉ）トレースデータ、
の１つを中に含む複数の所定の位置と、
トレースデータを中に含む複数の所定の位置とから成る、トレースデータを発生する方法。
【請求項２１】
請求項２０に記載の方法であって、各データフレームは、
（ｉ）前記データフレーム内のトレースデータソース識別子と関連する前記フレーム内のトレースデータのそれぞれの開始位置を示す１つ又はそれより多い位置フラグ、及び
（ｉｉ）トレースデータ、
の少なくとも１つを中に含むフラグ部分を含む、トレースデータを発生する方法。
【請求項２２】
請求項１４に記載の方法であって、リザーブされた同期値をもつトレースデータソース識別子が、前記出力トレースデータストリーム内に同期マーカとして挿入される、トレースデータを発生する方法。
【請求項２３】
請求項１４に記載の方法であって、リザーブされた空値をもつトレースデータソース識別子が、前記出力トレースデータストリームが空値を中に含むことを示すために、前記出力トレースデータストリーム内に空値マーカとして挿入される、トレースデータを発生する方法。
【請求項２４】
請求項１４に記載の方法であって、前記出力トレースデータストリームが、
（ｉ）集積回路の１つ又はそれより多い実時間トレース出力、及び
（ｉｉ）集積回路のトレースデータバッファメモリ、
の１つに向けられる、トレースデータを発生する方法。
【請求項２５】
請求項１４に記載の方法であって、前記トレースデータソース識別子は、前記出力トレースデータストリームにおける前記選択されたトレースデータストリームと関連する如何なるトレースデータシーケンスからも区別可能なリザーブされたシーケンスから成る、トレースデータを発生する方法。
【請求項２６】
請求項２５に記載の方法であって、前記フォーマットすることは、前記個々のトレースデータストリームの少なくとも１つにおける前記リザーブされたシーケンスに対応するトレースデータシーケンスの生起を検出し、また前記リザーブされたシーケンスの検出と同時に、それを前記出力トレースデータストリームにおける前記リザーブされたシーケンスから区別するため前記トレースデータシーケンスを修正することを含む、トレースデータを発生する方法。
【請求項２７】
トレースデータを分析する装置であって、前記装置は、
請求項１記載のデータを処理する装置により発生する出力トレースデータストリームを受信するため動作可能なトレースデータ受信機と、
前記出力トレースデータストリーム内のトレースデータソース識別子を検出するため、前記出力トレースデータストリームを解析動作可能なトレースデータ解析器と、
検出されたトレースデータソース識別子に応じ、前記検出されたトレースデータソース識別子により示される様に、前記出力トレースデータストリーム内のトレースデータを前記データ処理のための装置のトレースデータソースと結合するトレースデータマッパと、から成り、前記トレースデータに関連するトレースデータソースが、前記出力トレースデータストリーム内で、新たなトレースデータソース識別子と出会うまで変わらないとみなす、トレースデータを分析する装置。
【請求項２８】
請求項２７に記載の装置であって、前記トレースデータソース識別子は、前記選択されたトレースデータストリームの前記変化が生起する時は、前記出力トレースデータストリーム内の所定のソース識別子位置に挿入される、トレースデータを分析する装置。
【請求項２９】
請求項２８に記載の装置であって、前記所定のソース識別子位置は、前記トレースデータソース識別子が挿入されない時は、トレースデータを中に含む、トレースデータを分析する装置。
【請求項３０】
請求項２９に記載の装置であって、前記出力トレースデータストリーム内の所定のフラグ位置におけるフラグは、前記所定のソース識別子位置が、
（ｉ）前記トレースデータソース識別子、又は
（ｉｉ）トレースデータ、
を中に含むかどうかを示す、トレースデータを分析する装置。
【請求項３１】
請求項２８に記載の装置であって、前記所定のソース識別子位置が、前記トレースデータソース識別子を中に含む時は、前記出力トレースデータストリーム内の別の所定の位置は、前記トレースデータソース識別子により識別される前記トレースデータソースのためのトレースデータが前記出力トレースデータストリーム内のどこで開始するかを示す位置フラグを中に含む、トレースデータを分析する装置。
【請求項３２】
請求項３１に記載の装置であって、前記トレースデータソース識別子が挿入されない時は、前記所定のソース識別子位置はトレースデータを中に含み、また前記それ以上の所定の位置はトレースデータを中に含む、トレースデータを分析する装置。
【請求項３３】
請求項２７に記載の装置であって、前記出力トレースデータストリームは、データフレームの中にフォーマットされ、各データフレームは、
それぞれが
（ｉ）トレースデータソース識別子、及び
（ｉｉ）トレースデータ、
の１つを中に含む複数の所定の位置と、
トレースデータを中に含む複数の所定の位置と、から成る、トレースデータを分析する装置。
【請求項３４】
請求項３３に記載の装置であって、各データフレームは、
（ｉ）前記データフレーム内のトレースデータソース識別子に関連する前記フレーム内のトレースデータのそれぞれの開始位置を示す１つ又はそれより多い位置フラグ及び、
（ｉｉ）トレースデータ、
の少なくとも１つを中に含むフラグ部分を含む、トレースデータを分析する装置。
【請求項３５】
請求項２７に記載の装置であって、リザーブされた同期値をもつトレースデータソース識別子は、前記出力トレースデータストリーム内の同期マーカとして役立つ、トレースデータを分析する装置。
【請求項３６】
請求項２７に記載の装置であって、リザーブされた空値をもつトレースデータソース識別子は空値を中に含む前記出力トレースデータストリームを示す、前記出力トレースデータストリーム内の空値マーカとして役立つ、トレースデータを分析する装置。
【請求項３７】
請求項２７に記載の装置であって、前記出力トレースデータストリームは、
（ｉ）集積回路の１つ又はそれより多い実時間出力、及び
（ｉｉ）集積回路のトレースデータバッファメモリ、
の１つから読み取られる、トレースデータを分析する装置。
【請求項３８】
請求項２７に記載の装置であって、前記トレースデータソース識別子は、前記複数のトレースデータソースの１つから創作されるトレースデータから区別可能なリザーブされたシーケンスから成る、トレースデータを分析する装置。
【請求項３９】
請求項２７に記載のトレースデータを分析する装置として動作するため計算機を制御するため動作可能な計算機プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関する。より詳しくは、本発明は、診断目的のために、個々のトレースデータストリームを発生するため動作する複数のトレースデータソースを含むデータ処理システムに関する。
【背景技術】
【０００２】
トレースデータ発生機構をもつデータ処理システムを備えることは知られている。この様なシステムの例は、イングランド、ケインブリッジのＡＲＭリミテッドにより設計された埋め込みトレースマクロセルである。この様なトレース機構は、行なわれるデータ処理動作を監視し、どの命令が実行されているか、どのデータ値が操作されているかの様な、生起しているデータ処理動作を示すトレースデータストリームを発生する。このトレースデータストリームは、次に設計者／プログラマがシステムをデバッグするのを援助するため診断ツールへ出力（おそらく１チップバッファリングの後）される。
【０００３】
データ処理システムの複雑さが増すにつれて、各々がそれ自身のデータ処理動作を遂行し、他のデータ処理素子と通信する多くの異なるデータ処理素子を典型的に含むシステムオンチップ（ｓｙｓｔｅｍ−ｏｎ−ｃｈｉｐ）設計を使用することが普通になりつつある。一例として、単一の集積回路は、処理装置コア、ディジタル信号処理装置及びメモリシステムを含むことが出来る。これら素子の各々は、別個にトレーシングに従いそれ自身のトレースデータを発生出来る。各トレースデータソースに対して、別個のトレース機構を備えることについての問題は、各トレースデータソースに対して別個のトレース機構が不都合にピンカウント（ｐｉｎ  ｃｏｕｎｔ）を消費する方法で別個の入力及び出力を備える必要があることである。更に、幾つかのデータ処理素子に対して適切で且つ／又は必要な幾つかのプロトコルの異なるトレースデータ出力フォーマットは、組み合わされたデータストリームにおいて難点を示すことがあり得る。
【０００４】
トレースデータプロトコル内にトレースソース識別子を含むトレースシステムを備えることは知られている。これらのシステムは、アセンブルされ、出力される各トレースデータパケットを持つトレースソース識別子を含む。
【０００５】
（発明の要約）
１つの局面からみて、本発明は、データを処理する装置を提供し、前記装置は、
トレースデータを運ぶそれぞれの個々のトレースデータストリームを発生するため動作可能な複数のトレースデータソースと、
前記個々のトレースデータストリームの１つを出力のための選択されたトレースデータストリームとして選択するため動作可能なトレースデータ選択器と、
出力トレースデータストリームを形成するため前記選択されたトレースデータストリームをフォーマットするため動作可能なトレースデータフォーマッタとから成り、そこに
前記トレースデータフォーマッタは、前記個々のトレースデータソースのどれが前記トレースデータ選択器により選択されたかを検出し、前記トレースデータ選択器により選択されたトレースデータソースの変化に応じてトレースデータソース識別子を前記出力トレースデータストリームに挿入するため動作可能である。
【０００６】
本発明は、機構を提供し、これによりトレースデータソース識別が出力トレースデータストリーム内に効率的な方法で含まれる。特に、トレースデータソース識別子が、あらゆるトレースデータパケットと共によりはむしろトレースデータソース変化と同時に挿入される。従って、トレースデータ分析器は、新しいトレースデータソース識別子が出力トレースデータストリーム内に見出されるまでは、トレースデータソースが変化なしで残っていると仮定出来る。これは、記憶装置、帯域幅、又は他の制約に起因して制限される可能性のある出力トレースデータストリーム内の空間を節約する。
【０００７】
トレースデータフォーマッタが個々のトレースデータストリームのトレースデータソースを識別出来るために、発明の好ましい実施例では、選択されたトレースデータストリームは、トレースデータのあらゆるパケットと共にトレースデータソース識別子を含む。従って、トレースデータフォーマッタは、トレースデータソースにおける変化を追跡し、トレースデータソースにおける変化を示すため要求される適切に挿入されたトレースデータソース識別子を持つ出力トレースデータストリームをフォーマットすることが出来る。
【０００８】
トレースデータソース識別子が出力トレースデータストリーム内の任意の位置に挿入される実施例を作ることが可能であるかも知れないが、好ましい実施例は、もし変化が生起するとこの様なトレースデータソース識別子を出力トレースデータストリーム内の所定の点に挿入する。トレースデータソース識別子を挿入出来る位置を制約することは、一方でトレースデータ情報を圧縮された形式で効率的に提供する能力を不当に妥協させることなく、実際的及びデコードする利点がある。
【０００９】
出力トレースデータストリーム内の空間を節約するために、好ましい実施例は所定の位置を利用し、そこではトレースデータソース識別子は、トレースデータソースにおける変化が起こらず、識別子の必要がない時は、トレースデータのための場所として挿入出来る。
【００１０】
この様な所定の位置がトレースデータソース識別子を含むか又はトレースデータを含むかは、出力トレースデータストリーム内の所定のフラグ位置におけるフラグによりそれ自身好ましく示すことが出来る。
【００１１】
トレースデータソース識別子が挿入出来る所定の位置は好ましい実施例において少なくとも部分的に束縛されるので、出力トレースデータストリーム内のどこでトレースデータソース識別子に対応するトレースデータが開始されるかを示す位置フラグの使用により、システムの効率における改善が達成出来ることが理解されるであろう。トレースデータの開始の相対的位置における融通性はその対応する識別子と比較して、出力トレースデータストリームにおいて、さもなければ使用されないギャップ必要性を回避する。
【００１２】
この様な相対的位置を特定する必要性は、トレースデータソース識別子が挿入される時に起こるので、この様なトレースデータソース識別子が挿入されない時は、相対的位置を示すために使用される空間は、代わりにトレースデータを中に含めるために使用しても良い。
【００１３】
出力トレースデータストリームの取り扱いは、それが、トレースデータソース識別子か又はトレースデータか及びトレースデータのみを含む複数の所定の位置を中に含むことの出来る複数の所定の位置から成るデータフレームの中に配列される時有利に簡単化される。
【００１４】
この様なデータフレーム内には別個のフラグ位置を備えることが出来、これは、トレースデータソース識別子により識別されるトレースデータソースのためのトレースデータが出力トレースデータストリーム内のどこで開始するかを示す相対的位置情報を記憶するため、又は代わりに、トレースデータソース識別子が存在せず、それで相対的位置情報を特定する必要のない時、トレースデータを記憶するため使用される。
【００１５】
発明の好ましい実施例は、出力トレースデータストリーム内で同期値又は空マーカ（ｎｕｌｌ  ｍａｒｋｅｒ）として役立たせるためリザーブされたトレースデータソース識別子を利用する。
【００１６】
出力トレースデータストリームは、実時間に集積回路から出力されても良く、又は代わりに、集積回路上でオンチップ（ｏｎ−ｃｈｉｐ）でバッファされても良いことが理解されるであろう。
【００１７】
別の局面からみて、本発明はトレースデータを発生する方法を提供し、前記方法は、
複数のトレースデータソースを用いて、トレースデータを運ぶそれぞれ個々のトレースデータストリームを発生するステップと、
出力のために選択されたトレースデータストリームとして前記個々のトレースデータストリームの１つを選択するステップと、
出力トレースデータストリームを形成するため前記選択されたトレースデータストリームをフォーマッテイングするステップとから成り、そこに
前記フォーマッテイングは、前記個々のトレースデータソースのどれが選択されたかを検出し、前記選択されたトレースデータソースの変化に応じてトレースデータソース識別子を前記トレースデータストリームに挿入することを含む。
【００１８】
補足の局面からみて、本発明はトレースデータを分析する装置を提供し、前記装置は、
複数のトレースデータソースを含むデータ処理のための装置により発生する出力トレースデータストリームを受信するため動作可能なトレースデータ受信機と、
前記出力トレースデータストリーム内のトレースデータソース識別子を検出するため前記出力トレースデータストリームを解剖するため動作可能なトレースデータパーサと、
検出されたトレースデータソース識別子に応じ前記出力トレースデータストリーム内のトレースデータを、前記検出されたトレースデータソース識別子により示されるように前記データ処理のための装置のトレースデータソースと結合するトレースデータマッパとから成る。
【００１９】
特定の出力トレースデータストリームを発生してしまうと、そのトレースデータストリームのための修正された分析ツールが、トレースデータソースを特定している情報をデコードするために備えられる必要があることは理解されるであろう。このトレースデータ分析ツールは、特別目的のハードウエア又は適切にプログラムされた汎用計算機の形式で備えられても良い。
【実施例】
【００２０】
図１は、全部がイングランド、ケインブリッジのＡＲＭリミテッドにより設計されるＡＭＢＡバスのような主バス１０により接続される処理装置コア２、ディジタル信号処理装置４、メモリ６、及びソフトウエアにより制御されるトレースデータスレーブ８を含むシステムオンチップ（ｓｙｓｔｅｍ−ｏｎ−ｃｈｉｐ）集積回路の形式で集積回路２が示される。データ処理素子２、４、及びバススレーブ６、８の各々と関係しているのは、トレースデータ発生器１２、１４、１６、１８で、これらはトレースデータストリームを発生するため監視しているデータ処理素子内で起こる事象及び状態に応じる。監視されている事象の様式は、トレース分野の人々にはよく知られており、実行されている命令、操作されているデータ値、読み出され又は特定の記憶場所に書き込まれているデータ値又は所定の記憶位置へのデータ値の書き込みのようなものはトレース出力として役立っており（例えば、ソフトウエアにより制御されるトレーススレーブの行動は、所定のアドレス範囲内の位置に書き込まれるデータ値が実行されているソフトウエアが診断データをトレース情報の形式で出力するため計測されるのを可能にするためトレースデータとして出力されるようなものである）。
【００２１】
発生されたトレースデータストリームは、それぞれのトレースデータストリーム組合せ器２２、２６へのそれぞれのトレースバス２０、２４上に出力される。トレースデータソース１２、１４、１６、１８の各々は、トレースバス及びマルチプレクサとして動作する関連するトレースデータストリーム組合せ器２２、２６を備える。トレースデータストリーム組合せ器２２、２６もまた、同じ信号をもつトレースバスの形式である。
【００２２】
図１から分かる様に、トレースデータストリームは階層的に組み合わされても良く、即ち、第１のトレースデータストリーム組合せ器２２は、トレースソース１２、１４、１６からのトレースデータストリームを組み合わせ、第２のトレースデータストリーム組合せ器２６は、第１のトレースデータストリーム組合せ器２２からのトレースデータストリーム出力をソフトウエアにより制御されるトレースデータ発生器１８からの出力と組み合わせる。
【００２３】
トレースデータストリーム反復子２８は、トレースデータ組合せ器２６からのトレースデータストリーム出力を、２つの初めに等しいトレースデータストリームに反復する働きをし、これらは異なるチャネルを通じて供給される。これらトレースデータストリームの第１のものは、低帯域出力として役立ち、これは実時間でチップを離れて（ｏｆｆ−ｃｈｉｐ）出力される前にフォーマッタ３０及びトレースポートインタフェース３２を通過する。トレースデータストリーム反復子２８からのトレースデータストリーム出力の第２のものは、フォーマッタ３４を通り出力され、次にチップ上に埋め込まれたトレースバッファメモリ３６内に記憶される。このデータはチップ上に保持されるので、より高いレベルの明細（ｄｅｔａｉｌ）を捕捉している高帯域信号でもよい。
【００２４】
図２は、トレースデータストリーム反復子２８の動作を概略的に示す。これは単一のトレースデータストリームＤＡＴＡｉｎを受け、２つの等しい出力トレースデータストリームＤＡＴＡｏｕｔ１及びＤＡＴＡｏｕｔ２を発生する。これら信号の発生のタイミングは、図４に関して後述するようにＲＥＡＤＹｎ信号とＶＡＬＩＤ信号の交換により制御される。
【００２５】
図３は、トレースデータバス２０、２４をより詳細に、概略的に示す。トレースデータバス２０、２４は、正しい信号ＡＴＶＡＬＩＤを含み、これは、トレースデータソースが正しいトレースデータ及びトレースデータソースＩＤをトレースバス２０、２４上に出力していることを示す。３２ビットのトレースデータ信号ＡＴＤＡＴＡは、トレースデータソースにより発生され、トレースデータ受信機へのトレースバス２０、２４上に出力される。７ビットのトレースデータソース識別信号ＡＴＩＤは、トレースデータソースにより発生され、トレースデータ受信機へのトレースバス２０、２４上に出力される。トレースバス２０、２４はまた、トレースデータサイズ識別信号ＡＴＳＩＺＥを含み、これはトレースデータソースにより発生され、トレースデータ受信機により受信され、信号ＡＴＤＡＴＡ上のデータ幅を示すのに役立つ。２ビットのサイズ信号が備えられ、これは、トレースバス２０、２４の３２ビットのＡＴＤＡＴＡ部分上で利用可能な４バイトのうちどれくらい多くのバイトが、現在のトレースデータソースにより使用されているかを特定するため使用されても良い。このサイズ情報は、その後でトレースデータストリームを圧縮し、又は少なくとも再フォーマットするフォーマッタ３０、３４にとって高度に有益である。
【００２６】
トレースデータ受信機レディー信号ＡＴＲＥＤＹｎは、トレースデータ受信機により発生され、トレースデータソースに出力される。図１の実施例の情況において、トレースデータ受信機は、トレースデータ組合せ器２６か、又はトレースデータストリーム組合せ器２２か２８（反復器）、３２（ＴＰＩＵ）、３６（ＥＴＢ）かのどれかで良く、一方トレース信号ソースは、ソース１２、１４、１６及び１８のどれでも良い。
【００２７】
図３は、トレースデータ信号ＡＴＤＡＴＡ及びトレースソース識別信号ＡＴＩＤが、それら自身専用の信号線をトレースバス２０、２４上に備えていることを示す。トレースソース識別信号を別個の部分としてトレースバス２０、２４上に備えることは、プロトコル及びトレースデータそれ自身ＡＴＤＡＴＡのフォーマットが、多重ソース環境内で使用するためその内部にトレースソース識別信号を埋め込まなければならないことから開放する。これは、多重ソーストレースを支持するため、有利なモジュール及び共通の尺度をもつ構造を提供する。
【００２８】
トレースデータソース識別信号を備える別の特徴は、トレースデータソース識別信号に依存して、トレースデータストリームに選択的フィルタリング又は他の処理が遂行できることである。従って、図１のフォーマッタ３０、３４は、より重要なトレースデータソースに関連するトレースデータをその完全な形式に維持しながら、「興味のない」トレースデータソースに関連するトレースデータを選択的に除外することが出来る。トレースデータソース識別信号はまた、適切なトレースデータソース識別コードを、フォーマッタ３０、３４により発生する組み合わされたトレースデータ出力ストリーム内に挿入するため使用できる。
【００２９】
図４は、トレースデータをトレースデータソースからトレースデータ受信機へ送る時の制御における正しい信号とレデイ信号の動作を概略的に示す。最初のトレースデータ語Ａが送られ、ＡＴＶＡＬＩＤ信号が高になることによりトレースバス２０、２４上で主張されているとして示される。トレースデータ語Ａが出力されている間、ＡＴＲＥＡＤＹｎ信号は低で、トレースデータ受信機はそのトレースデータ語を受ける用意ができており、従ってそのトレースデータ語は首尾よく捕捉される。しばらくたってから、トレースデータソースは、第２のトレースデータ語Ｂの出力を試みる。この時、レデイ信号ＡＴＲＥＡＤＹｎは高であり、それ故このトレースデータ語は次のサイクルにおいて再送され、その時までにレデイ信号は低になってしまっており、トレースデータ語Ｂは首尾よく捕捉される。この様に、トレースデータ受信機は効果的に多重トレースデータソース間を調停することが出来る。トレースデータソース間を調停する技術は、代わりにバスマスタ（ｂｕｓ  ｍａｓｔｅｒｓ）として記載され、他のシステムバス、例えば、主バス１０の設計者には良く知られているであろう。トレースデータソースは、彼等が、彼等のトレースデータを送り、それを、トレースデータ受信機へのかれらの私的のトレースバス上で主張できるであろうと仮定する。トレースデータ受信機は、レデイ信号を使用してそのデータを受信する用意ができていたかどうかを示す。もしレデイ信号が、トレースデータが送られた時低（ＬＯＷ）が主張されなかったならば、その時はトレースデータソースはトレースデータを再送する。
【００３０】
図５は、トレースデータソース識別信号とトレースデータストリーム内のヘッダ（見出し）データとの間の関係を概略的に示す。トレース分野の人々に良く知られているように、ヘッダデータは、次にくるトレースデータに関連するパラメタを示すためにしばしばトレースデータストリーム内に挿入される。このヘッダデータは、それがトレースデータそれ自身から区別され、引き続くトレースデータのデコードにおいて正しくデコードできるためにトレースデータストリーム内で正しく識別されなければならない。トレースデータストリーム内でのヘッダデータの正しい識別は、トレース分野内での問題点である。本技術は、システムを提供し、そこでは、トレースデータソース識別信号が変化すると、いつでもデータヘッダがトレースデータソース識別信号におけるその変化に関して所定の位置を用いて挿入される。示される例においては、ヘッダは、固定したオフセットを代わりに使用できるが、トレースデータソース識別信号それ自身が変化する点において挿入される。これは、トレースソース識別信号の変化を監視することにより、ヘッダデータがトレースデータにおいて識別でき、従って正しくデコードされるので、引き続くトレースデータストリームの処理を簡単化する。
【００３１】
図６は、図１に示される様な、トレースデータフォーマッタ３０により発生される出力トレースデータフレーム５０を概略的に示す。より詳しくは、出力トレースデータのこのフレームは、１６バイトとして配列されたデータの１２８ビットから成る。第１のバイト５２から開始して、トレースデータフレーム５０内の交互のバイトはトレースデータソース識別子ＩＤか又はトレースデータかを含むことが出来る。これら交互のバイトの各々に関連するフラグ５４は、トレースデータソース識別子ＩＤがそのバイト内に記憶されているか又はトレースデータかを示す。データフレーム５０内の最終バイトは、最終バイト蓄積ＬＢＳであり、トレースデータソース識別子ＩＤか又はトレースデータかでもよいバイト（即ち、交互のバイト）の各々に関係する１ビットを記憶するのに役立つ。もしそれぞれのバイトがトレースデータソース識別子ＩＤであれば、それなら、最終バイト蓄積ＬＢＳ内の対応するビットは、そのトレースデータソース識別子ＩＤに関連するトレースデータが、トレースデータの最初の、次に続くバイトから始まるか又はトレースデータの２番目の、次に続くバイトから始まるかを示す。もしそのバイトが、フラグ５４により示される様に、トレースデータソース識別子ＩＤよりむしろトレースデータバイトであれば、それなら、フラグ５４により転置されたトレースデータのそのバイトの最上位ビットは、最終バイト蓄積ＬＢＳ内の対応するビット内に記憶される。本例におけるトレースデータソース識別子ＩＤは、７ビット値であり、従って、第８ビットはフラグ５４として役立たせるため利用でき、そして最終バイト蓄積ＬＢＳ内の対応するビットは対応するトレースデータの開始の相対位置を特定出来る。逆に、トレースデータバイト彼等自身は８ビット値であり、これらのトレースデータバイト値は、転置された５４であり、最終バイト蓄積ＬＢＳ内の対応するビット内に存在する。
【００３２】
図６のトレースデータフレーム５０は、トレースデータソース識別子ＩＤは、トレースデータソースに変化が起こるといつでも挿入できることを示す。もし変化が起こらなければトレースデータソース識別子ＩＤは挿入される必要がなく、トレースデータフレーム５０の受信機は、トレースデータソースは最後に特定されたのと同様であると仮定する。好ましい実施例は、出力トレースデータのストリームが任意の点において取出され、制限された時間内にトレースデータソース識別子ＩＤが見出され、それ以上のトレースデータは適切なトレースデータソースに由来するものとすることを可能にする方法で、たとえ変化が起こらなくてもトレースデータソース識別子ＩＤを周期的に挿入するため働くことが出来る。
【００３３】
図６の出力トレースデータフレーム５０において、フラグ５４は、データシーケンスが標準のトレースデータであるか又はトレースデータソース識別子であるかを示すために使用しても良い。しかし、代わりの配列においては、フォーマッタ３０、３４により出力トレースデータストリームに挿入されるトレースデータソース識別子は、「拡張シーケンス（ｅｓｃａｐｅ  ｓｅｑｕｅｎｃｅ）」として知られるリザーブされたシーケンスが使用される事実からみて標準トレースデータと区別可能である。拡張シーケンスは、それをトレースソース識別子として排他的に使用するため除外される意味においてリザーブされ、それ故、フォーマッタによる出力上のトレースデータソースと直接関連する標準トレースデータシーケンスの一部として生起することは決してない。
【００３４】
単一のリザーブされたシーケンスを複数のトレースデータソース２、４、６、８のために使用してもよく、この場合、それ以上のソース特定ＩＤが、完全なトレースソース識別子を形成するためリザーブされたシーケンスに付加される。フォーマッタ３０、３４は、トレースデータソース２、４、６、８により出力される標準トレースデータストリーム中のリザーブされたシーケンスの如何なる生起でも検出する。もしリザーブされたシーケンスが偶然に生成されると、それならフォーマッタ３０、３４は、それが最早ソース識別子としてリザーブされるシーケンスに対応しない様に、追加の情報を検出されたシーケンスに付加することにより標準トレースデータ出力を修正する。これは、トレース分析ツールが、問題のシーケンスを誤って選択されたトレースデータソースにおける変化と関連つけるよりはむしろ標準トレースデータとして識別する。従って、フォーマッタの出力におけるリザーブされたシーケンス及びそれ以上のソース特定ＩＤの生起は、信頼性をもってトレースデータソースにおける変化を合図する。
【００３５】
図７は、トレースデータフォーマッタ３０を概略的に示す。このトレースデータフォーマッタ３０は、前述のようにトレースデータソース１２、１４、１６、１８からトレースバス２０、２４を経由してトレースデータストリームを受ける。トレースデータ組合せ器２２、２６は、トレースデータ選択器の役目を遂行し、異なるトレースデータソース１２、１４、１６、１８の間を選択する働きをして、選択されたトレースデータストリームを出力する。トレースデータ組合せ器２２、２６の出力上のデータは、選択されたトレースデータストリームである。この選択されたトレースデータストリームは、トレースデータＡＴＤＡＴＡを含み、これはＡＴＳＩＺＥ信号により特定されるサイズのデータを運ぶ３２ビット信号であり、７ビット値であるトレースソース識別信号ＡＴＩＤを同伴する。正しい信号及びレデイ信号もまたトレースバス上でトレースデータ及びトレースデータソース識別信号に同行する。
【００３６】
トレースデータフォーマッタ３０内で、トレースデータ信号ＡＴＤＡＴＡ及びトレースデータソース識別信号ＡＴＩＤは、レジスタ５６によりラッチされる。フレームアセンブリ論理５８は、レジスタ５６からラッチされたトレースデータＡＴＤＡＴＡ及びトレースソース識別信号ＡＴＩＤを読み出すために正しい信号ＡＴＶＡＬＩＤ及びサイズ信号ＡＴＳＩＺＥに応じ、これらを１２８ビットデータフレーム蓄積６０の中にアセンブルする。フレームアセンブリ論理５８の行動は、後で図８及び９に関して述べる。
【００３７】
全体的レベルにおいて、フレームアセンブリ論理５８は、トレースソース識別信号ＡＴＩＤが、最終のトレースデータＡＴＤＡＴＡがレジスタ５６内にラッチされた以来変化したかどうかを検出するためレジスタ５６内にラッチされたトレースソース識別信号ＡＴＩＤに応じる。もしトレースソース識別信号ＡＴＩＤが、トレースデータソース１２、１４、１６、１８の変化を示すならば、それなら、フレームアセンブリ論理５８は、対応するトレースデータソース識別子ＩＤを、データフレーム蓄積６０内にアセンブルされているトレースデータフレーム５０内に、アセンブルされているこのデータフレーム内の既に到達した点に、要求される１６ビット整列に従って挿入する。一旦完全な１２８ビットのデータフレームがアセンブルされると、それは１２８ビットのレジスタ６２のバンク内に記憶され、これらレジスタはラウンドロビン様式（ｒｏｕｎｄ−ｒｏｂｉｎ  ｆａｓｈｉｏｎ）で書き込まれる。レジスタ６２は、またレジスタ６２は、フォーマットされたトレースデータ出力を形成するため出力制御装置の制御の下で対応するラウンドロビン様式で読み出され、トレースデータ出力は、図１に示す様に埋め込まれたトレースバッファか又はトレースポートインタフェースユニット３２かへ供給される。レジスタ６２の行動は、リングバッファとして働くことであり、これによりトレースデータフレーム５０はリングバッファの中に記憶されてもよく、またトレースデータフレームはアンダフロー又はオーバフローを回避することを求め、また特定の実施例により要求されるように種々のビット幅を持つためにフォーマットされたトレースデータ出力に備える方法でリングバッファから読み出されてもよい。
【００３８】
埋め込まれたトレースデータソース識別信号を含むフォーマットされたトレースデータ出力は、トレースデータ出力分析装置によりデコードされることは理解されるであろう。この装置は、特別目的のハードウエアの一片又は適切にプログラムされた汎用計算機でも良い。このトレースデータ分析器は、それが受ける出力トレースデータストリームを解剖し、またその受けた出力トレースデータストリーム内に埋め込まれたトレースデータソース識別子ＩＤに応じる。これらのトレースデータソース識別子ＩＤは、次に対応するトレースデータを分析中の集積回路２内の適切なトレースデータソース１２、１４、１６、１８に写像するため使用できる。トレースデータ分析器はまた、同期化動作を開始するか又は別の識別子が受信されるまで出力トレースデータストリームを空として処理するかのため、出力トレースデータストリーム内に、リザーブされたトレースデータソース識別子（おそらく所定のトレースデータ値を同伴する）の形式で埋め込まれた同期化パケット又は空データパケットに応じる。トレースデータ分析器はまた、特定のバイトは、トレースデータソース識別子ＩＤであるか又はトレースデータバイト及び相対的位置ビット又はトレースデータフレーム５０内の最終バイトを構成する最終バイト蓄積ＬＢＳから転置された最上位トレースデータかを示しているトレースデータフレーム５０内のフラグを読み出しかつ解釈する。
【００３９】
トレースデータフォーマッタ３０によりアセンブルできるトレースデータフレーム５０の一例は次の通りである。
例：
２トレースソース、１つは  ＩＤ＝０ｘ０３  を持ち、１つは  ＩＤ＝０ｘ１５  を持つソースは  ＩＤ  ０ｘ０３  を持ち  ０ｘａａ，  ０ｘａ６，  ０ｘａ７，  ０ｘａ８．  を出力
それから
ソースは  ＩＤ  ０ｘ１５を持ち  ０ｘ５５、０ｘ５２、０ｘ５３、０ｘ５４  を出力
それから
ソースは  ＩＤ  ０ｘ０３を持ち  ０ｘｃａ、０ｘｃ６、０ｘｃ７、０ｘｃ８  を出力
ＭＳＢ＝最上位ビット
もし  Ｆ＝１  それなら  バイトｘ０はＩＤ、もしｘ１におけるバイトが前のＩＤ（１）、又はこの新しいＩＤ（０）に対応すればバイトＪ１  へ移動したＭＳＢは定義する
もし  Ｆ＝０  それなら  バイトｘ０はデータ、ｘ０におけるデータのＭＳＢはバイトＪ１へ移動される
最終バイト−  ＬＳＢ  はＡｍ  Ｂｍ  Ｃｍ  Ｄｍ  Ｅｍ  Ｇｍ  Ｈｍ  Ｊｍビットを中に含む
最初の１／２語Ａが構成される：
【００４０】
0004685368.tif 000002
Ｆ＝１、Ａ０がＩＤであるので
Ａｍ＝０，    ２ｎｄバイトＡ１  が新しいＩＤに対応するので
第２の１／２語Ｂが構成される：
0004685368.tif 000003
Ｆ＝０，    Ｂ０がデータであるので
Ｂｍ＝１，    元のＢ０（０ｘａ６）データの  １ｓｔバイトが１であるので、ＭＳＢは剥奪されてＢｍ内に置かれる
第３の１／２語Ｃが構成される：
0004685368.tif 000004
Ｆ＝１，    Ｃ０がＩＤであるので
Ｃｍ＝１，  ２ｎｄ  バイトＣ１  が前のＩＤ  ０ｘ０３  に対応するので
第４の１／２語Ｄが構成される：
【００４１】
0004685368.tif 000005
Ｆ＝０，  Ｄ０  がデータであるので
Ｄｍ＝０，  Ｄ０  のＭＳＢ  が  ０  であるので
第５の１／２語Ｅが構成される：
0004685368.tif 000006
Ｆ＝０，  Ｅ０  がデータであるので
Ｅｍ＝０，  Ｅ０  のＭＳＢ  が  ０  であるので
第６の１／２語Ｇが構成される：
0004685368.tif 000007
Ｆ＝１，  Ｇ０  が新しい  ＩＤであるので
Ｇｍ＝０，  Ｇ１  における  データ  がこの  新しい  ＩＤ  ０ｘ０３  であるので
第７の１／２語Ｈが構成される：
【００４２】
0004685368.tif 000008
Ｆ＝０，  Ｈ０  がデータであるので
Ｈｍ＝１，  元のＨ０  のＭＳＢ  が  １  であったので
第８の１／２語Ｊが構成される。注目すべきは、これはＩＤと関連するデータの最終バイト、及び／又はデータ最上位ビット（ここにＦビットはデータを示す）
0004685368.tif 000009
Ｆ＝０，  Ｊ０  がデータであるので
Ｊｍは１，  元のＪ０  のＭＳＢ  が  １  であったので
Ｊ１  は、データである  ｘ０  パケットから最上位ビット（複数）を取り、またＩＤパケットから  データ結合（ａｓｓｏｃｉａｔｉｏｎ）を取る
【００４３】
図８及び９は、図７のフレームアセンブリ論理５８の機能的行動を概略的に示す。ステップ６４において、トレースデータ組合せ器／選択器２２、２６による出力としての選択されたトレースデータストリームが読み出される。ステップ６６は、トレースデータソース識別ビット  ＡＴＩＤにより示されるようにトレースデータソースに変化があったかどうかを決定する。もし変化が起こらなかったのであれば、それなら、ステップ６８は、アセンブルされている現在のデータフレームにトレースデータ（ＡＴＳＩＺＥ信号により特定されるサイズの）を付加するため働く。これらのトレースデータバイトは順序に、アセンブルされているトレースデータフレーム５０内の到達した現在の位置から開始し、またトレースデータソース識別子を運ぶバイトか又は到達したトレースデータバイトを運ぶためトレースデータバイトか又はトレースデータに専用のバイトかを使用して付加できる。ステップ６８はまた、トレースデータバイトとして、アセンブルされた先行するトレースデータフレームで、この中のトレースデータのある部分がトレースデータフレーム５０の端に張り出し、且つ現在のトレースデータフレーム５０の中に突き出る先行するトレースデータからの様な、以前に受信された一連のトレースデータストリーム信号から未決定として残っている如何なる最終バイトにも書き込むため役立つ。
【００４４】
ステップ７０は、アセンブルされているデータフレーム５０内の現在の位置のカウントが、１５個のバイトがアセンブルされたことを示している値に到達したかどうかを調べる。もし１５のカウントにまだ到達していなければ、それなら、ステップ７２がバイトカウンタを増加するために働き、処理をステップ５４に戻す。もしトレースデータフレーム５０の終わりが１５のバイトカウンタ値により示される様に到達していれば、それなら、ステップ７４が、以下に述べる様に、最終バイト蓄積ＬＢＳとして役立つスペーサバイトを挿入するために働く。この最終バイト蓄積は、トレースデータの、その関連するトレースデータ識別子への相対的位置又は代わりに、フラグ値５４によりトレースデータフレーム５０中のほかの場所へ転置されたトレースデータの転置されたビットを示しているフラグを運ぶために役立つトレースデータフレーム５０のフラグ部分として考えられる。ステップ７４の後、ステップ７６は、図９に示された機能に従って、それ以上の処理のために部分的に形成された１６バイトトレースデータフレーム５０を出力するために働く。
【００４５】
図９は、どの様にして部分的に形成された１６バイトトレースデータフレーム５０が、最終バイト蓄積ＬＢＳデータをアセンブルために処理されるかを概略的に示す。ステップ７８は、受けるべき１６バイトトレースデータフレーム５０を待ち受ける。ステップ８０は、今度は、受けたトレースデータフレーム５０の最初の１６ビットを検査する。ステップ８２は、最終バイト蓄積ＬＢＳ内の対応する位置へ検査されている１６ビットセグメントの最初のバイトの最上位ビットＭＳＢをセーブする。ステップ８４は、それでは、検査されている１６ビットセグメントの最初のバイトは、トレースデータソース識別子ＩＤ又はトレースデータを運んでいるかどうかを決定する。これは、図８のステップ８６で記憶された状態から決定される。もし、最初のバイトがトレースデータソース識別子ＩＤでなければ、それでは、このバイトの最上位ビットＭＳＢは、ステップ８８において、トレースデータを示すために「０」にセットされる。もし、検査されている１６ビットセグメントの最初のバイトが、トレースデータソース識別子を表すならば、それなら、ステップ９０は、このバイトの最上位ビットＭＳＢを「１」にセットし、このバイトは、信号ＡＴＩＤから取られたトレースデータソース識別子である後に続く７ビットをもつトレースデータソース識別子であることを示す。
【００４６】
ステップ９２において、修正された１６ビットセグメントは、１２８ビットバッファ６０内の適切な位置の中に記憶され、またステップ９４は、今度は、検査されるべき次の１６ビットへ移動させる。ステップ９６は、トレースデータフレーム５０の終わりが到達したかどうかを決定する。もし、終わりが到達していなければ、それなら、処理はスッテップ８２に戻る。逆に、もし、フレームの終わりが到達していれば、それなら、処理は、部分的に形成された次の１６バイトを待つためにステップ７８に戻る。完全にアセンブルされたトレースデータフレームは、次にはトレースデータフレーム蓄積６０から、図７に示される様なレジスタバンク６２のレジスタの１つへ移動されても良い。
【００４７】
もし、スッテップ６６の決定の結果が、トレースソースの変化が生起したとのことであれば、それなら、処理はステップ８６へ進み、そこではトレースデータソース識別子バイトが形成され、アセンブルされているトレースデータフレーム５０内の現在の位置に挿入される。その位置におけるデータがトレースデータソース識別子を表すという事実は、またこの情報が引き続く処理において必要なその他の場所に一時的に記憶される。
【００４８】
ステップ９８は、未だトレースデータフレーム中に置かれていない、以前に捕捉された一連のトレースバス信号から張り出している最終バイトがあるかどうかを決定する。もしこの様な張り出している最終バイトが存在すれば、それなら、ステップ１００が、トレースデータソース識別子を保持するバイト内の最上位ビットを、トレースデータソース識別子に直接続くトレースデータバイトが先行するトレースデータソースに関係することを示すためにセットするように働き、また新たに選択されたトレースデータソースに関連するトレースデータは、出力トレースデータストリーム内でトレースデータソース識別子それ自身から１バイト位置間隔を置いて開始するであろう。もしスッテップ９８における決定が、この様な最終バイトは存在しないとのことであれば、ステップ１０２は、トレースデータソース識別子を運んでいるバイトの最上位ビットを、新たなトレースデータソースに対応するトレースデータの第１のバイトはトレースデータソース識別子に直接続くことを示すためにゼロにセットするために働く。後で説明する様に、ステップ１００及び１０２でセットした様なこれらの最上位ビット値は、これらの初期の位置から、トレースデータフレーム５０内の最終バイトを形成する最終バイト蓄積ＬＢＳ５１の中ヘ再配置され、それで、トレースデータフレーム５０内のこれらのバイト内の最上位ビット位置は、フラグ５４によりトレースデータソース識別子又はトレースデータのいずれかは、トレースデータフレーム５０内のこれらの可変内容スロット（ｖａｒｉａｂｌｅ  ｃｏｎｔｅｎｔ  ｓｌｏｔ）の１つに運ばれていることを示すために使用できる。
【００４９】
発明の例示的実施例が付随する図面を参照して詳細に記載されたが、発明はこれらの詳細な実施例には制限されず、請求の範囲に定義された発明の範囲及び精神から逸脱することなく種々の変更及び修正が当業者により行なわれ得ることが理解されるべきである。
【図面の簡単な説明】
【００５０】
【図１】多重トレースデータソースを含む集積回路を概略的に示す。
【図２】トレースデータ反復子を概略的に示す。
【図３】トレースデータバスを示す。
【図４】正しい信号、データ信号及びレデイ信号の間のインタラクションを示す。
【図５】トレースデータソース識別信号における変化とトレースデータ内のヘッダデータとの間の関係を概略的に示す。
【図６】トレースデータフォーマッタにより発生する出力トレースデータのフレームを概略的に示す。
【図７】トレースデータフォーマッタを概略的に示す。
【図８】図７のトレースデータフォーマッタの機能性を概略的に示す流れ図である。
【図９】同じく、図７のトレースデータフォーマッタの機能性を概略的に示す流れ図である。
【符号の説明】
【００５１】
２  集積回路（処理装置コア）
４  ディジタル信号処理装置（ＤＳＰ）
６  メモリ
８  ソフトウエアにより制御されるトレースデータスレーブ
１０  主バス
１２、１４、１６、１８  トレースデータ発生器（トレースデータソース）
２０、２４  トレースバス
２２、２６  トレースデータストリーム組合せ器
２８  反復器
３０、３４  フォーマッタ
３２  トレースポートインタフェースユニット
３６  埋め込まれたトレースバッファ
【図１】
0004685368.tif 000010
【図２】
0004685368.tif 000011
【図３】
0004685368.tif 000012
【図４】
0004685368.tif 000013
【図５】
0004685368.tif 000014
【図６】
0004685368.tif 000015
【図７】
0004685368.tif 000016
【図８】
0004685368.tif 000017
【図９】
0004685368.tif 000018