SIMD Instruction Translation for Software Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The evolution of SIMD accelerators with increased data widths and functionality leads to compatibility issues and costly software migration, as existing program code needs to be rewritten to accommodate changes in instruction set architectures, making it difficult to deploy new generations of SIMD accelerators without altering the existing instruction set.

Innovation Solution

A data processing system that analyzes SIMD instructions and translates them into functionally equivalent scalar representations, allowing dynamic translation to execute on different instruction set architectures, decoupling the program code from specific SIMD accelerators and enabling execution on various architectures without rewriting the code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SIMD accelerator architecture is changed to extend SIMD width and functionality, then data processing performance is improved, but program code compatibility deteriorates requiring complete rewriting

Engineering Contradiction:
Improvedata processing performanceVSAvoidprogram code compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a translation layer that acts as an intermediary between the original SIMD instructions and the new SIMD accelerator architecture. This translation layer converts instructions from old SIMD architectures to new ones, allowing program code to run on updated hardware without rewriting. The translation layer mediates the compatibility issue while enabling performance improvements from new hardware capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary translation of SIMD instructions before execution on the new accelerator architecture. By translating instructions in advance through the translation layer, the system prepares the code to be compatible with the new hardware while maintaining the original program logic, thus preventing compatibility issues before they arise.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If SIMD accelerator architecture is updated with larger data widths, then processing capability is improved, but software migration cost increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidsoftware migration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The translation layer serves as a mediator that handles the software migration process automatically. Instead of requiring manual rewriting of software for each new SIMD architecture generation, the translation layer automatically converts instructions, dramatically reducing the time and effort required for software migration while enabling continued use of updated hardware with larger data widths.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If instruction set architecture is altered to support new SIMD features, then functionality is improved, but binary compatibility deteriorates

Engineering Contradiction:
ImproveSIMD functionalityVSAvoidbinary compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary translation of binary SIMD instructions before execution. By translating the binary code through the translation layer in advance of execution, the system maintains binary compatibility with original executables while enabling access to new SIMD functionality. The translation happens transparently, preserving binary compatibility while improving functionality.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If dynamic binding is used to improve flexibility, then portability is improved, but hardware deployment difficulty increases

Engineering Contradiction:
ImproveportabilityVSAvoidhardware deployment ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The translation layer acts as an intermediary that implements dynamic binding at the hardware level. This allows portable executable formats to be used while the translation layer dynamically translates SIMD instructions for the specific target hardware architecture. The intermediary handles the complexity of hardware-specific translation, making deployment easier while maintaining portability benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8505002B2Translation of SIMD instructions in a data processing system
Publication Date: 2013.08.06 ARM LTD
  • US8505002B2 patent drawing
  • US8505002B2 patent drawing
  • US8505002B2 patent drawing

AI summary

A data processing system is provided having a processor and analysing circuitry for identifying a SIMD instruction associated with a first SIMD instruction set and replacing it by a functionally-equivalent scalar representation and marking that functionally-equivalent scalar representation. The marked functionally-equivalent scalar representation is dynamically translated using translation circuitry upon execution of the program to generate one or more corresponding translated instructions corresponding to a instruction set architecture different from the first SIMD architecture corresponding to the identified SIMD instruction.