Branch Predictor State Isolation for Privilege Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face security vulnerabilities due to shared branch predictor state among different privilege levels, which can lead to unintended information transfer and performance issues, as existing techniques either compromise security or impracticality in maintaining both security and performance.

Innovation Solution

Implementing a system with multiple predictors that provide predicted branch results based on selected modes of operation, using context-related identifiers for dynamic partitioning and randomization, and employing obfuscation techniques to isolate and secure branch prediction information, thereby preventing unauthorized access and improving prediction accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a shared branch predictor state is used among different privilege levels, then device complexity is reduced, but security vulnerabilities arise due to unintended information transfer

Engineering Contradiction:
Improvebranch predictor structureVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The branch predictor state is segmented into multiple independent partitions, each associated with a specific privilege level. The selector circuitry divides the unified branch predictor into separate prediction contexts, preventing cross-contamination of prediction states between different privilege levels while maintaining individual prediction accuracy for each level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A selector circuitry acts as an intermediary between the branch predictor partitions and the branch instruction processing. This intermediary dynamically selects which partition to use based on the current privilege level, ensuring that prediction states remain isolated between privilege levels while still providing efficient branch prediction functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If branch prediction information is shared across privilege levels, then prediction accuracy improves through more data, but information leakage between privilege levels occurs

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidinformation leakage
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The branch prediction information is segmented into separate partitions based on privilege levels. Each partition maintains its own prediction state independently, preventing information leakage between privilege levels while preserving prediction accuracy within each partition through dedicated state maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each partition of the branch predictor is optimized for its specific privilege level context. The prediction state in each partition reflects the local execution patterns and branch behavior characteristic of that privilege level, improving prediction accuracy for workloads at each level without compromising security boundaries.

Inventive Principle:
Principle #3Local quality

3Object-affected harmful factors

If branch predictor state is isolated for each privilege level, then security is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity vulnerabilitiesVSAvoidbranch predictor structure
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

Multiple privilege-level-specific partitions are merged into a single unified branch predictor structure that shares common resources such as the selector circuitry and underlying storage infrastructure. This merging approach achieves security isolation through logical partitioning while maintaining physical efficiency through resource sharing, thereby reducing overall device complexity compared to completely separate predictors.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified branch predictor structure serves multiple privilege levels simultaneously through a single multi-functional device. The selector circuitry enables the same physical hardware to provide secure, isolated prediction services to different privilege levels, eliminating the need for separate physical predictors for each privilege level and thereby reducing device complexity.

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

4Measurement precision

If multiple predictors are used with dynamic selection, then prediction accuracy improves, but device complexity increases

Engineering Contradiction:
Improvebranch prediction accuracyVSAvoidpredictor management structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The branch predictor implements dynamic selection among multiple partitions based on runtime conditions such as the current privilege level. This dynamic behavior allows the system to adapt to different execution contexts and maintain high prediction accuracy across varying workloads while using a relatively simple selection mechanism based on privilege level identification.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10747541B2Managing predictor selection for branch prediction
Publication Date: 2020.08.18 MARVELL ASIA PTE LTD
  • US10747541B2 patent drawing
  • US10747541B2 patent drawing
  • US10747541B2 patent drawing

AI summary

Instructions are executed in a pipeline. Storage accessible to the pipeline stores branch prediction information characterizing results of branch instructions previously executed. A predicted branch result is provided, for at least some branch instructions, based on a selected predictor of multiple predictors. An actual branch result is provided based on an executed branch instruction, and the branch prediction information is updated based on the actual branch result. The predictors include: a first predictor that determines the predicted branch result based on at least a portion of the branch prediction information; and a second predictor that determines the predicted branch result independently from the branch prediction information.