Trace Unit Prediction Circuitry Speculative Execution Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data processing systems face challenges in generating and managing trace data due to space constraints and high volumes of data generated, especially when performing speculative execution, which can lead to synchronization issues between tracing and diagnostic circuitry, resulting in inaccurate trace data output.

Innovation Solution

A trace unit is configured with prediction circuitry, a data store, and a history buffer to predict responses to program instructions, store information for later verification, and restore previous states, ensuring accurate and synchronized trace data output even during speculative execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative execution is used to improve processing speed, then productivity increases, but trace data accuracy deteriorates due to synchronization issues between tracing and diagnostic circuitry

Engineering Contradiction:
Improveprocessing speedVSAvoidtrace data accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-fetching instructions into a buffer before they are actually executed. This allows the tracing circuitry to prepare trace data in advance while the diagnostic circuitry is not yet ready, thereby maintaining synchronization during speculative execution without compromising trace data accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (the buffer and control logic) between the speculative execution unit and the tracing/diagnostic circuitry. This intermediary coordinates the timing and synchronization between the fast speculative execution and the slower diagnostic operations, resolving the accuracy issue while preserving productivity benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If full instruction stream and data stream trace is performed to capture complete operation, then measurement precision improves, but volume of trace data increases prohibitively

Engineering Contradiction:
Improvetrace completenessVSAvoidtrace data volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential trace information needed for diagnostic purposes from the full instruction stream and data stream. By selectively capturing only critical events and state information rather than all data, the system maintains measurement precision while dramatically reducing trace data volume.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by tracing only the necessary portions of the instruction stream and data stream rather than the complete execution trace. This selective tracing approach provides sufficient diagnostic information while avoiding the prohibitive volume associated with full traces.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of substance

If Embedded Trace Macrocell compression is used to reduce trace data bandwidth, then loss of substance decreases, but device complexity increases due to additional compression and decompression circuitry

Engineering Contradiction:
Improvetrace data bandwidthVSAvoidcompression circuitry
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent implements self-service compression where the trace data is compressed and decompressed automatically as part of the normal tracing operation. The compression is performed at the source (Embedded Trace Macrocell) and decompression occurs at the destination without requiring external intervention, thereby reducing bandwidth while managing complexity through integrated design.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8677104B2System for efficiently tracing data in a data processing system
Publication Date: 2014.03.18 ARM LTD
  • US8677104B2 patent drawing
  • US8677104B2 patent drawing
  • US8677104B2 patent drawing

AI summary

A data processing apparatus is provided comprising prediction circuitry for predicting a response of the data processing circuitry at at least one given execution point to execution of a program instruction; tracing circuitry for tracing operation of the data processing apparatus for outputting a prediction indicator indicating whether or not the predicted response is correct; a data store configured to store information relating to the predicted response of said data processing circuitry at the given execution point for use by at least one of said prediction logic and said tracing circuitry a later execution point; and a history buffer configured to store historical information with regard to one or more entries of the data store at a corresponding execution point previous to the given execution point to enable restoration of said data store to a state corresponding to said previous execution point.