Prediction Table Re-enabling After Execution State Switch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face security vulnerabilities due to prediction mechanisms that can be exploited by attackers through branch history injection attacks, leading to potential leaks of sensitive information, despite existing defenses being costly in terms of performance or circuit area.

Innovation Solution

Implementing prediction control circuitry that temporarily disables the use of prediction tables after an execution state switch and re-enables them when a predetermined number of branches have been executed, ensuring that branch history information used is from the privileged state, thereby preventing malicious training of predictions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prediction tables are continuously used to improve processing performance, then system productivity increases, but security vulnerabilities arise from branch history injection attacks

Engineering Contradiction:
Improveprocessing performanceVSAvoidsecurity vulnerabilities
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The prediction control circuitry dynamically adjusts the state of prediction tables based on execution state transitions. When a privileged execution state is detected, the prediction tables are temporarily disabled to prevent security attacks. When returning to unprivileged states, the prediction tables are re-enabled after a sufficient number of branches have executed, balancing security requirements with performance optimization needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The prediction control circuitry acts as an intermediary between the prediction mechanism and the execution states. It monitors execution state transitions and controls access to prediction tables, enabling the system to switch between secure operation (disabled predictions during privileged states) and performance-optimized operation (enabled predictions during unprivileged states) without direct intervention in the prediction logic itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If prediction tables are disabled after execution state switch to prevent attacks, then security is improved, but processing performance deteriorates due to loss of prediction accuracy

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The prediction tables are periodically re-enabled based on the execution of a predetermined number of branches. This periodic re-enabling ensures that prediction accuracy is restored after security-critical privileged execution states, while the temporary disabling期间 maintains security. The system oscillates between secure disabled state and performance-optimized enabled state based on execution context.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs preliminary action by disabling prediction tables before potentially vulnerable execution states occur. By anticipating security risks associated with privileged state transitions, the system proactively disables predictions to prevent attacks, then re-enables them afterward to restore performance, effectively preparing the system in advance for security threats.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If existing defense mechanisms are implemented to block attacks, then security is improved, but circuit area and complexity increase

Engineering Contradiction:
ImprovesecurityVSAvoidcircuit area
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The prediction control circuitry serves multiple functions: it monitors execution state transitions, controls prediction table access, counts branch executions, and manages re-enabling logic. By consolidating these security and performance management functions into a single control mechanism, the system achieves comprehensive security protection without proportionally increasing circuit area, as the control circuitry leverages existing execution state and branch counter information.

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

Solution Approach 2:

The prediction control circuitry utilizes existing system resources and states to manage prediction table security. It leverages the already-present execution state information and branch counter mechanisms to determine when to disable or enable predictions, rather than requiring entirely new security infrastructure. This self-service approach minimizes additional circuit area by repurposing existing system components for security management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11861368B2Re-enabling use of prediction table after execution state switch
Publication Date: 2024.01.02 ARM LTD
  • US11861368B2 patent drawing
  • US11861368B2 patent drawing
  • US11861368B2 patent drawing

AI summary

A first type of prediction, for controlling execution of at least one instruction by processing circuitry, is based at least on a first prediction table storing prediction information looked up based on at least a first portion of branch history information stored in branch history storage corresponding to a first predetermined number of branches. In response to detecting an execution state switch of the processing circuitry from a first execution state to a second, more privileged, execution state, use of the first prediction table for determining the first type of prediction is disabled. In response to detecting that a number of branches causing an update to the branch history storage since the execution state switch is greater than or equal to the first predetermined number, use of the first prediction table in determining the first type of prediction is re-enabled.