Trace Logic Data Volume Reduction via Reference Omission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The finite bus bandwidth and trace buffer size limit the volume of trace elements that can be generated and output for tracing processor activities, particularly in high-power and complex processor cores, leading to inefficient data capture and analysis.
Innovation Solution
The trace logic generates trace elements by omitting parts derivable from control values stored in storage elements, using references to these elements instead, allowing for a significant reduction in trace data volume while maintaining reconstructibility of the original data elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If trace elements are generated to represent all data elements produced by processor logic, then complete tracing of processor activities is achieved, but the volume of trace data becomes excessively large exceeding bus bandwidth and buffer capacity
Solution Approach 1:
The patent extracts only the essential information needed for tracing by generating trace elements that represent data elements without copying all their data. Instead of transferring complete data values, the system extracts and transmits only the necessary trace identifiers and metadata, significantly reducing data volume while maintaining tracing capability.
Solution Approach 2:
The patent creates a simplified copy representation of data elements through trace elements. Rather than copying actual data values, the system creates symbolic representations that reference stored data values, allowing the trace analysis tool to reconstruct complete data information when needed without transferring the full data itself.
2Productivity
If a trace buffer of finite size is used to store trace elements, then bandwidth constraints are satisfied, but the ability to capture complete trace data is limited
Solution Approach 1:
The system extracts only essential trace information into the buffer, leaving detailed data information for later reconstruction. This allows the buffer to capture complete trace sequences without requiring large storage capacity, as only compact trace element representations are stored rather than full data copies.
Solution Approach 2:
The patent performs preliminary actions by pre-storing data values in storage elements before they are needed for tracing. This allows the trace buffer to reference these pre-available values rather than storing complete data streams, enabling higher capture rates with smaller buffer sizes.
3Reliability
If data value tracing is enabled to correlate data accesses with instructions, then comprehensive processor activity tracking is achieved, but the amount of trace data increases significantly
Solution Approach 1:
The patent extracts only the necessary correlation information between instructions and data accesses by tracing control flow and memory access patterns rather than copying all data values. This maintains accurate tracing that correlates instructions with their data operations while avoiding the data volume explosion that would result from full data value tracing.
Data Source
AI summary
A data processing apparatus and method for generating trace elements is provided. The data processing apparatus comprises logic producing a series of data elements, indicative of the operation or state of all or part of the logic. Trace logic is provided for receiving indications of these data elements, and for generating from the indications a stream of trace elements. When for a given data element, at least part of the data element is derivable from a reference to a control value stored in a storage element, the trace logic is operable, dependent on that data element, to omit that part of the associated data element indication from the corresponding trace element generated in respect of the data element, instead including a reference to the corresponding storage element. A trace analysing apparatus can then be used to reconstruct such omitted information based on a copy of the relevant storage element.


