Dual-Level Address Translation in Microprocessors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional virtualization systems for microprocessors face performance limitations due to the high number of hypervisor exceptions that need to be processed, especially when handling privileged operations in guest operating systems.

Innovation Solution

The introduction of a microprocessor with a guest operating mode and a root operating mode, utilizing separate translation look-aside buffers and guest mode control registers to manage virtual addresses and physical addresses, allowing for efficient translation and exception handling without the need for time-consuming context switches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional de-privileging approach is used with single-level address translation, then guest operating systems can run on host hardware, but performance is limited due to high number of hypervisor exceptions

Engineering Contradiction:
Improvevirtual machine execution efficiencyVSAvoidhypervisor exception processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the address translation process into two independent levels: a first address translation unit within the guest OS and a second address translation unit within the hypervisor. This segmentation allows each level to handle address translation independently, reducing the number of exceptions that need to be processed by the hypervisor and thereby improving virtual machine execution efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a second translation look-aside buffer (TLB) as an intermediary structure that caches address translations performed by the guest OS. This intermediary TLB reduces the frequency of hypervisor intervention for address translation, minimizing exception processing time and improving overall productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If dual-level address translation is implemented with separate TLBs, then hypervisor exception processing is reduced, but device complexity increases

Engineering Contradiction:
Improvehypervisor processing efficiencyVSAvoidaddress translation buffer structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universal TLB structures that can serve multiple purposes. The first TLB serves both the guest OS and the hypervisor, while the second TLB primarily serves the hypervisor but can also be utilized by the guest OS under certain conditions. This multi-functionality reduces the overall complexity compared to having completely separate translation buffers.

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

Solution Approach 2:

The patent employs a nested address translation architecture where the first address translation unit (guest OS) and second address translation unit (hyperervisor) are organized in a nested manner. The guest OS TLB entries can be directly mapped to hypervisor physical addresses, creating a nested structure that simplifies the overall system architecture while maintaining dual-level translation capabilities.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Adaptability or versatility

If guest mode control registers are added to support virtualization, then backward compatibility is maintained, but processor architecture complexity increases

Engineering Contradiction:
Improvevirtual machine mode supportVSAvoidprocessor register set
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic control registers that can be configured at runtime to enable or disable virtualization features. The guest mode control registers include enable bits that allow the processor to dynamically switch between traditional operating modes and virtualized guest modes. This dynamic configuration capability adds adaptability without requiring permanent architectural changes to the processor.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent modifies existing processor parameters and registers to support virtualization. By changing the state of control bits within existing registers rather than adding entirely new register sets, the patent maintains backward compatibility while enabling virtual machine support. The guest mode control registers utilize parameter changes in existing architectural elements to achieve versatility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8239620B2Microprocessor with dual-level address translation
Publication Date: 2012.08.07 MIPS TECH INC
  • US8239620B2 patent drawing
  • US8239620B2 patent drawing
  • US8239620B2 patent drawing

AI summary

A processor includes a first translation look-aside buffer to support a guest operating mode. A second translation look-aside buffer supports a root operating mode. Hardware resources support the guest operating mode as controlled by guest mode control registers defining guest context. The guest context is used by the hardware resources to access the first translation look-aside buffer to translate a guest virtual address to a guest physical address. The hardware resources access the second translation look-aside buffer to translate the guest physical address to a physical address.