ISA Bridging Layer for Cross-Architecture Callback Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.