Configurable Execution Unit Dynamic Operator Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer processors are limited in their ability to efficiently handle different types of data processing calculations, particularly those involving multi-bit operand values and complex software-customized operations, due to fixed instruction sets that do not support operations on operands of four or more bits.

Innovation Solution

A configurable execution unit with dynamically configurable operator modules and a programmable lookup table that adjusts operator functions based on opcode information, enabling efficient performance of complex calculations by allowing operators to be configured on an instruction-by-instruction basis, supporting series and parallel operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed instruction set is used in computer processors, then the processor structure is simple and manufacturing is easier, but the processor cannot efficiently handle different types of data processing calculations involving multi-bit operand values

Engineering Contradiction:
Improveability to handle different data processing calculationsVSAvoidprocessor structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by making the operator modules dynamically configurable through programmable lookup tables that can be programmed with different operator configurations. This allows the same hardware structure to adapt its behavior based on the specific data processing calculation required, resolving the contradiction between fixed structure and operational versatility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements universality by designing operator modules that can perform multiple different operations depending on the configuration stored in the programmable lookup tables. A single operator module can be reconfigured to perform different functions, eliminating the need for multiple dedicated operator modules for different calculation types.

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

2Productivity

If operator modules are dynamically configurable on an instruction-by-instruction basis, then complex software-customized operations can be performed efficiently, but the device complexity increases due to programmable lookup tables and configurable interconnects

Engineering Contradiction:
Improveperformance efficiency of complex algorithmsVSAvoidconfiguration control structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-programming operator configurations into lookup tables before execution. The configuration data is prepared in advance and stored in the programmable lookup tables, allowing the operator modules to be quickly configured during instruction execution without adding significant complexity to the control structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses programmable lookup tables as intermediaries between the instruction set and the operator modules. The lookup tables translate high-level operation requirements into specific operator configuration settings, simplifying the control structure by introducing an intermediate configuration layer rather than direct complex control logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If programmable lookup tables are used to configure operators dynamically, then multi-bit operand operations can be supported, but the manufacturing complexity and cost increase

Engineering Contradiction:
Improvesupport for multi-bit operand operationsVSAvoidprocessor manufacturing simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent applies copying by using programmable lookup tables that store configuration data as copies of operator settings. Instead of manufacturing different hardware configurations for different operations, the same operator module hardware is copied in functionality through software-based configuration data stored in the lookup tables.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent implements parameter changes by allowing the operational parameters of the operator modules to be changed through programming the lookup tables. The same physical operator module can change its operational parameters (such as bit-width operations, operation types) by loading different configuration data, avoiding the need for different hardware designs.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If configurable switching fabric with pseudo static control information is implemented, then connectivity between operators can be optimized for specific algorithms, but the device complexity and power requirements increase

Engineering Contradiction:
Improvealgorithm execution efficiencyVSAvoidpower consumption of configurable interconnects
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies dynamics to the switching fabric by making it configurable with pseudo static control information that can be set for different algorithms. The interconnect structure can dynamically reconfigure its connectivity pattern to optimize data flow for specific algorithms like convolutions or Fast Fourier Transforms, improving productivity while managing power through controlled reconfiguration.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8966223B2Apparatus and method for configurable processing
Publication Date: 2015.02.24 ICERA INC
  • US8966223B2 patent drawing
  • US8966223B2 patent drawing
  • US8966223B2 patent drawing

AI summary

A configurable execution unit comprises operators capable of being dynamically configured by an instruction at the level of processing multi-bit operand values. The unit comprises one or more dynamically configurable operator modules, each module being connectable to receive input operands indicated in an instruction, and a programmable lookup table connectable to receive dynamic configuration information determined from an opcode portion of the instruction and capable of generating operator configuration settings defining an aspect of the function or behavior of a configurable operator module, responsive to said dynamic configuration information in the instruction.