RU2009108321A - Схема отладки, сравнивающая режим обработки набора команд процессора - Google Patents

Схема отладки, сравнивающая режим обработки набора команд процессора Download PDF

Info

Publication number
RU2009108321A
RU2009108321A RU2009108321/08A RU2009108321A RU2009108321A RU 2009108321 A RU2009108321 A RU 2009108321A RU 2009108321/08 A RU2009108321/08 A RU 2009108321/08A RU 2009108321 A RU2009108321 A RU 2009108321A RU 2009108321 A RU2009108321 A RU 2009108321A
Authority
RU
Russia
Prior art keywords
instruction set
processing mode
processor
target
address
Prior art date
Application number
RU2009108321/08A
Other languages
English (en)
Other versions
RU2429525C2 (ru
Inventor
Кевин Чарльз БЕРК (US)
Кевин Чарльз БЕРК
Брайан Майкл СТЕМПЕЛ (US)
Брайан Майкл СТЕМПЕЛ
Дарен Юджин СТРИТТ (US)
Дарен Юджин СТРИТТ
Кевин Аллен САПП (US)
Кевин Аллен САПП
Лесли Марк ДЕБРЮЙН (US)
Лесли Марк ДЕБРЮЙН
Нэйбил Амир РИЗК (US)
Нэйбил Амир РИЗК
Томас Эндрю САРТОРИУС (US)
Томас Эндрю САРТОРИУС
Родни Уэйн СМИТ (US)
Родни Уэйн СМИТ
Original Assignee
Квэлкомм Инкорпорейтед (US)
Квэлкомм Инкорпорейтед
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед (US), Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед (US)
Publication of RU2009108321A publication Critical patent/RU2009108321A/ru
Application granted granted Critical
Publication of RU2429525C2 publication Critical patent/RU2429525C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

1. Способ отладки кода программного обеспечения, содержащего множество команд на процессоре, имеющем по меньшей мере два различных режима обработки набора команд, содержащий этапы, на которых: ! принимают целевой режим обработки набора команд до выполнения любых команд кода; ! выполняют команды кода и для каждой выполненной команды сравнивают текущий режим обработки набора команд процессора с целевым режимом обработки набора команд; и ! формируют предупреждение, если текущий режим обработки набора команд процессора соответствует целевому режиму обработки набора команд. ! 2. Способ по п.1, в котором предупреждение содержит остановку выполнения команды. ! 3. Способ по п.1, в котором предупреждение содержит управление трассировочной операцией. ! 4. Способ по п.1, в котором предупреждение содержит вызов исключительной ситуации. ! 5. Способ по п.1, в котором предупреждение содержит выведение сигнала, указывающего о соответствии между текущим режимом обработки набора команд процессора и целевым режимом обработки набора команд. ! 6. Способ по п.1, в котором предупреждение содержит выведение адреса команды, для которой текущий режим обработки набора команд процессора соответствует целевому режиму обработки набора команд. ! 7. Способ по п.1, дополнительно содержащий этапы, на которых: ! принимают целевой адресный интервал до выполнения любых команд кода; ! для каждой выполненной команды сравнивают текущий адрес команды с целевым адресным интервалом; и ! формируют предупреждение, только если текущий режим обработки набора команд процессора соответствует целевому режиму обработки набора команд и текущий адрес команды на

Claims (28)

1. Способ отладки кода программного обеспечения, содержащего множество команд на процессоре, имеющем по меньшей мере два различных режима обработки набора команд, содержащий этапы, на которых:
принимают целевой режим обработки набора команд до выполнения любых команд кода;
выполняют команды кода и для каждой выполненной команды сравнивают текущий режим обработки набора команд процессора с целевым режимом обработки набора команд; и
формируют предупреждение, если текущий режим обработки набора команд процессора соответствует целевому режиму обработки набора команд.
2. Способ по п.1, в котором предупреждение содержит остановку выполнения команды.
3. Способ по п.1, в котором предупреждение содержит управление трассировочной операцией.
4. Способ по п.1, в котором предупреждение содержит вызов исключительной ситуации.
5. Способ по п.1, в котором предупреждение содержит выведение сигнала, указывающего о соответствии между текущим режимом обработки набора команд процессора и целевым режимом обработки набора команд.
6. Способ по п.1, в котором предупреждение содержит выведение адреса команды, для которой текущий режим обработки набора команд процессора соответствует целевому режиму обработки набора команд.
7. Способ по п.1, дополнительно содержащий этапы, на которых:
принимают целевой адресный интервал до выполнения любых команд кода;
для каждой выполненной команды сравнивают текущий адрес команды с целевым адресным интервалом; и
формируют предупреждение, только если текущий режим обработки набора команд процессора соответствует целевому режиму обработки набора команд и текущий адрес команды находится в пределах целевого адресного интервала.
8. Способ выполнения программного обеспечения на процессоре, имеющем по меньшей мере первый и второй режимы обработки набора команд, содержащий этапы, на которых:
идентифицируют адрес, по которому процессор переключает первый режим обработки набора команд на второй режим обработки набора команд; и
формируют предупреждение в ответ на идентификацию.
9. Способ по п.8, в котором предупреждение содержит остановку выполнения команды.
10. Способ по п.8, в котором предупреждение содержит управление трассировочной операцией.
11. Способ по п.8, в котором предупреждение содержит вызов исключительной ситуации.
12. Способ по п.8, в котором предупреждение содержит выведение индикатора сигнала, указывающего об изменении режима обработки набора команд.
13. Способ по п.8, в котором предупреждение содержит выведение адреса идентифицированной команды.
14. Способ по п.8, в котором идентифицирование адреса, по которому процессор переключает первый режим обработки набора команд на второй режим обработки набора команд, содержит идентифицирование адреса, только если он находится в пределах предопределенного адресного интервала.
15. Процессор, выполненный с возможностью выполнять команды согласно двум или более кодированиям набора команд, каждый - в отличном режиме обработки набора команд, содержащий:
индикатор текущего режима обработки набора команд;
место хранения данных, выполненное с возможностью хранить индикатор целевого режима обработки набора команд;
исполнительный блок, выполненный с возможностью выполнения команд согласно текущему режиму обработки набора команд; и
схему сравнения, выполненную с возможностью сравнивать текущий режим обработки набора команд и целевой режим обработки набора команд при выполнении каждой команды и выводить индикацию, если текущий режим обработки набора команд соответствует целевому режиму обработки набора команд.
16. Процессор по п.15, в котором индикация содержит сигнал, служащий для остановки выполнения команды.
17. Процессор по п.15, в котором индикация содержит сигнал, служащий для управления трассировочной операцией.
18. Процессор по п.15, в котором индикация содержит сигнал, служащий для вызова исключительной ситуации.
19. Процессор по п.15, в котором индикация содержит сигнал, указывающий, что текущий режим обработки набора команд соответствует целевому режиму обработки набора команд.
20. Процессор по п.15, в котором индикация содержит адрес выполняемой команды, когда соответствие обнаружено между текущим режимом обработки набора команд и целевым режимом обработки набора команд.
21. Процессор по п.15, дополнительно содержащий местоположение хранения данных, выполненное с возможностью хранения целевого адресного интервала, и причем схема сравнения выполнена с возможностью выводить индикацию, только если текущий режим обработки набора команд соответствует целевому режиму обработки набора команд, и адрес команды, которая выполняется в текущий момент, находится в пределах целевого адресного интервала.
22. Процессор, выполненный с возможностью выполнять два или более кодирований набора команд, каждый - в отличном режиме обработки набора команд, содержащий:
схему сравнения, выполненную с возможностью обнаруживать изменение в режиме обработки набора команд и выводить индикацию относительно изменения режима обработки набора команд, и адрес команды, в которой происходит изменение, в ответ на обнаружение.
23. Процессор по п.22, в котором индикация содержит сигнал, служащий для остановки выполнения команды.
24. Процессор по п.22, в котором индикация содержит сигнал, служащий для управления трассировочной операцией.
25. Процессор по п.22, в котором индикация содержит сигнал, служащий для вызова исключительной ситуации.
26. Процессор по п.22, в котором индикация содержит сигнал, указывающий изменения в режиме обработки набора команд.
27. Процессор по п.22, в котором индикация содержит измененный адрес режима обработки набора команд.
28. Процессор по п.22, в котором схема сравнения обнаруживает изменение в режиме обработки набора команд, только когда адрес команды, по которому происходит изменение, находится в пределах предопределенного адресного интервала.
RU2009108321/08A 2006-08-09 2007-08-03 Схема отладки, сравнивающая режим обработки набора команд процессора RU2429525C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/463,379 US8352713B2 (en) 2006-08-09 2006-08-09 Debug circuit comparing processor instruction set operating mode
US11/463,379 2006-08-09

Publications (2)

Publication Number Publication Date
RU2009108321A true RU2009108321A (ru) 2010-09-20
RU2429525C2 RU2429525C2 (ru) 2011-09-20

Family

ID=38891045

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009108321/08A RU2429525C2 (ru) 2006-08-09 2007-08-03 Схема отладки, сравнивающая режим обработки набора команд процессора

Country Status (13)

Country Link
US (1) US8352713B2 (ru)
EP (2) EP3009936A1 (ru)
JP (2) JP5546859B2 (ru)
KR (1) KR101019278B1 (ru)
CN (2) CN106909501B (ru)
BR (1) BRPI0715163B1 (ru)
CA (1) CA2658829C (ru)
ES (1) ES2588185T3 (ru)
HU (1) HUE029441T2 (ru)
IN (1) IN2014MN01895A (ru)
MX (1) MX2009001458A (ru)
RU (1) RU2429525C2 (ru)
WO (1) WO2008021763A1 (ru)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7555605B2 (en) * 2006-09-28 2009-06-30 Freescale Semiconductor, Inc. Data processing system having cache memory debugging support and method therefor
US20080162900A1 (en) * 2006-12-29 2008-07-03 Andre Rolfsmeier System, Method and Apparatus for Observing a Control Device
CN101777021B (zh) * 2010-01-21 2012-07-04 龙芯中科技术有限公司 微处理器中精确数据断点的实现装置及其方法
WO2011089478A1 (en) * 2010-01-25 2011-07-28 Freescale Semiconductor, Inc. Debugger system, method and computer program product for debugging instructions
GB2482701C (en) * 2010-08-11 2018-12-26 Advanced Risc Mach Ltd Illegal mode change handling
GB2483906C (en) 2010-09-24 2019-10-09 Advanced Risc Mach Ltd Selection of debug instruction set for debugging of a data processing apparatus
US8914615B2 (en) 2011-12-02 2014-12-16 Arm Limited Mapping same logical register specifier for different instruction sets with divergent association to architectural register file using common address format
EP2831787B1 (en) * 2012-03-30 2020-07-08 Irdeto B.V. Method and system for preventing and detecting security threats
KR102013582B1 (ko) 2012-09-07 2019-08-23 삼성전자 주식회사 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법
JP2014085859A (ja) * 2012-10-24 2014-05-12 Renesas Electronics Corp 半導体集積回路装置
US9268563B2 (en) * 2012-11-12 2016-02-23 International Business Machines Corporation Verification of a vector execution unit design
CN105229616B (zh) 2013-06-27 2018-06-29 英特尔公司 在指令追踪系统中跟踪处理装置的模式
GB2527088B (en) * 2014-06-11 2021-07-14 Advanced Risc Mach Ltd Executing debug program instructions on a target apparatus processing pipeline
US9626267B2 (en) * 2015-01-30 2017-04-18 International Business Machines Corporation Test generation using expected mode of the target hardware device
US11269640B2 (en) * 2017-02-13 2022-03-08 Qualcomm Incorporated Speculative transitions among modes with different privilege levels in a block-based microarchitecture
US10169196B2 (en) * 2017-03-20 2019-01-01 Microsoft Technology Licensing, Llc Enabling breakpoints on entire data structures
US10534881B2 (en) * 2018-04-10 2020-01-14 Advanced Micro Devices, Inc. Method of debugging a processor
US10740220B2 (en) * 2018-06-27 2020-08-11 Microsoft Technology Licensing, Llc Cache-based trace replay breakpoints using reserved tag field bits
US11468199B2 (en) 2020-07-22 2022-10-11 Apple Inc. Authenticated debug for computing systems
US12020062B2 (en) 2020-10-20 2024-06-25 Micron Technology, Inc. Method of executing programmable atomic unit resources within a multi-process system
US11586439B2 (en) 2020-10-20 2023-02-21 Micron Technology, Inc. Detecting infinite loops in a programmable atomic transaction
US11436187B2 (en) * 2020-10-20 2022-09-06 Micron Technology, Inc. Method of notifying a process or programmable atomic operation traps
CN113127285B (zh) * 2021-06-17 2021-10-08 北京燧原智能科技有限公司 一种错误数据调试方法、装置、芯片及计算机设备

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06202907A (ja) 1993-01-06 1994-07-22 Hitachi Ltd デバッグ支援装置
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor
US5574927A (en) * 1994-03-25 1996-11-12 International Meta Systems, Inc. RISC architecture computer configured for emulation of the instruction set of a target computer
US5638525A (en) * 1995-02-10 1997-06-10 Intel Corporation Processor capable of executing programs that contain RISC and CISC instructions
US6408386B1 (en) * 1995-06-07 2002-06-18 Intel Corporation Method and apparatus for providing event handling functionality in a computer system
US5774686A (en) * 1995-06-07 1998-06-30 Intel Corporation Method and apparatus for providing two system architectures in a processor
US5680620A (en) * 1995-06-30 1997-10-21 Dell Usa, L.P. System and method for detecting access to a peripheral device using a debug register
JP3623840B2 (ja) * 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ
US5963737A (en) * 1996-04-18 1999-10-05 International Business Machines Corporation Interupt vectoring for trace exception facility in computer systems
DE19701166A1 (de) * 1997-01-15 1998-07-23 Siemens Ag Verfahren zur Überwachung der bestimmungsgemäßen Ausführung von Softwareprogrammen
US6631514B1 (en) * 1998-01-06 2003-10-07 Hewlett-Packard Development, L.P. Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations
JPH11338710A (ja) * 1998-05-28 1999-12-10 Toshiba Corp 複数種の命令セットを持つプロセッサのためのコンパイル方法ならびに装置および同方法がプログラムされ記録される記録媒体
US6480818B1 (en) * 1998-11-13 2002-11-12 Cray Inc. Debugging techniques in a multithreaded environment
US6430674B1 (en) * 1998-12-30 2002-08-06 Intel Corporation Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time
US7065633B1 (en) * 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US6826748B1 (en) * 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
US7013456B1 (en) * 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US7275246B1 (en) * 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US6446197B1 (en) * 1999-10-01 2002-09-03 Hitachi, Ltd. Two modes for executing branch instructions of different lengths and use of branch control instruction and register set loaded with target instructions
US6449712B1 (en) * 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US7793261B1 (en) * 1999-10-01 2010-09-07 Stmicroelectronics Limited Interface for transferring debug information
US6609247B1 (en) * 2000-02-18 2003-08-19 Hewlett-Packard Development Company Method and apparatus for re-creating the trace of an emulated instruction set when executed on hardware native to a different instruction set field
US7149878B1 (en) * 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7093108B2 (en) 2001-02-01 2006-08-15 Arm Limited Apparatus and method for efficiently incorporating instruction set information with instruction addresses
US6760864B2 (en) * 2001-02-21 2004-07-06 Freescale Semiconductor, Inc. Data processing system with on-chip FIFO for storing debug information and method therefor
US6901583B1 (en) * 2001-07-19 2005-05-31 Hewlett-Packard Development Company, L.P. Method for testing of a software emulator while executing the software emulator on a target machine architecture
US7865948B1 (en) * 2001-12-03 2011-01-04 Advanced Micro Devices, Inc. Method and apparatus for restricted execution of security sensitive instructions
US7017030B2 (en) * 2002-02-20 2006-03-21 Arm Limited Prediction of instructions in a data processing apparatus
JP2003256237A (ja) 2002-02-27 2003-09-10 Toshiba Corp 割り込み発生装置、割り込み発生方法および割り込み発生プログラム
GB0225649D0 (en) * 2002-11-04 2002-12-11 Transitive Technologies Ltd Incremental validation
AU2003282365A1 (en) * 2002-11-26 2004-06-18 Mplicity Ltd. A processor capable of multi-threaded execution of a plurality of instruction-sets
CN1216327C (zh) * 2003-05-15 2005-08-24 复旦大学 采用双指令集的32位嵌入式微处理器
EP1628235A1 (en) * 2004-07-01 2006-02-22 Texas Instruments Incorporated Method and system of ensuring integrity of a secure mode entry sequence
US7958335B2 (en) * 2005-08-05 2011-06-07 Arm Limited Multiple instruction set decoding
US7757221B2 (en) * 2005-09-30 2010-07-13 Intel Corporation Apparatus and method for dynamic binary translator to support precise exceptions with minimal optimization constraints

Also Published As

Publication number Publication date
KR101019278B1 (ko) 2011-03-07
BRPI0715163B1 (pt) 2023-05-09
JP5788370B2 (ja) 2015-09-30
JP2010500661A (ja) 2010-01-07
CA2658829A1 (en) 2008-02-21
EP2054808B1 (en) 2016-05-25
RU2429525C2 (ru) 2011-09-20
HUE029441T2 (en) 2017-02-28
US8352713B2 (en) 2013-01-08
MX2009001458A (es) 2009-02-19
EP3009936A1 (en) 2016-04-20
BRPI0715163A2 (pt) 2013-06-11
ES2588185T3 (es) 2016-10-31
JP2013058217A (ja) 2013-03-28
US20080040587A1 (en) 2008-02-14
JP5546859B2 (ja) 2014-07-09
CA2658829C (en) 2016-01-05
EP2054808A1 (en) 2009-05-06
IN2014MN01895A (ru) 2015-07-10
CN101501650A (zh) 2009-08-05
CN101501650B (zh) 2016-12-07
KR20090051205A (ko) 2009-05-21
CN106909501B (zh) 2021-02-05
CN106909501A (zh) 2017-06-30
WO2008021763A1 (en) 2008-02-21

Similar Documents

Publication Publication Date Title
RU2009108321A (ru) Схема отладки, сравнивающая режим обработки набора команд процессора
US9606681B2 (en) Finger detection on touch screens for mobile devices
US9964661B2 (en) Determination device, electrical device, and method of determining moving state
KR890012218A (ko) 컴퓨터 시스템에서의 키보드 선택방법 및 장치
RU2011142448A (ru) Способ и устройство для обеспечения отображения местоположения в координатном пространстве
CA2599353A1 (en) Dryer with clogging detecting function
US8825341B2 (en) Vehicle information management system
CN108944440B (zh) 一种加速踏板的控制方法、装置、车辆及计算设备
EP3447632A3 (en) Electronic device for displaying application and operating method thereof
RU2011147125A (ru) Устройство обработки информации, способ обработки информации и программа
CN109726058B (zh) 检测方法、装置及计算机设备
RU2014123558A (ru) Детектирование наличия объекта с использованием осветительного устройства с расщепленным пучком
JP2018524777A5 (ru)
JP2012138013A5 (ru)
JP2009075817A5 (ru)
EP2135144A1 (en) Machine condition monitoring using pattern rules
RU2013147803A (ru) Система распознавания жестов с управлением конечным автоматом блока обнаружения указателя и блока обнаружения динамического жеста
JP2006205970A (ja) プラットホームドア状態監視システム
RU2012154547A (ru) Способ управления модулем контроля и система контроля
RU2009116261A (ru) Способ для эксплуатации установки промышленного масштаба, а также система управления для установки промышленного масштаба
CN111059696B (zh) 一种功率模块温度检测控制方法、计算机可读存储介质及空调
CN112131098A (zh) 一种用于对电能表软件进行测试的方法及系统
BR112022016306A2 (pt) Sistemas e métodos para controle de terminal
CN112363894A (zh) 一种国产计算机故障报警系统
JP6632182B2 (ja) 警報器