Trace Circuitry Position Data for Instruction Pipeline Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tracing tools face ambiguity and incorrect ordering of trace data regarding the sequence of instruction execution in processing elements, particularly due to the generation of event trace data and waypoint trace data, which can be out of sync with the actual order of events.

Innovation Solution

Incorporating position data to indicate the relative position of event trace data and waypoint trace data within the instruction pipeline execution, allowing for the reordering of trace data to accurately reflect the correct sequence of events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If event trace data and waypoint trace data are generated independently without position tracking, then the tracing tool can operate with simpler circuitry, but the trace data becomes ambiguous and incorrectly ordered regarding instruction execution sequence

Engineering Contradiction:
Improveaccuracy of trace data orderingVSAvoidcomplexity of trace circuitry
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The trace circuitry generates position data in advance alongside event and waypoint trace data, indicating the relative position of each trace data item with respect to instruction pipeline execution. This preliminary tagging of position information enables accurate reordering of trace data during analysis without requiring complex real-time synchronization mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Position data serves as an intermediary element that mediates between the independently generated event trace data and waypoint trace data. This position information acts as a reference key that allows the analysis tool to correctly correlate and reorder trace data items according to their actual execution sequence, resolving the ordering ambiguity without direct complex interaction between trace data generation components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If trace data is generated in real-time without position information, then the tracing operation is faster, but the trace data cannot be accurately reordered to reflect actual instruction execution sequence

Engineering Contradiction:
Improvereliability of trace data sequenceVSAvoidtime for trace data processing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Position data is generated in advance with each trace data item during the tracing operation, rather than being computed later during analysis. This preliminary tagging enables the analysis tool to efficiently reorder trace data using the pre-computed position information, minimizing processing time while ensuring accurate sequencing.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If position data is generated for all trace data items, then the trace data can be accurately reordered, but the quantity of data to be processed increases

Engineering Contradiction:
Improveprecision of event positioningVSAvoidquantity of trace data
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Position data is generated selectively for specific types of trace data items (event trace data and waypoint trace data) rather than uniformly for all trace data. This localized approach ensures that the trace data items requiring precise ordering have position information, while reducing the overall data volume compared to tagging every possible trace item.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10657021B2Tracing processing activity with position data to reorder items of trace data
Publication Date: 2020.05.19 ARM LTD
  • US10657021B2 patent drawing
  • US10657021B2 patent drawing
  • US10657021B2 patent drawing

AI summary

Data processing apparatus comprises a processing element having an instruction pipeline to execute instructions and trace circuitry to generate items of trace data indicative of processing activities of the processing element. The trace circuitry generates items of event trace data in response to events initiated by execution of corresponding instructions by the instruction pipeline and also generates items of waypoint trace data in response to instructions, in a set of waypoint instructions, reaching a predetermined stage relative to the instruction pipeline. The trace circuitry generates position data, indicating a relative position with respect to execution of the corresponding instructions by the instruction pipeline, of one or more items of event trace data and one or more items of waypoint trace data.