JP2021528780A - 予約タグ・フィールド・ビットを使用するキャッシュ・ベースのブレークポイント・トレース/リプレイ(trace replay breakpoint) - Google Patents
予約タグ・フィールド・ビットを使用するキャッシュ・ベースのブレークポイント・トレース/リプレイ(trace replay breakpoint) Download PDFInfo
- Publication number
- JP2021528780A JP2021528780A JP2020572938A JP2020572938A JP2021528780A JP 2021528780 A JP2021528780 A JP 2021528780A JP 2020572938 A JP2020572938 A JP 2020572938A JP 2020572938 A JP2020572938 A JP 2020572938A JP 2021528780 A JP2021528780 A JP 2021528780A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- address
- memory
- cache line
- breakpoint
- 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
- 230000015654 memory Effects 0.000 claims abstract description 244
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 12
- 239000000872 buffer Substances 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000004941 influx Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 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
- 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/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/327—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for interrupts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/684—TLB miss handling
-
- 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/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【選択図】図6
Description
Claims (15)
- 1つ以上のプロセッサーを含むコンピューター・システムに実装され、キャッシュを通じてブレークポイント検出を実行する方法であって、
メモリー・アクセスの発生を検出するステップと、
少なくとも前記メモリー・アクセスの発生を検出したことに基づいて、前記キャッシュのいずれかのキャッシュ・ラインが、前記メモリー・アクセスと関連するアドレスと一致するか否か識別し、キャッシュ・ラインが前記メモリー・アクセスと関連するアドレスと一致した場合、ブレークポイントに遭遇しなかったと判定するステップ、または、
前記メモリー・アクセスと関連するアドレスと一致するキャッシュ・ラインがないとき、1つ以上のフラグ・ビットが無視されれば、いずれかのキャッシュ・ラインが、前記メモリー・アクセスと関連するアドレスと一致するか否か識別するステップと、および
前記1つ以上のフラグ・ビットが無視されれば、キャッシュ・ラインが、前記メモリー・アクセスと関連するアドレスと一致するとき、ブレークポイントに遭遇したか否かについてのチェックを実行するステップ、または、
前記1つ以上のフラグ・ビットが無視されても、前記メモリー・アクセスと関連するアドレスと一致するキャッシュ・ラインがないとき、キャッシュ・ミスを処理するステップと、
を含む、方法。 - 請求項1に記載の方法であって、更に、前記1つ以上のフラグ・ビットが無視されても、前記メモリー・アクセスと関連するアドレスと一致するキャッシュ・ラインがないとき、前記キャッシュ・ミスを処理することに基づいて、前記キャッシュにインポートされたキャッシュ・ラインが、監視集合体からのいずれかのアドレスと重なり合うか否か判定するステップを含む、方法。
- 請求項2に記載の方法であって、更に、前記キャッシュにインポートされたキャッシュ・ラインが、監視集合体からのアドレスと重なり合うとき、前記キャッシュ・ライン上にフラグ・ビットを設定するステップを含む、方法。
- 請求項1に記載の方法において、ブレークポイントに遭遇したかについて前記チェックを実行するステップが、前記監視集合体からのいずれかのアドレスが、前記キャッシュ・ラインによって保存される複数のメモリー・アドレスと重なり合うか否か判定するステップを含む、方法。
- 請求項4に記載の方法において、前記監視集合体がシステム・メモリーに格納される、方法。
- 請求項4に記載の方法において、前記監視集合体がプロセッサー・メモリーに格納される、方法。
- 請求項6に記載の方法において、前記プロセッサー・メモリーが、キャッシュ・コヒーレンス・プロトコル・ディレクトリーを含む、方法。
- 請求項1に記載の方法において、ブレークポイントに遭遇したかについて前記チェックを実行するステップが、トランスレーション・ルックアサイド・バッファを参照して、前記メモリー・アドレスに対応するページ・テーブルが、いずれかの監視対象メモリー・アドレスを含んでいるか否か判定するステップを含む、方法。
- 請求項8に記載の方法であって、更に、前記メモリー・アドレスに対応する前記ページ・テーブルが、監視対象メモリー・アドレスを含んでいるとき、監視集合体からのいずれかのアドレスが、前記キャッシュ・ラインによって保存される複数のメモリー・アドレスと重なり合うか否か判定するステップを含む、方法。
- 請求項1に記載の方法において、ブレークポイントに遭遇したかについて前記チェックを実行するステップが、前記キャッシュ・ラインのアドレスを、ハードウェア・デバッグ・レジスターに入れるステップを含む、方法。
- コンピューター・システムであって、
1つ以上のプロセッサーと、
前記1つ以上のプロセッサーを、キャッシュを通じてブレークポイント検出を実行するように構成する、コンピューター実行可能命令が格納されている1つ以上のコンピューター読み取り可能媒体と、
を備え、前記ブレークポイント検出が、少なくとも、
メモリー・アクセスの発生を検出するステップと、
少なくとも前記メモリー・アクセスの発生を検出したことに基づいて、前記キャッシュのいずれかのキャッシュ・ラインが、前記メモリー・アクセスと関連するアドレスと一致するか否か識別するステップと、
キャッシュ・ラインが前記メモリー・アクセスと関連するアドレスと一致した場合、ブレークポイントに遭遇しなかったと判定するステップ、または、前記メモリー・アクセスと関連するアドレスと一致するキャッシュ・ラインがないとき、1つ以上のフラグ・ビットが無視されれば、いずれかのキャッシュ・ラインが、前記メモリー・アクセスと関連するアドレスと一致するか否か識別するステップと、
前記1つ以上のフラグ・ビットが無視されれば、キャッシュ・ラインが、前記メモリー・アクセスと関連するアドレスと一致するとき、ブレークポイントに遭遇したか否かについてのチェックを実行するステップ、または前記1つ以上のフラグ・ビットが無視されても、前記メモリー・アクセスと関連するアドレスと一致するキャッシュ・ラインがないとき、キャッシュ・ミスを処理するステップと、
を含む、コンピューター・システム。 - 請求項11に記載のコンピューター・システムにおいて、前記1つ以上のプロセッサーが、前記コンピューター読み取り可能媒体と前記キャッシュとを備え、前記コンピューター実行可能命令が、プロセッサー・マイクロコードを含む、コンピューター・システム。
- 請求項11に記載のコンピューター・システムにおいて、前記コンピューター実行可能命令が、前記1つ以上のフラグ・ビットが無視されても、前記メモリー・アクセスと関連するアドレスと一致するキャッシュ・ラインがないとき、前記キャッシュ・ミスを処理することに基づいて、前記キャッシュにインポートされたキャッシュ・ラインが、監視集合体からのいずれかのアドレスと重なり合うか否か判定するように、前記1つ以上のプロセッサーを構成する、コンピューター・システム。
- 請求項11に記載のコンピューター・システムにおいて、ブレークポイントに遭遇したか否かについてのチェックを実行するステップが、監視集合体からのいずれかのアドレスが、前記キャッシュ・ラインによって保存される複数のメモリー・アドレスと重なり合うか否か判定するステップを含む、コンピューター・システム。
- 請求項14に記載のコンピューター・システムにおいて、前記監視集合体が、プロセッサー・メモリーに格納される、コンピューター・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/020,636 US10740220B2 (en) | 2018-06-27 | 2018-06-27 | Cache-based trace replay breakpoints using reserved tag field bits |
US16/020,636 | 2018-06-27 | ||
PCT/US2019/037571 WO2020005625A1 (en) | 2018-06-27 | 2019-06-18 | Cache-based trace replay breakpoints using reserved tag field bits |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021528780A true JP2021528780A (ja) | 2021-10-21 |
JP7348919B2 JP7348919B2 (ja) | 2023-09-21 |
Family
ID=67138136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020572938A Active JP7348919B2 (ja) | 2018-06-27 | 2019-06-18 | 予約タグ・フィールド・ビットを使用するキャッシュ・ベースのブレークポイント・トレース/リプレイ(trace replay breakpoint) |
Country Status (16)
Country | Link |
---|---|
US (1) | US10740220B2 (ja) |
EP (1) | EP3814907B1 (ja) |
JP (1) | JP7348919B2 (ja) |
KR (1) | KR20210021464A (ja) |
CN (1) | CN112368684A (ja) |
AU (1) | AU2019294141B2 (ja) |
BR (1) | BR112020023084A2 (ja) |
CA (1) | CA3102624A1 (ja) |
ES (1) | ES2909580T3 (ja) |
IL (1) | IL279640B2 (ja) |
MX (1) | MX2020013596A (ja) |
PH (1) | PH12020552243A1 (ja) |
RU (1) | RU2769785C1 (ja) |
SG (1) | SG11202012406QA (ja) |
WO (1) | WO2020005625A1 (ja) |
ZA (1) | ZA202006888B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10268558B2 (en) | 2017-01-13 | 2019-04-23 | Microsoft Technology Licensing, Llc | Efficient breakpoint detection via caches |
US11860782B2 (en) * | 2019-08-13 | 2024-01-02 | Neuroblade Ltd. | Compensating for DRAM activation penalties |
US11086791B2 (en) * | 2019-08-29 | 2021-08-10 | Micron Technology, Inc. | Methods for supporting mismatched transaction granularities |
US11307857B2 (en) | 2019-12-05 | 2022-04-19 | Marvell Asia Pte, Ltd. | Dynamic designation of instructions as sensitive for constraining multithreaded execution |
US11263015B1 (en) * | 2019-12-05 | 2022-03-01 | Marvell Asia Pte, Ltd. | Microarchitectural sensitive tag flow |
US11372647B2 (en) | 2019-12-05 | 2022-06-28 | Marvell Asia Pte, Ltd. | Pipelines for secure multithread execution |
US11714676B2 (en) * | 2020-01-03 | 2023-08-01 | International Business Machines Corporation | Software-directed value profiling with hardware-based guarded storage facility |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62179033A (ja) * | 1986-01-24 | 1987-08-06 | インテル・コ−ポレ−シヨン | 集積回路マイクロプロセツサ |
JPH05113906A (ja) * | 1991-10-22 | 1993-05-07 | Fujitsu Ltd | デバツグ支援装置 |
JPH05204709A (ja) * | 1992-01-24 | 1993-08-13 | Mitsubishi Electric Corp | プロセッサ |
JPH1139153A (ja) * | 1997-07-15 | 1999-02-12 | Matsushita Electric Ind Co Ltd | プログラムがromに記録されているマイコンシステムにおけるメンテナンス方法、そのマイコンシステムに用いられる中央処理装置、キャッシュシステム、及びマイコンシステムの応用装置 |
JP2004272939A (ja) * | 1994-09-09 | 2004-09-30 | Renesas Technology Corp | 1チップデータプロセッサ |
JP2007257441A (ja) * | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | プロセッサおよびプロセッサ制御方法 |
JP2014182562A (ja) * | 2013-03-19 | 2014-09-29 | Toshiba Corp | 情報処理装置およびデバッグ方法 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535318A (en) | 1992-04-30 | 1996-07-09 | Ricoh Company, Ltd. | Debugging system for a hierarchically structured page description language |
US5664159A (en) * | 1994-03-08 | 1997-09-02 | Exponential Technology, Inc. | Method for emulating multiple debug breakpoints by page partitioning using a single breakpoint register |
CA2211505C (en) | 1997-07-25 | 2002-02-05 | Ibm Canada Limited-Ibm Canada Limitee | Setting instance breakpoints in object oriented computer programs |
US6106572A (en) | 1998-03-25 | 2000-08-22 | Origins Software Company | Forward and reverse hierarchical page level debugger |
US6237135B1 (en) | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6134710A (en) | 1998-06-26 | 2000-10-17 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long cache misses |
US6182208B1 (en) | 1998-08-14 | 2001-01-30 | Lucent Technologies, Inc. | System for debugging (N) break points by dividing a computer program to (n+1) regions each contains no break point and using two registers to define the start and end addresses of each region |
US6795962B1 (en) | 1999-12-30 | 2004-09-21 | Microsoft Corporation | Machine independent debugger |
US6738868B2 (en) * | 2000-06-10 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | System for minimizing directory information in scalable multiprocessor systems with logically independent input/output nodes |
US7000225B2 (en) | 2000-12-07 | 2006-02-14 | International Business Machines Corporation | Method for inserting global breakpoints |
US7047519B2 (en) | 2001-09-26 | 2006-05-16 | International Business Machines Corporation | Dynamic setting of breakpoint count attributes |
US7644394B2 (en) | 2001-11-30 | 2010-01-05 | International Business Machines Corporation | Object-oriented creation breakpoints |
US7296259B2 (en) * | 2002-09-11 | 2007-11-13 | Agere Systems Inc. | Processor system with cache-based software breakpoints |
US7269825B1 (en) | 2002-12-27 | 2007-09-11 | Unisys Corporation | Method and system for relative address translation |
US7650592B2 (en) | 2003-03-01 | 2010-01-19 | Bea Systems, Inc. | Systems and methods for multi-view debugging environment |
US7272826B2 (en) | 2003-05-08 | 2007-09-18 | International Business Machines Corporation | Hierarchical breakpoint groups |
US7249225B1 (en) | 2003-10-31 | 2007-07-24 | Sun Microsystems, Inc | Method and apparatus for supporting read-only objects within an object-addressed memory hierarchy |
US7694278B2 (en) | 2004-07-09 | 2010-04-06 | Microsoft Corporation | Data cube script development and debugging systems and methodologies |
US7634761B2 (en) | 2004-10-29 | 2009-12-15 | Microsoft Corporation | Breakpoint logging and constraint mechanisms for parallel computing systems |
US7447942B2 (en) * | 2005-07-19 | 2008-11-04 | Microsoft Corporation | Fast data breakpoint emulation |
US20070168736A1 (en) | 2005-12-19 | 2007-07-19 | Ottavi Robert P | Breakpoint groups |
US8352713B2 (en) * | 2006-08-09 | 2013-01-08 | Qualcomm Incorporated | Debug circuit comparing processor instruction set operating mode |
US7840849B2 (en) | 2006-12-21 | 2010-11-23 | Novell, Inc. | Methods and apparatus for debugging software including divisions of an execution history of a debuggee program |
US8612720B2 (en) | 2007-02-09 | 2013-12-17 | Edgewater Computer Systems, Inc. | System and method for implementing data breakpoints |
US8095861B2 (en) | 2007-09-28 | 2012-01-10 | International Business Machines Corporation | Cache function overloading |
US8336032B2 (en) | 2007-12-05 | 2012-12-18 | International Business Machines Corporation | Implementing enhanced template debug |
US9032374B2 (en) | 2008-04-03 | 2015-05-12 | International Business Machines Corporation | Metadata-integrated debugger |
US8423965B2 (en) | 2009-06-23 | 2013-04-16 | Microsoft Corporation | Tracing of data flow |
US8539209B2 (en) * | 2009-08-24 | 2013-09-17 | Via Technologies, Inc. | Microprocessor that performs a two-pass breakpoint check for a cache line-crossing load/store operation |
JP2011070256A (ja) | 2009-09-24 | 2011-04-07 | Toshiba Corp | デバッガおよびプログラム |
US8745597B2 (en) | 2009-11-25 | 2014-06-03 | International Business Machines Corporation | Providing programming support to debuggers |
US20110154111A1 (en) | 2009-12-23 | 2011-06-23 | International Business Machines Corporation | Memory Based Hardware Breakpoints |
CN101777021B (zh) * | 2010-01-21 | 2012-07-04 | 龙芯中科技术有限公司 | 微处理器中精确数据断点的实现装置及其方法 |
US8578340B1 (en) | 2010-09-24 | 2013-11-05 | Ca, Inc. | Recording and replaying computer program execution with recorded execution event breakpoints |
US9552206B2 (en) | 2010-11-18 | 2017-01-24 | Texas Instruments Incorporated | Integrated circuit with control node circuitry and processing circuitry |
US8832659B2 (en) | 2010-12-06 | 2014-09-09 | University Of Washington Through Its Center For Commercialization | Systems and methods for finding concurrency errors |
US8656359B2 (en) | 2011-03-25 | 2014-02-18 | Sap Ag | Debugging data mappings |
US8566537B2 (en) * | 2011-03-29 | 2013-10-22 | Intel Corporation | Method and apparatus to facilitate shared pointers in a heterogeneous platform |
US8522213B2 (en) | 2011-05-12 | 2013-08-27 | International Business Machines Corporation | Debugger and debugging methods using breakpoints conditioned on the static identity of data |
US9880842B2 (en) * | 2013-03-15 | 2018-01-30 | Intel Corporation | Using control flow data structures to direct and track instruction execution |
CN104346274B (zh) | 2013-07-29 | 2017-06-06 | 国际商业机器公司 | 程序调试器及一种程序的调试方法 |
US9021444B2 (en) | 2013-08-19 | 2015-04-28 | Concurix Corporation | Combined performance tracer and snapshot debugging system |
US9292444B2 (en) | 2013-09-26 | 2016-03-22 | International Business Machines Corporation | Multi-granular cache management in multi-processor computing environments |
US9176821B2 (en) * | 2013-10-30 | 2015-11-03 | Freescale Semiconductor, Inc. | Watchpoint support system for functional simulator |
US9436603B1 (en) | 2014-02-27 | 2016-09-06 | Amazon Technologies, Inc. | Detection and mitigation of timing side-channel attacks |
US9875173B2 (en) | 2014-06-30 | 2018-01-23 | Microsoft Technology Licensing, Llc | Time travel debugging in managed runtime |
US9588870B2 (en) | 2015-04-06 | 2017-03-07 | Microsoft Technology Licensing, Llc | Time travel debugging for browser components |
US9996448B2 (en) | 2016-02-25 | 2018-06-12 | Red Hat Israel Ltd | Breakpoint insertion into kernel pages |
US10152425B2 (en) | 2016-06-13 | 2018-12-11 | Advanced Micro Devices, Inc. | Cache entry replacement based on availability of entries at another cache |
US10310977B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using a processor cache |
US10268558B2 (en) | 2017-01-13 | 2019-04-23 | Microsoft Technology Licensing, Llc | Efficient breakpoint detection via caches |
US10169196B2 (en) | 2017-03-20 | 2019-01-01 | Microsoft Technology Licensing, Llc | Enabling breakpoints on entire data structures |
-
2018
- 2018-06-27 US US16/020,636 patent/US10740220B2/en active Active
-
2019
- 2019-06-18 CA CA3102624A patent/CA3102624A1/en active Pending
- 2019-06-18 KR KR1020207035711A patent/KR20210021464A/ko unknown
- 2019-06-18 ES ES19735075T patent/ES2909580T3/es active Active
- 2019-06-18 AU AU2019294141A patent/AU2019294141B2/en active Active
- 2019-06-18 RU RU2021101399A patent/RU2769785C1/ru active
- 2019-06-18 WO PCT/US2019/037571 patent/WO2020005625A1/en unknown
- 2019-06-18 SG SG11202012406QA patent/SG11202012406QA/en unknown
- 2019-06-18 CN CN201980043057.0A patent/CN112368684A/zh active Pending
- 2019-06-18 MX MX2020013596A patent/MX2020013596A/es unknown
- 2019-06-18 EP EP19735075.4A patent/EP3814907B1/en active Active
- 2019-06-18 JP JP2020572938A patent/JP7348919B2/ja active Active
- 2019-06-18 IL IL279640A patent/IL279640B2/en unknown
- 2019-06-18 BR BR112020023084-7A patent/BR112020023084A2/pt unknown
-
2020
- 2020-11-04 ZA ZA2020/06888A patent/ZA202006888B/en unknown
- 2020-12-22 PH PH12020552243A patent/PH12020552243A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62179033A (ja) * | 1986-01-24 | 1987-08-06 | インテル・コ−ポレ−シヨン | 集積回路マイクロプロセツサ |
JPH05113906A (ja) * | 1991-10-22 | 1993-05-07 | Fujitsu Ltd | デバツグ支援装置 |
JPH05204709A (ja) * | 1992-01-24 | 1993-08-13 | Mitsubishi Electric Corp | プロセッサ |
JP2004272939A (ja) * | 1994-09-09 | 2004-09-30 | Renesas Technology Corp | 1チップデータプロセッサ |
JPH1139153A (ja) * | 1997-07-15 | 1999-02-12 | Matsushita Electric Ind Co Ltd | プログラムがromに記録されているマイコンシステムにおけるメンテナンス方法、そのマイコンシステムに用いられる中央処理装置、キャッシュシステム、及びマイコンシステムの応用装置 |
JP2007257441A (ja) * | 2006-03-24 | 2007-10-04 | Fujitsu Ltd | プロセッサおよびプロセッサ制御方法 |
JP2014182562A (ja) * | 2013-03-19 | 2014-09-29 | Toshiba Corp | 情報処理装置およびデバッグ方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020005625A1 (en) | 2020-01-02 |
JP7348919B2 (ja) | 2023-09-21 |
BR112020023084A2 (pt) | 2021-02-02 |
US20200004662A1 (en) | 2020-01-02 |
IL279640A (en) | 2021-03-01 |
RU2769785C1 (ru) | 2022-04-06 |
SG11202012406QA (en) | 2021-01-28 |
AU2019294141B2 (en) | 2023-10-26 |
US10740220B2 (en) | 2020-08-11 |
EP3814907B1 (en) | 2022-02-16 |
IL279640B2 (en) | 2024-06-01 |
KR20210021464A (ko) | 2021-02-26 |
CA3102624A1 (en) | 2020-01-02 |
EP3814907A1 (en) | 2021-05-05 |
AU2019294141A1 (en) | 2020-11-26 |
ZA202006888B (en) | 2022-01-26 |
MX2020013596A (es) | 2021-03-09 |
CN112368684A (zh) | 2021-02-12 |
IL279640B1 (en) | 2024-02-01 |
ES2909580T3 (es) | 2022-05-09 |
PH12020552243A1 (en) | 2021-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7348919B2 (ja) | 予約タグ・フィールド・ビットを使用するキャッシュ・ベースのブレークポイント・トレース/リプレイ(trace replay breakpoint) | |
KR102645481B1 (ko) | 상위 계층 캐시의 항목을 기반으로 하위 계층 캐시로의 유입을 로깅함으로써 트레이스 기록 | |
KR102661543B1 (ko) | 요청에 의해 캐시 유입을 상위 레벨 캐시로 로깅 | |
US20220138084A1 (en) | Recording a trace of code execution using reference bits in a processor cache | |
US11126536B2 (en) | Facilitating recording a trace file of code execution using index bits in a processor cache | |
US10599541B2 (en) | Efficient breakpoint detection via caches | |
US8473921B2 (en) | Debugging mechanisms in a cache-based memory isolation system | |
US20110154111A1 (en) | Memory Based Hardware Breakpoints | |
CN110431536B (zh) | 实现整个数据结构上的断点 | |
US12130725B2 (en) | Memory page markings as logging cues for processor-based execution tracing | |
US20230342282A1 (en) | Memory page markings as logging cues for processor-based execution tracing | |
JP6058015B2 (ja) | ランタイム・インスツルメンテーション放出(riemit)命令を実行するためのコンピュータ・プログラム・プロダクト、方法、およびコンピュータ・システム(ランタイム・インスツルメンテーション・コントロール放出命令) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230802 |
|
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: 20230810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230908 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7348919 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |