Processor Mode Switching Logic for Secure Multi-OS Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer processors lack effective mechanisms to prevent malicious programs from escalating privileges and accessing restricted resources, and they struggle to efficiently manage interrupts and exceptions while maintaining operating system control and resource sharing between multiple processes.

Innovation Solution

The processor architecture introduces additional privilege levels, including user, super-user, and hypervisor modes, with advanced logic for switching between these modes, managing interrupts, and controlling resource access, allowing for secure execution of multiple operating systems on a single processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor allows programs to access shared resources directly, then resource access efficiency is improved, but security and control by the operating system deteriorate

Engineering Contradiction:
Improveresource access efficiencyVSAvoidoperating system control
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The processor state is segmented into multiple privilege levels (ring 0 for operating system, ring 3 for user programs) with distinct access permissions. This segmentation allows user programs to access resources efficiently within their privilege level while the operating system maintains control through higher privilege levels that can intercept and manage resource access when necessary.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the processor provides multiple privilege levels for security, then security is improved, but device complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidprocessor architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processor introduces a new dimension of privilege levels (ring 0, ring 3) that adds security without fundamentally changing the existing execution model. User programs continue to execute in ring 3 with straightforward access patterns, while the operating system operates in ring 0 to provide security oversight, thereby enhancing security without significantly complicating the basic processor architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If the processor allows user programs to execute in high privilege mode, then resource access capability is improved, but system stability deteriorates

Engineering Contradiction:
Improveresource access capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The processor applies the principle of local quality by allowing user programs to execute with elevated privileges (ring 0) only for specific, localized operations when absolutely necessary, while maintaining ring 3 for general execution. This localized privilege elevation enables resource access capability improvements while preserving system stability through controlled, time-limited high-privilege execution rather than sustained high-privilege mode.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10908909B2Processor with mode support
Publication Date: 2021.02.02 OPTIMUM SEMICON TECH
  • US10908909B2 patent drawing
  • US10908909B2 patent drawing
  • US10908909B2 patent drawing

AI summary

A computer processor may include a plurality of hardware threads. The computer processor may further include state processor logic for a state of a hardware thread. The state processor logic may include per thread logic that contains state that is replicated in each hardware thread of the plurality of hardware threads and common logic that is independent of each hardware thread of the plurality of hardware threads. The computer processor may further include single threaded mode logic to execute instructions in a single threaded mode from only one hardware thread of the plurality of hardware threads. The computer processor may further include second mode logic to execute instructions in a second mode from more than one hardware thread of the plurality of hardware threads simultaneously. The computer processor may further include switching mode logic to switch between the first mode and the second mode.