Trace Circuitry Indexing for Out-of-Order Data Transfer Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, particularly with out-of-order processors, tracing individual data transfers from multiple data transfer instructions is challenging due to the unpredictable order of data transfers, which existing tracing tools like ETMv3 cannot adequately address, especially when filtering is applied.

Innovation Solution

The implementation of trace circuitry that assigns predetermined index values to each data transfer within multiple transfer instructions, allowing for the identification of individual data transfers by associating these index values with trace elements, even in out-of-order execution scenarios, thereby enabling accurate tracing and reconstruction of processing activities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If filtering of trace data is applied to reduce the amount of trace data output, then the quantity of trace data is reduced, but the ability to identify individual data transfers from multiple data transfers is lost

Engineering Contradiction:
Improvequantity of trace dataVSAvoidinformation about individual data transfer identity
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent extracts only the essential identifying information (index value) from the trace data while filtering out redundant details. By taking out just the index value that identifies which data transfer in a multiple data transfer sequence is being traced, the system reduces trace data quantity while preserving the critical information needed to identify individual transfers.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameter representation of trace data by using index values instead of full data transfer descriptors. This parameter transformation allows the trace system to represent multiple data transfers with compact index identifiers (e.g., 0, 1, 2, 3) rather than detailed transfer information, thereby reducing data quantity while maintaining identification capability.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If trace data is filtered to output only some data transfers from a multiple data transfer, then the quantity of trace data is reduced, but the correspondence between traced transfers and original transfers cannot be determined

Engineering Contradiction:
Improvequantity of trace dataVSAvoidprecision of transfer identification
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary index value that mediates between the filtered trace data and the original multiple data transfers. This index value acts as a reference key that allows the trace system to selectively output certain transfers while maintaining the ability to identify which original transfer each traced transfer corresponds to, thus preserving measurement precision despite filtering.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If out-of-order execution is implemented to improve processor performance, then productivity is improved, but the ability to correlate trace data with instruction order is compromised

Engineering Contradiction:
Improveprocessor execution speedVSAvoidinformation about instruction execution order
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by assigning index values to data transfers in the original instruction order before execution. This pre-assignment of identifiers ensures that even when out-of-order execution occurs, each data transfer retains its original positional identity, allowing trace data to be correlated with the instruction order despite the reordering of execution.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If multiple data transfers are traced without index values, then the tracing process is simple, but the individual identification of each data transfer is impossible

Engineering Contradiction:
Improvecomplexity of trace circuitryVSAvoidprecision of data transfer identification
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent segments the identification of multiple data transfers by assigning distinct index values (0, 1, 2, 3, etc.) to each transfer within a multiple data transfer instruction. This segmentation approach maintains relatively simple trace circuitry while enabling precise individual identification of each data transfer through the use of these discrete index identifiers.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8966323B2Monitoring multiple data transfers
Publication Date: 2015.02.24 ARM LTD
  • US8966323B2 patent drawing
  • US8966323B2 patent drawing
  • US8966323B2 patent drawing

AI summary

Trace circuitry for monitoring a behavior of at least one processor and for generating items of trace data indicative of processing activities of said at least one processor executing a stream of instructions is disclosed. The stream of instructions comprises different types of instructions, each type specifying a different operation, at least one type of instruction comprising a multiple transfer instruction specifying a plurality of data transfers. The trace circuitry is responsive to detection of the at least one processor executing at least one of the multiple transfer instructions and to an indication that at least one of the plurality of data transfers is to be traced: to output for each of the data transfers to be traced a value indicative of a predetermined index value associated with the data transfer, the at least one multiple transfer instruction having predetermined index values associated with each of the plurality of data transfers, such that the predetermined index value provides individual identification of each of the data transfers.