Trace Circuitry Synchronization Markers for Data-Instruction Correlation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in correlating multiple trace streams effectively, making it difficult to accurately analyze processing operations due to the complexity of tracing circuitry and the non-linear increase in cost with widening data paths and concurrent transfers.

Innovation Solution

The implementation of synchronisation markers and key values in separate trace streams allows for accurate correlation between instruction and data trace streams, enabling efficient analysis by marking synchronisation points and individual elements within the streams, and accommodating variable latency and out-of-order data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple separate trace streams are provided for instructions and data, then bandwidth efficiency and filtering capability are improved, but correlation accuracy between streams deteriorates

Engineering Contradiction:
Improvebandwidth efficiencyVSAvoidcorrelation accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

Synchronisation markers act as intermediary elements inserted into trace streams to enable correlation between separate instruction and data trace streams. These markers provide reference points that allow analysis tools to accurately match data elements with their corresponding instruction elements across different streams, resolving the correlation accuracy problem while maintaining the bandwidth efficiency of separate streams.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter of trace stream structure by introducing synchronisation markers at specific intervals and using key value parameters to identify corresponding elements across streams. This parameter change enables accurate correlation without requiring a single consolidated trace stream, thus maintaining bandwidth efficiency while improving measurement precision.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If data paths are widened to handle more concurrent transfers, then productivity is improved, but device complexity increases non-linearly

Engineering Contradiction:
Improveconcurrent transfer capabilityVSAvoidtracing circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the trace data into multiple separate streams (instruction trace stream and data trace stream) rather than using a single wide trace path. This segmentation allows each stream to be handled independently with simpler circuitry, avoiding the non-linear complexity increase that would result from widening a single data path to handle all concurrent transfers and tracing operations.

Inventive Principle:
Principle #1Segmentation

3Loss of substance

If separate instruction and data trace streams are used, then header space is reduced, but difficulty in correlating streams increases

Engineering Contradiction:
Improveheader spaceVSAvoidcorrelation difficulty
Core Design Contradiction:
Loss of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

Synchronisation markers serve as intermediary reference points inserted into the separate trace streams. These markers enable analysis tools to easily correlate data elements with instruction elements across streams without requiring extensive header information, thus reducing header space while making correlation easier rather than more difficult.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9348688B2Correlating trace data streams
Publication Date: 2016.05.24 ARM LTD
  • US9348688B2 patent drawing
  • US9348688B2 patent drawing
  • US9348688B2 patent drawing

AI summary

A data processing apparatus is provided with trace circuitry for generating a plurality of trace streams including an instruction trace stream 10 and a data trace stream 12. The instruction elements within the instruction trace stream and the data elements within the data trace stream are marked with key values KV such that a match may be made between data elements and corresponding instruction elements. When predetermined conditions are met, synchronization markers 66 are inserted in both the instruction trace stream 10 and the data trace stream 12 in order to permit a precise correlation to be made between the instruction elements and the data elements when the data is subsequently analyzed.