Semiconductor Device Register Set Context Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The memory access time required for saving and reading context data in virtual machine switching affects the processing time of operating systems, potentially leading to performance failures in virtualization systems.

Innovation Solution

A semiconductor device with multiple register sets is used to store context data for hypervisor and virtual machines, allowing context data processing to be performed in the background, thereby hiding memory access time and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If context data is saved in memory for virtual machine switching, then the virtualization system can support multiple operating systems, but the memory access time increases and affects the processing time of the operating system

Engineering Contradiction:
Improvecapability to execute multiple operating systemsVSAvoidmemory access time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The processor is divided into multiple cores, with at least one dedicated core for executing the hypervisor and other cores for executing virtual machines. This segmentation allows context data processing to occur in parallel without blocking the main execution path, thereby hiding memory access time while maintaining multi-OS capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hypervisor performs context data saving and loading operations in advance during background periods when the processor is not actively executing the operating system. By preparing context data beforehand and using multiple register sets to store context data, the system minimizes the impact of memory access time on OS execution

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the hypervisor controls virtual machine switching with context data processing, then multiple virtual machines can be switched, but the processing time of the operating system is prolonged due to repeated memory access operations

Engineering Contradiction:
Improvevirtual machine switching capabilityVSAvoidoperating system execution time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The system alternates between periods when the processor executes the operating system and periods when it executes the hypervisor for context data processing. During OS execution periods, context data is not accessed, allowing the OS to run without interruption. During hypervisor execution periods, context data is saved and loaded in advance, preparing for future VM switches without affecting OS performance

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

Multiple register sets are introduced as intermediary storage between the processor and memory for context data. The hypervisor uses these register sets to perform context data processing operations, reducing the frequency and impact of direct memory access operations during critical OS execution periods

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250208896A1Semiconductor device and switching method for operating system
Publication Date: 2025.06.26 RENESAS ELECTRONICS CORP
  • US20250208896A1 patent drawing
  • US20250208896A1 patent drawing
  • US20250208896A1 patent drawing

AI summary

A semiconductor device includes a processor including a first register set and a second register set. In a first period, the processor selects the second register set as an active register set, and executes a first virtual machine by use of second context data. In a second period, the processor selects the first register set as the active register set, and executes a hypervisor by use of first context data. In the second period, the processor performs a processing of saving the second context data and a processing of reading third context data. In a third period, the processor selects the second register set as the active register set, and executes a second virtual machine by use of the third context data.