(57)【要約】  データ処理システム（１０）は、システム内のダイレクトメモリアクセス（ＤＭＡ）制御装置（１６）に特有の１以上のデバッグメッセージを選択的に生成するデバッグモジュール（２６）を備える。制御レジスタ（７０）は、どのＤＭＡデバッグメッセージを提供するかを有効にする。マイナーループ反復がいつ開始され、いつ完了したかを含むＤＭＡ転送活動の開始及び終了が提供される。各ＤＭＡ転送におけるチャンネルリクエストと実際のリクエスト開始との間のシステム待機時間を示す待機時間情報を、デバッグメッセージに含めてもよい。デバッグメッセージのうちの一つが、制御レジスタ（８０）の制御の下で、所定のＤＭＡチャンネルの定期的状態を提供する。デバッグメッセージのうちの少なくとも一つは、いつ転送が開始されるか、又はいつ終了するか等の監視ポイント機能を実行する。デバッグモジュールは、システムに集約させてもよく、所定のシステムユニットに分散させてもよい。
2007522550.tif 000002
【特許請求の範囲】
【請求項１】
通信バスと、
前記通信バスに接続され、ダイレクトメモリアクセス装置が情報チャンネルを制御し、各情報チャンネルがチャンネル転送を介してシステム内のソースから送り先に情報を転送するダイレクトメモリアクセス装置と、
前記ダイレクトメモリアクセス装置に接続され、少なくとも一つの所定チャンネルについてＤＭＡチャンネル転送境界の存在を確認するデバッグメッセージを提供するデバッグ制御回路網と
を備えるシステム。
【請求項２】
請求項１記載のシステムにおいて、
前記デバッグ制御回路網は、更に、前記デバッグメッセージがチャンネル転送境界の存在を確認する前記ダイレクトメモリアクセス装置によって制御される情報チャンネルがどれであるかを選択するためのプログラマブル制御手段を備えるシステム。
【請求項３】
請求項１記載のシステムにおいて、
前記デバッグ制御回路網によって提供される前記デバッグメッセージのうちの一つは、少なくとも一つの所定チャンネルについてチャンネル転送が開始したことを示すシステム。
【請求項４】
請求項３記載のシステムにおいて、
前記デバッグメッセージのうちの一つは、更に、少なくとも一つの所定チャンネルの状態パラメータを示すシステム。
【請求項５】
請求項４記載のシステムにおいて、
前記状態パラメータは、少なくとも一つの所定チャンネルのチャンネル優先度、少なくとも一つの所定チャンネルの利用係数、及び少なくとも一つの所定チャンネルに関連して転送エラーが以前に生じたか否か、のうちの一つを含むシステム。
【請求項６】
請求項３記載のシステムにおいて、
前記デバッグメッセージのうちの一つは、更に、情報を転送し始めるための前記ダイレクトメモリアクセス装置によるリクエスト受信と、その情報の実際の転送との間のシステムディレイを表す前記チャンネル転送に関する待機時間を示すシステム。
【請求項７】
請求項１記載のシステムにおいて、
前記デバッグ制御回路網によって提供される前記デバッグメッセージのうちの一つは、少なくとも一つの所定チャンネルについてチャンネル転送が終了したことを示すシステム。
【請求項８】
請求項１記載のシステムにおいて、
前記デバッグ制御回路網によって提供される前記デバッグメッセージのうちの一つは、少なくとも一つの所定チャンネルの複数のマイナーループ反復がそれぞれ開始したことを示すシステム。
【請求項９】
請求項１記載のシステムにおいて、
前記デバッグ制御回路網によって提供される前記デバッグメッセージのうちの一つは、少なくとも一つの所定チャンネルの複数のマイナーループ反復がそれぞれ終了したことを示すシステム。
【請求項１０】
請求項１記載のシステムにおいて、
前記デバッグ制御回路網によって提供される前記デバッグメッセージのうちの一つは、少なくとも一つの所定チャンネルの定期的状態を示すシステム。
【請求項１１】
請求項１記載のシステムは、更に
各システムユニットが前記通信バスに接続され、前記デバッグ制御回路網が更に前記デバッグメッセージを提供するための複数のデバッグモジュールを有し、各デバッグモジュールが複数のシステムユニットのうちの所定の一つに接続された複数のシステムユニットと、
前記デバッグメッセージをデバッグポートに提供するため複数のデバッグモジュールに接続されたデバッグポートロジックと
を備えるシステム。
【請求項１２】
通信バスと、
前記通信バスに接続され、前記ダイレクトメモリアクセス装置が情報チャンネルを制御し、各情報チャンネルがチャンネル転送を介してシステム内のソースから送り先に情報を転送するダイレクトメモリアクセス装置と、
前記ダイレクトメモリアクセス装置に接続され、デバッグ制御回路網が少なくとも一つの所定チャンネルについて少なくとも一つの状態パラメータを定期的に規定するデバッグメッセージを提供するデバッグ制御回路網と
を備えるシステム。
【請求項１３】
請求項１２記載のシステムにおいて、
少なくとも一つの状態パラメータは、更に、少なくとも一つの所定チャンネルのチャンネル優先度、少なくとも一つの所定チャンネルの利用係数、及び少なくとも一つの所定チャンネルに関連して転送エラーが以前に生じたか否か、のうちの一つを含むシステム。
【請求項１４】
請求項１２記載のシステムにおいて、
前記デバッグ制御回路網は、更に、デバッグメッセージを提供し、各デバッグメッセージは、チャンネル転送が開始したことを示すシステム。
【請求項１５】
請求項１２記載のシステムにおいて、
前記デバッグ制御回路網は、更に、デバッグメッセージを提供し、各デバッグメッセージは、チャンネル転送が終了したことを示すシステム。
【請求項１６】
請求項１２記載のシステムにおいて、
前記デバッグ制御回路網は、各情報チャンネルについて前記デバッグメッセージの選択的な生成を有効にするようにプログラム化されているシステム。
【請求項１７】
請求項１２記載のシステムにおいて、
前記デバッグ制御回路網は、更に、少なくとも一つの所定チャンネルの所定の監視ポイント条件である監視ポイントインジケータを生成し、前記所定の監視ポイント条件が前記ダイレクトメモリアクセス装置の活動に基づく監視ポイント条件であるシステム。
【請求項１８】
請求項１７記載のシステムにおいて、
前記デバッグ制御回路網は、更に、複数の監視ポイントインジケータを生成し、各監視ポイントインジケータは、前記情報チャンネルのうち異なるチャンネルの監視ポイント条件を示すシステム。
【請求項１９】
請求項１２記載のシステム、更に
少なくとも一つの所定チャンネルについて少なくとも一つの状態パラメータを定期的に規定するデバッグメッセージの提供を有効及び無効にする制御シグナルを保存するための制御レジスタを備えるシステム。
【請求項２０】
請求項１２記載のシステムにおいて、
前記ダイレクトメモリアクセス装置は、メジャーループ反復を形成する複数のマイナーループ反復を含む同じチャンネル内のネスト化された情報の転送を実行するシステム。
【請求項２１】
請求項１２記載のシステムにおいて、
前記各デバッグメッセージは、メッセージタイプフィールド、チャンネル確認フィールド、及び状態情報フィールドを含む所定のビットフィールドからなる複数のビットメッセージを含むシステム。
【請求項２２】
通信バスと、
前記通信バスに接続され、ダイレクトメモリアクセス装置が複数の情報チャンネルを制御し、各情報チャンネルがチャンネル転送を介してシステム内のソースから送り先に情報を転送するダイレクトメモリアクセス装置と、
前記ダイレクトメモリアクセス装置に接続され、デバッグ制御回路網がチャンネル毎にプログラム化されることにより、前記ダイレクトメモリアクセス装置の操作パラメータに関するデバッグメッセージを選択的に提供するデバッグ制御回路網と
を備えるシステム。
【請求項２３】
請求項２２記載のシステムにおいて、
前記ダイレクトメモリアクセス装置の操作パラメータは、転送境界が生じたか否かと定期的状態情報とのうちの少なくとも一つに関する情報を含むシステム。
【請求項２４】
請求項２２記載のシステムにおいて、
前記デバッグ制御回路網は、更に、前記ダイレクトメモリアクセス装置がチャンネル転送リクエストを受信した後にチャンネル転送を開始する前記ダイレクトメモリアクセス装置のシステムディレイに関する待機時間情報を含む少なくとも一つのデバッグメッセージを提供するシステム。
【請求項２５】
システムのリアルタイムデバッグサポート方法であって、
通信バスを提供するステップと、
ダイレクトメモリアクセス（ＤＭＡ）装置を前記通信バスに接続するステップであって、前記ダイレクトメモリアクセス装置が情報チャンネルを制御し、各情報チャンネルがチャンネル転送を介してシステム内のソースから送り先に情報を転送するステップと、
デバッグ制御回路網を前記ダイレクトメモリアクセス装置に接続するステップと、
前記情報チャンネルのうちの少なくとも一つの所定チャンネルについてＤＭＡチャンネル転送境界の存在を確認するデバッグメッセージを提供するステップと
を備える方法。
【請求項２６】
請求項２５記載の方法は、更に
前記デバッグメッセージがチャンネル転送境界の存在を確認する前記ダイレクトメモリアクセス装置によって制御される前記情報チャンネルをどれにするかをプログラミング及び選択するステップを備える方法。
【請求項２７】
請求項２５記載の方法は、更に
前記デバッグ制御回路網によって提供される前記デバッグメッセージのうちの一つを用いるステップであって、少なくとも一つの所定チャンネルについてチャンネル転送が開始したことを示すステップを備える方法。
【請求項２８】
請求項２７記載の方法は、更に
前記デバッグメッセージのうちの一つを用いるステップであって、少なくとも一つの所定チャンネルの状態パラメータを示すステップを備える方法。
【請求項２９】
請求項２８記載の方法は、更に
前記状態パラメータを用いるステップであって、少なくとも一つの所定チャンネルのチャンネル優先度、少なくとも一つの所定チャンネルの利用率及び少なくとも一つの所定チャンネルとの関連で転送エラーが以前に生じたか否か、のうちの一つを示すステップを備える方法。
【請求項３０】
請求項２７記載の方法は、更に
前記デバッグメッセージのうちの一つを用いるステップであって、情報を転送し始めるための前記ダイレクトメモリアクセス装置によるリクエスト受信と、その情報の実際の転送との間のシステムディレイを表す前記チャンネル転送に関する待機時間を更に示すステップを備える方法。
【請求項３１】
請求項２５記載の方法は、更に
前記デバッグ制御回路網が提供する前記デバッグメッセージのうちの一つを用いるステップであって、少なくとも一つの所定チャンネルについてチャンネル転送が終了したことを示すステップを備える方法。
【請求項３２】
請求項２５記載の方法は、更に
前記デバッグ制御回路網が提供する前記デバッグメッセージのうちの一つを用いるステップであって、少なくとも一つの所定チャンネルの複数のマイナーループ反復がそれぞれ開始したことを示すステップを備える方法。
【請求項３３】
請求項２５記載の方法は、更に
前記デバッグ制御回路網が提供する前記デバッグメッセージのうちの一つを用いるステップであって、少なくとも一つの所定チャンネルの複数のマイナーループ反復がそれぞれ終了したことを示すステップを備える方法。
【請求項３４】
請求項２５記載の方法は、更に
前記デバッグ制御回路網が提供する前記デバッグメッセージのうちの一つを用いるステップであって、少なくとも一つの所定チャンネルの所定の状態パラメータを定期的に示すステップを備える方法。
【請求項３５】
請求項２５記載の方法は、更に
複数のシステムユニットを提供するステップであって、各システムユニットは前記通信バスに接続されているステップと、
前記デバッグメッセージを提供するため複数のデバッグモジュールを提供するステップであって、各デバッグモジュールが複数のシステムユニットのうちの所定の一つに接続されているステップと、
前記デバッグメッセージをデバッグポートに提供するためデバッグポートロジックを複数のデバッグモジュールに接続するステップと
を備える方法。
【請求項３６】
システムのリアルタイムデバッグサポート方法であって、
通信バスを提供するステップと、
ダイレクトメモリアクセス（ＤＭＡ）装置を前記通信バスに接続するステップであって、前記ダイレクトメモリアクセス装置が情報チャンネルを制御し、各情報チャンネルがチャンネル転送を介して前記システム内のソースから送り先に情報を転送するステップと、
少なくとも一つの所定チャンネルについて少なくとも一つの状態パラメータを定期的に規定するデバッグメッセージを提供するための前記ダイレクトメモリアクセス装置にデバッグ制御回路網を接続するステップと
を備える方法。
【請求項３７】
請求項３６記載の方法は、更に
少なくとも一つの所定チャンネルのチャンネル優先度、少なくとも一つの所定チャンネルの利用係数、及び少なくとも一つの所定チャンネルに関連して転送エラーが以前に生じたか否か、のうちの一つとして少なくとも一つの状態パラメータを実行するステップを備える方法。
【請求項３８】
請求項３６記載の方法は、更に
チャンネル転送が開始したことを示すデバッグメッセージを提供するステップを備える方法。
【請求項３９】
請求項３６記載の方法は、更に
チャンネル転送が終了したことを示すデバッグメッセージを提供するステップを備える方法。
【請求項４０】
請求項３６記載の方法は、更に
各情報チャンネルについて前記デバッグメッセージの選択的な生成を有効とするステップを備える方法。
【請求項４１】
請求項３６記載の方法は、更に
少なくとも一つの所定チャンネルの所定の監視ポイント条件である監視ポイントインジケータを生成するステップであって、前記所定の監視ポイント条件が前記ダイレクトメモリアクセス装置の活動に基づく監視ポイント条件であるステップを備える方法。
【請求項４２】
請求項４１記載の方法は、更に
複数の監視ポイントインジケータを生成するステップであって、前記各インジケータが前記情報チャンネルのうち異なるチャンネルの監視ポイント条件を示すステップを備える方法。
【請求項４３】
請求項３６記載の方法は、更に
制御レジスタを用いるステップであって、少なくとも一つの所定チャンネルについて少なくとも一つの状態パラメータを定期的に規定するデバッグメッセージの提供を有効及び無効とする制御シグナルを保存するステップを備える方法。
【請求項４４】
請求項３６記載の方法は、更に
同じチャンネル内のネスト化された情報の転送を実行するステップであって、ネスト化された情報の転送がそれぞれメジャーループ反復を形成する複数のマイナーループ反復を含むステップを備える方法。
【請求項４５】
請求項３６記載の方法は、更に
メッセージタイプフィールド、チャンネル確認フィールド及び状態情報フィールドを含む所定のビットフィールドを備える複数のビットメッセージとして、各デバッグメッセージを実行するステップを備える方法。
【請求項４６】
システムのリアルタイムデバッグサポート方法であって、
通信バスを提供するステップと、
ダイレクトメモリアクセス（ＤＭＡ）装置を前記通信バスに接続するステップであって、前記ダイレクトメモリアクセス装置が複数の情報チャンネルを制御し、各情報チャンネルがチャンネル転送を介して前記システム内のソースから送り先に情報を転送するステップと、
デバッグ制御回路網を前記ダイレクトメモリアクセス装置に接続するステップであって、前記デバッグ制御回路網がチャンネル毎にプログラム化されることにより前記ダイレクトメモリアクセス装置の操作パラメータに関するデバッグメッセージを選択的に提供するステップと
を備える方法。
【請求項４７】
請求項４６記載の方法は、更に
転送境界が生じたか否かと定期的状態情報とのうちの少なくとも一つに関する情報として前記ダイレクトメモリアクセス装置の前記操作パラメータを実行するステップを備える方法。
【請求項４８】
請求項４６記載の方法は、更に
前記ダイレクトメモリアクセス装置がチャンネル転送リクエストを受信した後にチャンネル転送を開始する前記ダイレクトメモリアクセス装置のシステムディレイに関する待機時間情報を含む少なくとも一つのデバッグメッセージを提供するステップを備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムに係り、詳しくは、データ処理システムにおける試験及びデバッグ機能に関する。
【背景技術】
【０００２】
データ処理システムは、システム用の通信ハイウェイとして機能する１以上のバスを備えている。１以上のバスは、クロックサイクルによって規定される間にアドレス、データ、及び又は制御情報を転送する機能を備えている。データ処理システム内の回路網の機能性を評価し、ソフトウェアプログラムデバッギングとして知られるソフトウェア実行の機能性を確認及び検証する各種技術の利用が、文献等で十分に裏付けられている。試験の手順として必須の要素として、レジスタの内容及びシステム操作の結果等のデータ処理システムの一部が外部から可視化される点がある。データ処理システム外の試験及びデバッグ装置は、一以上のシステムのバスを介して転送されるアドレス値、データ及び制御情報をモニタリングするために用いられる。
【０００３】
通常のデータ処理システムには、ダイレクトメモリアクセス（ＤＭＡ）として知られる技術が用いられる。ダイレクトメモリアクセスを用いることで、中央処理装置（ＣＰＵ）による関与を極力小さくして、情報を入力／出力装置とメモリとの間で直接伝達することができる。従って、ＤＭＡ制御装置は、データ処理システム内のソースから送り先への情報の流れを伝達する機能を有している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、システムオンチップ（ＳＯＣ）設計は、リアルタイム技術を用いてデバッグメッセージを生成可能な複数の装置及びバスによって構成されている。例えば、ＩＥＥＥＩＳＴ０５００１やネクサスデバッグ標準として知られるＩＥＥＥ標準は、複数のオンチップ装置によるリアルタイムデバッグメッセージをサポートする確立されたリアルタイムデバッグ標準のことである。ネクサスデバッグ標準は、システム内の所定の操作条件を確認するための機構を、外部追跡再構成手段に対し定めている。しかしながら、一般に、このデバッグ情報は、システムメモリに読み取られ、又は書き込まれる情報のモニタリングと、最後にブランチが取得されてから実行された多くの順次指令等のソフトウェアの実行流れの変化のトラッキングとに限られている。現在のデバッグプロセッサの能力では、ＤＭＡ活動に関しごく限られた量の情報しか提供されない。
【課題を解決するための手段】
【０００５】
一形態では、通信バス及びその通信バスに接続されたダイレクトメモリアクセス（ＤＭＡ）装置を備えるシステム及びその操作方法が提供されている。ダイレクトメモリアクセス装置は、情報チャンネルを制御し、情報チャンネル中の各チャンネルはチャンネル転送を介してシステム内でソースから送り先に情報を転送する。デバッグ制御回路網は、ＤＭＡデバイスに接続されており、そのデバッグ制御回路網は、少なくとも一つの所定のチャンネルにおけるＤＭＡチャンネル転送境界の存在を確認するデバッグメッセージを提供する。デバッグ制御回路網は、更に、デバッグメッセージがチャンネル転送境界の存在を確認するダイレクトメモリアクセス装置により制御される情報チャンネルのうちのどれを選択するかについてのプログラマブル制御機構を含む。デバッグ制御回路網によって提供されるデバッグメッセージの一つは、少なくとも一つの所定のチャンネルについてチャンネル転送が開始したことを示す。別のデバッグメッセージは、更に、少なくとも一つの所定のチャンネルの状態パラメータを示す。一形態では、状態パラメータは、（１）少なくとも一つの所定チャンネルのチャンネル優先度；（２）少なくとも一つの所定チャンネルの利用係数；及び（３）少なくとも一つの所定チャンネルとの関連で以前に転送エラーがあったか否か、のうちのいずれか一つである。別の形態では、デバッグメッセージのうちの一つが更に、情報を転送し始めるためのダイレクトメモリアクセス装置によるリクエストの受信と、実際の情報転送との間のチャンネル転送指示システムディレイに関する待機時間を示す。更に別の形態では、デバッグ制御回路網により提供されるデバッグメッセージの一つが、少なくとも一つの所定チャンネルについてチャンネル転送が終了したことを示す。別の形態では、デバッグ制御回路網によって提供されるデバッグメッセージのうちの一つが、少なくとも一つの所定チャンネルの複数のマイナーループ反復のそれぞれが開始したことを示す。別の形態では、デバッグ制御回路網によって提供されるデバッグメッセージのうちの一つが、少なくとも一つの所定チャンネルの複数のマイナーループ反復のそれぞれが終了したことを示す。別の形態では、デバッグ制御回路網によって提供されるデバッグメッセージのうちの一つが、少なくとも一つの所定チャンネルの定期的状態を示す。それとは別のシステムは、複数のシステムユニットを備えるように構成されてもよく、複数のシステムユニットは、通信バスに接続されていてもよい。その別の形態では、デバッグ制御回路網は、更に、デバッグメッセージを提供するための複数のデバッグモジュールを有し、各デバッグモジュールが複数のシステムユニットのうちの一つに接続されている。デバッグポートロジックは、デバッグポートにデバッグメッセージを提供する複数のデバッグモジュールに接続されている。
【０００６】
別の形態では、通信バス及びその通信バスに接続されたダイレクトメモリアクセス（ＤＭＡ）装置を備えるシステム及びその操作方法が提供されている。ダイレクトメモリアクセス装置は、情報チャンネルを制御し、情報チャンネル中の各チャンネルはチャンネル転送を介してシステム内でソースから送り先に情報を転送する。デバッグ制御回路網は、ＤＭＡデバイスに接続されており、デバッグ制御回路網は、少なくとも一つの所定のチャンネルでの少なくとも一つの状態パラメータを定期的に規定するデバッグメッセージを提供する。一形態では、状態パラメータは、（１）少なくとも一つの所定チャンネルのチャンネル優先度；（２）少なくとも一つの所定チャンネルの利用係数；及び（３）少なくとも一つの所定チャンネルとの関連で以前に転送エラーがあったか否かのうちの少なくとも一つである。デバッグ制御回路網は、更に、チャンネル転送が開始したことを示すデバッグメッセージを提供する。デバッグ制御回路網は、更に、チャンネル転送が終了したことを示すデバッグメッセージを提供する。デバッグ制御回路網は、各情報チャンネル用のデバッグメッセージの選択的な生成を有効にするようにプログラム化されている。デバッグ制御回路網は、更に、少なくとも一つの所定のチャンネルの所定の監視ポイント条件である監視ポイントインジケータを生成し、所定監視ポイント条件は、ダイレクトメモリアクセス装置の活動に基づく監視ポイント条件である。デバッグ制御回路網は、更に、複数の監視ポイントインジケータを生成し、各インジケータは、情報チャンネルのうち異なるチャンネルの監視ポイント条件を示す。制御レジスタは、少なくとも一つの所定チャンネルのための少なくとも一つの状態パラメータを定期的に規定するデバッグメッセージを有効及び無効にする制御シグナルを記憶する。ダイレクトメモリアクセス装置は、メジャーループ反復を形成する複数のマイナーループ反復を含む同じチャンネル内のネスト化された情報の転送を実行する。デバッグメッセージは、それぞれ、メッセージタイプフィールド、チャンネル確認フィールド及び状態情報フィールド等の所定のビットフィールドを備える複数のビットメッセージを含む。
【０００７】
別の形態では、通信バス及びその通信バスに接続されたダイレクトメモリアクセス装置を備えるシステム及びその操作方法が提供される。ダイレクトメモリアクセス装置は、複数の情報チャンネルを制御し、情報チャンネルのうちの各チャンネルがチャンネル転送を介してシステム内でソースから送り先に情報を転送する。デバッグ制御回路網は、ＤＭＡデバイスに接続されている。デバッグ制御回路網は、チャンネル原理毎にプログラム化されることで、ダイレクトメモリアクセス装置の操作パラメータに関するデバッグメッセージを選択的に提供する。ダイレクトメモリアクセス装置の操作パラメータとして、転送境界が生じたか否か、及び定期的状態情報のうちの少なくとも一つに関する情報等がある。デバッグ制御回路網は、更に、ダイレクトメモリアクセス装置がチャンネル転送リクエストを受信した後にチャンネル転送を開始するダイレクトメモリアクセス装置のシステムディレイに関する待機時間情報を含む少なくとも一つのデバッグメッセージを提供する。
【発明を実施するための最良の形態】
【０００８】
本発明は、例として添付の図面を参照して説明するが、それに限定されるものではなく、図中、類似の部材番号は同様の要素を示す。
図中の構成要素は、当業者にとって、簡潔明瞭を期して示されており、必ずしも実寸に基づいて図示されていないことは明らかである。例えば、本発明の実施形態の理解をより深めるため、図中の構成要素の一部の寸法が他の構成要素よりも誇張されている。
【０００９】
本明細書で使用される場合、「バス」の用語は、データ、アドレス、制御又は状態等の１種類以上の情報を転送する際に用いられる複数のシグナル又は導線を示すのに用いられる。「アサート」及び「ネゲート」等の用語は、シグナル、ビット又は同様の装置が論理的に真状態、又は論理的に偽状態であることを指す場合に使用される。論理的に真状態が論理レベル１である場合、論理的に偽状態は論理レベル０である。更に、本明細書に記載のメモリは、例えば読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、不揮発性メモリ（例：フラッシュ）等のあらゆる種類のメモリとされている。
【００１０】
図１は、リアルタイムＤＭＡ固有デバッグ機能性を提供するデータ処理システム１０を示すブロック図である。データ処理システム１０は、ＤＭＡバスマスターに特有であって、重要な状態パラメータを示すある種のリアルタイムデバッグメッセージ型を可能にする。従って、データ処理システム１０は、ＤＭＡユニット用の改良されたリアルタイムメッセージによるデバッグ情報源を提供する。
【００１１】
一形態では、全てのシステム装置間を連絡するため、多導線システムバス１２が提供される。プロセッサ１４は、システムバス１２に対して双方向に接続されている。本明細書に記載の双方向バスは、複数の導線バスに対してハッシュマークで示されているが、単導線バス及び／又は複数の一方向バスも実行できることは容易に理解されるはずである。ＤＭＡ制御装置１６、メモリ１８、メモリ２０、周辺装置２２、周辺装置２４、デバッグモジュール２６及びバスアービター２８もまた双方向にシステムバス１２に接続されている。デバッグモジュール２６は、その出力部において、デバッグ情報を提供するためのデバッグポートを備えている。ＤＭＡ制御装置１６及びプロセッサ１４は、それぞれデバッグモジュール２６に複数のビット状態シグナルを提供する出力部を備えている。プロセッサ１４及びＤＭＡ制御装置１６は、それぞれバスアービター２８に接続された複数のビット双方向バスを備えている。周辺装置２２の出力部は、ＤＭＡ＿ＲＥＱと識別されたＤＭＡリクエストシグナルを提供するＤＭＡ制御装置１６に接続されている。同様に、周辺装置２４の出力部も、ＤＭＡ＿ＲＥＱと識別されたＤＭＡリクエストシグナルを提供するＤＭＡ制御装置１６に接続されている。図１に示すように、本明細書に記載のシステムやユニットはシステムバス１２に直接接続されているが、ドライバ、バッファ等の接続回路網（不図示）が、システムバス１２と図示されるシステムユニットとの間にあってもよいことを理解すべきである。
【００１２】
操作中、データ処理システム１０は、プロセッサ１４を用いて所定の指令セットを実行する。情報は、メモリ１８又はメモリ２０に保存される。ただ一つのメモリ又は他の幾つかのメモリが実行され、システムバス１２に接続可能であることを理解すべきである。ＤＭＡ制御装置１６は、データ処理システム１０内のソースからデータ処理システム１０内の送り先へと向かう情報の流れの転送を制御する。データ処理システム１０内の情報通信は、ソースと送り先との間で関連する流れであるチャンネル内で行われる。周辺装置２２や周辺装置２４等のデータ処理システム１０内の周辺装置は、各種の回路装置のいずれであってもよく、一方、通常はバスアービターにシステムバス１２の制御をリクエストしないことで、システムバス１２に対するスレーブとして機能する。周辺装置の種類とは無関係に、同周辺装置は、システムメモリマッピングの一部を形成する。バスアービター２８は、システムバス１２の制御をリクエストするデータ処理システム１０内で、装置間のシステムバス１２の制御を調整する機能を備えている。多くの従来の調整アルゴリズムが、データ処理システム１０を実行するために用いられている。デバッグモジュール２６は、下記に記載のＤＭＡ制御装置１６に関する１以上のリアルタイムデバッグメッセージを提供する。即ち、デバッグモジュール２６は、ＤＭＡ制御装置１６及びプロセッサ１４の両方から状態シグナルを受信することでＤＭＡ制御装置１６をモニタリングし、デバッグポートへの出力用として以下に記載のリアルタイムデバッグメッセージを生成する。
【００１３】
図２は、図１のデータ処理システム１０の別の実施形態を示す。システムバス３０は、ＤＭＡ制御装置４４と、例えばシステムユニット４０及びシステムユニット４２等の所定数の他のシステムユニットとに対して双方向に接続されている。システムユニット４０及びシステムユニット４２は、任意のバスマスター又はバススレーブであってもよい。システムユニット４０、ＤＭＡ制御装置４４及びシステムユニット４２は、それぞれデバッグモジュール３２、デバッグモジュール３４及びデバッグモジュール３６に双方向に接続されている。デバッグモジュール３２、デバッグモジュール３４及びデバッグモジュール３６の各出力部は、デバッグポートロジック３８に接続されている。デバッグポートロジック３８は、リアルタイムデバッグメッセージを提供するためのデバッグポートを備えている。図２に点線で示すように、システムバス３０とデバッグポートロジック３８との間には、任意の数のデバッグモジュール及びシステムユニットが接続されていてもよい。
【００１４】
別の形態では、ＤＭＡ制御装置４４等のシステムバス３０に接続された各システムユニット用としてデバッグモジュールを割り当てるように、デバッグモジュールの機能性が分割されている。デバッグポートロジック３８は、デバッグモジュール３２、デバッグモジュール３４及びデバッグモジュール３６からメッセージを受け取り、デバッグポートロジックでそのメッセージを提供する。一形態では、デバッグポートロジック３８のロジックは、メッセージが各種のデバッグモジュールから受信された順序で出力される時間順序でデバッグメッセージを提供するように構成されている。しかしながら、他のロジック構造を用いて、デバッグ出力を他の順序にして実行することは可能である。
【００１５】
図３は、図１又は図２のシステム実施形態内のチャンネルＸと称されるチャンネル上での転送活動を示すタイミングチャートである。チャンネルＸは、ソース及び送り先に関するいずれかのシステム実施形態内の所定の例示的なデータストリームであると仮定する。ＤＭＡ制御装置１６及びＤＭＡ制御装置４４は、それぞれソースから送り先への情報の流れを転送するための複数のチャンネルをサポートするように構成されている。チャンネル内の転送は、例えばソース又は送り先の装置から、例えば、ＤＭＡやＲＥＱ等のＤＭＡリクエストシグナルを受信した時点で行われる。図３の例は、３つの別個のリクエストを示す。各リクエストは、例えば、第１のリクエストに関する待機時間５０、第２のリクエストに関する待機時間５２、及び第３のリクエストに関する待機時間５４等の待機時間を有している。例えば、バスアービター２８により定められるＤＭＡ制御装置１６の現在の優先順位、及びＤＭＡ制御装置１６を操作して決まるチャンネルＸの優先順位等のシステム因子によって、各待機時間の長さは異なる。この待機時間は、システム特性であって、システムを中断することなく、システムの外部で知られることが望ましい。
【００１６】
情報ストリームの転送は、リクエスト当たり一定数のバイトのデータが転送されるまで継続して行われる。図３に示す形態では、ＤＭＡ制御装置１６及びＤＭＡ制御装置４４は、それぞれリクエスト当たりＮバイト（Ｎは整数）の情報を転送するものと仮定する。例えば、転送６０、転送６２及び転送６４は、３つの別個の順次チャンネルリクエストに応答して行われる。例えば、転送６２に関する中断期間６６のように、転送が中断される場合があることに留意すべきである。中断期間６６は、例えば、バスアービター２８により定まるバスマスターシップの変化等の多数のシステム因子から生じる。各Ｎバイトの転送は、「反復」又は「マイナーループ反復」として称される。「メジャーループ反復」内では、多くのマイナーループ反復が実行される。「反復」の用語の使用は、同じマイナーループやメジャーループ転送の繰り返しを示唆するものではなく、又はそれを必要とするものでもないことに留意すべきである。むしろ、この文脈中での反復は、図３のチャンネルＸ等の任意のチャンネルにおいて、転送活動が共通であることから、複数の連続する転送が生じるという事実を指し示している。図３の例では、メジャーループ反復６５内に、マイナーループ反復５９、マイナーループ反復６１及びマイナーループ反復６３の３つのマイナーループ反復が存在している。従って、記載されたチャンネル操作は、２つのネスティングレベルがメジャーループ及びマイナーループである２ディープネスト化された転送操作として見なすことができる。チャンネルリクエストシグナルにおいて点線で示すように、あらゆる数のマイナーループ反復が存在してもよいことに留意すべきである。マイナーループ反復の完了後、システムバス１２の制御は、保留中のリクエストを備えるチャンネルよりも優先度の高いチャンネルに転送される。それとは別に、トリガー事象を生成して、マイナーループ反復を開始するための別のチャンネルを誘発してもよい。システムバス１２の制御もまた、メジャーループ反復が終了した時点で転送される。
【００１７】
システム操作の全体を最適化するため、システムの実行中にＤＭＡ活動の各種の側面を外部から可視化することは非常に重要である。従って、本明細書には、ＤＭＡ活動に関する１組のリアルタイムトレースメッセージが提供される。
【００１８】
図４は、例えば、図３のメジャーループ反復６５の第１の転送等の第１の転送開始を確認する第１のリアルタイムＤＭＡ制御装置メッセージを示す。第１の転送メッセージは、５つのフィールドを有し、そのうち２つのフィールドは選択的である。第１のフィールドは、メッセージの機能の種類を確認するタイプコード（ＴＣＯＤＥ）フィールドとして識別される。単に例として、１１０１１１の６ビットＴＣＯＤＥ値が、「第１の転送開始」をメッセージとして確認するために選択される。第２のフィールドは、一形態では長さ４〜８ビットであり、メッセージがどのチャンネル又はどの種類のチャンネルに関連しているかを知らせるチャンネル確認（チャンネルＩＤ）フィールドである。第３のフィールドはチャンネル状態フィールドであり、単に例として、１〜８ビット長で任意の位置に設定してもよい。チャンネル状態の例として、第１の転送開始時のチャンネルの優先度、チャンネルの利用係数（即ち、利用率）、チャンネルの転送エラーが過去に生じたか否か、及び他の多くの状態や有益な詳細等が挙げられる。選択的な第４のフィールドは、チャンネルが転送する情報量を表す転送カウントである。このフィールドには、チャンネルに関する各マイナーループ反復についての転送カウント情報を含めてもよく、又はチャンネルに関するメジャーループ反復についての転送カウント情報を含めてもよい。単に例として、転送カウントフィールドは８〜６４ビット長であってもよく、他のビット長を用いてもよい。選択的な第５のフィールドは、転送サービス待機時間である。転送サービス待機時間は、最初のチャンネルリクエストから転送活動の開始までに要する時間の長さを確認するものである。即ち、このフィールドでの値は、例えば待機時間５０等の第１の転送に関する中断待機時間である。このフィールドでの値は、待機時間５０に関する期間をカウントできるデバッグモジュール２６やその他のカウンタ（図示せず）を用いて測定することができる。一形態では、転送サービス待機時間フィールドは、８〜６４ビット長であってもよく、他のビット長を用いてもよい。
【００１９】
図５は、例えば、図３のマイナーループ反復５９、６１、６３等のマイナーループ反復の開始を確認する第２のリアルタイムＤＭＡ制御装置メッセージを示す。この第２の転送メッセージは、５つのフィールドを有しており、それらのうち２つのフィールドが選択的である。第１のフィールドは、メッセージを「マイナーループ反復開始」メッセージであると確認するタイプコード（ＴＣＯＤＥ）フィールドである。単に例示目的のため、そのタイプコードを１１１０００として示すが、他の値及びビット長を用いてもよい。第２のフィールドは、マイナーループ反復開始に関するチャンネルを確認するチャンネル確認（ＩＤ）フィールドである。第３のフィールドは、例えば、第１のメッセージについて前述した状態情報等のチャンネルの一又は複数の状態パラメータを確認するチャンネル状態フィールドである。第４のフィールドは、第１のメッセージの転送カウントフィールドについて上述したようなチャンネルが転送する情報量を確認するための転送カウントである。第５のフィールドは、待機時間５０、待機時間５２又は待機時間５４等の待機時間を確認する転送サービス待機時間フィールドである。各フィールドに対し提供されたビット長は、単に例示目的である。
【００２０】
図６は、例えば、図３のマイナーループ反復５９、６１、６３等のマイナーループ反復の終了を確認する第３のリアルタイムＤＭＡ制御装置メッセージを示す。この第３の転送メッセージは、５つのフィールドを有しており、それらのうち２つのフィールドが選択的である。第１のフィールドは、メッセージを「マイナーループ反復終了」メッセージと確認するタイプコード（ＴＣＯＤＥ）フィールドである。単に例示目的のため、タイプコードを１１１００１として示すが、他の値及びビット長を用いてもよい。第２のフィールドは、マイナーループ反復の終了に関するチャンネルを確認するチャンネル確認（ＩＤ）フィールドである。第３のフィールドは、第１のメッセージについて上述した状態情報等のチャンネルの一又は複数の状態パラメータを確認するチャンネル状態フィールドである。第４のフィールドは、現在システムバス上で、どのマイナーループ反復が転送されているかを確認するための反復カウントである。第５のフィールドは、マイナーループ反復が継続した時間を示すカウント値である反復間隔である。システム中の任意の箇所に配置されたカウンタ（図示せず）を用いてもよいが、デバッグモジュール内か、又はデバッグモジュール近傍のカウンタを用いることが好ましい。各フィールドに対し提供されるビット長は、単に例示目的である。デバッグモジュール２６は、全てのマイナーループが通常は転送エラーのため完了していなくても、第３の転送メッセージが生成されるように構成されていてもよい。
【００２１】
図７は、例えば、図３のメジャーループ反復６５等のメジャーループ反復の完了を確認する第４のリアルタイムＤＭＡ制御装置メッセージを示す。この第４の転送メッセージは、５つのフィールドを有しており、それらのうちの２つのフィールドが選択的である。第１のフィールドは、メッセージを「メジャーループ反復終了」メッセージとして確認するタイプコード（ＴＣＯＤＥ）フィールドである。単に例示目的のため、タイプコードを１１１０１０として示すが、他の値及びビット長を用いてもよい。第２のフィールドは、メジャーループ反復の終了に関するチャンネルを確認するチャンネル確認（ＩＤ）フィールドである。第３のフィールドは、第１のメッセージについて前述の状態情報等のチャンネルの一又は複数の状態パラメータを確認するチャンネル状態フィールドである。第４のフィールドは、第１のメッセージの転送カウントフィールドについて前述したようなチャンネルが転送する情報量を確認するための転送カウントである。第５のフィールドは、メジャーループ反復が継続した時間を示すカウント値である転送間隔フィールドである。システム中の任意の箇所に配置されたカウンタ（図示せず）を用いてもよいが、デバッグモジュール２６内か、又はデバッグモジュール２６近傍のカウンタを用いることが好ましい。各フィールドに対して提供されるビット長は、単に例示を目的としたものである。デバッグモジュール２６は、全てのメジャーループが通常は転送エラーのために完了していなくても、第４の転送メッセージが生成されるように構成されていてもよい。
【００２２】
図８は、定期的に確認されたチャンネルの状態を提供する第５のリアルタイムＤＭＡ制御装置メッセージを示す。この定期的メッセージングは、確認されたチャンネルの１以上の状態基準を提供する。この第５の転送メッセージは、４つのフィールドを有しており、それらのうち一つのフィールドが選択的である。第１のフィールドは、メッセージを「定期的状態」メッセージとして確認するタイプコード（ＴＣＯＤＥ）フィールドである。単に例示目的のため、タイプコードを１１１０１１として示すが、他の値及びビット長を用いてもよい。第２のフィールドは、提供される状態情報に関するチャンネルを確認するチャンネル確認（ＩＤ）フィールドである。第３のフィールドは、第１のメッセージの議論に関連して前述した状態情報等のチャンネルの一又は複数の状態パラメータを確認するチャンネル状態フィールドである。第４のフィールドは、前記の状態が関係する時点で、現在の転送が進行度を確認するための現在転送カウントである。各フィールドに提供されるビット長は、単に例示目的である。定期的状態メッセージを用いて、システム中のチャンネルの相対的な進行を確認することができ、ＤＭＡチャンネルのチャンネル優先度及びバスマスター優先度の変更を可能とする。定期的状態メッセージを生成させるため、下記に説明するレジスタのプログラマブル制御によってその機能を可能としている。その機能が可能である場合、定期的状態メッセージが提供されるタイミングは、実行固有なものとなる。定期的状態メッセージは、所定数又は指定数のシステムクロックやバスサイクルが生じたときはいつでも生成される。それとは別に、定期的状態メッセージは、システム内の固有のハードウェア配線によって定まるように一定期間で生成される。
【００２３】
図９は、一つのＤＭＡチャンネル用の制御レジスタ７０を示す。単に例示目的であるが、制御レジスタ７０は、８つの５ＤＭＡリアルタイムメッセージを有効又は無効にする５つのビット、並びに監視ポイントトリガーの生成を有効又は無効にする４つのビットを有している。一形態では、制御レジスタ７０に類似する各種のＤＭＡチャンネル用制御レジスタが、デバッグモジュール２６内に配置されている。制御レジスタ７０は、「ＣＨ０」と指定されるＤＭＡチャンネル用である。チャンネルｘと指定されるチャンネルについての制御ビット機能の説明は、制御レジスタ７０の直ぐ下に示されている。制御レジスタ７０の第１のビットであるビット０は、定期的状態メッセージ機能を有効にする。ビット０がアサートされたロジック１値を備える場合、デバッグモジュール２６は、図８に示すフォーマットを備える定期的状態メッセージを生成する。同様に、制御レジスタ７０のビット５、６、７、８は、それぞれ図７、６、５、４のメッセージを有効又は無効にする。図４〜図８のＤＭＡメッセージに加えて、制御レジスタ７０は、データ処理システム１０に対して外部の解析用監視ポイントのトリガーを有効にする機能を備える。本明細書で使用される場合、「監視ポイント」の用語は、所定の内部システム事象のモニタリング及びそのようなシステム事象の生成時のシグナリングや指示を意味する。制御レジスタ７０のビット１、２、３、４は、監視ポイント機能の有効化に関連している。これらの監視ポイントが有効である場合、その事象がいつ生じたかの指示とは対照的に、デバッグモジュール２６は、関連する機能が生じたデバッグポートに対して指示を提供する。例えばＳＯＴＷＩＥビットは、関連するチャンネルでの転送開始を確認し、転送が起こった場合にシグナルをアサートするか、或いは、デバッグポートでメッセージを提供する機能を有効にする。図９で提供される他の監視ポイントビットは、反復の開始（マイナーループ又はメジャーループ）が生じたこと（ビット３）、反復の終了（マイナーループ又はメジャーループ）が生じたこと（ビット２）、転送の終了（マイナーループ又はメジャーループ）が生じたこと（ビット１）を示すように機能する。監視ポイント機能の選択的利用は、他のデバッグ機能を有効にするために用いられる。例えば、「転送終了」監視ポイントは、システムユニット４０、システムユニット４２、プロセッサ１４又はデータ処理システム１０内の他の所望のデバッグ機能性をトリガーするため、データ処理システム１０内で用いられる。制御レジスタ７０の機能性は、所望の使用条件に応じて、図９に示すものから拡張又は縮小することができる。制御レジスタ７０は、デバッグモジュール２６内ではなく、データ処理システム１０の領域に配置してもよい。
【００２４】
図１０は、ＤＭＡ制御装置１６の所望の数のチャンネルについてそれぞれフィールドを備える定期的状態メッセージング制御レジスタ８０を示す。図示の形態では、４つのチャンネルが設けられ、３２ビットが割り当てられているが、任意の数のチャンネル及びビットを使用してもよい。ＣＨ０と指定される第１のチャンネルフィールドでは、そこに保存されているデジタル値が、デバッグモジュール２６により定期的状態メッセージが生成される速度を制御する。従って、定期的状態メッセージング制御レジスタ８０は、各チャンネルについてのプログラマブルで、かつ独立した報告速度の生成を可能にする。
【００２５】
この時点で、ＤＭＡ動作パラメータに固有のメッセージの形態で情報を提供するリアルタイムデバッグサポート法及び構造が提供されたことは明らかである。ＤＭＡ動作パラメータ情報には、ＤＭＡ転送が何時開始され、何時終了するかに関する知見、各マイナーループ反復転送の開始時及び終了時に関する知見、メジャーループ反復の開始時及び終了時に関する知見、所定のＤＭＡチャンネルの定期的状態に関する知見、並びに各ＤＭＡチャンネルリクエストに関連している待機時間に関する知見等が含まれる。本明細書に記載のＤＭＡデバッグメッセージは、ＤＭＡ制御装置１６内の既存のシグナルに基づいて生成され、リアルタイムで生成されることから、ＤＭＡ制御装置１６やプロセッサ１４の操作が中断されることはない。本明細書に記載のＤＭＡメッセージに含まれる情報への外部アクセスを備えることで、システム−オンチップ（ＳＯＣ）デバッグ、検証及び成績のレベルを容易に向上させることができる。
【００２６】
開示の実施形態に対して各種の変更が行えることは明らかである。例えば、プロセッサ１４は、各種処理機能を実行する各種データ処理回路として実行される。コプロセッサ等のあらゆる種類の周辺装置を、システムバスを介してプロセッサ１４に接続してもよい。システムは、各種ビットサイズで実行してもよい。あらゆる種類の記憶装置を、保存、レジスタ及びメモリに用いてもよい。メッセージのフィールドの順序は、いかなる形態にも変更してもよい。制御レジスタの制御ビットの順序は変更可能である。
【００２７】
以上、具体的な実施形態に関して、利点、他の長所及び問題解決法を説明してきた。しかしながら、それらの利点、他の長所及び問題解決法、及び利点、長所や解決法をもたらすか、或いは顕著にする要素は、必須、必要及び本質的な特徴及びそれらの構成要素を変形したものと解釈すべきではなく、非排他的包含を含むことで、列挙された要素を含む工程、方法、物品又は装置がそれらの要素のみを含むのではなく、明瞭に列記されていないか、或いは、上記の工程、方法、物品又は装置に固有の他の要素を含めてもよい。本明細書で使用される「一つの」又は「一つの」との用語は、一つ又はそれ以上と定義される。本明細書で使用される「複数」との用語は、２以上と定義される。本明細書で使用される「別の」との用語は、少なくとも第２以上のものと定義される。本明細書で使用される「含む」及び／又は「備える」との用語は、包含する（すなわち、制限のない言語）と定義される。本明細書で使用される「連結される」との用語は、接続されているものと定義される。但し、必ずしも直接とは限らず、必ずしも機械的とは限らない。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態によるデータ処理システムを示すブロック図。
【図２】本発明による別のデータ処理システムを示すブロック図。
【図３】時間の関数としてのチャンネルの情報転送を示すタイミング図。
【図４】第１の転送メッセージの書式を示す線図。
【図５】第２の転送メッセージの書式を示す線図。
【図６】第３の転送メッセージの書式を示す線図。
【図７】第４の転送メッセージの書式を示す線図。
【図８】第５の転送メッセージの書式を示す線図。
【図９】ＤＭＡメッセージング用の制御レジスタを示す配置図。
【図１０】定期的状態メッセージング用制御レジスタを示す配置図。
【図１】
2007522550.tif 000003
【図２】
2007522550.tif 000004
【図３】
2007522550.tif 000005
【図４】
2007522550.tif 000006
【図５】
2007522550.tif 000007
【図６】
2007522550.tif 000008
【図７】
2007522550.tif 000009
【図８】
2007522550.tif 000010
【図９】
2007522550.tif 000011
【図１０】
2007522550.tif 000012
【国際調査報告】
2007522550.tif 000013