Processor Security Check Elision in Speculative Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face inefficiencies due to the overhead of unnecessary security checks, especially in speculative execution, which can lead to performance penalties and increased energy consumption, particularly when dealing with conditional branches and memory safety/type safety checks.

Innovation Solution

The introduction of new instructions and modifiers that allow security checks to be elided based on hints provided by the compiler, enabling the processor to skip checks when operations are deemed safe, thereby optimizing performance and reducing overhead by only performing checks on potentially mis-speculated paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If security checks are performed on all speculative execution paths, then security reliability is improved, but processor performance deteriorates due to overhead

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating security check requirements across different execution paths. Security checks are performed only on paths where mis-speculation is detected, while paths with confirmed correct speculation bypass the checks. This selective application of security verification maintains reliability where needed while eliminating unnecessary overhead elsewhere.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic security check elision by using runtime speculation detection mechanisms. The system dynamically determines whether to perform security checks based on actual speculation outcomes rather than statically requiring checks on all paths. This dynamic approach allows the processor to adapt security verification to actual execution behavior, improving performance while maintaining security.

Inventive Principle:
Principle #15Dynamics

2Reliability

If security checks are performed on all speculative execution paths, then security reliability is improved, but energy consumption increases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by differentiating security check requirements across different execution paths. Security checks are performed only on paths where mis-speculation is detected, while paths with confirmed correct speculation bypass the checks. This selective application of security verification maintains reliability where needed while eliminating unnecessary overhead elsewhere.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by performing security checks only when necessary - specifically when mis-speculation is detected. Rather than applying full security verification to all speculative paths, the system applies checks partially and selectively, reducing energy consumption while maintaining security where actually needed.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If security checks are elided based on speculation safety, then processor efficiency is improved, but security verification coverage is reduced

Engineering Contradiction:
Improveprocessor efficiencyVSAvoidsecurity verification coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic security check elision by using runtime speculation detection mechanisms. The system dynamically determines whether to perform security checks based on actual speculation outcomes rather than statically requiring checks on all paths. This dynamic approach allows the processor to adapt security verification to actual execution behavior, improving performance while maintaining security.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs feedback mechanisms through speculation detection that monitor execution paths and provide information about actual speculation outcomes. This feedback enables the system to make informed decisions about whether to perform security checks, ensuring verification coverage is maintained where mis-speculation occurs while allowing elision where speculation was correct.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3798881A1Hardware for eliding security checks when deemed safe during speculative execution
Publication Date: 2021.03.31 INTEL CORP
  • EP3798881A1 patent drawingFigure 1
  • EP3798881A1 patent drawingFigure 2
  • EP3798881A1 patent drawingFigure 3

AI summary

Systems, methods, and apparatuses relating to hardware for security check elision in speculative execution are described. In one embodiment, a hardware processor includes a decoder to decode an instruction into a decoded instruction, a speculation manager circuit to: detect a security check field in the instruction, determine a security check policy, to be enforced for potentially mis-speculated execution, from a plurality of security check policies based on the security check field, perform one or more associated checks of the security check policy on the instruction to determine whether the instruction is potentially mis-speculated, schedule the instruction for execution when the instruction is not deemed safe according to the one or more associated checks, and elide the instruction when the instruction is deemed safe according to the one or more associated checks, and an execution unit to execute the instruction that is scheduled for execution.