JP2012003771A - 推測的に実行される命令のトレーシング - Google Patents
推測的に実行される命令のトレーシング Download PDFInfo
- Publication number
- JP2012003771A JP2012003771A JP2011136189A JP2011136189A JP2012003771A JP 2012003771 A JP2012003771 A JP 2012003771A JP 2011136189 A JP2011136189 A JP 2011136189A JP 2011136189 A JP2011136189 A JP 2011136189A JP 2012003771 A JP2012003771 A JP 2012003771A
- Authority
- JP
- Japan
- Prior art keywords
- trace
- group
- instruction
- value
- control data
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 235000013619 trace mineral Nutrition 0.000 claims description 69
- 239000011573 trace mineral Substances 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 36
- 230000000694 effects Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241000499469 Collimonas pratensis Species 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 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/3476—Data logging
-
- 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/3636—Software debugging by tracing the execution of the program
-
- 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/3471—Address tracing
-
- 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/865—Monitoring of software
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】トレースユニットは、プロセッサの挙動を監視するトレース回路50と、トレース回路を制御するため現在のトレース制御データを蓄積する蓄積回路60と、トレース制御データの少なくとも一部を蓄積するデータストア65と、を備え、トレース回路は、命令グループの実行の検出に応じてトレース制御データをデータストアに蓄積するよう構成され、トレース回路は、推測的に実行された少なくとも1つの命令グループをキャンセルする少なくとも1つのプロセッサを検出することに反応し、キャンセルされる推測実行命令の前に実行された命令グループのデータストアに蓄積されたトレース制御データの少なくとも一部を取り出し、且つ取り出されたトレース制御データを蓄積回路に蓄積する。
【選択図】図3
Description
60 レジスタ
65 データストア
70 トレースインデックスユニット
72 カウンタ
80 ストア
Claims (25)
- 少なくとも1つの命令ストリームを実行する少なくとも1つのプロセッサの処理活動を指示するトレースデータ項目を生成するトレースユニットであって、前記少なくとも1つの命令ストリームは複数の命令グループを備え、前記少なくとも1つのプロセッサは前記命令の少なくとも一部を推測的に実行し、前記トレースユニットは、
現在のトレース制御データによって制御され前記少なくとも1つのプロセッサの挙動を監視するトレース回路と、
前記実行される命令グループのうち該当する命令グループに関連する前記トレース制御データの少なくとも一部を蓄積するデータストアと、を備え、
前記トレース回路は、前記命令グループの実行の検出に応じて前記トレース制御データを前記データストアに蓄積するよう構成され、
前記トレース回路は、前記推測的に実行された少なくとも1つの命令グループをキャンセルする前記少なくとも1つのプロセッサを検出することに反応し、前記データストアに蓄積された前記トレース制御データの少なくとも一部を取り出し、且つ前記取り出されたトレース制御データにより前記トレース回路を制御することを特徴とするトレースユニット。 - 前記トレースユニットはさらに、前記トレース回路を制御するため前記現在のトレース制御データを蓄積する蓄積回路を備え、前記トレース回路は、前記推測的に実行された少なくとも1つの命令グループをキャンセルする前記少なくとも1つのプロセッサを検出することに応じ、前記取り出されたトレース制御データを前記蓄積回路に蓄積することを特徴とする請求項1に記載のトレースユニット。
- 前記トレース制御データは、前記該当する命令グループを識別する識別子とともに、前記データストアに蓄積されることを特徴とする請求項1に記載のトレースユニット。
- 前記トレース回路は、前記キャンセルされた命令グループの前記データストアに蓄積された前記トレース制御データの前記少なくとも一部を取り出すよう構成されることを特徴とする請求項1に記載のトレースユニット。
- 前記命令グループは、前記グループ内の最初の命令が実行されると前記グループ内の前記命令の全てが実行するようグループ分けされた命令を備えることを特徴とする請求項1に記載のトレースユニット。
- 前記トレースユニットは、アサートされたtrace enable信号に反応し前記トレース回路による前記少なくとも1つのプロセッサの前記挙動の監視を可能にし、且つアサートされていない前記trace enable信号に反応し前記トレース回路による前記挙動の監視を禁止することを特徴とする請求項1に記載のトレースユニット。
- 前記トレース制御データはスティッキー値を備え、前記トレース回路は所定値を有する前記スティッキー値に反応し、trace enable信号がenabled値を有するか否かにかかわらず、後に実行されるトレース有効命令のトレース値を出力し、且つ前記スティッキー値をリセットし、トレース有効命令はトレースデータ項目の出力をトリガする命令であることを特徴とする請求項6に記載のトレースユニット。
- 前記トレース回路は、トレースデータ項目の出力をトリガするトレース有効命令ではない命令の実行を検出することに反応し、前記トレース制御データにて前記スティッキー値を設定することを特徴とする請求項7に記載のトレースユニット。
- 前記トレース回路は、トレースデータ項目の出力をトリガするトレース有効命令ではない前記命令グループの1命令グループにおける最終命令の実行を検出することに反応し、前記トレース制御データにて前記スティッキー値を設定し、且つ前記設定されたスティッキー値を前記後続命令グループの前記データストアに蓄積することを特徴とする請求項8に記載のトレースユニット。
- 前記トレース制御データはprevious−traced値を備え、前記トレース回路は、先行グループの最終命令が実行されるときにトレースがイネーブルされていないことを検出することに反応し、前記後続命令グループのため前記previous−traced値を設定し、前記トレース回路は、推測的に実行された命令グループをキャンセルする前記プロセッサと、前記キャンセルされたグループとの関連で蓄積され設定される前記previous−traced値とに反応し、前記トレースがオンになることを指示するトレースエレメントを出力することを特徴とする請求項1に記載のトレースユニット。
- 前記トレース制御データはinitial−traced値を備え、前記トレース回路は、命令グループの実行中に命令アドレスを指示するトレース状態エレメントの出力に反応し、前記グループの前記initial−traced値を設定し、前記トレース回路は、前記initial−traced値が設定された命令グループをキャンセルする前記プロセッサを検出することに応じ、前記キャンセル後に実行された前記命令の命令アドレスを指示するさらなる状態エレメントを出力することを特徴とする請求項1に記載のトレースユニット。
- 前記トレース制御データはtraced−interesting値を備え、前記traced−interesting値は、グループのトレースエレメントが出力されることに応じて設定され、且つグループのトレースエレメントが出力されない場合にクリアになることを特徴とする請求項1に記載のトレースユニット。
- 前記トレース制御データはtrace multiple値を備え、前記値が設定される場合は前記グループがトレースエレメントを生成する複数のトレース有効命令を備えていることを意味し、前記値が設定されない場合は前記グループが1個又はゼロ個のトレース有効命令を備えていることを意味することを特徴とする請求項1に記載のトレースユニット。
- 前記トレース制御データはtrace multiple値を備え、前記値は、トレースエレメントを生成する前記グループ内のトレース有効命令数を指示することを特徴とする請求項1に記載のトレースユニット。
- 前記トレースユニットは、インデックス値を生成し、且つ前記命令グループの各々に割り振られた前記インデックス値を蓄積するよう構成され、前記インデックス値はトレースエレメントが生成されるたびに更新されることを特徴とする請求項1に記載のトレースユニット。
- 前記トレースユニットは前記インデックス値を生成するカウンタを備え、前記トレース回路は、前記グループの実行開始時の前記カウンタ値を指示する最初カウンタ値と、前記グループの実行終了時の前記カウンタ値を指示する最後カウンタ値とのうち、少なくとも一方を、各命令グループの前記データストアに蓄積することを特徴とする請求項15に記載のトレースユニット。
- 前記トレースユニットは前記インデックス値を生成するカウンタを備え、前記トレース回路は、前記グループの実行開始時の前記カウンタ値を指示する最初カウンタ値と、前記グループの実行終了時の前記カウンタ値を指示する最後カウンタ値とを、各命令グループの前記データストアに蓄積することを特徴とする請求項15に記載のトレースユニット。
- 前記トレース回路は、推測的に実行された選択命令グループがキャンセルされたことを指示するキャンセル指示を前記データ処理装置から受信し、前記キャンセルされた選択命令グループを指示するキャンセルトレース項目を生成し、且つ前記現在カウンタ値と、前記キャンセルされたグループの実行開始時の前記カウンタ値との差に関する情報を、前記キャンセルトレース項目に含めるよう構成されることを特徴とする請求項17に記載のトレースユニット。
- 前記トレース制御データはtraced−interesting値を備え、前記traced−interesting値は、グループのトレースエレメントが出力されることに応じて設定され、且つグループのトレースエレメントが出力されない場合にクリアになり、前記トレース回路は、前記traced−interesting値を頼りに前記差に関する前記情報を判断するよう構成されることを特徴とする請求項18に記載のトレースユニット。
- 前記トレースユニットは、推測的に実行された選択命令グループがコミットされたことを伝える前記データ処理装置からのコミット指示の受信に反応し、前記選択グループを指示するコミットトレース項目を生成し、且つ前記現在カウンタ値と前記選択グループの前記最後カウンタ値との差に関する情報を含むようにすることを特徴とする請求項16に記載のトレースユニット。
- 前記トレース制御データはtraced−interesting値を備え、前記traced−interesting値は、グループのトレースエレメントが出力されることに応じて設定され、且つグループのトレースエレメントが出力されない場合にクリアになり、前記トレース回路は、前記traced−interesting値を頼りに前記差に関する前記情報を判断するよう構成されることを特徴とする請求項20に記載のトレースユニット。
- 前記トレース制御データは前記グループのtrace start/stop値を備え、前記trace start/stop値はtrace enableが設定されるか否かに影響し、前記trace start/stop値は前記少なくとも1つのプロセッサの検出される所定挙動に応じて設定されることを特徴とする請求項1に記載のトレースユニット。
- 命令ストリームを実行するデータ処理装置と、前記データ処理装置を監視する請求項1に記載のトレースユニットと、を備えることを特徴とするデータ処理ユニット。
- 少なくとも1つの命令ストリームを実行する少なくとも1つのプロセッサの処理活動を指示するトレースデータ項目を生成する方法であって、前記少なくとも1つの命令ストリームは複数の命令グループを備え、前記少なくとも1つのプロセッサは前記命令の少なくとも一部を推測的に実行し、前記方法は、
現在のトレース制御データにより制御されるトレース回路を使用し前記少なくとも1つのプロセッサの挙動を監視するステップと、
前記実行される命令グループの1命令グループに関連する前記トレース制御データの少なくとも一部を蓄積するステップと、
前記推測的に実行された少なくとも1つの命令グループをキャンセルする前記少なくとも1つのプロセッサを検出することに応じ、前記キャンセルされる推測実行命令の直前に実行された前記命令グループの前記データストアに蓄積された前記トレース制御データの少なくとも一部を取り出すステップと、前記取り出されたトレース制御データにより前記トレース回路を制御するステップと、を備えることを特徴とする方法。 - 少なくとも1つの命令ストリームを実行する少なくとも1つのプロセッサの処理活動を指示するトレースデータ項目を生成するトレース手段であって、前記少なくとも1つの命令ストリームは複数の命令グループを備え、前記少なくとも1つのプロセッサは前記命令の少なくとも一部を推測的に実行し、前記トレース手段は、
現在のトレース制御データにより制御される前記少なくとも1つのプロセッサの挙動を監視するトレース監視手段と、
前記実行される命令グループのうち該当する命令グループに関連する前記トレース制御データの少なくとも一部を蓄積するデータ蓄積手段と、を備え、
前記トレース監視手段は、前記命令グループの実行の検出に応じ、前記トレース制御データの前記少なくとも一部を前記データ蓄積手段に蓄積し、
前記トレース監視手段は、前記推測的に実行された少なくとも1つの命令グループをキャンセルする前記少なくとも1つのプロセッサを検出することに反応し、前記キャンセルされた推測実行命令の前に実行された前記命令グループの前記データ蓄積手段に蓄積された前記トレース制御データの少なくとも一部を取り出し、且つ前記取り出されたトレース制御データにより前記トレース監視手段を制御することを特徴とするトレース手段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1010356.2 | 2010-06-21 | ||
GB1010356.2A GB2481385B (en) | 2010-06-21 | 2010-06-21 | Tracing speculatively executed instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012003771A true JP2012003771A (ja) | 2012-01-05 |
JP5604373B2 JP5604373B2 (ja) | 2014-10-08 |
Family
ID=42582707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011136189A Active JP5604373B2 (ja) | 2010-06-21 | 2011-06-20 | 推測的に実行される命令のトレーシング |
Country Status (4)
Country | Link |
---|---|
US (2) | US8769344B2 (ja) |
JP (1) | JP5604373B2 (ja) |
CN (1) | CN102289405B (ja) |
GB (1) | GB2481385B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021511587A (ja) * | 2018-01-25 | 2021-05-06 | エイアールエム リミテッド | コミット・ウィンドウ移動要素 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2481385B (en) * | 2010-06-21 | 2018-08-15 | Advanced Risc Mach Ltd | Tracing speculatively executed instructions |
US8799719B2 (en) * | 2011-05-19 | 2014-08-05 | International Business Machines Corporation | On demand tracing of application code execution |
US9003375B2 (en) * | 2011-12-30 | 2015-04-07 | Intel Corporation | Optional logging of debug activities in a real time instruction tracing log |
US9405541B2 (en) | 2012-03-16 | 2016-08-02 | International Business Machines Corporation | Run-time instrumentation indirect sampling by address |
US9430238B2 (en) | 2012-03-16 | 2016-08-30 | International Business Machines Corporation | Run-time-instrumentation controls emit instruction |
US9367316B2 (en) | 2012-03-16 | 2016-06-14 | International Business Machines Corporation | Run-time instrumentation indirect sampling by instruction operation code |
US9158660B2 (en) | 2012-03-16 | 2015-10-13 | International Business Machines Corporation | Controlling operation of a run-time instrumentation facility |
US9280447B2 (en) | 2012-03-16 | 2016-03-08 | International Business Machines Corporation | Modifying run-time-instrumentation controls from a lesser-privileged state |
US9442824B2 (en) | 2012-03-16 | 2016-09-13 | International Business Machines Corporation | Transformation of a program-event-recording event into a run-time instrumentation event |
US9471315B2 (en) | 2012-03-16 | 2016-10-18 | International Business Machines Corporation | Run-time instrumentation reporting |
US9454462B2 (en) | 2012-03-16 | 2016-09-27 | International Business Machines Corporation | Run-time instrumentation monitoring for processor characteristic changes |
US9411591B2 (en) | 2012-03-16 | 2016-08-09 | International Business Machines Corporation | Run-time instrumentation sampling in transactional-execution mode |
US9250902B2 (en) | 2012-03-16 | 2016-02-02 | International Business Machines Corporation | Determining the status of run-time-instrumentation controls |
US9465716B2 (en) | 2012-03-16 | 2016-10-11 | International Business Machines Corporation | Run-time instrumentation directed sampling |
US9483268B2 (en) | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
US9880842B2 (en) * | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
CN105229616B (zh) * | 2013-06-27 | 2018-06-29 | 英特尔公司 | 在指令追踪系统中跟踪处理装置的模式 |
JP6122749B2 (ja) * | 2013-09-30 | 2017-04-26 | ルネサスエレクトロニクス株式会社 | コンピュータシステム |
US9626119B2 (en) * | 2014-11-14 | 2017-04-18 | Intel Corporation | Using counters and a table to protect data in a storage device |
US9910475B2 (en) | 2014-12-23 | 2018-03-06 | Intel Corporation | Processor core power event tracing |
US10061583B2 (en) * | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
GB2534923B (en) * | 2015-02-06 | 2022-03-09 | Advanced Risc Mach Ltd | Trace data capture device and method, system, diagnostic method and apparatus and computer program |
US9542290B1 (en) | 2016-01-29 | 2017-01-10 | International Business Machines Corporation | Replicating test case data into a cache with non-naturally aligned data boundaries |
US10169180B2 (en) | 2016-05-11 | 2019-01-01 | International Business Machines Corporation | Replicating test code and test data into a cache with non-naturally aligned data boundaries |
GB2551747B (en) * | 2016-06-29 | 2019-04-10 | Advanced Risc Mach Ltd | Diagnostic data capture |
US10055320B2 (en) | 2016-07-12 | 2018-08-21 | International Business Machines Corporation | Replicating test case data into a cache and cache inhibited memory |
GB2553582B (en) * | 2016-09-13 | 2020-07-08 | Advanced Risc Mach Ltd | An apparatus and method for generating and processing a trace stream indicative of instruction execution by processing circuitry |
US10223225B2 (en) | 2016-11-07 | 2019-03-05 | International Business Machines Corporation | Testing speculative instruction execution with test cases placed in memory segments with non-naturally aligned data boundaries |
US10261878B2 (en) | 2017-03-14 | 2019-04-16 | International Business Machines Corporation | Stress testing a processor memory with a link stack |
US9875167B1 (en) | 2017-03-29 | 2018-01-23 | Google Inc. | Distributed hardware tracing |
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
US10929141B1 (en) * | 2018-03-06 | 2021-02-23 | Advanced Micro Devices, Inc. | Selective use of taint protection during speculative execution |
US10936402B2 (en) | 2018-11-26 | 2021-03-02 | International Business Machines Corporation | Speculative data processing and recovery |
US11526780B2 (en) * | 2019-08-05 | 2022-12-13 | Microsoft Technology Licensing, Llc | Converting nonnative skills for conversational computing interfaces |
US11463443B2 (en) | 2019-09-19 | 2022-10-04 | Bank Of America Corporation | Real-time management of access controls |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0546430A (ja) * | 1990-11-29 | 1993-02-26 | Toshiba Corp | マイクロプロセツサ装置およびそれを用いたエミユレータ装置 |
JP2007515715A (ja) * | 2003-12-03 | 2007-06-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 命令キャッシュからラベル境界上のトレースキャッシュに遷移させる方法 |
US20080155339A1 (en) * | 2006-10-25 | 2008-06-26 | Gary S Lowe | Automated tracing |
WO2009133354A2 (en) * | 2008-04-28 | 2009-11-05 | Imagination Technologies Limited | System for providing trace data in a data processor having a pipelined architecture |
JP2009540412A (ja) * | 2006-06-08 | 2009-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ローカル及びグローバル分岐予測情報の格納 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0404068A3 (en) * | 1989-06-20 | 1991-12-27 | Fujitsu Limited | Branch instruction executing device |
US5564028A (en) * | 1994-01-11 | 1996-10-08 | Texas Instruments Incorporated | Pipelined data processing including instruction trace |
US5802272A (en) * | 1994-12-19 | 1998-09-01 | Digital Equipment Corporation | Method and apparatus for tracing unpredictable execution flows in a trace buffer of a high-speed computer system |
US6094729A (en) * | 1997-04-08 | 2000-07-25 | Advanced Micro Devices, Inc. | Debug interface including a compact trace record storage |
US6021488A (en) * | 1997-09-23 | 2000-02-01 | International Business Machines Corp. | Data processing system having an apparatus for tracking a status of an out-of-order operation and method thereof |
US7137105B2 (en) * | 1999-05-12 | 2006-11-14 | Wind River Systems, Inc. | Dynamic software code instrumentation method and system |
US7058928B2 (en) * | 1999-12-23 | 2006-06-06 | Identify Software Ltd. | System and method for conditional tracing of computer programs |
US6681321B1 (en) * | 2000-04-20 | 2004-01-20 | International Business Machines Corporation | Method system and apparatus for instruction execution tracing with out of order processors |
FR2864655B1 (fr) * | 2003-12-31 | 2006-03-24 | Trusted Logic | Procede de controle d'integrite de programmes par verification d'empreintes de traces d'execution |
US7228457B2 (en) * | 2004-03-16 | 2007-06-05 | Arm Limited | Performing diagnostic operations upon a data processing apparatus with power down support |
US7283619B2 (en) * | 2004-06-15 | 2007-10-16 | Cisco Technology, Inc. | System and method for end-to-end communications tracing |
US7707394B2 (en) * | 2006-05-30 | 2010-04-27 | Arm Limited | Reducing the size of a data stream produced during instruction tracing |
US7757068B2 (en) * | 2007-01-16 | 2010-07-13 | Oracle America, Inc. | Method and apparatus for measuring performance during speculative execution |
GB2478328B (en) * | 2010-03-03 | 2015-07-01 | Advanced Risc Mach Ltd | Method, apparatus and trace module for generating timestamps |
GB2481385B (en) * | 2010-06-21 | 2018-08-15 | Advanced Risc Mach Ltd | Tracing speculatively executed instructions |
-
2010
- 2010-06-21 GB GB1010356.2A patent/GB2481385B/en active Active
-
2011
- 2011-06-13 US US13/067,603 patent/US8769344B2/en active Active
- 2011-06-20 JP JP2011136189A patent/JP5604373B2/ja active Active
- 2011-06-21 CN CN201110184047.4A patent/CN102289405B/zh active Active
-
2014
- 2014-03-12 US US14/205,438 patent/US9639361B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0546430A (ja) * | 1990-11-29 | 1993-02-26 | Toshiba Corp | マイクロプロセツサ装置およびそれを用いたエミユレータ装置 |
JP2007515715A (ja) * | 2003-12-03 | 2007-06-14 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 命令キャッシュからラベル境界上のトレースキャッシュに遷移させる方法 |
JP2009540412A (ja) * | 2006-06-08 | 2009-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ローカル及びグローバル分岐予測情報の格納 |
US20080155339A1 (en) * | 2006-10-25 | 2008-06-26 | Gary S Lowe | Automated tracing |
WO2009133354A2 (en) * | 2008-04-28 | 2009-11-05 | Imagination Technologies Limited | System for providing trace data in a data processor having a pipelined architecture |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021511587A (ja) * | 2018-01-25 | 2021-05-06 | エイアールエム リミテッド | コミット・ウィンドウ移動要素 |
JP7153731B2 (ja) | 2018-01-25 | 2022-10-14 | アーム・リミテッド | コミット・ウィンドウ移動要素 |
Also Published As
Publication number | Publication date |
---|---|
CN102289405A (zh) | 2011-12-21 |
JP5604373B2 (ja) | 2014-10-08 |
US8769344B2 (en) | 2014-07-01 |
GB2481385A (en) | 2011-12-28 |
GB201010356D0 (en) | 2010-08-04 |
CN102289405B (zh) | 2016-11-23 |
US9639361B2 (en) | 2017-05-02 |
US20140195786A1 (en) | 2014-07-10 |
US20110314342A1 (en) | 2011-12-22 |
GB2481385B (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5604373B2 (ja) | 推測的に実行される命令のトレーシング | |
KR100388947B1 (ko) | 실행 파이프라인 외부에 복수의 프로그램 카운터 및트레이스 버퍼를 구비한 프로세서 | |
EP2643751B1 (en) | Processing apparatus, trace unit and diagnostic apparatus | |
TWI517035B (zh) | 當追蹤資料處理系統時的關鍵配置 | |
KR100382126B1 (ko) | 오예측 이후에 재실행될 수 있는 명령어를 홀드하기 위한 파이프라인 외부의 트레이스 버퍼 | |
US6754856B2 (en) | Memory access debug facility | |
TW201439904A (zh) | 在提前執行中管理潛在無效結果 | |
KR20010024751A (ko) | 비순서적 멀티스레드 실행을 수행하는 적재 및 저장명령어를 배열하기 위한 시스템 | |
US7519510B2 (en) | Derivative performance counter mechanism | |
US9514046B1 (en) | Dynamic detection and software correction of incorrect lock and atomic update hint bits | |
US20170199778A1 (en) | Lazy runahead operation for a microprocessor | |
US20140164738A1 (en) | Instruction categorization for runahead operation | |
EP3765963B1 (en) | Tracing branch instructions | |
US6910120B2 (en) | Speculative counting of performance events with rewind counter | |
US9921953B2 (en) | Dynamic detection and correction of incorrect lock and atomic update hint bits | |
US9858172B2 (en) | Apparatus and method for controlling debugging of program instructions including a transaction | |
JP7153731B2 (ja) | コミット・ウィンドウ移動要素 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140702 |
|
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: 20140728 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140825 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5604373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |