Transforming Non-Contiguous Register Specifiers for Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing emulation technologies fail to effectively handle non-contiguous specifiers, particularly in fixed or variable width instruction sets, which hinders the efficient translation and execution of instructions across different computer architectures.

Innovation Solution

A method is introduced to transform non-contiguous register operand specifiers into contiguous specifiers by utilizing rules stored in memory, allowing for the emulation of instructions across different architectures by generating a contiguous specifier from non-contiguous ones, which can be used to indicate resources without regard to the original non-contiguous specifier.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If non-contiguous specifiers are used in instruction sets, then the expressiveness and flexibility of instructions are improved, but the complexity of emulation and translation across different architectures increases

Engineering Contradiction:
Improveinstruction expressivenessVSAvoidemulation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that converts non-contiguous specifiers from the source architecture into contiguous specifiers for the target architecture. This mediator handles the complexity of non-contiguous specifier interpretation and translation, isolating the emulation logic from the intricate details of non-contiguous field mapping while preserving the full expressiveness of the source instruction set.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If non-contiguous register operand specifiers are used, then the capability to specify resources is improved, but the difficulty of detecting and measuring the specifier structure increases

Engineering Contradiction:
Improveresource specification capabilityVSAvoidspecifier structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent extracts the non-contiguous specifier fields from their scattered positions in the instruction and reassembles them into a contiguous format. By taking out the individual non-contiguous fields (such as register number fields dispersed across multiple instruction bytes) and consolidating them, the system maintains the ability to specify any register while simplifying the detection and processing of specifier structures in the emulated environment.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If translation of instructions between different architectures is performed, then the compatibility between architectures is improved, but the processing time and execution speed decrease

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidtranslation processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent changes the parameter representation of register specifiers from non-contiguous to contiguous format during translation. This parameter transformation allows the target architecture to interpret the instruction efficiently using its native contiguous field structure, reducing the processing overhead compared to emulating non-contiguous field access patterns. The translation maintains architectural compatibility while optimizing execution speed by aligning specifier formats with the target architecture's natural representation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2769301B1Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
Publication Date: 2020.02.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2769301B1 patent drawingFigure 1~2
  • EP2769301B1 patent drawingFigure 3
  • EP2769301B1 patent drawingFigure 4

AI summary

Emulation of instructions that include non-contiguous specifiers is facilitated. A non- contiguous specifier specifies a resource of an instruction, such as a register, using multiple fields of the instruction. For example, multiple fields of the instruction (e.g., two fields) include bits that together designate a particular register to be used by the instruction. Non- contiguous specifiers of instructions defined in one computer system architecture are transformed to contiguous specifiers usable by instructions defined in another computer system architecture. The instructions defined in the another computer system architecture emulate the instructions defined for the one computer system architecture.