FIFO Store Queue with Checkpoint-Based Aggressive Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges with store queues due to the high semiconductor area and power consumption requirements of content addressable memory (CAM) circuits, which limit the number of entries and cause delays in committing stores to the memory hierarchy.

Innovation Solution

A processor design that uses a first-in-first-out (FIFO) store queue with checkpointing mechanisms, allowing for limited merging of stores before a checkpoint, aggressive merging after a checkpoint, and efficient management of commit and merge pointers to optimize store queue operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CAM circuits are used to compare store queue entries with load addresses, then store forwarding can be determined, but semiconductor area and power consumption increase significantly

Engineering Contradiction:
Improvestore forwarding capabilityVSAvoidsemiconductor area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent extracts the address comparison function from the CAM circuit and implements it using simpler comparison logic in the store queue entry structure. Each store entry includes the address and a generation counter, allowing comparisons to be made through straightforward logic rather than complex CAM circuitry.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the expensive CAM circuit with a simpler, more economical store queue entry structure that uses basic comparators and counters. This cheaper structure achieves the same functional outcome (determining store forwarding) without the high area and power costs of CAM circuits.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

2Productivity

If CAM circuits are used to compare store queue entries with load addresses, then store forwarding can be determined, but power consumption increases significantly

Engineering Contradiction:
Improvestore forwarding capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent extracts the address comparison function from the CAM circuit and implements it using simpler comparison logic in the store queue entry structure. Each store entry includes the address and a generation counter, allowing comparisons to be made through straightforward logic rather than complex CAM circuitry.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the expensive CAM circuit with a simpler, more economical store queue entry structure that uses basic comparators and counters. This cheaper structure achieves the same functional outcome (determining store forwarding) without the high area and power costs of CAM circuits.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If CAM circuits are used to compare store queue entries with load addresses, then store forwarding can be determined, but processor design complexity increases

Engineering Contradiction:
Improvestore forwarding capabilityVSAvoidprocessor design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the address comparison function from the CAM circuit and implements it using simpler comparison logic in the store queue entry structure. Each store entry includes the address and a generation counter, allowing comparisons to be made through straightforward logic rather than complex CAM circuitry.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the expensive CAM circuit with a simpler, more economical store queue entry structure that uses basic comparators and counters. This cheaper structure achieves the same functional outcome (determining store forwarding) without the high area and power costs of CAM circuits.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Quantity of substance

If the number of store queue entries is increased, then more stores can be buffered, but CAM circuit size must increase which worsens area and power consumption

Engineering Contradiction:
Improvenumber of store queue entriesVSAvoidCAM circuit area
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The patent extracts the address comparison function from the CAM circuit and implements it using simpler comparison logic in the store queue entry structure. Each store entry includes the address and a generation counter, allowing comparisons to be made through straightforward logic rather than complex CAM circuitry.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the expensive CAM circuit with a simpler, more economical store queue entry structure that uses basic comparators and counters. This cheaper structure achieves the same functional outcome (determining store forwarding) without the high area and power costs of CAM circuits.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

5Quantity of substance

If stores are held in the store queue for extended periods, then store buffering is achieved, but store commit delays occur

Engineering Contradiction:
Improvestore buffering capacityVSAvoidstore commit delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent introduces dynamic generation counters that increment with each store entry, enabling the system to dynamically track and manage store entries. This dynamic approach allows the processor to efficiently determine when stores can be forwarded or committed, reducing delays while maintaining buffering capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter tracking mechanism from static CAM circuit comparisons to dynamic generation counter comparisons. By using generation counters that increment with each store, the system can dynamically manage store entries and determine commit timing more efficiently, reducing store commit delays.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7934080B2Aggressive store merging in a processor that supports checkpointing
Publication Date: 2011.04.26 ORACLE AMERICAN INC
  • US7934080B2 patent drawing
  • US7934080B2 patent drawing
  • US7934080B2 patent drawing

AI summary

Embodiments of the present invention provide a processor that merges stores in an N-entry first-in-first-out (FIFO) store queue. In these embodiments, the processor starts by executing instructions before a checkpoint is generated. When executing instructions before the checkpoint is generated, the processor is configured to perform limited or no merging of stores into existing entries in the store queue. Then, upon detecting a predetermined condition, the processor is configured to generate a checkpoint. After generating the checkpoint, the processor is configured to continue to execute instructions. When executing instructions after the checkpoint is generated, the processor is configured to freely merge subsequent stores into post-checkpoint entries in the store queue.