JP6153534B2 - 命令オペレーション・コードによるランタイム計装間接サンプリング - Google Patents
命令オペレーション・コードによるランタイム計装間接サンプリング Download PDFInfo
- Publication number
- JP6153534B2 JP6153534B2 JP2014543663A JP2014543663A JP6153534B2 JP 6153534 B2 JP6153534 B2 JP 6153534B2 JP 2014543663 A JP2014543663 A JP 2014543663A JP 2014543663 A JP2014543663 A JP 2014543663A JP 6153534 B2 JP6153534 B2 JP 6153534B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- sample point
- processor
- operation code
- runtime instrumentation
- 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.)
- Active
Links
- 238000005070 sampling Methods 0.000 title claims description 65
- 239000000872 buffer Substances 0.000 claims description 96
- 238000000034 method Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 description 47
- 238000012545 processing Methods 0.000 description 26
- 230000001419 dependent effect Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 238000013519 translation Methods 0.000 description 17
- 230000014616 translation Effects 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 15
- 230000001629 suppression Effects 0.000 description 10
- 238000007667 floating Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 239000000945 filler Substances 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000007774 longterm Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 101100496104 Mus musculus Clec2d gene Proteins 0.000 description 1
- 101100274534 Rattus norvegicus Clec2d11 gene Proteins 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Description
a.割り込み可能命令の場合、部分的に完了したすべての動作単位は、カウントが減分される1つのカウント済み単位を表す。
b.割り込み可能命令の場合、最も新しい部分的完了から最終完了までのすべての動作単位は、カウントが減分される1つのカウント済み単位を表す。
c.命令のパラメータによって指定された処理のうちCPUが決定した部分を実行した後に完了する命令の場合、完了は、カウントが減分される1つのカウント済み単位を表す。
d.複数の動作単位を実行した後に完了するが、上記a〜cのカテゴリに入らない命令の場合、最終動作単位の完了は、カウントが減分される1つのカウント済み単位を表す。
命令は、命令の任意のカウント済み単位についてカウントがゼロまで減分された場合、サンプル命令である。ゼロなどのしきい値に達すると、カウントはSF740の値に再初期化され、上記a〜dに記載されたようにカウントダウンを開始する。カウント・モードのすべてのケースにおいて、報告は、サンプル命令の最終動作単位の完了後に、適宜発生する。
1.ランタイム計装制御が有効でない。
2.問題状態において、現行のランタイム計装制御のPs612が、問題状態報告が許可されていないことを示す、ゼロである。
3.スーパーバイザ状態において、現行のランタイム計装制御のQs614が、スーパーバイザ状態が許可されていないことを示す、ゼロである。
4.現行のランタイム計装制御のNビット710が、RINEXT命令自体が許可されていないことを示す、ゼロである。
5.ストレージが抑制されている。
6.現行PSW内のフィールドが、ランタイム計装が無効であることを示す。
7.モデル依存しきい値を超える。ある期間内にRINEXTが発行された回数が、モデル依存限界を超えている。
8.プログラム・バッファ・フル条件が存在する。
9.ランタイム計装停止条件が存在する。
10.次の順次命令が解釈的実行開始命令である。
11.次の順次命令がスーパーバイザ呼び出し命令である。
RCB≧(RRG−RNC)
Claims (20)
- 命令オペレーション・コードによるランタイム計装間接サンプリングを実装するためのコンピュータ・プログラムであって、
コンピュータに、
サンプル・ポイント命令アレイからサンプル・ポイント命令オペレーション・コードを読み取る手順と、
プロセッサによって、前記サンプル・ポイント命令オペレーション・コードと、前記プロセッサ上で実行する命令ストリームからの命令のオペレーション・コードとを、比較する手順と、
前記サンプル・ポイント命令オペレーション・コードのうちの1つと一致する前記オペレーション・コードを伴う前記命令の実行時に、サンプル・ポイントを認識する手順であって、ランタイム計装情報は前記サンプル・ポイントから取得される、認識する手順と、 前記ランタイム計装情報を報告グループとしてランタイム計装プログラム・バッファ内に記憶する手順と、
を実行させる、コンピュータ・プログラム。 - 前記ランタイム計装情報は、前記プロセッサの収集バッファ内に収集されたランタイム計装イベント記録を含み、前記報告グループは、前記ランタイム計装イベント記録と組み合わせてシステム情報記録をさらに含む、請求項1に記載のコンピュータ・プログラム。
- 前記サンプル・ポイント命令オペレーション・コードのうちの1つと一致する前記オペレーション・コードを伴う前記命令は、前記報告グループの命令記録内のサンプル命令として識別される、請求項2に記載のコンピュータ・プログラム。
- 前記コンピュータに、ランタイム計装制御ロード(LRIC)命令の実行に基づいて、ランタイム計装制御を初期化する手順をさらに実行させ、前記LRIC命令はサンプリング・モードおよびサンプル・ポイント命令(SPI)制御を確立する、請求項1に記載のコンピュータ・プログラム。
- 前記サンプル・ポイント命令オペレーション・コードを確立するランタイム計装サンプル・ポイント命令ロード(RILSPI)命令をフェッチする手順、および、
前記RILSPI命令を実行する手順であって、
前記サンプル・ポイント命令オペレーション・コードを前記サンプル・ポイント命令アレイ内に記憶する手順、および、
前記記憶する手順に基づいて、前記プロセッサ内の条件コードを更新する手順、
を含む、実行する手順、
をさらに前記コンピュータに実行させる、請求項1に記載のコンピュータ・プログラム。 - ストレージ・アドレスを含むランタイム計装サンプル・ポイント命令ストア(RISSPI)命令をフェッチする手順、および、
前記RISSPI命令を実行する手順であって、
前記サンプル・ポイント命令アレイから前記サンプル・ポイント命令オペレーション・コードを読み取る手順、および、
前記サンプル・ポイント命令オペレーション・コードを前記ストレージ・アドレスによって識別された位置に記憶する手順、
を含む、実行する手順、
をさらに前記コンピュータに実行させる、請求項1に記載のコンピュータ・プログラム。 - ランタイム計装サンプル・ポイント命令クリア(RICSPI)をフェッチする手順、および、
前記RICSPI命令を実行する手順であって、
前記サンプル・ポイント命令アレイ内の前記サンプル・ポイント命令オペレーション・コードをクリアする手順、および、
前記クリアすることに基づいて、前記プロセッサ内の条件コードを更新する手順、
を含む、実行する手順、
をさらに前記コンピュータに実行させる、請求項1に記載のコンピュータ・プログラム。 - 命令オペレーション・コードによるランタイム計装間接サンプリングを実装するためのコンピュータ実装方法であって、
サンプル・ポイント命令アレイからサンプル・ポイント命令オペレーション・コードを読み取ること、
プロセッサによって、前記サンプル・ポイント命令オペレーション・コードと、前記プロセッサ上で実行する命令ストリームからの命令のオペレーション・コードとを、比較すること、
前記サンプル・ポイント命令オペレーション・コードのうちの1つと一致する前記オペレーション・コードを伴う前記命令の実行時に、サンプル・ポイントを認識することであって、ランタイム計装情報は前記サンプル・ポイントから取得される、認識すること、および、
前記ランタイム計装情報を報告グループとしてランタイム計装プログラム・バッファ内に記憶すること、
を含む方法。 - 前記ランタイム計装情報は、前記プロセッサの収集バッファ内に収集されたランタイム計装イベント記録を含み、前記報告グループは、前記ランタイム計装イベント記録と組み合わせてシステム情報記録をさらに含む、請求項8に記載の方法。
- 前記サンプル・ポイント命令オペレーション・コードのうちの1つと一致する前記オペレーション・コードを伴う前記命令は、前記報告グループの命令記録内のサンプル命令として識別される、請求項9に記載の方法。
- ランタイム計装制御ロード(LRIC)命令の実行に基づいて、ランタイム計装制御を初期化することをさらに含み、前記LRIC命令はサンプリング・モードおよびサンプル・ポイント命令(SPI)制御を確立する、請求項8に記載の方法。
- 前記サンプル・ポイント命令オペレーション・コードを確立するランタイム計装サンプル・ポイント命令ロード(RILSPI)命令をフェッチすること、および、
前記プロセッサによって前記RILSPI命令を実行することであって、
前記サンプル・ポイント命令オペレーション・コードを前記サンプル・ポイント命令アレイ内に記憶すること、および、
前記記憶することに基づいて、前記プロセッサ内の条件コードを更新すること、
を含む、実行すること、
をさらに含む、請求項8に記載の方法。 - ストレージ・アドレスを含むランタイム計装サンプル・ポイント命令ストア(RISSPI)命令をフェッチすること、および、
前記プロセッサによって前記RISSPI命令を実行することであって、
前記サンプル・ポイント命令アレイから前記サンプル・ポイント命令オペレーション・コードを読み取ること、および、
前記サンプル・ポイント命令オペレーション・コードを前記ストレージ・アドレスによって識別された位置に記憶すること、
を含む、実行すること、
をさらに含む、請求項8に記載の方法。 - ランタイム計装サンプル・ポイント命令クリア(RICSPI)をフェッチすること、および、
前記プロセッサによって前記RICSPI命令を実行することであって、
前記サンプル・ポイント命令アレイ内の前記サンプル・ポイント命令オペレーション・コードをクリアすること、および、
前記クリアすることに基づいて、前記プロセッサ内の条件コードを更新すること、
を含む、実行すること、
をさらに含む、請求項8に記載の方法。 - 命令オペレーション・コードによるランタイム計装間接サンプリングを実装するためのシステムであって、
メモリと、
ランタイム計装モジュールを含むプロセッサとを備え、前記ランタイム計装モジュールは、
サンプル・ポイント命令アレイからサンプル・ポイント命令オペレーション・コードを読み取ること、
前記プロセッサによって、前記サンプル・ポイント命令オペレーション・コードと、前記プロセッサ上で実行する命令ストリームからの命令のオペレーション・コードとを、比較すること、
前記サンプル・ポイント命令オペレーション・コードのうちの1つと一致する前記オペレーション・コードを伴う前記命令の実行時に、サンプル・ポイントを認識することであって、ランタイム計装情報は前記サンプル・ポイントから取得される、認識すること、および、
前記ランタイム計装情報を報告グループとして前記メモリ内のランタイム計装プログラム・バッファ内に記憶すること、
を含む、方法を実行するように構成される、
システム。 - 前記ランタイム計装情報は、前記プロセッサの収集バッファ内に収集されたランタイム計装イベント記録を含み、前記報告グループは、前記ランタイム計装イベント記録と組み合わせてシステム情報記録をさらに含む、請求項15に記載のシステム。
- ランタイム計装制御ロード(LRIC)命令の実行に基づいて、ランタイム計装制御を初期化することをさらに含み、前記LRIC命令はサンプリング・モードおよびサンプル・ポイント命令(SPI)制御を確立する、請求項15に記載のシステム。
- 前記サンプル・ポイント命令オペレーション・コードを確立するランタイム計装サンプル・ポイント命令ロード(RILSPI)命令をフェッチすること、および、
前記プロセッサによって前記RILSPI命令を実行することであって、
前記サンプル・ポイント命令オペレーション・コードを前記サンプル・ポイント命令アレイ内に記憶すること、および、
前記記憶することに基づいて、前記プロセッサ内の条件コードを更新すること、
を含む、実行すること、
をさらに含む、請求項15に記載のシステム。 - ストレージ・アドレスを含むランタイム計装サンプル・ポイント命令ストア(RISSPI)命令をフェッチすること、および、
前記プロセッサによって前記RISSPI命令を実行することであって、
前記サンプル・ポイント命令アレイから前記サンプル・ポイント命令オペレーション・コードを読み取ること、および、
前記サンプル・ポイント命令オペレーション・コードを前記ストレージ・アドレスによって識別された位置に記憶すること、
を含む、実行すること、
をさらに含む、請求項15に記載のシステム。 - ランタイム計装サンプル・ポイント命令クリア(RICSPI)をフェッチすること、および、
前記プロセッサによって前記RICSPI命令を実行することであって、
前記サンプル・ポイント命令アレイ内の前記サンプル・ポイント命令オペレーション・コードをクリアすること、および、
前記クリアすることに基づいて、前記プロセッサ内の条件コードを更新すること、
を含む、実行すること、
をさらに含む、請求項15に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/422,563 US9367316B2 (en) | 2012-03-16 | 2012-03-16 | Run-time instrumentation indirect sampling by instruction operation code |
US13/422,563 | 2012-03-16 | ||
PCT/JP2013/001379 WO2013136720A1 (en) | 2012-03-16 | 2013-03-06 | Run-time instrumentation indirect sampling by instruction operation code |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015513376A JP2015513376A (ja) | 2015-05-11 |
JP6153534B2 true JP6153534B2 (ja) | 2017-06-28 |
Family
ID=49158816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014543663A Active JP6153534B2 (ja) | 2012-03-16 | 2013-03-06 | 命令オペレーション・コードによるランタイム計装間接サンプリング |
Country Status (5)
Country | Link |
---|---|
US (2) | US9367316B2 (ja) |
EP (1) | EP2834743A4 (ja) |
JP (1) | JP6153534B2 (ja) |
CN (1) | CN104169887B (ja) |
WO (1) | WO2013136720A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8726225B2 (en) * | 2011-08-01 | 2014-05-13 | Vmware, Inc. | Testing of a software system using instrumentation at a logging module |
CN104866766B (zh) * | 2015-06-05 | 2017-10-13 | 中国电子科技集团公司第五十八研究所 | 一种针对cpu内部隐藏指令型硬件木马的检测方法 |
US10108529B2 (en) * | 2015-10-13 | 2018-10-23 | International Business Machines Corporation | Dynamic instrumentation based on detected errors |
CN105446201B (zh) * | 2015-12-31 | 2018-02-16 | 西安诺瓦电子科技有限公司 | 油价牌控制方法及装置 |
US10592244B2 (en) * | 2017-02-02 | 2020-03-17 | Intel Corporation | Branch type logging in last branch registers |
US10901738B2 (en) * | 2017-11-14 | 2021-01-26 | International Business Machines Corporation | Bulk store and load operations of configuration state registers |
US10592164B2 (en) | 2017-11-14 | 2020-03-17 | International Business Machines Corporation | Portions of configuration state registers in-memory |
US20230401135A1 (en) * | 2022-06-10 | 2023-12-14 | Microsoft Technology Licensing, Llc | Employing sampled register values to infer memory accesses by an application |
Family Cites Families (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821178A (en) | 1986-08-15 | 1989-04-11 | International Business Machines Corporation | Internal performance monitoring by event sampling |
JPS6421546A (en) | 1987-07-16 | 1989-01-24 | Nec Corp | Device for collecting program execution history |
JPH03217949A (ja) | 1990-01-23 | 1991-09-25 | Hitachi Ltd | 計算機システム |
US5151981A (en) | 1990-07-13 | 1992-09-29 | International Business Machines Corporation | Instruction sampling instrumentation |
US5341500A (en) | 1991-04-02 | 1994-08-23 | Motorola, Inc. | Data processor with combined static and dynamic masking of operand for breakpoint operation |
JP2505950B2 (ja) | 1991-05-13 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ハ―ドウェア支援ブレ―クポイント・システム |
US5491793A (en) | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
JPH07281930A (ja) | 1994-04-08 | 1995-10-27 | Nec Corp | 情報処理装置動作測定解析システム |
EP0689141A3 (en) | 1994-06-20 | 1997-10-15 | At & T Corp | Disruption-based hardware support for system performance profiling |
US5555432A (en) | 1994-08-19 | 1996-09-10 | Intel Corporation | Circuit and method for scheduling instructions by predicting future availability of resources required for execution |
JPH09505922A (ja) | 1994-09-19 | 1997-06-10 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 多数のマイクロ制御器の演算を実行するマイクロ制御器システム |
US5675817A (en) | 1994-12-05 | 1997-10-07 | Motorola, Inc. | Language translating pager and method therefor |
US5553293A (en) | 1994-12-09 | 1996-09-03 | International Business Machines Corporation | Interprocessor interrupt processing system |
US5964893A (en) | 1995-08-30 | 1999-10-12 | Motorola, Inc. | Data processing system for performing a trace function and method therefor |
US5737516A (en) | 1995-08-30 | 1998-04-07 | Motorola, Inc. | Data processing system for performing a debug function and method therefor |
US5675768A (en) | 1996-02-01 | 1997-10-07 | Unisys Corporation | Store software instrumentation package instruction |
US6314558B1 (en) | 1996-08-27 | 2001-11-06 | Compuware Corporation | Byte code instrumentation |
US5987249A (en) | 1996-08-27 | 1999-11-16 | Numega Technologies | IR code instrumentation |
US5796939A (en) | 1997-03-10 | 1998-08-18 | Digital Equipment Corporation | High frequency sampling of processor performance counters |
US5960198A (en) | 1997-03-19 | 1999-09-28 | International Business Machines Corporation | Software profiler with runtime control to enable and disable instrumented executable |
US6631518B1 (en) | 1997-03-19 | 2003-10-07 | International Business Machines Corporation | Generating and utilizing organized profile information |
US5978902A (en) | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US6094729A (en) | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
US5944841A (en) | 1997-04-15 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor with built-in instruction tracing capability |
US6154818A (en) | 1997-11-20 | 2000-11-28 | Advanced Micro Devices, Inc. | System and method of controlling access to privilege partitioned address space for a model specific register file |
US6163840A (en) | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline |
US6374367B1 (en) | 1997-11-26 | 2002-04-16 | Compaq Computer Corporation | Apparatus and method for monitoring a computer system to guide optimization |
US6077312A (en) | 1998-05-06 | 2000-06-20 | International Business Machines Corporation | Apparatus, program product and method of debugging utilizing a context sensitive breakpoint |
US6161196A (en) | 1998-06-19 | 2000-12-12 | Lucent Technologies Inc. | Fault tolerance via N-modular software redundancy using indirect instrumentation |
US6216237B1 (en) | 1998-06-19 | 2001-04-10 | Lucent Technologies Inc. | Distributed indirect software instrumentation |
US6145123A (en) | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
US6158049A (en) | 1998-08-11 | 2000-12-05 | Compaq Computer Corporation | User transparent mechanism for profile feedback optimization |
US6243836B1 (en) | 1998-08-17 | 2001-06-05 | Lucent Technologies, Inc. | Apparatus and method for circular buffering on an on-chip discontinuity trace |
US6230313B1 (en) | 1998-12-23 | 2001-05-08 | Cray Inc. | Parallelism performance analysis based on execution trace information |
US7013456B1 (en) | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US6978462B1 (en) | 1999-01-28 | 2005-12-20 | Ati International Srl | Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled |
US20020046305A1 (en) | 1999-02-17 | 2002-04-18 | Babaian Boris A. | Method for effective binary translation between different instruction sets using emulated supervisor flag and multiple page tables |
US6378125B1 (en) | 1999-02-22 | 2002-04-23 | International Business Machines Corporation | Debugger thread identification points |
US7137105B2 (en) | 1999-05-12 | 2006-11-14 | Wind River Systems, Inc. | Dynamic software code instrumentation method and system |
US6321329B1 (en) | 1999-05-19 | 2001-11-20 | Arm Limited | Executing debug instructions |
US6519766B1 (en) | 1999-06-15 | 2003-02-11 | Isogon Corporation | Computer program profiler |
JP2001051874A (ja) | 1999-08-12 | 2001-02-23 | Hitachi Ltd | マイクロコンピュータ |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6539500B1 (en) | 1999-10-28 | 2003-03-25 | International Business Machines Corporation | System and method for tracing |
US6574727B1 (en) | 1999-11-04 | 2003-06-03 | International Business Machines Corporation | Method and apparatus for instruction sampling for performance monitoring and debug |
US6634020B1 (en) | 2000-03-24 | 2003-10-14 | International Business Machines Corporation | Uninitialized memory watch |
US7735072B1 (en) | 2000-08-11 | 2010-06-08 | International Business Machines Corporation | Method and apparatus for profiling computer program execution |
US7103877B1 (en) | 2000-11-01 | 2006-09-05 | International Business Machines Corporation | System and method for characterizing program behavior by sampling at selected program points |
US6961927B1 (en) | 2000-11-27 | 2005-11-01 | Microsoft Corporation | Lossless, context-free compression system and method |
US8312435B2 (en) | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
US6769054B1 (en) | 2001-02-26 | 2004-07-27 | Emc Corporation | System and method for preparation of workload data for replaying in a data storage environment |
JP2002252163A (ja) | 2001-02-27 | 2002-09-06 | Toshiba Corp | 画像表示装置の製造方法および製造装置 |
US6918110B2 (en) | 2001-04-11 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code |
JP2002342114A (ja) | 2001-05-21 | 2002-11-29 | Fujitsu Ltd | トレースデータ採取可能なプロセッサ |
US7047521B2 (en) | 2001-06-07 | 2006-05-16 | Lynoxworks, Inc. | Dynamic instrumentation event trace system and methods |
US20030005423A1 (en) | 2001-06-28 | 2003-01-02 | Dong-Yuan Chen | Hardware assisted dynamic optimization of program execution |
US7181600B1 (en) | 2001-08-02 | 2007-02-20 | Mips Technologies, Inc. | Read-only access to CPO registers |
US7080289B2 (en) | 2001-10-10 | 2006-07-18 | Arm Limited | Tracing multiple data access instructions |
GB0125628D0 (en) | 2001-10-25 | 2001-12-19 | Ibm | Computer system with watchpoint support |
US7281242B2 (en) | 2002-01-18 | 2007-10-09 | Bea Systems, Inc. | Flexible and extensible Java bytecode instrumentation system |
US7134115B2 (en) | 2002-02-07 | 2006-11-07 | Matsushita Electric Industrial Co., Ltd. | Apparatus, method, and program for breakpoint setting |
US6877114B2 (en) | 2002-02-14 | 2005-04-05 | Delphi Technologies, Inc. | On-chip instrumentation |
US7107585B2 (en) | 2002-07-29 | 2006-09-12 | Arm Limited | Compilation of application code in a data processing apparatus |
US20040139304A1 (en) | 2003-01-09 | 2004-07-15 | International Business Machines Corporation | High speed virtual instruction execution mechanism |
US8141052B2 (en) | 2003-05-09 | 2012-03-20 | Microsoft Corporation | Instrumenting software for enhanced diagnosability |
US7185320B2 (en) | 2003-06-27 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | System and method for processing breakpoint events in a child process generated by a parent process |
US7152186B2 (en) | 2003-08-04 | 2006-12-19 | Arm Limited | Cross-triggering of processing devices |
US20050120337A1 (en) | 2003-12-01 | 2005-06-02 | Serrano Mauricio J. | Memory trace buffer |
US7500152B2 (en) | 2003-12-05 | 2009-03-03 | Freescale Semiconductor, Inc. | Apparatus and method for time ordering events in a system having multiple time domains |
US7206916B2 (en) | 2004-03-08 | 2007-04-17 | Sun Microsystems, Inc. | Partial address compares stored in translation lookaside buffer |
US20050228631A1 (en) | 2004-04-07 | 2005-10-13 | Maly John W | Model specific register operations |
US20090150890A1 (en) | 2007-12-10 | 2009-06-11 | Yourst Matt T | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
US20060184832A1 (en) | 2005-02-11 | 2006-08-17 | International Business Machines Corporation | Method and apparatus for achieving high cycle/trace compression depth by adding width |
US9152531B2 (en) | 2005-02-18 | 2015-10-06 | Green Hills Sofware, Inc. | Post-compile instrumentation of object code for generating execution trace data |
US7478219B2 (en) | 2005-04-14 | 2009-01-13 | International Business Machines Corporation | Retrieving event data for logical partitions |
US7650595B2 (en) | 2005-04-29 | 2010-01-19 | Microsoft Corporation | Sound transaction-based reduction without cycle detection |
US7661094B2 (en) | 2005-05-10 | 2010-02-09 | Alcatel-Lucent Usa Inc. | Real-time software diagnostic tracing |
US7603589B2 (en) | 2005-05-16 | 2009-10-13 | Texas Instruments Incorporated | Method and system for debugging a software program |
US7886271B2 (en) | 2005-05-16 | 2011-02-08 | Texas Instruments Incorporated | Embedding event information in the timing stream |
US8527958B2 (en) | 2005-05-16 | 2013-09-03 | Texas Instruments Incorporated | Profiling operating context and tracing program on a target processor |
US7886198B2 (en) | 2005-05-16 | 2011-02-08 | Texas Instruments Incorporated | Method and system of identifying overlays used by a program |
US8694970B2 (en) | 2005-06-02 | 2014-04-08 | Seagate Technology Llc | Unified debug system with multiple user-configurable trace volumes and trace buffers |
US7716335B2 (en) | 2005-06-27 | 2010-05-11 | Oracle America, Inc. | System and method for automated workload characterization of an application server |
US7239980B2 (en) | 2005-08-30 | 2007-07-03 | International Business Machines Corporation | Method and apparatus for adaptive tracing with different processor frequencies |
US8301868B2 (en) | 2005-09-23 | 2012-10-30 | Intel Corporation | System to profile and optimize user software in a managed run-time environment |
US20070079177A1 (en) | 2005-09-30 | 2007-04-05 | Charles Spirakis | Process monitoring and diagnosis apparatus, systems, and methods |
US20070079294A1 (en) | 2005-09-30 | 2007-04-05 | Robert Knight | Profiling using a user-level control mechanism |
US20070143755A1 (en) | 2005-12-16 | 2007-06-21 | Intel Corporation | Speculative execution past a barrier |
US20070186056A1 (en) | 2006-02-07 | 2007-08-09 | Bratin Saha | Hardware acceleration for a software transactional memory system |
CN101021800A (zh) | 2006-02-16 | 2007-08-22 | Sap股份公司 | 虚拟机监控 |
GB0604991D0 (en) | 2006-03-11 | 2006-04-19 | Slam Games Ltd | Instrumentation for real-time performance profiling |
US7814466B2 (en) | 2006-05-05 | 2010-10-12 | International Business Machines Corporation | Method and apparatus for graphically marking instructions for instrumentation with hardware assistance |
US8245199B2 (en) | 2006-05-05 | 2012-08-14 | International Business Machines Corporation | Selectively marking and executing instrumentation code |
US20070261032A1 (en) | 2006-05-05 | 2007-11-08 | Chen Wen-Tzer T | Method and apparatus for hardware assisted profiling of code |
US20070260849A1 (en) | 2006-05-05 | 2007-11-08 | Chen Wen-Tzer T | Method and apparatus for executing instrumentation code using a target processor |
US8141058B2 (en) | 2006-06-05 | 2012-03-20 | Rogue Wave Software, Inc. | System for and method of capturing application characteristics data from a computer system and modeling target system |
US8307346B2 (en) | 2006-06-09 | 2012-11-06 | Oracle America, Inc. | Atomic groups for debugging |
US7895569B2 (en) | 2006-08-30 | 2011-02-22 | Research In Motion Limited | System and method for implementing software breakpoints in an interpreter |
CN100401267C (zh) | 2006-09-01 | 2008-07-09 | 上海大学 | 微处理器的片上动态跟踪方法 |
US7992136B2 (en) | 2006-10-18 | 2011-08-02 | International Business Machines Corporation | Method and apparatus for automatic application profiling |
CN100547562C (zh) | 2006-10-18 | 2009-10-07 | 国际商业机器公司 | 自动生成可再现运行时问题的单元测试用例的方法和系统 |
US8627335B2 (en) | 2006-11-13 | 2014-01-07 | Oracle America, Inc. | Method and apparatus for data space profiling of applications across a network |
WO2008069715A1 (en) | 2006-12-06 | 2008-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Load balanced profiling |
US7783867B2 (en) * | 2007-02-01 | 2010-08-24 | International Business Machines Corporation | Controlling instruction execution in a processing environment |
US8041901B2 (en) | 2007-03-05 | 2011-10-18 | Freescale Semiconductor, Inc. | Performance monitoring device and method thereof |
US7743279B2 (en) | 2007-04-06 | 2010-06-22 | Apple Inc. | Program counter (PC) trace |
WO2008122746A1 (en) | 2007-04-10 | 2008-10-16 | Cambridge Consultants Limited | Data processing apparatus |
US20090037887A1 (en) | 2007-07-30 | 2009-02-05 | Chavan Shasank K | Compiler-inserted predicated tracing |
US8127296B2 (en) | 2007-09-06 | 2012-02-28 | Dell Products L.P. | Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration |
US8453121B2 (en) | 2007-10-25 | 2013-05-28 | International Business Machines Corporation | Managing the tracing of the execution of a computer program |
US7962314B2 (en) | 2007-12-18 | 2011-06-14 | Global Foundries Inc. | Mechanism for profiling program software running on a processor |
US8141053B2 (en) | 2008-01-04 | 2012-03-20 | International Business Machines Corporation | Call stack sampling using a virtual machine |
US8090933B2 (en) | 2008-02-12 | 2012-01-03 | International Business Machines Corporation | Methods computer program products and systems for unifying program event recording for branches and stores in the same dataflow |
US7870438B2 (en) | 2008-02-15 | 2011-01-11 | International Business Machines Corporation | Method, system and computer program product for sampling computer system performance data |
US8312253B2 (en) | 2008-02-22 | 2012-11-13 | Freescale Semiconductor, Inc. | Data processor device having trace capabilities and method |
US7904460B2 (en) | 2008-04-23 | 2011-03-08 | Microsoft Corporation | Determining computer information from processor properties |
US8572577B2 (en) | 2008-06-20 | 2013-10-29 | International Business Machines Corporation | Monitoring changes to data within a critical section of a threaded program |
GB2461716A (en) | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
US9449314B2 (en) | 2008-10-02 | 2016-09-20 | International Business Machines Corporation | Virtualization of a central processing unit measurement facility |
US8307345B2 (en) | 2008-11-04 | 2012-11-06 | Ca, Inc. | Intelligent engine for dynamic and rule based instrumentation of software |
US8478948B2 (en) | 2008-12-04 | 2013-07-02 | Oracle America, Inc. | Method and system for efficient tracing and profiling of memory accesses during program execution |
US8527734B2 (en) | 2009-01-23 | 2013-09-03 | International Business Machines Corporation | Administering registered virtual addresses in a hybrid computing environment including maintaining a watch list of currently registered virtual addresses by an operating system |
JP5326708B2 (ja) | 2009-03-18 | 2013-10-30 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US8694962B2 (en) | 2009-04-30 | 2014-04-08 | International Business Machines Corporation | Aspect-oriented parallel programming language extensions |
JP5411587B2 (ja) | 2009-06-09 | 2014-02-12 | トヨタ自動車株式会社 | マルチスレッド実行装置、マルチスレッド実行方法 |
US8650562B2 (en) | 2009-06-12 | 2014-02-11 | International Business Machines Corporation | Method and apparatus for scalable monitoring of virtual machine environments combining base virtual machine and single monitoring agent for measuring common characteristics and individual virtual machines measuring individualized characteristics |
US8347001B2 (en) | 2010-01-08 | 2013-01-01 | International Business Machines Corporation | Hardware support for software controlled fast multiplexing of performance counters |
US8316194B2 (en) | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
US9092253B2 (en) | 2009-12-15 | 2015-07-28 | Microsoft Technology Licensing, Llc | Instrumentation of hardware assisted transactional memory system |
KR20110070468A (ko) | 2009-12-18 | 2011-06-24 | 삼성전자주식회사 | 인스트루먼테이션 실행 장치 및 방법 |
US8301849B2 (en) | 2009-12-23 | 2012-10-30 | Intel Corporation | Transactional memory in out-of-order processors with XABORT having immediate argument |
US8453124B2 (en) | 2009-12-23 | 2013-05-28 | International Business Machines Corporation | Collecting computer processor instrumentation data |
US8782612B2 (en) | 2010-05-11 | 2014-07-15 | Ca, Inc. | Failsafe mechanism for dynamic instrumentation of software using callbacks |
US8473925B2 (en) | 2010-05-11 | 2013-06-25 | Ca, Inc. | Conditional dynamic instrumentation of software in a specified transaction context |
US8566800B2 (en) | 2010-05-11 | 2013-10-22 | Ca, Inc. | Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation |
US9009663B2 (en) | 2010-06-01 | 2015-04-14 | Red Hat, Inc. | Cartridge-based package management |
GB2481385B (en) | 2010-06-21 | 2018-08-15 | Advanced Risc Mach Ltd | Tracing speculatively executed instructions |
US20120167057A1 (en) | 2010-12-22 | 2012-06-28 | Microsoft Corporation | Dynamic instrumentation of software code |
US9430275B2 (en) | 2011-06-03 | 2016-08-30 | Oracle International Corporation | Synchronization between concurrent notifier and waiter transactions using transaction condition variables |
US8707314B2 (en) | 2011-12-16 | 2014-04-22 | Advanced Micro Devices, Inc. | Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations |
-
2012
- 2012-03-16 US US13/422,563 patent/US9367316B2/en active Active
-
2013
- 2013-03-05 US US13/784,868 patent/US9442728B2/en active Active
- 2013-03-06 WO PCT/JP2013/001379 patent/WO2013136720A1/en active Application Filing
- 2013-03-06 JP JP2014543663A patent/JP6153534B2/ja active Active
- 2013-03-06 EP EP13761389.9A patent/EP2834743A4/en not_active Withdrawn
- 2013-03-06 CN CN201380014604.5A patent/CN104169887B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2013136720A1 (en) | 2013-09-19 |
EP2834743A1 (en) | 2015-02-11 |
CN104169887B (zh) | 2017-06-13 |
JP2015513376A (ja) | 2015-05-11 |
US20130246772A1 (en) | 2013-09-19 |
EP2834743A4 (en) | 2015-05-06 |
CN104169887A (zh) | 2014-11-26 |
US9442728B2 (en) | 2016-09-13 |
US20130247009A1 (en) | 2013-09-19 |
US9367316B2 (en) | 2016-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6095682B2 (ja) | プログラム・イベント記録イベントのランタイム計装イベントへの変換 | |
JP6058020B2 (ja) | トランザクション実行モードでのランタイム・インスツルメンテーション・サンプリングを実現するためのコンピュータ・プログラム・プロダクト、方法、およびシステム(トランザクション実行モードでのランタイム・インスツルメンテーション・サンプリング) | |
JP6099060B2 (ja) | 低特権状態からのランタイム・インストルメンテーション・ファシリティの動作の制御 | |
JP6138142B2 (ja) | 被管理ランタイムのためのハードウェア・ベース・ランタイム計装機構 | |
JP6195572B2 (ja) | ランタイム計装制御の状況の決定のためのコンピュータ・プログラム、方法、およびシステム | |
JP6058012B2 (ja) | ランタイム・インスツルメンテーションを使用してプロセッサのプロセッサ特性情報をモニターするためのコンピュータ・プログラム・プロダクト、方法、およびシステム(プロセッサ特性のランタイム・インスツルメンテーション・モニタリング) | |
JP6153533B2 (ja) | ランタイム・インストルメンテーション指向サンプリング | |
EP2825963B1 (en) | Run-time instrumentation reporting | |
JP6153534B2 (ja) | 命令オペレーション・コードによるランタイム計装間接サンプリング | |
JP6034393B2 (ja) | アドレスによるランタイム・インスツルメンテーション間接サンプリングを実現するためのコンピュータ・プログラム・プロダクト、方法、およびシステム(アドレスによるランタイム・インスツルメンテーション間接サンプリング) | |
JP6058015B2 (ja) | ランタイム・インスツルメンテーション放出(riemit)命令を実行するためのコンピュータ・プログラム・プロダクト、方法、およびコンピュータ・システム(ランタイム・インスツルメンテーション・コントロール放出命令) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6153534 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |