ISA Bridging Layer for Cross-Architecture Callback Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing devices face challenges in executing applications with ISA-dependent portions that require callbacks from ISA-dependent runtime libraries, as traditional binary translation methods are inadequate in discovering these callbacks until runtime.

Innovation Solution

The implementation of an ISA bridging layer that includes a source ISA emulator and a library emulator, enabling applications partially developed for a source ISA to call and receive callbacks from library services implemented for a target ISA, through a process that involves loading, dynamic binding, and binary translation to facilitate seamless execution across different instruction set architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional binary translation is used to execute applications with ISA-dependent portions, then execution compatibility is improved, but callback discovery capability deteriorates because callbacks are not discovered until runtime

Engineering Contradiction:
Improveexecution compatibilityVSAvoidcallback discovery capability
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies preliminary action by performing static analysis on the application binary during the translation process to identify and record callback function signatures before runtime execution. This allows the system to pre-establish a callback table that maps library service calls to their corresponding application callback functions, enabling proactive discovery rather than reactive detection at runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary translation layer that acts as a mediator between the source ISA application and target ISA runtime environment. This intermediary component intercepts library service calls, consults the pre-built callback table, and dynamically resolves callback addresses, thereby bridging the information gap between static binary translation and dynamic callback execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If full translation or reimplementation is performed to enable cross-ISA execution, then execution capability is improved, but system complexity and translation overhead increase

Engineering Contradiction:
Improvecross-ISA execution capabilityVSAvoidtranslation overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the translation task into distinct segments: static analysis phase for callback discovery, binary translation phase for code conversion, and runtime execution phase for callback invocation. This segmentation allows each phase to be optimized independently, avoiding the need for complete reimplementation while maintaining cross-ISA execution capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by translating only the necessary portions of the application binary rather than performing full translation. The system identifies ISA-dependent sections requiring translation while leaving ISA-independent portions unchanged, thereby reducing translation overhead and complexity while still achieving cross-ISA execution for the critical components.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2802983B1Isa bridging with callback
Publication Date: 2016.12.14 INTEL CORP
  • EP2802983B1 patent drawingFigure 1
  • EP2802983B1 patent drawingFigure 2
  • EP2802983B1 patent drawingFigure 3

AI summary

Methods, apparatuses and storage medium associated with ISA bridging with callback, are disclosed. In various embodiments, at least one computer-readable storage medium may include instructions configured to enable a target device with a target ISA, in response to execution of the instructions, to provide an ISA bridging layer to the target device to facilitate a library service to callback a callback function of an application. The library service may be implemented for the target ISA, and the application may be implemented at least partially for a source ISA that may be different from the target ISA. The ISA bridging layer may include a source ISA emulator and a library emulator configured to cooperate to enable the application to call the library service, and the library service to callback the callback function, across the two instruction set architectures. Other embodiments may be disclosed or claimed.