Dynamically Reconfigurable Processor Compiler Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computational systems based on Turing and von Neumann architectures are inefficient in utilizing high-level programming languages, as they require sequential execution of instructions and lack dynamic reconfiguration capabilities, limiting their ability to efficiently map software-coded information onto reconfigurable logic circuits.

Innovation Solution

A dynamically reconfigurable processor system that uses a compiler to automatically convert high-level language instructions into reconfigurable circuit configurations, enabling the execution of complex instructions and improving the mapping of software constructs onto reconfigurable logic circuits without the need for a fixed instruction set.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed instruction set architecture is used, then the system is simple to implement, but it cannot efficiently execute high-level language instructions or be dynamically reconfigured

Engineering Contradiction:
Improveability to execute high-level language instructionsVSAvoidprocessor architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The processor architecture transitions from a fixed instruction set to a dynamically reconfigurable structure where the instruction set can be modified at runtime. The control unit can load different microcode sequences to implement different high-level language instructions, allowing the same hardware to adapt to various programming languages and computational tasks without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The processor is designed with a universal control unit that can execute multiple types of instructions by loading appropriate microcode. This single control unit serves multiple functions by interpreting different high-level language constructs (loops, conditionals, arithmetic operations) through a common architecture, eliminating the need for separate dedicated circuits for each instruction type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If sequential execution of instructions is used, then the control logic is simple, but the execution speed and efficiency are limited

Engineering Contradiction:
Improveinstruction execution speedVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary compilation of high-level language code into intermediate representation or microcode sequences before execution. This pre-processing step prepares the instruction stream in advance, allowing the control unit to execute pre-computed instruction sequences more efficiently without requiring complex real-time decision-making logic during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The instruction execution process is divided into distinct phases: fetching microcode from memory, decoding the intermediate representation, executing the control logic, and updating state. This segmentation allows each phase to be optimized independently and enables parallel processing of different instruction components, improving overall execution throughput.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If software-coded information is directly mapped to reconfigurable logic circuits, then flexibility is improved, but the mapping complexity and compilation difficulty increase

Engineering Contradiction:
Improvesoftware-to-hardware mapping flexibilityVSAvoidcompilation and mapping complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An intermediate representation layer is introduced between the high-level source code and the reconfigurable logic circuit implementation. This intermediate form serves as a mediator that captures the essential computational structure without the full complexity of the original high-level language, making it easier to translate into hardware logic while preserving the desired flexibility and functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9633160B2Method of placement and routing in a reconfiguration of a dynamically reconfigurable processor
Publication Date: 2017.04.25 ASCENIUM INC
  • US9633160B2 patent drawing
  • US9633160B2 patent drawing
  • US9633160B2 patent drawing

AI summary

A method and system are provided for deriving a resultant compiled software code with increased compatibility for placement and routing of a dynamically reconfigurable processor.