Reconfigurable Executable Compilation for Multi-Architecture Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing executable programs compiled for a specific processor architecture cannot be efficiently run on different processor architectures without significant time and resource overhead due to the need for retargeting or recompilation, leading to increased program size and processing time.
Innovation Solution
A compiler system that generates executable programs compatible with multiple processor architectures by incorporating annotations within the programs, allowing for efficient execution across various architectures without the need for bundling or recompilation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If executable programs are compiled for a specific processor architecture, then execution efficiency on that architecture is improved, but compatibility with other processor architectures deteriorates
Solution Approach 1:
The patent applies universality by creating an executable program format that can be executed on multiple processor architectures without requiring separate compiled versions. The system defines a universal instruction set and program structure that abstracts away architecture-specific details, allowing the same executable to run on different processors through dynamic interpretation or translation layers that adapt the universal instructions to the specific target architecture at runtime.
2Adaptability or versatility
If executable programs are retargeted or recompiled for different processor architectures, then compatibility is improved, but processing time and computational resources deteriorate
Solution Approach 1:
The patent applies preliminary action by performing architecture-independent compilation once to generate a universal executable format, eliminating the need for repeated recompilation for different architectures. The compilation process prepares the program in advance with a standardized structure that can be directly executed or efficiently translated on various processor types without requiring time-consuming retargeting or recompilation steps for each target architecture.
3Adaptability or versatility
If executable programs are bundled with compiled versions for different architectures, then compatibility is improved, but program size deteriorates
Solution Approach 1:
The patent applies the extraction principle by separating the architecture-specific translation or interpretation logic from the main executable program. Instead of bundling multiple complete compiled versions, the system extracts only the necessary translation layer or runtime adapter that can handle multiple architectures, significantly reducing the overall program size while maintaining compatibility across different processor types.
Data Source
Figure 1
Figure 2A~2D
Figure 3
AI summary
Apparatuses, systems, and techniques to perform a compiler to generate one or more executable programs that may be configured to be performed by one or more of a plurality of different processor architectures. In at least one embodiment, a compiler generates one or more executable programs that may be configured to be performed by one or more of a plurality of different processor architectures based, at least in part, on said original uncompiled executable program.