Processor Value Prediction via LoadCheck Move Micro-operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face challenges in implementing value prediction due to complexity, increased hardware requirements, and limited access to register files, which hinders instruction-level parallelism and overall performance.

Innovation Solution

The proposed solution involves a processor architecture that efficiently provides value prediction by using a combination of LoadCheck and Move micro-operations, allowing for out-of-order execution and early availability of predicted values in the register file, reducing the need for additional hardware and improving timing, area, and power characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If value prediction is implemented using traditional methods, then instruction-level parallelism is improved, but device complexity and hardware requirements increase significantly

Engineering Contradiction:
Improveinstruction-level parallelismVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses a Value Prediction Table (VPT) that stores predicted values as copies of previously computed results. Instead of implementing complex prediction logic, the system creates copies of known values and makes them available to dependent instructions, thereby improving instruction-level parallelism without significantly increasing hardware complexity

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary computation of values and stores them in the Value Prediction Table before they are actually needed by dependent instructions. This allows the processor to speculatively use predicted values ahead of time, improving parallelism while keeping the hardware structure relatively simple

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If a multi-ported value prediction table is used for every Load instruction, then value prediction accuracy improves, but area in silicon and hardware cost increase

Engineering Contradiction:
Improvevalue prediction accuracyVSAvoidsilicon area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The Value Prediction Table is designed to serve multiple purposes: it stores predicted values for Load instructions, provides speculative data to execution units, and enables value prediction across different instruction types. This multi-functional design improves prediction accuracy without requiring separate hardware structures for each Load instruction

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

Solution Approach 2:

The patent introduces an intermediary Value Prediction Table that sits between the register file and execution units. This table acts as a buffer that provides predicted values to dependent instructions without requiring direct multi-ported access to the register file, thereby reducing the silicon area required while maintaining prediction accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If additional hardware is added to communicate predicted values to future consumer instructions, then value prediction functionality is enabled, but device complexity and criticality of register file access increase

Engineering Contradiction:
Improvevalue prediction capabilityVSAvoidregister file access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The Value Prediction Table serves as an intermediary structure that decouples the register file from the value prediction functionality. Instead of adding complex communication paths directly to the register file, the VPT intercepts and handles value prediction requests, thereby enabling value prediction capability while keeping register file access relatively simple

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the value prediction functionality into a separate Value Prediction Table structure rather than integrating it directly into the register file. This segmentation allows value prediction to operate independently with its own access patterns, reducing the criticality and complexity of register file access while enabling full value prediction capability

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4202652A1Device, method and system to provide a predicted value with a sequence of micro-operations
Publication Date: 2023.06.28 INTEL CORP
  • EP4202652A1 patent drawingFigure 1A
  • EP4202652A1 patent drawingFigure 1B
  • EP4202652A1 patent drawingFigure 1C

AI summary

Techniques and mechanisms for efficiently making value prediction information available for use by in a processor. In an embodiment, the instruction execution is to include a loading of some data to a first location (e.g., a first register). A decoder of the processor accesses reference information which indicates that the execution is to comprise multiple micro-operations (µops) including a LoadCheck µop and a Move µop. The LoadCheck µop loads a first value to the first location, and checks whether the loaded first value is the same as a previously-determined second value which represents a prediction of what the first value would be. The Move µop moves the second value to the first location. In another embodiment, the Move µop is scheduled for execution out-of-order with respect to the LoadCheck µοp, resulting in an early availability of the second value for access in a register file by another µop.