Trace Execution Coherency via Status Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor sequencing techniques fail to meet the demands of advanced processors for improved performance and reduced power consumption, particularly in portable devices, while maintaining backward compatibility with x86 instruction code.

Innovation Solution

A method and system that ensures coherency of instruction sequences by grouping them into traces, setting a verified status, and using a coherency component with a pointer to a physical address, which is invalidated upon receiving an invalidating event, preventing unverified traces from execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current processor sequencing techniques are used, then backward compatibility with x86 instruction code is maintained, but performance and power consumption requirements of advanced processors are not met

Engineering Contradiction:
Improvebackward compatibilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments instructions into traces, which are groups of instructions that can be executed together. This segmentation allows the processor to maintain compatibility with x86 instruction code while enabling more efficient execution through trace-based sequencing. The trace cache stores these segmented traces for rapid retrieval and execution, resolving the contradiction between maintaining backward compatibility and achieving advanced processor performance.

Inventive Principle:
Principle #1Segmentation

2Reliability

If traces are formed and validated, then execution coherency is ensured, but additional validation overhead is introduced

Engineering Contradiction:
Improveexecution coherencyVSAvoidvalidation mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs validation of trace coherency before execution by checking status flags associated with traces in the trace cache. This preliminary validation ensures that only coherent traces are executed, maintaining execution reliability. The validation mechanism uses existing trace status information rather than introducing complex new validation hardware, thus ensuring coherency without excessive complexity overhead.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If unverified traces are prevented from execution, then execution safety is improved, but trace execution throughput may be reduced

Engineering Contradiction:
Improveexecution safetyVSAvoidtrace execution throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses feedback from trace validation status to control execution. Status flags associated with traces provide feedback on whether a trace has been verified for coherency. The processor uses this feedback to selectively execute only verified traces, ensuring safety while maintaining throughput by allowing verified traces to proceed without additional delays. This feedback mechanism enables safety without sacrificing performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8032710B1System and method for ensuring coherency in trace execution
Publication Date: 2011.10.04 SUN MICROSYSTEMS INC
  • US8032710B1 patent drawing
  • US8032710B1 patent drawing
  • US8032710B1 patent drawing

AI summary

A method and system of ensuring coherency of a sequence of instructions to be executed by a processor having a trace unit and an execution unit includes grouping at least a portion of the sequence of instructions to form at least one trace where a status of the at least one trace is set to a verified status when the at least one trace is formed; holding in the at least one trace a coherency component that includes a pointer to a physical address of the at least one trace; receiving, based on the coherency component, the pointer to the physical address as associated with an invalidating event, and in response thereto, setting the status of the at least one trace to be an unverified status; and preventing the at least one trace from being executed when the status of the at least one trace is the unverified status.