Store Buffer Age Tracking for Store-to-Load Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing systems face challenges in ensuring that load instructions retrieve the newest data by maintaining store instructions within buffers, which is a processing-intensive task, especially when dealing with large amounts of data and energy consumption.

Innovation Solution

The implementation of a separate age buffer to track the relative ages of store instructions, along with a store buffer to store the data, reduces processing power by sorting smaller entry identifications rather than the entire data set, allowing for efficient store-to-load forwarding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If store instructions are buffered to ensure load instructions retrieve the newest data, then data correctness is improved, but processing power and energy consumption increase

Engineering Contradiction:
Improvedata correctnessVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the buffering function into two separate buffers: a store buffer for storing store instructions and an age buffer for tracking the relative ages of store instructions. This segmentation allows the system to maintain data correctness through proper ordering while reducing the processing burden by separating the storage function from the sorting function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses entry identifications as copies or references to store instructions in the age buffer, rather than storing the complete data structures. This copying approach allows the system to track age information with minimal processing overhead while maintaining the ability to retrieve correct data through the store buffer.

Inventive Principle:
Principle #26Copying

2Reliability

If store instructions are buffered to ensure load instructions retrieve the newest data, then data correctness is improved, but processor resources are consumed

Engineering Contradiction:
Improvedata correctnessVSAvoidprocessor resources
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the buffering functionality into separate store buffer and age buffer components, each with specific responsibilities. The store buffer handles data storage while the age buffer handles age tracking, reducing the resource requirements for each individual buffer and improving overall system efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses simplified entry identifications in the age buffer that reference store instructions rather than storing complete data structures. This copying mechanism reduces processor resource consumption while maintaining the ability to correctly identify and retrieve the most recent store instructions.

Inventive Principle:
Principle #26Copying

3Measurement precision

If the entire data set is sorted to maintain store instruction ages, then data ordering accuracy is improved, but processing power increases

Engineering Contradiction:
Improveage ordering accuracyVSAvoidprocessing power
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent extracts the age tracking function from the main data storage function by using a separate age buffer that stores only age information through entry identifications. This extraction allows the system to maintain accurate age ordering with minimal processing power, as only the age buffer needs to be sorted rather than the entire data set.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses entry identifications as lightweight copies that represent store instructions in the age buffer. Sorting these small identifications requires significantly less processing power than sorting complete data structures, while still maintaining accurate age ordering through the reference relationship between identifications and store instructions.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12147707B2Buffer circuitry for store to load forwarding
Publication Date: 2024.11.19 MIPS HLDG INC
  • US12147707B2 patent drawing
  • US12147707B2 patent drawing
  • US12147707B2 patent drawing

AI summary

A system and method for performing a store to load process includes receiving a first store instruction. The first store instruction includes a first target address, a first mask, and a first data structure. Further, the first target address, the first mask, and the first data structure are stored within a first store buffer location of a store buffer. A first entry identification associated with the first store buffer location is stored within an age buffer. The first data structure is output based on an order of entry identifications within the age buffer.