Load Buffer Reduces Pipeline Stall in Processor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processor designs experience pipeline stalls due to speculative determination of a full load execution queue, leading to reduced performance and efficiency, as enlarging the load queue increases power consumption and area without fully resolving the issue.

Innovation Solution

A processor system with a load buffer that temporarily buffers instructions when the load queue is full, allowing continued dispatch of other instructions and delayed transfer of load instructions, thereby reducing premature stalling and maintaining pipeline activity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the load queue is enlarged to reduce pipeline stall probability, then the likelihood of pipeline stall is reduced, but the area and power consumption increase significantly

Engineering Contradiction:
Improvepipeline stall probabilityVSAvoidload queue area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The invention segments the load queue management into two parts: a smaller load queue and a load buffer. The load buffer acts as a separate storage region that temporarily holds load instructions when the load queue is full, allowing the system to maintain high pipeline utilization without requiring a large load queue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load buffer serves as an intermediary between the front end and the load queue. It temporarily stores load instructions that cannot be immediately loaded into the load queue, preventing pipeline stalls while avoiding the need to enlarge the load queue itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the load queue capacity is increased to accommodate more instructions, then pipeline stalls are reduced, but power consumption increases significantly

Engineering Contradiction:
Improveinstruction throughputVSAvoidload queue power consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The system segments instruction storage functionality between the load queue and load buffer, allowing the load queue to remain small and power-efficient while the load buffer handles temporary storage needs without contributing to excessive power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load buffer acts as a power-efficient intermediary that temporarily holds instructions, preventing the need to continuously power a large load queue while maintaining high instruction throughput during peak demand periods.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the load queue is speculatively determined to be full, then the front end pipeline can be stalled to prevent overflow, but this causes premature stalling and reduces performance

Engineering Contradiction:
Improveload queue fullness determinationVSAvoidpipeline performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The load buffer serves as an intermediary that absorbs the uncertainty of load queue fullness. By providing an additional storage location, it eliminates the need for speculative fullness determination, allowing the front end to continue issuing instructions without premature stalling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The load buffer provides preliminary storage capacity before the load queue is truly full. This preliminary action prevents the need for speculative stalling by ensuring there is always space available for incoming load instructions.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If a larger load queue is used to reduce pipeline stalls, then instruction dispatch continuity is improved, but the device complexity increases

Engineering Contradiction:
Improveinstruction dispatch continuityVSAvoidload queue structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention divides the storage function into two separate structures: a compact load queue for active instructions and a load buffer for temporary storage. This segmentation maintains simple, manageable structures while achieving continuous instruction dispatch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load buffer acts as a simple intermediary structure that maintains dispatch continuity without adding complexity to the load queue itself. It provides a straightforward buffer mechanism that is easier to manage than a large, complex load queue.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10437599B2System and method of reducing processor pipeline stall caused by full load queue
Publication Date: 2019.10.08 VIA ALLIANCE SEMICON CO LTD
  • US10437599B2 patent drawing
  • US10437599B2 patent drawing

AI summary

A processor that reduces pipeline stall including a front end, a load queue, a scheduler, and a load buffer. The front end issues instructions while a first full indication is not provided, but otherwise stalls issuing instructions. The load queue stores issued load instruction entries including information needed to execute the issued load instruction. The load queue provides a second full indication when full. The scheduler dispatches issued instructions for execution except for stalled load instructions, such as when not yet been stored in the load queue. The load buffer transfers issued load instructions to the load queue when the load queue is not full. When the load queue is full, the load buffer temporarily buffers issued load instructions until the load queue is no longer full. The load buffer allows more accurate load queue full determination, and allows processing to continue even when the load queue is full.