Context-Sensitive Debug Requests for Real-Time Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debugging techniques in processor-based systems are intrusive, requiring the processor to halt and suspend operations, which is undesirable for time-critical applications, and do not effectively handle complex systems with virtualized environments.

Innovation Solution

Implementing context-sensitive debug requests that allow processors to service memory and register accesses while operating in real-time by using debug context registers and logic to evaluate conditional criteria before executing the requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor enters a suspended state to service debug requests, then debug access can be obtained, but processor operation is halted and time-critical deadlines cannot be met

Engineering Contradiction:
Improvedebug accessVSAvoidprocessor operation
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The debug system is segmented into separate components: debug registers and memory locations are separated from general processor resources, and multiple debug requests can be queued and serviced independently. This allows the processor to service debug requests without halting main operations, as the debug subsystem operates independently alongside the main processor functions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Debug information is preliminarily captured and stored in dedicated debug registers and memory locations before the processor needs to service debug requests. Breakpoint information, memory contents, and register states are pre-captured in the debug subsystem, allowing the processor to service debug requests without halting execution, as all necessary debug data is already available in the separated debug memory space.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the processor halts to service debug requests, then memory and register contents can be retrieved, but time-critical interrupts cannot be serviced

Engineering Contradiction:
Improvedebug information accuracyVSAvoidinterrupt response time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system segments debug functionality from main processor operations by providing separate debug registers, debug memory locations, and dedicated debug interconnects. This segmentation allows the processor to service time-critical interrupts while the debug subsystem independently captures and stores debug information, ensuring both accurate debug data retrieval and timely interrupt response without mutual interference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A dedicated debug interconnect acts as an intermediary between the processor core and debug subsystem components. This intermediary allows debug requests to be serviced through the debug subsystem without blocking the main processor execution path, enabling simultaneous processor operation and debug information retrieval, thus maintaining both measurement precision and timely interrupt response.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If conventional debug techniques are used in virtualized environments, then debugging can be performed, but it becomes ineffective without knowledge of the specific process and operating system executing

Engineering Contradiction:
Improvedebugging capabilityVSAvoidsystem context management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The debug system is segmented into virtualization-aware components that can identify and track specific virtual machines, processes, and operating systems. Debug registers and memory locations are organized to store context-specific information for different virtualized environments, allowing the debug subsystem to adapt to the specific process and OS executing without requiring processor halts or complex context switching.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debug subsystem dynamically adapts to the executing context by tracking virtual machine identifiers, process information, and operating system states. This dynamic context awareness allows the debug system to automatically adjust its behavior based on the current virtualized environment, making debugging effective without requiring manual configuration or processor suspension.

Inventive Principle:
Principle #15Dynamics

4Ease of operation

If the processor is suspended for debug requests, then complete control can be obtained for inspection, but real-time operation is compromised

Engineering Contradiction:
Improvedebug controlVSAvoidreal-time operation
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments debug control functions from main processor operations by providing dedicated debug registers, separate debug memory locations, and independent debug interconnects. This segmentation allows complete debug control and inspection capabilities to operate independently without suspending the processor, maintaining both ease of debug operation and real-time system reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debug subsystem provides self-service capabilities by automatically capturing and storing debug information in dedicated registers and memory locations without requiring processor suspension. The debug system can independently service debug requests, inspect memory and register contents, and maintain real-time operation simultaneously, eliminating the need to compromise either debug control or system reliability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12423215B2Context-sensitive debug requests for memory access
Publication Date: 2025.09.23 TEXAS INSTRUMENTS INC
  • US12423215B2 patent drawing
  • US12423215B2 patent drawing
  • US12423215B2 patent drawing

AI summary

Embodiments include a device having a processor core that can operate in any of multiple operating modes, and a controller that issues a debug request to the processor core. The processor core includes a register configured to store current operating state information of the processor core. The debug request includes a first portion to specify a virtual machine qualifier with respect to servicing the debug request, a second portion to specify a processor core operating mode qualifier with respect to servicing the debug request, and a third portion to specify a function qualifier with respect to servicing the debug request. Each qualifier can be enabled to make the qualifier a condition of servicing the debug request. When all enabled qualifiers are satisfied, the processor core services the debug request. The servicing of the debug request may be performed in real-time without suspending the processing device.