Microprocessor Virtualization via Segmented Privilege Levels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional microprocessor virtualization approaches with two levels of privilege are inefficient due to high hypervisor software processing operations, as they rely on de-privileging and trap-and-emulate systems that result in numerous exceptions, limiting performance.

Innovation Solution

The introduction of guest mode control registers and root mode control registers allows for simultaneous operation of guest and root contexts, enabling efficient virtualization of hardware resources by reducing the need for context switching and allowing immediate transitions between modes, thereby minimizing hypervisor intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If de-privileging and trap-and-emulate systems are used for virtualization, then guest operating systems can run on hardware resources, but numerous exceptions occur resulting in high hypervisor software processing operations and limited performance

Engineering Contradiction:
Improvevirtualization capabilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The processor privilege levels are segmented into three distinct levels: root mode (highest privilege), guest mode (intermediate privilege), and user mode (lowest privilege). This segmentation allows the guest operating system to run in its own privileged guest mode rather than being de-privileged to user mode, reducing the need for exceptions while maintaining virtualization capability and improving performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The guest mode acts as an intermediary privilege level between root mode and user mode. This intermediate level serves as a mediator that allows guest operating systems to execute privileged instructions within their own context without trapping to the hypervisor, thereby reducing hypervisor software processing operations while maintaining security through the hierarchical privilege structure

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If de-privileging is used to run guest operating systems, then virtualization is achieved, but context switching overhead increases due to frequent mode transitions

Engineering Contradiction:
Improvevirtualization supportVSAvoidcontext switching time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The processor is pre-configured with guest mode control registers and root mode control registers that establish the guest mode privilege level before execution begins. This preliminary setup allows the guest operating system to operate continuously in guest mode without frequent context switching, as the privileged state is prepared in advance rather than requiring repeated transitions to and from user mode

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If more privileged instructions are made accessible to guest mode, then guest operating system functionality is improved, but security and control by the hypervisor may be compromised

Engineering Contradiction:
Improveguest OS functionalityVSAvoidhypervisor control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

Different privilege levels are assigned to different operational contexts: root mode retains full control over critical hypervisor functions, while guest mode is granted selective privileged instruction access appropriate for operating system operations. This localized quality assignment allows guest OS functionality to be enhanced where needed while maintaining hypervisor control where security is paramount

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The privilege level parameter is changed from a binary state (user/kernel) to a three-level hierarchy (root/guest/user). This parameter change enables the system to differentiate between hypervisor-privileged operations and guest-privileged operations, allowing guest operating systems to access necessary privileged instructions while the hypervisor maintains ultimate control through the root mode level

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8789042B2Microprocessor system for virtual machine execution
Publication Date: 2014.07.22 MIPS TECH INC
  • US8789042B2 patent drawing
  • US8789042B2 patent drawing
  • US8789042B2 patent drawing

AI summary

A processor includes guest mode control registers supporting guest mode operating behavior defined by guest context specified in the guest mode control registers. Root mode control registers support root mode operating behavior defined by root context specified in the root mode control registers. The guest context and the root context are simultaneously active to support virtualization of hardware resources such that multiple operating systems supporting multiple applications are executed by the hardware resources.