Reconfigurable Network Processor via Hardware Compilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network processor designs face challenges in achieving high performance, low power consumption, flexibility, and ease of programming simultaneously, as they often require complex hardware modifications and are limited by fixed instruction sets and infrequent microcode changes.

Innovation Solution

The method involves electronically compiling code to design hardware and generate executable code for network processors using field-programmable gate arrays (FPGAs), allowing for customizable, high-performance, and low-power network processors that can adapt to changing microcode requirements, while maintaining flexibility and simplicity in programming.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If hardwired special-purpose hardware is used, then power efficiency and silicon efficiency are improved, but flexibility and adaptability deteriorate

Engineering Contradiction:
Improvepower efficiencyVSAvoidflexibility
Core Design Contradiction:
Use of energy by moving objectVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by making the hardware configurable through microcode updates. The network processor hardware structure remains fixed, but its functionality can be dynamically changed by loading different microcode, allowing the same physical hardware to adapt to different networking protocols and requirements without physical modification.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the hardware by using microcode to control instruction execution. Different microcode versions can change the behavior, instruction set, and processing characteristics of the same hardware, enabling adaptation to new protocols while maintaining the physical hardware structure.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If programmable network processors are used, then flexibility and adaptability are improved, but power consumption and processing cost deteriorate

Engineering Contradiction:
ImproveflexibilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically switches between microcode versions to match changing networking requirements. This allows the processor to use optimized instruction sets for specific protocols, reducing unnecessary instruction execution and associated power consumption while maintaining flexibility across different applications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

By changing the microcode parameters and instruction sets based on the specific networking protocol being implemented, the system can optimize power consumption for each workload. The microcode can be updated to use more efficient instruction patterns for particular protocols, reducing overall power usage compared to a fixed programmable architecture.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If fixed instruction sets are used, then hardware simplicity is improved, but adaptability to new protocols deteriorates

Engineering Contradiction:
Improvehardware simplicityVSAvoidadaptability to new protocols
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics at the software level by using microcode that can be updated to support new protocols. The hardware instruction set remains relatively simple and fixed, but the microcode layer provides dynamic adaptation by translating new protocol requirements into sequences of existing hardware instructions, maintaining hardware simplicity while enabling protocol evolution.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The microcode acts as an intermediary layer between the simple fixed hardware and the complex requirements of new networking protocols. It translates high-level protocol requirements into sequences of basic hardware instructions, allowing the simple hardware to support complex protocols without requiring complex hardware changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If microcode changes are frequent, then adaptability to new protocols is improved, but hardware modification complexity increases

Engineering Contradiction:
Improveadaptability to new protocolsVSAvoidhardware modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses dynamic microcode updates to adapt to new protocols without modifying the physical hardware. The microcode can be frequently updated to support emerging networking standards while the hardware architecture remains stable, separating the adaptability function from hardware modification complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The microcode serves as an intermediary that absorbs the complexity of protocol changes. By implementing protocol-specific logic in microcode rather than hardware, the system can frequently adapt to new protocols while keeping hardware modification complexity low, as only the microcode needs to be updated rather than the physical architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7823091B2Compilable, reconfigurable network processor
Publication Date: 2010.10.26 FUTUREWEI TECHNOLOGIES INC
  • US7823091B2 patent drawing
  • US7823091B2 patent drawing
  • US7823091B2 patent drawing

AI summary

A processor, particularly a network processor, is designed by first writing code to be processed by the processor. That code is then electronically compiled to design hardware of the processor and to provide executable code for execution on the designed hardware. To facilitate compilation, the written code may be restricted by predefined functional units to be implemented in hardware, and the executable code may include very long instruction word code. The functional units may be implemented in reconfigurable circuitry or custom circuitry, and the designed hardware may include combinational logic in reconfigurable circuitry.