Memory Ordering Queue for Speculative Trace Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face challenges in efficiently and speculatively executing traces and memory operations while reducing hardware and power consumption, particularly in maintaining memory coherency and handling out-of-order execution of instructions like load and store operations.

Innovation Solution

A circuit is introduced that tracks memory operations with a trace unit and execution unit, caching data accessed by memory operations, and using a memory ordering queue to detect and manage ordering constraints, allowing for speculative execution without affecting the architectural state until operations are committed, and then invalidating memory operation ordering information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative execution of traces is enabled to improve performance, then productivity increases, but memory coherency and ordering constraints become difficult to maintain

Engineering Contradiction:
Improveexecution performanceVSAvoidmemory coherency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by establishing memory ordering constraints and tracking active memory operations before speculative execution occurs. The system pre-defines the required ordering relationships between memory operations and maintains this information in the memory ordering queue, allowing speculative execution to proceed while ensuring coherency is restored if needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through the memory ordering queue that continuously monitors and enforces ordering constraints during speculative execution. When a constraint violation is detected, the system receives feedback about the violation and can abort the speculative trace or adjust execution to maintain memory coherency, thus resolving the contradiction between performance and reliability.

Inventive Principle:
Principle #23Feedback

2Productivity

If out-of-order execution of memory operations is allowed to improve performance, then productivity increases, but device complexity increases due to additional tracking and validation mechanisms

Engineering Contradiction:
Improveexecution performanceVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the memory operation tracking into discrete, manageable components: the memory ordering queue stores individual ordering constraints, the versioning cache circuit manages specific memory locations, and the trace unit handles execution tracking. This modular segmentation reduces overall system complexity while enabling out-of-order execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements multi-functionality by designing the memory ordering queue to serve multiple purposes: it tracks active memory operations, enforces ordering constraints, provides feedback on constraint violations, and coordinates with the versioning cache circuit. This universal component reduces the need for separate dedicated hardware for each function, thereby reducing overall device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If memory operations are tracked and ordered to maintain coherency, then reliability improves, but use of energy increases due to additional validation and ordering enforcement

Engineering Contradiction:
Improvememory coherencyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies periodic action by implementing memory ordering validation at specific checkpoints rather than continuously. The system validates ordering constraints when traces commit or when memory operations complete, rather than requiring constant monitoring and enforcement. This periodic validation maintains reliability while significantly reducing the energy consumption associated with continuous validation mechanisms.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8024522B1Memory ordering queue/versioning cache circuit
Publication Date: 2011.09.20 SUN MICROSYSTEMS INC
  • US8024522B1 patent drawing
  • US8024522B1 patent drawing
  • US8024522B1 patent drawing

AI summary

A processor includes a circuit for tracking memory operations with trace-based execution. Each trace includes a sequence of operations that includes zero or more of the memory operations. The memory operations being executed form a set of active memory operations that have a predefined program order among them. At least some of the active memory operations access the memory in an execution order that is different from the program order. During the operation of the circuit, none of the operations of a given trace has any effect on the execution unit's architectural state prior to committing that trace. Each trace becomes eligible for commitment after all operations in the trace complete executing. The circuit also includes a sub-circuit that holds memory operation ordering information corresponding to the active memory operations. The sub-circuit detects violations of ordering constraints. After each trace is committed, the sub-circuit invalidates all of the memory operation ordering information associated with the trace.