Spatially Aware Emulation of Computer Instruction Set

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for emulating a guest processor architecture on a host processor with an incompatible instruction set architecture face challenges in efficiently translating and executing guest instructions, leading to performance overhead and complexity.

Innovation Solution

A novel mapping of guest cells to host cells, where each guest cell includes a portion of a guest machine instruction, and corresponding host cells hold semantic routines for emulating the guest instructions, allowing for dynamic initialization and execution of these routines to facilitate efficient emulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If guest instructions are translated and executed on a host processor with incompatible instruction set architecture, then guest programs can run on the host processor, but emulation overhead increases and performance decreases

Engineering Contradiction:
Improvecompatibility between guest and host architecturesVSAvoidemulation performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent pre-translates guest instructions into host instructions before execution and stores them in a translation cache. When the same guest instruction sequence is encountered again, the pre-translated host instructions are reused directly, avoiding repeated translation overhead and improving performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of translated instruction sequences and stores them in a translation cache in the host processor's address space. These copies can be quickly retrieved and executed without re-translating the original guest instructions, reducing emulation overhead.

Inventive Principle:
Principle #26Copying

2Productivity

If translation routines are stored in a separate cache, then translation efficiency improves, but system complexity increases

Engineering Contradiction:
Improvetranslation efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the translation cache with the host processor's existing address space and memory management structures. The translation routines are stored in host memory pages that are mapped into the host address space, utilizing existing memory management hardware and software rather than requiring separate cache structures.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes the host processor's memory management system serve dual purposes: managing both host instructions and cached translated guest instructions. The same memory pages and address translation mechanisms are used for both host and guest address spaces, reducing the need for separate management structures.

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

3Speed

If guest address space is mapped to host address space, then memory access efficiency improves, but address translation complexity increases

Engineering Contradiction:
Improvememory access speedVSAvoidaddress translation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent creates a unified address space view where both host and guest addresses coexist at the same memory level. Guest virtual addresses and host physical addresses are mapped into the same address space, allowing the memory management unit to handle both address types uniformly without requiring separate translation paths.

Inventive Principle:
Principle #12Equipotentiality

Solution Approach 2:

The patent uses the host operating system's memory management structures as an intermediary between guest and host address spaces. The OS manages the mapping of guest virtual addresses to host physical addresses through existing page table and segmentation mechanisms, avoiding the need for custom translation hardware or software.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9158566B2Page mapped spatially aware emulation of computer instruction set
Publication Date: 2015.10.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9158566B2 patent drawing
  • US9158566B2 patent drawing
  • US9158566B2 patent drawing

AI summary

Dynamic creation of a spatially aware emulation environment comprising Host cells of Host pages corresponding to Guest cells of Guest pages of Guest instructions. Each Host cell comprises a semantic routine for emulating a corresponding Guest instruction located at the corresponding Guest cell of the guest page.