CPU Pipeline Processing Efficiency via Jump Prediction and Result Reuse

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CPU pipeline processing is inefficient due to the inability to determine if a conditional jump will occur in the Ifetch stage, leading to incorrect predictions and subsequent pipeline flushing, which results in wasted power and reduced performance.

Innovation Solution

A method that involves acquiring a target instruction set, predicting its jump mode, performing pipeline processing based on the prediction, and saving the instruction set and processing results when a pipeline flushing request is received, allowing for reprocessing using the saved results if necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the CPU uses pipeline processing to improve computing efficiency, then the parallelism of instruction execution is improved, but the accuracy of jump prediction deteriorates leading to pipeline flushing

Engineering Contradiction:
Improvecomputing efficiencyVSAvoidjump prediction accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing branch prediction before the actual branch execution is complete. The prediction unit predicts the jump outcome in advance during the pipeline stages, allowing the CPU to fetch and execute instructions along the predicted path without waiting for the actual branch resolution. This resolves the contradiction by enabling productive pipeline processing while maintaining reliable execution through subsequent validation and conditional flushing only when predictions are wrong.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the actual branch outcome is compared with the predicted outcome, and pipeline flushing is triggered only when they differ. The system continuously monitors prediction accuracy and adjusts pipeline state based on feedback from later pipeline stages, resolving the contradiction by maintaining high productivity through prediction while ensuring reliability through feedback-driven correction of incorrect predictions.

Inventive Principle:
Principle #23Feedback

2Productivity

If the CPU makes jump predictions to continue pipeline processing, then the instruction throughput is improved, but the power consumption increases due to pipeline flushing

Engineering Contradiction:
Improveinstruction throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent converts the harmful effect of pipeline flushing (power waste) into a beneficial selective process by implementing intelligent prediction and conditional flushing. Instead of flushing the entire pipeline on every branch, the system predicts jump outcomes and only flushes when predictions are wrong, transforming the energy-wasting flushing operation into a targeted correction mechanism that minimizes power consumption while maintaining throughput.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Solution Approach 2:

The patent changes the operational parameters of pipeline processing by introducing prediction-based control flow. The system dynamically adjusts pipeline behavior based on prediction confidence and actual outcomes, modifying the flushing parameter from a frequent blanket operation to a rare targeted operation, thereby reducing energy loss while preserving instruction throughput.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the CPU flushes the pipeline on prediction failure, then the correctness of instruction execution is improved, but the processing efficiency deteriorates

Engineering Contradiction:
Improveinstruction execution correctnessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by implementing selective pipeline flushing rather than complete pipeline abandonment on every branch. The system performs prediction and continues processing along the predicted path partially, and only flushes the specific portion of the pipeline that contains incorrect instructions based on prediction failure detection, thereby maintaining correctness while preserving processing efficiency for the majority of correctly predicted branches.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11915006B2Method, system and device for improved efficiency of pipeline processing of instructions, and computer storage medium
Publication Date: 2024.02.27 INSPUR SUZHOU INTELLIGENT TECH CO LTD
  • US11915006B2 patent drawing
  • US11915006B2 patent drawing
  • US11915006B2 patent drawing

AI summary

A method, system and device for pipeline processing of instructions and a computer storage medium. The method comprises: acquiring a target instruction set (S101); acquiring a target prediction result, wherein the target prediction result is a result obtained by predicting a jump mode of the target instruction set (S102); performing pipeline processing on the target instruction set according to the target prediction result (S103); determining if a pipeline flushing request is received (S104); and if so, correspondingly saving the target instruction set and a corresponding pipeline processing result, so as to perform pipeline processing on the target instruction set again on the basis of the pipeline processing result (S105). By means of the method, system, and device and computer-readable storage medium, a target instruction set and a corresponding pipeline processing result are correspondingly saved, so that when the target instruction set is subsequently processed again, the saved pipeline processing result can be directly used to perform pipeline processing, and the efficiency of pipeline processing of instructions can be improved.