JP5512041B2 - データ処理システムのトレース時のキー割り当て - Google Patents
データ処理システムのトレース時のキー割り当て Download PDFInfo
- Publication number
- JP5512041B2 JP5512041B2 JP2013515964A JP2013515964A JP5512041B2 JP 5512041 B2 JP5512041 B2 JP 5512041B2 JP 2013515964 A JP2013515964 A JP 2013515964A JP 2013515964 A JP2013515964 A JP 2013515964A JP 5512041 B2 JP5512041 B2 JP 5512041B2
- Authority
- JP
- Japan
- Prior art keywords
- trace
- index value
- data
- unit
- index
- 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
- 238000012545 processing Methods 0.000 title claims description 82
- 230000000694 effects Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 15
- 238000012790 confirmation Methods 0.000 description 24
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Description
例示のみを目的として、添付の図面に示されるような本発明の実施形態を参照しながら、本発明をさらに説明する。
1)現在の未出力の総確定カウントを出力し、任意の後続の確定カウントがすぐに出力される、または、
2)全てのトレースデータが確定またはキャンセルされるのを待ち、次いで総確定カウントを出力する。
Claims (14)
- データ処理ユニットの処理アクティビティを示すトレースデータのアイテムを生成するように構成されるトレースユニットであって、
インデックス値を、前記トレースユニットにより生成された前記トレースデータのアイテムの少なくともサブセットに関連付けるように構成される、トレースインデックスユニットを備え、
前記トレースインデックスユニットは、所定のシーケンスのインデックス値の1つとして前記インデックス値を生成するように構成され、
前記所定のシーケンスにおけるn+1番目のインデックス値は、前記所定のシーケンスにおけるn番目のインデックス値のみから決定され得るものであり、
前記トレースユニットは、少なくとも1つの前記インデックス値を記憶するように構成される、インデックス記憶ユニットを備え、
前記インデックス記憶ユニットは、選択的に飛行中指標を記憶するように構成され、前記飛行中指標は、前記所定のシーケンスのインデックス値の記憶されたインデックス値が現在使用されていることを示し、前記トレースユニットは、次のインデックス値を生成する際に、前記飛行中指標を参照し、前記飛行中指標が、前記次のインデックス値がまだ使用中であることを示す場合、前記次のインデックス値の代わりに代替インデックス値を記憶するように構成される、前記トレースユニット。 - 前記データ処理ユニットの前記処理アクティビティは、データアドレスを使用した記憶されたデータ値への参照を含み、前記インデックス値は、前記少なくとも1つのデータアドレスに関連付けられたデータアドレスインデックス値である、請求項1に記載のトレースユニット。
- 前記記憶されたデータ値への前記参照は、前記記憶されたデータ値のローディングを含む、請求項2に記載のトレースユニット。
- 前記記憶されたデータ値への前記参照は、前記記憶されたデータ値を記憶することを含む、請求項2に記載のトレースユニット。
- 前記トレースユニットは、データアドレスインデックス値記憶テーブルに前記データアドレスインデックス値を記憶するように構成される、請求項2に記載のトレースユニット。
- 前記トレースユニットは、選択的に飛行中指標を記憶するように構成され、前記飛行中指標は、前記データアドレスインデックス値に関連付けられた前記記憶されたデータ値への参照がまだ完了しておらず、前記データアドレスインデックス値が飛行中であることを示す、請求項5に記載のトレースユニット。
- 前記トレースユニットは、次のデータアドレスインデックス値を生成する際に、記憶された飛行中指標を参照し、前記記憶された飛行中指標が、前記次のデータアドレスインデックス値がまだ飛行中であることを示す場合、前記次のデータアドレスインデックス値の代わりに代替データアドレスインデックス値を記憶するように構成される、請求項6に記載のトレースユニット。
- 前記代替データアドレスインデックス値は、データ処理ユニットインデックス値を含み、前記データ処理ユニットインデックス値は、前記データアドレスを参照するために前記データ処理ユニットにより使用される、請求項7に記載のトレースユニット。
- 前記代替データアドレスインデックス値は、データ処理ユニットインデックス値との1対1対応を有し、前記データ処理ユニットインデックス値は、前記データアドレスを参照するために前記データ処理ユニットにより使用される、請求項7に記載のトレースユニット。
- 前記飛行中指標は、前記データアドレスインデックス値に関連して記憶される、請求項8に記載のトレースユニット。
- 前記飛行中指標は、前記データ処理ユニットインデックス値に関連して記憶される、請求項8に記載のトレースユニット。
- 前記トレースユニットは、前記代替データアドレスインデックス値を示すトレースデータのアイテムを生成するように構成される、請求項7に記載のトレースユニット。
- 前記代替データアドレスインデックス値および前記データアドレスインデックス値は、符号化プロトコルを共有する、請求項7に記載のトレースユニット。
- データ処理ユニットの処理アクティビティを示すトレースデータのアイテムを生成する方法であって、
前記トレースデータのアイテムを生成するステップと、
インデックス値を、生成されたトレースデータのアイテムの少なくともサブセットに関連付けるステップと、
所定のシーケンスのインデックス値の1つとして前記インデックス値を生成するステップと、を含み、
前記所定のシーケンスにおけるn+1番目のインデックス値は、前記所定のシーケンスにおけるn番目のインデックス値のみから決定され得るものであり、
前記方法は更に、少なくとも1つの前記インデックス値をインデックス記憶ユニットに記憶することを含み、
前記インデックス記憶ユニットは、選択的に飛行中指標を記憶するように構成され、前記飛行中指標は、前記所定のシーケンスのインデックス値の記憶されたインデックス値が現在使用されていることを示し、
前記方法は、次のインデックス値を生成する際に、前記飛行中指標を参照し、前記飛行中指標が、前記次のインデックス値がまだ使用中であることを示す場合、前記次のインデックス値の代わりに代替インデックス値を記憶することを含む、前記方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1010350.5 | 2010-06-21 | ||
GB1010350.5A GB2481384B (en) | 2010-06-21 | 2010-06-21 | Key allocation when tracing data processing systems |
PCT/GB2011/050979 WO2011161429A2 (en) | 2010-06-21 | 2011-05-24 | Key allocation when tracing data processing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013533546A JP2013533546A (ja) | 2013-08-22 |
JP5512041B2 true JP5512041B2 (ja) | 2014-06-04 |
Family
ID=42582702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013515964A Active JP5512041B2 (ja) | 2010-06-21 | 2011-05-24 | データ処理システムのトレース時のキー割り当て |
Country Status (10)
Country | Link |
---|---|
US (1) | US8707106B2 (ja) |
EP (1) | EP2583179B1 (ja) |
JP (1) | JP5512041B2 (ja) |
KR (1) | KR101708170B1 (ja) |
CN (1) | CN102947804B (ja) |
GB (1) | GB2481384B (ja) |
IL (1) | IL222736A (ja) |
MY (1) | MY156921A (ja) |
TW (1) | TWI517035B (ja) |
WO (1) | WO2011161429A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713204B2 (en) * | 2011-12-27 | 2014-04-29 | Apple Inc. | High-performance AHCI interface |
US9183147B2 (en) * | 2012-08-20 | 2015-11-10 | Apple Inc. | Programmable resources to track multiple buses |
US9626119B2 (en) * | 2014-11-14 | 2017-04-18 | Intel Corporation | Using counters and a table to protect data in a storage device |
US10061583B2 (en) * | 2014-12-24 | 2018-08-28 | Intel Corporation | Systems, apparatuses, and methods for data speculation execution |
US10185645B2 (en) | 2017-03-08 | 2019-01-22 | Microsoft Technology Licensing, Llc | Resource lifetime analysis using a time-travel trace |
US9934126B1 (en) * | 2017-03-08 | 2018-04-03 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of reverse lookup data structures |
US9934127B1 (en) | 2017-03-08 | 2018-04-03 | Microsoft Technology Licensing, Llc | Indexing a trace by insertion of key frames for replay responsiveness |
US10282274B2 (en) | 2017-06-14 | 2019-05-07 | Microsoft Technology Licensing, Llc | Presenting differences between code entity invocations |
GB2570466B (en) * | 2018-01-25 | 2020-03-04 | Advanced Risc Mach Ltd | Commit window move element |
US11061807B2 (en) * | 2018-12-28 | 2021-07-13 | Intel Corporation | Trace management during aborted speculative operations |
CN112579169B (zh) * | 2019-09-27 | 2024-04-09 | 阿里巴巴集团控股有限公司 | 处理器追踪流的生成方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905204A (en) * | 1988-09-06 | 1990-02-27 | Exxon Production Research Company | Method of weighting a trace stack from a plurality of input traces |
JPH06282468A (ja) * | 1993-03-30 | 1994-10-07 | Toshiba Corp | 情報処理装置 |
US5724566A (en) * | 1994-01-11 | 1998-03-03 | Texas Instruments Incorporated | Pipelined data processing including interrupts |
JP2001147837A (ja) * | 1999-11-18 | 2001-05-29 | Fujitsu Ltd | プログラムトレース装置及び記憶媒体 |
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 |
GB2367650B (en) * | 2000-10-04 | 2004-10-27 | Advanced Risc Mach Ltd | Single instruction multiple data processing |
US7093236B2 (en) * | 2001-02-01 | 2006-08-15 | Arm Limited | Tracing out-of-order data |
US7168066B1 (en) * | 2001-04-30 | 2007-01-23 | Mips Technologies, Inc. | Tracing out-of order load data |
US7225434B2 (en) * | 2003-09-25 | 2007-05-29 | Intel Corporation | Method to collect address trace of instructions executed |
US7194731B1 (en) * | 2003-11-14 | 2007-03-20 | Sun Microsystems, Inc. | Method and apparatus for speculative tracing |
US7219207B2 (en) * | 2003-12-03 | 2007-05-15 | Intel Corporation | Reconfigurable trace cache |
US7603589B2 (en) | 2005-05-16 | 2009-10-13 | Texas Instruments Incorporated | Method and system for debugging a software program |
US7720670B2 (en) * | 2005-05-16 | 2010-05-18 | Texas Instruments Incorporated | Saving resources by deducing the total prediction events |
US7802149B2 (en) * | 2005-05-16 | 2010-09-21 | Texas Intruments Incorporated | Navigating trace data |
US7987393B2 (en) * | 2005-05-16 | 2011-07-26 | Texas Instruments Incorporated | Determining operating context of an executed instruction |
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 |
ATE535868T1 (de) * | 2007-04-18 | 2011-12-15 | Mediatek Inc | Verfahren und vorrichtung zur aufzeichnung von datenadressen |
US8091073B2 (en) | 2007-06-05 | 2012-01-03 | International Business Machines Corporation | Scaling instruction intervals to identify collection points for representative instruction traces |
-
2010
- 2010-06-21 GB GB1010350.5A patent/GB2481384B/en active Active
-
2011
- 2011-05-24 MY MYPI2012700838A patent/MY156921A/en unknown
- 2011-05-24 EP EP11726476.2A patent/EP2583179B1/en active Active
- 2011-05-24 WO PCT/GB2011/050979 patent/WO2011161429A2/en active Application Filing
- 2011-05-24 KR KR1020137000011A patent/KR101708170B1/ko active IP Right Grant
- 2011-05-24 CN CN201180030554.0A patent/CN102947804B/zh active Active
- 2011-05-24 JP JP2013515964A patent/JP5512041B2/ja active Active
- 2011-06-07 TW TW100119838A patent/TWI517035B/zh active
- 2011-06-09 US US13/067,576 patent/US8707106B2/en active Active
-
2012
- 2012-10-28 IL IL222736A patent/IL222736A/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN102947804B (zh) | 2016-02-10 |
GB201010350D0 (en) | 2010-08-04 |
WO2011161429A2 (en) | 2011-12-29 |
JP2013533546A (ja) | 2013-08-22 |
WO2011161429A3 (en) | 2012-02-16 |
EP2583179A2 (en) | 2013-04-24 |
TW201203109A (en) | 2012-01-16 |
US8707106B2 (en) | 2014-04-22 |
TWI517035B (zh) | 2016-01-11 |
GB2481384A (en) | 2011-12-28 |
IL222736A0 (en) | 2012-12-31 |
GB2481384B (en) | 2018-10-10 |
EP2583179B1 (en) | 2017-03-22 |
IL222736A (en) | 2015-10-29 |
US20110314264A1 (en) | 2011-12-22 |
KR101708170B1 (ko) | 2017-02-20 |
MY156921A (en) | 2016-04-15 |
KR20130123355A (ko) | 2013-11-12 |
CN102947804A (zh) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5512041B2 (ja) | データ処理システムのトレース時のキー割り当て | |
JP5604373B2 (ja) | 推測的に実行される命令のトレーシング | |
US11275590B2 (en) | Device and processing architecture for resolving execution pipeline dependencies without requiring no operation instructions in the instruction memory | |
JP5865920B2 (ja) | データ処理装置のトレース | |
US11379234B2 (en) | Store-to-load forwarding | |
US6754856B2 (en) | Memory access debug facility | |
US9652248B2 (en) | Load queue entry reuse for operand store compare history table update | |
US9003225B2 (en) | Confirming store-to-load forwards | |
US7966478B2 (en) | Limiting entries in load reorder queue searched for snoop check to between snoop peril and tail pointers | |
CN105074656B (zh) | 管理并发谓词表达式的方法和装置 | |
US9354888B2 (en) | Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching | |
CN106406822A (zh) | 具有改进的别名队列和存储冲突检测的处理器 | |
CN110221862A (zh) | 指令执行方法及指令执行装置 | |
US11269647B2 (en) | Finish status reporting for a simultaneous multithreading processor using an instruction completion table | |
TWI820005B (zh) | 用於產生及處理指示由處理電路系統所進行之指令執行的追蹤流的裝置及方法 | |
US7844859B2 (en) | Method and apparatus for instruction trace registers | |
US20010025237A1 (en) | Computer system with debug facility | |
CN117806706B (zh) | 存储顺序违例处理方法、装置、电子设备及介质 | |
US20200065110A1 (en) | Mechanism to stop completions using stop codes in an instruction completion table | |
KR20070019750A (ko) | 로드 동작의 투기적인 결과들을 레지스터 값들에 연결하는메모리 파일을 유효화하기 위한 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140227 |
|
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: 20140304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5512041 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 |