Parallel Execution Logic Circuitry for Sequential Software Conversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software programs designed for sequential execution by central processors do not leverage the full potential of parallel processing capabilities of computational devices, limiting efficiency and flexibility in operation, configuration, and reconfiguration.
Innovation Solution
A method and system that convert sequential software programs into parallel-executable code by modeling software objects, managing data and memory dependencies, and removing overlapping branch logic to create a logical structure suitable for execution by reconfigurable logic circuits, enabling parallel computation and reconfiguration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If sequential software programs are executed by conventional central processors, then compatibility with existing software is maintained, but processing efficiency and operational flexibility are limited
Solution Approach 1:
The patent implements dynamic reconfiguration of logic circuits through sequence operations code that can modify the operational state of configurable logic circuitry during execution. This allows the system to adapt its structure and functionality dynamically, transitioning between different operational modes and configurations to optimize performance for different computational tasks.
Solution Approach 2:
The patent segments the processing system into configurable logic circuitry elements that can be independently controlled and reconfigured. By dividing the logic circuit into multiple configurable units, the system can parallelize operations and reconfigure different segments for different functions, thereby improving both processing efficiency and operational flexibility.
2Productivity
If software is designed for sequential execution, then implementation simplicity is maintained, but parallel processing capabilities are underutilized
Solution Approach 1:
The patent introduces sequence operations code as an intermediary layer between conventional sequential software and parallel processing hardware. This intermediary code translates and orchestrates operations to exploit parallel processing capabilities while maintaining a relatively simple software structure, bridging the gap between sequential programming paradigms and parallel execution requirements.
Solution Approach 2:
The patent replaces traditional mechanical sequential execution mechanisms with configurable logic circuitry that can execute operations in parallel. By substituting the sequential instruction execution model with a parallel configurable logic model controlled by sequence operations code, the system achieves higher productivity while managing complexity through systematic control mechanisms.
3Adaptability or versatility
If conventional software execution models are used, then ease of implementation is maintained, but reconfiguration capability is limited
Solution Approach 1:
The patent performs preliminary configuration of logic circuits through sequence operations code that sets up the operational state before execution. By pre-configuring the configurable logic circuitry with the required structure and parameters, the system enables rapid reconfiguration for different tasks while maintaining ease of operation through automated configuration procedures.
Solution Approach 2:
The patent implements universal configurable logic circuitry that can perform multiple functions through reconfiguration. The same hardware infrastructure can be adapted to execute different types of operations and algorithms by changing the sequence operations code and configuration parameters, providing high reconfiguration capability without requiring separate dedicated hardware for each function.
Data Source
AI summary
A method and system are provided for deriving a resultant software program from an originating software program that may include overlapping branch logic. The method may include deriving a plurality of software objects from a sequence of processor instructions; associating software objects in accordance with an original logic of the sequence of processor instructions; determining and resolving memory precedence conflicts within the associated plurality of software objects; de-overlapping the execution of the associated plurality of software objects by replacing all overlapping branch logic instructions of the associated series of software objects with equivalent and non-overlapping branch logic instructions; and/or applying the de-overlapped associated plurality of software objects in a programming operation by a parallel execution logic circuitry. The resultant software is more easily converted into programming reconfigurable logic than the originating software program, computers or processors, or by means of a computer or a communications network.


