JP5335887B2 - アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 - Google Patents
アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 Download PDFInfo
- Publication number
- JP5335887B2 JP5335887B2 JP2011500821A JP2011500821A JP5335887B2 JP 5335887 B2 JP5335887 B2 JP 5335887B2 JP 2011500821 A JP2011500821 A JP 2011500821A JP 2011500821 A JP2011500821 A JP 2011500821A JP 5335887 B2 JP5335887 B2 JP 5335887B2
- Authority
- JP
- Japan
- Prior art keywords
- debug
- instruction
- instance
- memory
- address
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 28
- 238000003860 storage Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 description 13
- 238000013519 translation Methods 0.000 description 12
- 230000014616 translation Effects 0.000 description 12
- 238000005192 partition Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000007727 signaling mechanism 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/30181—Instruction operation extension or modification
-
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
デバッグ命令は、デバッグ停止モードへの条件付きエントリを容易にし、またはソフトウェアデバッグ例外(例えばデバッグ割込)の生成を容易にするために、種々のプロセッサの実行においてサポートされる。いずれの場合も、そのようなデバッグ命令を、動作が評価、試験またはデバッグされているコードに入れることによって、開発者は、ソフトウェア制御のもとで現在の実行環境の状態に基づきデバッグ動作を開始できる。
類似または同一の部材には、異なる図面で等しい参照符号を使用する。
図1は、本発明の或る実施形態と一致するデータ処理システム10(デバッグ装置)を示す。一般に、データ処理システム10は単一の集積回路または複数の集積回路上で実現されてよい。ある場合には、データ処理システム10はシステム・オン・チップとして実現されてよい。例示された構成では、データ処理システム10は、プロセッサ12と、外部デバッグ回路14と、I/Oモジュール16と、メモリ18とを含む。データ処理システム10の構成要素は相互に接続され、何らかの適切な技術を用いて相互に動作する。単純化するために、バス20を介する主要な機能ブロックの相互接続を例示するが、当業者は、多様な相互接続技術とトポロジのうちのいずれも本発明から逸脱することなく使用できることを、認識するであろう。
プロセス識別子(PID)またはアドレス空間識別子(ASID)は、プロセッサ実現においてしばしば用いられ、それ自身のユニークな仮想アドレス空間による各々の実行プロセスを提供するために使用できる。従って、本発明の或る実施形態では、そのようなプロセス識別子またはアドレス空間識別子フィールド値の全部または一部が、デバッグ型実行セマンティクスまたはノーオペレーション実行セマンティクスが望まれる1組のアドレスを規定する比較において使用されてよい。例えば、そのようなプロセス識別子またはアドレス空間識別子フィールド値の使用は、特定の実行セマンティクスが指定されているセットにおける(からの)具体的なプロセスまたはスレッドに関連した仮想アドレス空間に入るアドレスを有する(または排除する)ことができる。
Claims (5)
- 同一のデバッグ命令のデバッグ命令インスタンスである少なくとも第1インスタンスと第2インスタンスを有するコードをプロセッサ上で実行する実行ステップと;
前記プロセッサによってアドレス可能なメモリ内の前記デバッグ命令インスタンスのそれぞれのアドレスに基づき、個々の前記デバッグ命令インスタンスのための実行モードを選択する選択ステップと
を有するデバッグ方法であって、
それぞれの前記アドレスに基づき、前記第1インスタンスがノーオペレーションセマンティクスで実行され、前記第2インスタンスがデバッグ関連セマンティクスで実行されることを特徴とする、デバッグ方法。 - 前記選択ステップは更に、
前記デバッグ命令の特定のインスタンスが駐在する、メモリページのデバッグ属性をチェックするステップと;
少なくとも一部は前記デバッグ属性に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスのうちのいずれか一方を選択するステップと
を有する、
請求項1記載のデバッグ方法。 - 前記選択ステップは更に、
前記デバッグ命令の特定のインスタンスのためのメモリアドレスを、前記メモリの1個以上の各部分を区切る1個以上の記憶域の内容と比較するステップと;
前記メモリアドレスと区切られた部分とのうちの少なくとも一部の一致に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスとのうちのいずれか一方を選択するステップと
を有する、
請求項1記載のデバッグ方法。 - 前記選択ステップは更に、
ページ属性チェックと、前記メモリの区切られた部分に対する比較との両方を行うステップであって、前記ページ属性チェックは、前記デバッグ命令の特定のインスタンスが駐在する、メモリページのデバッグ属性をチェックすることであり、前記メモリの区切られた部分に対する前記比較は、前記デバッグ命令の特定のインスタンスのためのメモリアドレスを、前記メモリの1個以上の各部分を区切る1個以上の記憶域の内容と比較することであることと;
前記ページ属性チェックと前記比較との構成に基づき、前記ノーオペレーションセマンティクスと前記デバッグ関連セマンティクスとのうちのいずれか一方を選択するステップと
を有する、
請求項1記載のデバッグ方法。 - 同一のデバッグ命令インスタンスである少なくとも第1インスタンスと第2インスタンスを有するコードを実行するプロセッサと;
前記プロセッサによってアドレス可能なメモリ内の前記デバッグ命令インスタンスそれぞれのアドレスに基づき、前記デバッグ型命令のインスタンスそれぞれに対する実行モードをそれぞれ選択する、前記プロセッサのための論理回路と
を備え、
それぞれの前記アドレスに基づき、前記第1インスタンスがノーオペレーションセマンティクスで実行され、前記第2インスタンスがデバッグ関連セマンティクスで実行される、デバッグ装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/049,984 | 2008-03-17 | ||
US12/049,984 US8261047B2 (en) | 2008-03-17 | 2008-03-17 | Qualification of conditional debug instructions based on address |
PCT/US2009/032793 WO2009117178A1 (en) | 2008-03-17 | 2009-02-02 | Qualification of conditional debug instructions based on address |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011514606A JP2011514606A (ja) | 2011-05-06 |
JP2011514606A5 JP2011514606A5 (ja) | 2012-03-22 |
JP5335887B2 true JP5335887B2 (ja) | 2013-11-06 |
Family
ID=41064277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011500821A Expired - Fee Related JP5335887B2 (ja) | 2008-03-17 | 2009-02-02 | アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8261047B2 (ja) |
JP (1) | JP5335887B2 (ja) |
CN (1) | CN101946232B (ja) |
TW (1) | TWI464576B (ja) |
WO (1) | WO2009117178A1 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6858615B2 (en) | 2002-02-19 | 2005-02-22 | Parion Sciences, Inc. | Phenyl guanidine sodium channel blockers |
AR086745A1 (es) | 2011-06-27 | 2014-01-22 | Parion Sciences Inc | 3,5-diamino-6-cloro-n-(n-(4-(4-(2-(hexil(2,3,4,5,6-pentahidroxihexil)amino)etoxi)fenil)butil)carbamimidoil)pirazina-2-carboxamida |
US8700955B2 (en) * | 2011-09-22 | 2014-04-15 | Freescale Semiconductor, Inc. | Multi-processor data processing system having synchronized exit from debug mode and method therefor |
WO2014099673A1 (en) | 2012-12-17 | 2014-06-26 | Parion Sciences, Inc. | 3,5-diamino-6-chloro-n-(n-(4-phenylbutyl)carbamimidoyl) pyrazine-2- carboxamide compounds |
US9593084B2 (en) | 2012-12-17 | 2017-03-14 | Parion Sciences, Inc. | Chloro-pyrazine carboxamide derivatives with epithelial sodium channel blocking activity |
US9330011B2 (en) * | 2013-09-20 | 2016-05-03 | Via Alliance Semiconductor Co., Ltd. | Microprocessor with integrated NOP slide detector |
US9411745B2 (en) * | 2013-10-04 | 2016-08-09 | Qualcomm Incorporated | Multi-core heterogeneous system translation lookaside buffer coherency |
US9102633B2 (en) | 2013-12-13 | 2015-08-11 | Parion Sciences, Inc. | Arylalkyl- and aryloxyalkyl-substituted epithelial sodium channel blocking compounds |
US9600505B2 (en) * | 2014-09-23 | 2017-03-21 | Sap Se | Code optimization based on customer logs |
TWI566090B (zh) * | 2014-10-17 | 2017-01-11 | Insyde Software Corp | Debugging firmware / software to produce tracking systems and methods, recording media and computer program products |
US10496410B2 (en) * | 2014-12-23 | 2019-12-03 | Intel Corporation | Instruction and logic for suppression of hardware prefetchers |
US9886194B2 (en) * | 2015-07-13 | 2018-02-06 | Samsung Electronics Co., Ltd. | NVDIMM adaptive access mode and smart partition mechanism |
GB2540942B (en) * | 2015-07-31 | 2019-01-23 | Advanced Risc Mach Ltd | Contingent load suppression |
US11074988B2 (en) * | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10628288B2 (en) | 2016-07-22 | 2020-04-21 | International Business Machines Corporation | Debugger that correlates differing values to system environments in a distributed system |
US10191836B2 (en) | 2016-12-28 | 2019-01-29 | Nxp Usa, Inc. | Software watchpoints apparatus for variables stored in registers |
US10599555B2 (en) | 2017-09-20 | 2020-03-24 | Texas Instruments Incorporated | Context-sensitive debug requests for memory access |
TWI659361B (zh) * | 2018-01-09 | 2019-05-11 | 國立中央大學 | 支援多執行緒/並行程式除錯之方法、電腦可讀取之記錄媒體及電腦程式產品 |
US11010280B1 (en) * | 2019-03-13 | 2021-05-18 | Parallels International Gmbh | System and method for virtualization-assisted debugging |
CN111984325A (zh) * | 2019-05-23 | 2020-11-24 | 三星电子株式会社 | 提高分支预测吞吐量的装置及系统 |
CN111898120B (zh) * | 2020-06-29 | 2023-10-10 | 中国科学院信息工程研究所 | 控制流完整性保护方法及装置 |
TWI790506B (zh) * | 2020-11-25 | 2023-01-21 | 凌通科技股份有限公司 | 開發介面系統與在開發介面進行大量資料傳輸方法 |
TWI764581B (zh) * | 2021-02-22 | 2022-05-11 | 群聯電子股份有限公司 | 記憶體檢查方法、記憶體檢查裝置及記憶體檢查系統 |
CN112820341B (zh) * | 2021-03-03 | 2024-05-07 | 群联电子股份有限公司 | 存储器检查方法、存储器检查装置及存储器检查系统 |
GB2605796B (en) * | 2021-04-13 | 2023-06-28 | Advanced Risc Mach Ltd | Apparatus and method for generating debug information |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2211638A (en) * | 1987-10-27 | 1989-07-05 | Ibm | Simd array processor |
JPS6476233A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Tracing device |
JPH02214949A (ja) * | 1989-02-16 | 1990-08-27 | Nec Corp | システム資源の使用状態表示装置 |
US5491793A (en) * | 1992-07-31 | 1996-02-13 | Fujitsu Limited | Debug support in a processor chip |
JPH1011320A (ja) * | 1996-06-19 | 1998-01-16 | Matsushita Electric Ind Co Ltd | 計算機等の処理装置におけるromプログラムモニタ装置 |
US6289300B1 (en) * | 1998-02-06 | 2001-09-11 | Analog Devices, Inc. | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
JP2000235510A (ja) * | 1999-02-15 | 2000-08-29 | Hitachi Ltd | プロセッサおよびそのためのコンパイルプログラム記録媒体 |
US6587967B1 (en) * | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
US6834338B1 (en) * | 2000-02-18 | 2004-12-21 | Texas Instruments Incorporated | Microprocessor with branch-decrement instruction that provides a target and conditionally modifies a test register if the register meets a condition |
US6865663B2 (en) * | 2000-02-24 | 2005-03-08 | Pts Corporation | Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode |
JP2002189613A (ja) * | 2000-12-21 | 2002-07-05 | Toshiba Corp | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体 |
GB0125628D0 (en) * | 2001-10-25 | 2001-12-19 | Ibm | Computer system with watchpoint support |
US7168067B2 (en) * | 2002-02-08 | 2007-01-23 | Agere Systems Inc. | Multiprocessor system with cache-based software breakpoints |
US20050240820A1 (en) * | 2004-03-31 | 2005-10-27 | Vannerson Eric F | Method and apparatus for multiprocessor debug support |
US20050289396A1 (en) * | 2004-06-25 | 2005-12-29 | Hooper Donald F | Conditional breakpoint using breakpoint function and breakpoint command |
US7237149B2 (en) * | 2005-02-25 | 2007-06-26 | Freescale Semiconductor, Inc. | Method and apparatus for qualifying debug operation using source information |
JP4718901B2 (ja) * | 2005-05-27 | 2011-07-06 | パナソニック株式会社 | 命令実行装置、デバッグ方法、デバッグ装置及びデバッグプログラム |
EP1736881A1 (en) * | 2005-06-15 | 2006-12-27 | Research In Motion Limited | Controlling collection of debugging data |
JP2007058731A (ja) * | 2005-08-26 | 2007-03-08 | Matsushita Electric Ind Co Ltd | プロセッサ、及び並列命令実行対応デバッグ装置 |
-
2008
- 2008-03-17 US US12/049,984 patent/US8261047B2/en active Active
-
2009
- 2009-02-02 WO PCT/US2009/032793 patent/WO2009117178A1/en active Application Filing
- 2009-02-02 CN CN200980106158.4A patent/CN101946232B/zh active Active
- 2009-02-02 JP JP2011500821A patent/JP5335887B2/ja not_active Expired - Fee Related
- 2009-02-13 TW TW098104740A patent/TWI464576B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TWI464576B (zh) | 2014-12-11 |
TW200945022A (en) | 2009-11-01 |
US20090235059A1 (en) | 2009-09-17 |
US8261047B2 (en) | 2012-09-04 |
CN101946232A (zh) | 2011-01-12 |
WO2009117178A1 (en) | 2009-09-24 |
JP2011514606A (ja) | 2011-05-06 |
CN101946232B (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5335887B2 (ja) | アドレスに基づく条件付きデバッグ命令を認証するデバッグ方法、制御方法、およびデバッグ装置 | |
US7334161B2 (en) | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus | |
US10318407B2 (en) | Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus | |
KR100933820B1 (ko) | 메모리 속성들을 사용하기 위한 기술 | |
JP5661863B2 (ja) | 実行装置内のデータ転送のシステムおよび方法 | |
TWI448897B (zh) | 監視在硬體中之記憶體存取的方法與設備、處理器及其系統 | |
US7533246B2 (en) | Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation | |
KR101793318B1 (ko) | 명령어 에뮬레이션 프로세서, 방법 및 시스템 | |
US9003376B2 (en) | Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems | |
US8024620B2 (en) | Dynamic address-type selection control in a data processing system | |
US9575816B2 (en) | Deadlock/livelock resolution using service processor | |
JP2010541067A (ja) | デバッグイベントを監視するためのシステム及び方法 | |
US7689815B2 (en) | Debug instruction for use in a data processing system | |
US7774758B2 (en) | Systems and methods for secure debugging and profiling of a computer system | |
JP5822848B2 (ja) | 例外の制御方法、システムおよびプログラム | |
CN113474754A (zh) | 有条件退让给管理程序指令 | |
Vranken | Debug facilities in the TriMedia CPU64 architecture | |
TW202403562A (zh) | 用於記憶體位址空間之頁面的「讀值只有x」性質 | |
Martorell et al. | gtrace: function call and memory access traces of dynamically linked programs in IA-32 and IA-64 Linux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130610 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5335887 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |