(57)【要約】  データ処理装置２内の診断データの統計的サンプリングは、サンプル間隔監視およびアドレス監視に基づいて行われる。プログラム命令は、それがサンプル間隔基準およびアドレス一致基準を満たすときにその診断データを記憶する。アドレス一致は、プログラム命令の命令アドレスまたはプログラム命令によって読み書きされるターゲットアドレスに対応し得る。
2019526108.tif 000002
【特許請求の範囲】
【請求項１】
サンプリング処理動作がサンプリングされた診断を有する先行のサンプリング処理動作から分離されている場合であって、当該先行のサンプリング処理動作は、所定の間隔条件に一致する間隔で前記診断データバッファに記憶されたサンプリング診断データを有し、且つ、前記サンプリング処理動作が、所定のアドレス特性と一致する関連メモリアドレスを有する場合に、
処理動作のストリーム内の前記サンプリング処理動作を特徴付けるサンプリング診断データの診断データバッファへの格納を制御する診断データ捕捉回路を含むデータ処理装置。
【請求項２】
前記診断データ捕捉回路が、前に選択された候補処理動作から前記ストリーム内の所定の間隔だけ離れた処理動作の前記ストリーム内の処理動作をサンプリングするための候補処理動作として選択する間隔選択回路と、
前記候補処理動作が前記所定のアドレス特性と一致する関連メモリアドレスを有するとき、前記候補処理動作を特徴付ける診断データを前記診断データバッファとして前記診断データバッファに格納することを制御するアドレスフィルタリング回路と、
を含む請求項１に記載の装置。
【請求項３】
前記診断データ捕捉回路が、所定のアドレス特性と一致する関連メモリアドレスを有する処理動作のストリーム内の処理動作をサンプリングするための候補処理動作として選択するアドレスフィルタリング回路と、
候補の指示前記候補処理動作が前記候補処理動作のストリーム内で所定の間隔だけ前のサンプリング処理動作から分離されたとき、前記候補処理動作を特徴付ける診断データを前記サンプリング診断データとして前記診断データバッファに格納することを制御する区間選択回路と、
を含む請求項１に記載の装置。
【請求項４】
前記候補処理動作は、ターゲットメモリアドレスにアクセスするためのデータアクセス処理動作であり、前記関連メモリアドレスは、前記ターゲットアドレスである、請求項２または３に記載の装置。
【請求項５】
前記候補処理動作が命令アドレスに記憶され、前記関連するメモリアドレスが前記命令アドレスである、請求項２、３および４のいずれか一項に記載の装置。
【請求項６】
前記所定のアドレス特性と一致する前記関連メモリアドレスは、以下のうちの１つに対応する、請求項１に記載の装置。前記関連付けられたメモリアドレスは、所定の範囲のアドレスと一致する。マスクによって指定された前記関連メモリアドレス内のビットは、所定のアドレス内の対応するビットと一致する、請求項１から５のいずれか一項に記載の装置。
【請求項７】
前記所定の間隔が、所定の数の処理動作と所定の時間間隔とのうちの１つである、請求項２から６のいずれか一項に記載の装置。
【請求項８】
前記所定のアドレス特性がユーザプログラム可能である、請求項１から７のいずれか一項に記載の装置。
【請求項９】
前記ストリームの実行に関連する別の診断動作を実行するための別の診断回路を含み、前記アドレスフィルタリング回路は前記別の診断回路と診断比較回路とを共有してアドレス比較を実行する、請求項２から８のいずれか一項に記載の装置。
【請求項１０】
前記別の診断回路が、前記診断比較器によるアドレス一致の検出時に前記別の診断動作を抑制し、その代わりに抑制アドレス一致イベントを生成するようにプログラム可能である、請求項９に記載の装置。
【請求項１１】
前記所定のフィルタ特性が、前記抑制されたアドレス一致イベントの発生を含む、請求項１０に記載の装置。
【請求項１２】
前記アドレスフィルタリング回路は、前記抑制されたアドレス一致イベントの発生を前記所定のアドレス特性内に選択的に含むようにプログラム可能である、請求項１１に記載の装置。
【請求項１３】
前記別の診断回路が、ウォッチポイント特性と一致するメモリアドレスへのデータアクセスが行われたときに処理動作実行への割り込みをトリガするウォッチポイント回路を含み、前記診断比較器が、前記アドレスフィルタリング回路と共有されるウォッチポイント比較器を含む、請求項９から１２のいずれか一項に記載の装置。
【請求項１４】
前記別の診断回路が、ブレークポイント特性と一致する命令アドレスを有する処理動作が実行されたときに処理動作の実行への割り込みをトリガするブレークポイント回路を含み、前記診断比較器が、前記アドレスフィルタリング回路と共有されるブレークポイント比較器を含む、請求項９から１３のいずれか一項に記載の装置。
【請求項１５】
前記別の診断回路が、処理動作実行フローを示すトレースデータを生成するためのトレース回路を含み、前記診断比較器が、前記アドレスフィルタリング回路と共有されるトレースポイント比較器を含む、請求項９から１４のいずれか一項に記載の装置。
【請求項１６】
前記メモリ内のメモリアドレスの領域に関連するメモリ属性を示すメモリアドレス属性データを使用してメモリへのアクセスを管理するためのメモリ管理回路を備え、前記関連付けられたメモリアドレスに対する前記メモリアドレス属性データで指定されたパラメータに対応する、請求項１から１５のいずれか一項に記載の装置。
【請求項１７】
前記メモリアドレス属性データはメモリページテーブルデータである、請求項１６に記載の装置。
【請求項１８】
前記所定のアドレス特性は、メモリの領域へのポインタと前記ポインタを使用するときに許可された動作とを含む能力ポインタの一部である、請求項１から１７のいずれか一項に記載の装置。
【請求項１９】
前記処理動作の前記ストリームは、プログラム命令のストリームである、請求項１から１８のいずれか一項に記載の装置。
【請求項２０】
サンプリング処理動作がサンプリングされた診断を有する先行のサンプリング処理動作から分離されている場合であって、当該先行のサンプリング処理動作は、所定の間隔条件に一致する間隔で前記診断データバッファに記憶されたサンプリング診断データを有し、且つ、前記サンプリング処理動作が、所定のアドレス特性と一致する関連メモリアドレスを有する場合に、
処理動作のストリーム内の前記サンプリング処理動作を特徴付けるサンプリング診断データの診断データバッファへの格納を制御する診断データ捕捉手段を含むデータ処理装置。
【請求項２１】
サンプリング処理動作がサンプリングされた診断を有する先行のサンプリング処理動作から分離されている場合であって、当該先行のサンプリング処理動作は、所定の間隔条件に一致する間隔で前記診断データバッファに記憶されたサンプリング診断データを有し、且つ、前記サンプリング処理動作が、所定のアドレス特性と一致する関連メモリアドレスを有する場合に、
処理動作のストリーム内の前記サンプリング処理動作を特徴付けるサンプリング診断データの診断データバッファへ格納するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はデータ処理システムの分野に関する。より具体的には、本開示はデータ処理システム内の診断データの取り込みに関する。
【背景技術】
【０００２】
ますます複雑化するデータ処理システムの重要な特徴は、それらがハードウェアおよびソフトウェアにおけるエラーを識別し解決することができるように診断データを捕捉するためのメカニズムおよびサポートを含むことである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
診断データの捕捉はデータ処理システムの通常の動作を妨害しないことが望ましい。例えば、診断データを捕捉することがデータ処理システムの動作を著しく遅くした場合、これは、通常の使用において診断データが捕捉されている間に発生するのではないか通常の使用では発生しない場合の診断データ。さらに、診断データの捕捉が必要とされないときにデータ処理システムの展開動作中に通常使用されないオーバーヘッドを表すので、診断データの捕捉に必要とされるストレージおよび他のリソースの量は少ないことが望ましい。
【課題を解決するための手段】
【０００４】
本開示の少なくともいくつかの実施形態は、データを処理するための装置を提供し、
サンプリング処理動作がサンプリングされた診断を有する先行のサンプリング処理動作から分離されている場合であって、当該先行のサンプリング処理動作は、所定の間隔条件に一致する間隔で前記診断データバッファに記憶されたサンプリング診断データを有し、且つ、前記サンプリング処理動作が、所定のアドレス特性と一致する関連メモリアドレスを有する場合に、
処理動作のストリーム内の前記サンプリング処理動作を特徴付けるサンプリング診断データの診断データバッファへの格納を制御する診断データ捕捉回路を含むデータ処理装置を提供する。
【０００５】
本開示の少なくともいくつかの実施形態は、データを処理するための装置を提供し、
サンプリング処理動作がサンプリングされた診断を有する先行のサンプリング処理動作から分離されている場合であって、当該先行のサンプリング処理動作は、所定の間隔条件に一致する間隔で前記診断データバッファに記憶されたサンプリング診断データを有し、且つ、前記サンプリング処理動作が、所定のアドレス特性と一致する関連メモリアドレスを有する場合に、
処理動作のストリーム内の前記サンプリング処理動作を特徴付けるサンプリング診断データの診断データバッファへの格納を制御する診断データ捕捉手段を含むデータ処理装置を提供する。
【０００６】
本開示の少なくともいくつかの実施形態は、データを処理する方法を提供し、
サンプリング処理動作がサンプリングされた診断を有する先行のサンプリング処理動作から分離されている場合であって、当該先行のサンプリング処理動作は、所定の間隔条件に一致する間隔で前記診断データバッファに記憶されたサンプリング診断データを有し、且つ、前記サンプリング処理動作が、所定のアドレス特性と一致する関連メモリアドレスを有する場合に、
処理動作のストリーム内の前記サンプリング処理動作を特徴付けるサンプリング診断データの診断データバッファへ格納するデータ処理方法を提供する。
例示の実施形態は、添付の図面を参照して、ほんの一例として説明される。
【図面の簡単な説明】
【０００７】
【図１】図１は、診断データキャプチャ回路を組み込んだデータ処理システムの例示的な実施形態を概略的に示す図である。
【図２】図２は、サンプリングプロセスを概略的に示す流れ図である。
【図３】図３は、アドレス照合プロセスを概略的に示す流れ図である。
【図４】図４は、サンプルのフィルタリングおよび保存プロセスを概略的に示す流れ図である。
【図５】図５は、診断データ取得回路を組み込んだデータ処理システムの別の例示的実施形態を概略的に示す図である。
【発明を実施するための形態】
【０００８】
図１は、メモリ４（実行されるプログラム命令および操作されるデータを記憶する）、フェッチユニット６、命令ディスパッチユニット８および実行パイプライン１０を含むデータ処理装置２を概略的に示す。動作中、フェッチユニット６はメモリ４からプログラム命令をフェッチする。次に、これらのフェッチされたプログラム命令は少なくとも部分的に復号化され（図示せず）、命令ディスパッチユニット８に渡され、そこでそれらは実行パイプライン１０へのディスパッチを待つ。実行パイプライン１０は、プログラム命令によって指定された処理動作を実行する。実際には、データ処理装置２は通常、他の機能をデータ処理装置２に提供する多くの別のユニットを含むが、これらは明瞭さのために図１から省略されていることを理解されたい。
【０００９】
図１のデータ処理装置２は、実行されるプログラム命令の統計的サンプリングを実行することができる。これらのプログラム命令は、より一般的には処理操作のストリーム（一連の処理操作）であると見なすことができる。本技法は、実行されるべき統計的サンプリングが行われる処理動作がプログラム命令ではない様々な実施形態に適用することができる。処理動作は、割り込みコントローラによって受信された割り込みまたはシステムオンチップ相互接続上のメモリトランザクションであり得る。
【００１０】
本開示に従って実行される統計的サンプリングは、診断データバッファ１２内に診断データを記録するのに役立つ。ストリーム内のどのプログラム命令（処理操作）について診断データを取り込むかの選択は、２つの基準を満たすことに基づく。第１の基準は、プログラム命令（処理動作）が、所定のインターバル条件に一致するプログラム命令のストリーム内のインターバル（処理動作の数または時間のいずれか）だけ前のサンプルプログラム命令（処理動作）から分離されるべきである。この例示的実施形態では、所定の間隔条件は、サンプリングされた診断データが、基本サンプリング周期の正の整数倍である所定の間隔だけ、前のサンプリング処理動作から分離されていることである。さらに、その診断データを取り込ませるためのサンプル処理動作は、所定のアドレス特性と一致する関連メモリアドレスを有するべきである。
【００１１】
図１に示す例では、これら２つの基準は、サンプリングされる候補プログラム命令が直前の候補プログラム命令から所定の（プログラム可能な）サンプリング間隔だけ離れることを最初に要求する順序で適用される。プログラム命令のストリーム内の候補プログラム命令がサンプリング間隔に基づいて識別されると、候補プログラム命令が所定のアドレス特性と一致する関連メモリアドレスを有するかどうかに基づいてこれらの候補プログラム命令の中から別の選択が行われる。
【００１２】
関連するメモリアドレスは様々な形態を取り得る。例えば、候補プログラム命令に関連するメモリアドレスは、そのプログラム命令をメモリ４内に記憶するメモリアドレスとすることができる。あるいは、関連するメモリアドレスは、実行されるときにその候補プログラム命令によってアクセスされるターゲットアドレスであり得る。例えば、実行されるデータアクセス命令（ロードまたはストア）またはデータ処理命令（たとえば追加）に関連する読み出しアドレスまたは書き込みアドレスであり得る。
【００１３】
図１は、プログラム可能統計サンプリング構成レジスタ１５からのインターバルカウント値で初期化されるインターバル選択回路１４を示す。プログラムディスパッチが命令ディスパッチユニット８からディスパッチされるたびに、カウント値はゼロに達するまで減分される。「ディスパッチされた」という用語はこの技術分野において様々な方法で使用することができ、本技術はこの用語の特定の用法によって限定されないことに留意されたい。カウント値がゼロに達すると、これは「サンプリング間隔ヒット」に対応し、対応する命令はサンプリングされたものとしてマークされる。これがサンプリングされた命令なのか、それともこれらと他の方法の組み合わせなのかを判断するために検査されるパイプラインを介して命令と共に移動するタグ、またはパイプライン内の命令のタグ値と比較される命令のタグ値のどこかのレコードの形式を取る。次に、実行パイプライン１０は、マークされた命令が実行パイプライン１０を通り抜けて実行されるまで、それが完了して廃棄されるまで、サンプリングされた命令レコード記憶装置１６内にマークされた命令の特性を格納する。したがって、この例示的な実施形態におけるインターバル選択回路１４は、プログラム可能なサンプリング間隔によってプログラム命令のストリーム内で分離されたディスパッチされた命令をマークするのに役立つ。上述の実施形態例では、サンプリングは命令がディスパッチされる時点で行われる。他の例示的な実施形態では、サンプリングは他の点でも起こり得る。命令がデコードされる前、または命令が実行ユニットに発行されるとき。以前にサンプリングされた処理動作から所定の間隔の整数倍で分離されたすべての処理動作がサンプリングされるわけではなく（すなわち、「所定の間隔条件」）、むしろサンプリングの候補であり、アドレス基準も満たす場合にサンプリングされる。以下に説明する。
【００１４】
前述のように、どの診断データが捕捉されるかをさらにフィルタリングするために使用される関連メモリアドレス基準は、プログラム命令のメモリアドレスまたはプログラム命令に関連するターゲットアドレスの形をとることができる。プログラム命令のメモリアドレスの場合は、フェッチユニット６がメモリ４からプログラム命令をフェッチすることで判断することができる。図示の実施例では、ブレークポイントユニット１８が設けられており、これは前述の統計的サンプリングとは異なる診断動作を実行する別の診断回路の例である。プログラムコードのブレークポインティングに従って処理中の割り込みをトリガするためにフェッチされた命令の命令アドレスを識別するためにブレークポイントユニット１８によって使用され得るブレークポイントユニット１８内の比較器２０は、再使用され得る。フェッチされたプログラム命令は、統計的サンプリングのアドレスフィルタリング基準に使用される所定のアドレス特性と一致する関連メモリアドレス（すなわちプログラム命令アドレス）を有する。ブレークポイントユニット１８は、その通常のブレークポイント識別機能を有する代わりに、統計的サンプリング診断データ捕捉回路の一部として機能するようにプログラムされてもよい。この場合、ブレークポイントユニット１８内の比較器２０が所定のアドレスに対する命令アドレスの完全一致であり得るアドレスの一致を検出すると、所定のアドレス範囲内で失敗した命令アドレスに対応する一致が発生する。これにより、マスクによって指定された関連メモリアドレス内の１つまたは複数のビットまたはビットフィールド（たとえば、マッチング回路によって有意として扱われるビット数を指定するマスク値）が所定のアドレスと一致する。必要に応じて他の種類のアドレスマッチングも使用することができ、比較器２０によってサポートされる。統計的サンプリングに関連するアドレス比較をサポートするために専用の比較器を提供するのではなく、ブレークポイントユニット１８内で比較器２０を再利用することは、統計的サンプリングの提供に関連するオーバーヘッドを減らす。
【００１５】
統計的サンプリングをサポートするために比較器２０が使用されているときに比較器２０によってアドレスの一致が識別されると、一致をもたらしたプログラム命令は、それが命令ディスパッチユニット８に渡されるときにそれを示すためにタグ付けされる。次に、その命令が実行パイプラインにディスパッチされると、それがアドレス一致に対応することを示すタグが、命令が完了したときにこの情報が利用できるように、その命令に対するサンプル命令レコード内にサンプル命令レコード記憶部１６に格納される。そのため、その診断データを診断データバッファ１２内に格納すべきかどうかについての判断（後述）を行うことができる。
【００１６】
前述のように、プログラム命令の関連メモリアドレスは、プログラム命令に関連するターゲットアドレスであり得る。統計的サンプリングとは別の診断技法に従ってデータ監視を実行するために使用されるウォッチポイントユニット２２は、再利用されてもよく、または少なくともその比較器２４が統計的サンプリングの対象となるプログラム命令を識別するために再利用されてもよい。所定のアドレス特性を有するターゲットアドレスにアクセスすることにより、所定のアドレス特性を有する。前述のように、これらの特性は、アドレスの完全な一致、所定の範囲内にあるターゲットアドレスに対応する一致、または部分的にマスクされたターゲットアドレス値と所定の値との間の一致を必要とし得る。他の形式のアドレス照合も可能であろう。ウォッチポイントユニット２２は、実行パイプライン１０によってターゲットアドレスデータを供給され、ウォッチポイントユニット２２内の比較器２４は、プログラム命令が所定のアドレス基準に一致するかどうかを識別するために使用され得る。そのような一致が生じた場合、これは実行パイプライン１０を介して通知され、そのプログラム命令についてのサンプル命令レコード記憶部１６内のサンプル命令レコード内に格納され得る。
【００１７】
アドレスマッチングはまた、メモリ４内のメモリアドレスの領域に関連するメモリ属性を示すメモリアドレス属性データに基づいて実行されてもよい。このようなメモリアドレス属性データは、ロードまたはストアを指定する命令によって、あるいはフェッチユニット６によるプログラム命令の所与の領域からのフェッチによって、メモリ４へのアクセスを制御するためにメモリ管理ユニット２５によって使用されるページテーブルデータであり得る。メモリ属性データは、メモリの特定のページが統計的サンプリングに関連する所定のアドレス特性に対するアドレス一致に対応することを示すフラグを追加することができるページテーブルデータであり得る。統計サンプリングの対象としてページテーブルによってマークされたメモリアドレス空間のページ内からのメモリアドレスに関連付けられている場合、必要な間隔で候補プログラム命令がサンプリングされる。
【００１８】
前述のように、ブレークポイントユニット１８とウォッチポイントユニット２２の両方は、統計的サンプリングを実行する診断データ捕捉回路の一部として機能するためにそれらのそれぞれのアドレス比較器２０、２４を再使用させることができる。このように再利用されると、ブレークポイントまたはウォッチポイントを検出したときに処理の中断をトリガーする通常の機能はプログラム的に抑制され、代わりに次の２つのアドレスの一致を満たすことに対応する抑制アドレス一致イベントが発生する。候補プログラム命令の関連メモリアドレスおよび統計的サンプリングのための予め定められたアドレス特性との間のアドレスの一致を満たすことに対応する抑制アドレス一致イベントが発生する。
【００１９】
データ処理装置２はまた、プログラム実行フローを示すトレースデータを生成するためのトレース回路２６を含み得る。このトレース回路２６は、そのようなトレース動作中に使用される比較器２８を含む。これらの比較器２８はまた、このような統計的サンプリングの提供に関連するオーバーヘッドを減らすために統計的サンプリングを実行する診断データ捕捉回路の一部として再使用されてもよい。
【００２０】
上述のように、ページテーブルデータは、統計的サンプリングの対象となるべき（すなわち、アドレスの一致が示される）メモリアドレスの領域を識別するために使用され得る。いくつかの実施形態では、機能ポインタをメモリ領域へのポインタとして使用し、そのポインタを使用するときに許可された動作を指定することも可能である。そのような機能ポインタは、関係する領域が統計的サンプリングの対象となるべきであることを示すフラグ、すなわちアドレス一致基準を提供することによって増強することができる。
【００２１】
マークされたプログラム命令が実行パイプライン１０からリタイアされているとき（「例示的な実施形態ではリタイア」とは、命令の効果がアーキテクチャ状態にコミットされたとき（非投機的になるとき）など）。その命令がサンプルレコードに何も記録するものがなくなったとき、または他の何らかの点で）他の命令に影響を与えることができなくなった（それでもなお投機的である）。そのプログラム命令に関連する診断データを診断データバッファ１２内に記憶すべきかどうかを決定するためにチェックされる。アドレスフィルタリング回路３０は、アドレス一致フラグがサンプリングされた命令レコード内に設定されているかどうかをチェックするために使用される。アドレス一致基準が満たされたことを示すアドレス一致フラグが設定されている場合、そのサンプリングされた命令の診断データは診断データバッファ１２内に格納される。
【００２２】
図１の例では、サンプリングされる候補プログラム命令はサンプリング間隔を使用して識別される。次に、これらの候補プログラム命令の中からの選択は、それらが所定のアドレス特性と一致する関連メモリアドレスを有するかどうかに基づいて行われる。したがって、図１の回路の動作は、カウントフィルタ、次いでアドレスフィルタに基づいて統計的サンプリングを実行すると考えることができる。
【００２３】
図２は、間隔サンプリングプロセスを概略的に示す。ステップ３２において、インターバル選択回路１４内のカウンタはサンプリング間隔に対応するカウント値に初期化される。次いで、ステップ３４は、命令が命令ディスパッチユニット８によってディスパッチされていると識別されるまで待機する。命令がディスパッチされると、ステップ３６はカウンタをデクリメントする。ステップ３８は、カウンタがゼロに達したかどうかを判定する。カウンタがゼロに達すると、ステップ４０は命令をサンプル間隔基準を満たすものとしてマークし、処理はステップ３４に戻る。
【００２４】
図３はアドレスマッチングプロセスを概略的に示す。ステップ４２において、アドレスフィルタが初期化される。例えば、比較器２０、２４、２８または統計的サンプリング専用の特定の比較器の適切なプログラミングである。次にステップ４４は、プログラム命令に関連するアドレスが所定のアドレス条件（例えば、完全一致、範囲内の一致、または特定のマスキングの対象となる一致など）と一致するかどうかを判定する。アドレスの一致は、関係するプログラム命令の記憶アドレスおよび／またはプログラム命令によってアクセスされているターゲットアドレスに基づくことができる。アドレスの一致が見つかった場合、ステップ４６は、その命令がアドレス一致基準を満たすものとしてマークされたものであるかどうかを判定する（アドレスの一致がすでにディスパッチされている命令のターゲットアドレスに対して行われていると仮定する）。命令がそのようにマークされている場合、ステップ４８はサンプリングされた命令レコード内にアドレスの一致を記録する。
【００２５】
図４は、サンプルのフィルタリングおよび保存工程を概略的に示す。ステップ５０において、ゲートサンプリングに対するサンプリングされた命令レコードの検査に使用されるべき基準が初期化される。ステップ５２は、完了した命令がその関連するサンプル命令レコード内のサンプル間隔基準を満たすとしてマークされているかどうかを判定する。命令がこの基準を満たさない場合、その命令に関する診断データは格納されない。サンプリング間隔の基準が満たされると、処理はステップ５４に進み、そこでアドレス一致基準が適用されるべきかどうかに関して判定が行われる。アドレス一致基準が適用されることになっている場合、ステップ５６は、完了した命令についてのサンプリングされた命令レコードがアドレス一致基準を満たしたとマークされているかどうかを判定する。アドレスの一致基準が満たされていない場合、診断データは保存されない。
【００２６】
ステップ５８は、それに関連する診断データを診断データバッファ１２に記憶させるべきか否かを決定するために完了した命令に関して行われ得る他の基準チェックを概略的に表す。これらの他の基準は、本明細書に記載のサンプリング間隔チェックおよびアドレス一致チェックを超えてもよい。すべての基準が満たされる場合、処理はステップ６０に進み、そこで完了した命令の診断データが診断データバッファに格納され、サンプリングされた命令レコードが他の命令による再使用のためにクリアされる。いずれかの基準が満たされた場合に、完了した命令の診断データが診断データバッファに格納されるように、ステップ５６からのＮパス上でチェックすることもできる。
【００２７】
図５は、統計的サンプリングを用いたデータ処理システム６２の他の例示的実施形態を示す。この例示的な実施形態では、図１に関して説明したものと同様の回路要素については再度説明しない。図５の実施形態例は、アドレスフィルタリング基準がプログラム命令の命令アドレスに基づいて実行されるという点で図１の実施形態と異なる。ブレークポイントユニット１８は、統計的サンプリングの一部として診断データ記録のための候補プログラム命令のストリームを識別する。候補プログラム命令のストリームは、それらの命令アドレスに基づいてアドレス一致基準が満たされた命令である。インターバル選択回路１４は次に、アドレス基準に既に一致する候補プログラム命令のストリーム内の（プログラム可能な）サンプリング間隔をカウントする。インターバルカウントがゼロに達すると、その時点での候補プログラム命令はサンプリングされるようにマークされる。したがって、その指示が完了すると、それに関連する診断データが記憶されることになる。したがって、図５の例示的な実施形態は、アドレスフィルタリング基準を満たすプログラム命令に対してアドレス選択動作とそれに続く間隔選択を実行する。
【図１】
2019526108.tif 000003
【図２】
2019526108.tif 000004
【図３】
2019526108.tif 000005
【図４】
2019526108.tif 000006
【図５】
2019526108.tif 000007
【国際調査報告】
2019526108.tif 000008
2019526108.tif 000009
2019526108.tif 000010