Disambiguation-Free Load Store Queue for Asynchronous Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face inefficiencies in context switching and parallelism due to the overhead of duplicating architecture state elements for multiple threads, particularly in fine-grained parallelism scenarios, where context switches are frequent and complex, leading to increased power consumption and complexity.

Innovation Solution

Implementing a disambiguation-free out-of-order load store queue method that includes a memory resource accessible by asynchronous cores, a store retirement buffer, and a mechanism for forwarding data from the store retirement buffer to matching loads, ensuring correct data forwarding and reducing the need for explicit context switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If hardware duplicates all architecture state elements for each supported thread, then context switch overhead is reduced, but area, power consumption, and hardware complexity increase

Engineering Contradiction:
Improvecontext switch overheadVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges the state management of multiple threads into a unified load store queue structure that handles context switching without duplicating full architecture state. The load store queue maintains program-order stores and enables cross-thread forwarding, eliminating the need for separate state copies while reducing context switch overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The load store queue is designed as a universal structure that serves multiple threads simultaneously, functioning as both a store buffer and a forwarding mechanism. This multi-functional design allows the same hardware structure to handle store operations and data forwarding for different threads without requiring thread-specific duplications.

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

2Loss of time

If hardware duplicates all architecture state elements for each supported thread, then context switch overhead is reduced, but area and power consumption increase

Engineering Contradiction:
Improvecontext switch overheadVSAvoidpower consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent merges the state management of multiple threads into a unified load store queue structure that handles context switching without duplicating full architecture state. The load store queue maintains program-order stores and enables cross-thread forwarding, eliminating the need for separate state copies while reducing context switch overhead.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If out of order execution is implemented, then processor efficiency is improved, but disambiguation complexity and power consumption increase

Engineering Contradiction:
Improveprocessor efficiencyVSAvoiddisambiguation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by maintaining stores in program order within the load store queue before execution. This preliminary ordering simplifies subsequent disambiguation operations, as the structured sequence of stores enables efficient matching and forwarding without complex disambiguation logic.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The load store queue acts as an intermediary structure between out-of-order execution units and the memory system. It maintains program-order stores while enabling out-of-order forwarding to loads, mediating the complexity of disambiguation through its structured organization of store entries with tags and address information.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10048964B2Disambiguation-free out of order load store queue
Publication Date: 2018.08.14 INTEL CORP
  • US10048964B2 patent drawing
  • US10048964B2 patent drawing
  • US10048964B2 patent drawing

AI summary

In a processor, a disambiguation-free out of order load store queue method. The method includes implementing a memory resource that can be accessed by a plurality of asynchronous cores; implementing a store retirement buffer, wherein stores from a store queue have entries in the store retirement buffer in original program order; and upon dispatch of a subsequent load from a load queue, searching the store retirement buffer for address matching. The method further includes in cases where there are a plurality of address matches, locating a correct forwarding entry by scanning for the store retirement buffer for a first match; and forwarding data from the first match to the subsequent load.