Multi-bit way prediction mask for instruction cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing way prediction techniques for instruction caches suffer from high misprediction rates, leading to performance losses and increased power consumption, as they often rely on inaccurate predictions or only enable all drivers, resulting in inefficiencies.

Innovation Solution

A multi-bit way prediction mask technique is introduced, where a subset of line drivers is enabled based on a prediction mask value associated with the last cache line fetched, reducing unnecessary driver activation and improving prediction accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all line drivers are enabled for each instruction cache access, then all ways can be accessed, but power consumption increases unnecessarily

Engineering Contradiction:
Improvecache access completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The prediction mask is pre-computed based on the last fetched cache line and used to predict which ways will be needed for the next access. This preliminary prediction allows the system to enable only the necessary line drivers before the actual cache access occurs, avoiding the need to enable all drivers and thereby reducing power consumption while maintaining access completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of uniformly enabling all line drivers across the entire cache, the invention applies selective enabling based on local prediction information. The prediction mask provides granular control over which specific ways (local regions) need to be accessed, allowing the system to activate only the locally relevant drivers rather than all drivers globally, thus optimizing power usage.

Inventive Principle:
Principle #3Local quality

2Use of energy by moving object

If a single way prediction is used to reduce power consumption, then fewer drivers are enabled, but misprediction rate increases

Engineering Contradiction:
Improvepower consumptionVSAvoidprediction accuracy
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The invention segments the prediction information into a multi-bit prediction mask, where each bit corresponds to a specific way. This segmentation allows the system to predict multiple potential next ways simultaneously rather than relying on a single prediction, thereby reducing misprediction rates while still enabling fewer drivers compared to enabling all drivers, thus balancing power consumption and prediction accuracy.

Inventive Principle:
Principle #1Segmentation

3Reliability

If multiple ways are predicted using a multi-bit mask, then prediction accuracy improves, but more drivers need to be enabled

Engineering Contradiction:
Improveprediction accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system uses a multi-bit prediction mask to predict multiple potential next ways, which may include some ways that are not actually needed (excessive action). However, this approach significantly reduces misprediction rates compared to single-way prediction. The power consumption increase is partial rather than complete since not all drivers are enabled, and the system accepts this trade-off as worthwhile for the substantial improvement in prediction accuracy and overall performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2936303B1Instruction cache having a multi-bit way prediction mask
Publication Date: 2020.01.15 QUALCOMM INC
  • EP2936303B1 patent drawingFigure 1
  • EP2936303B1 patent drawingFigure 2
  • EP2936303B1 patent drawingFigure 3

AI summary

In a particular embodiment, an apparatus includes control logic configured to selectively set bits of a multi-bit way prediction mask based on a prediction mask value. The control logic is associated with an instruction cache including a data array. A subset of line drivers of the data array is enabled responsive to the multi-bit way prediction mask. The subset of line drivers includes multiple line drivers.