Debug Module Stack Access Filtering for Trace Buffer Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Nexus debug standard faces challenges in managing trace messaging information, as it often overruns buffer space, requiring efficient mechanisms to prevent data trace message generation for processor stack accesses without intrusion on normal system operation.
Innovation Solution
A debug module within the data processing system determines whether a data access request is to a memory stack area, and if so, prevents data trace message generation based on predefined address ranges and thread membership criteria, using address and stack messaging enable modules to control trace message generation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If data trace messages are generated for all data access requests, then complete debugging information is obtained, but buffer space is overrun and system performance deteriorates
Solution Approach 1:
The patent segments the address space into stack areas and non-stack areas. The trace message generation is selectively applied: messages are generated for data access requests to non-stack areas, but suppressed for stack areas. This segmentation allows complete debugging information for critical operations while avoiding buffer overruns from excessive stack access tracing.
Solution Approach 2:
The patent applies different quality characteristics to different parts of the address space. Stack areas are identified and marked with a specific property (stack access flag), causing trace message generation to be suppressed locally in these regions. Non-stack areas maintain normal trace message generation. This local differentiation resolves the contradiction by preserving debugging completeness where needed while improving system performance by eliminating excessive tracing elsewhere.
2Productivity
If trace message generation is suppressed for stack accesses, then buffer overruns are prevented, but debugging information for stack operations is lost
Solution Approach 1:
The patent implements dynamic control of trace message generation based on the nature of the data access request. The system dynamically determines whether each access is to a stack area or non-stack area and adjusts trace message generation accordingly. This dynamic approach allows the system to optimize buffer usage while preserving debugging information for non-stack operations, resolving the contradiction between buffer management efficiency and debugging information completeness.
3Productivity
If address range filtering is applied to control trace message generation, then buffer overruns are prevented, but the complexity of trace message control increases
Solution Approach 1:
The patent extracts the stack area identification functionality from the general address range filtering mechanism. Instead of using complex address range comparisons, the system uses a dedicated stack access flag or indicator that is set when a data access request targets a stack area. This extraction simplifies the control mechanism while maintaining effective buffer management, resolving the contradiction between productivity and device complexity.
Data Source
AI summary
During a debug mode of operation of a data processor it is determined whether a data access request is to a stack of the data processor. If not, a data trace message based on the data access request is generated for transmission to a debugger so long as an address being accessed by data access request meets a predefined address range criteria. Otherwise, if the data access request is to the stack of the data processor, a data trace message based on the data access request is prevented from being generated for transmission to the debugger regardless the predefined address range criteria.


