Data Flow Processor Power Control via Circular Buffer Sleep States

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current semiconductor chips face inefficiencies in power conservation, particularly in programmable logic devices like FPGAs, which are limited by their inability to dynamically reconfigure for multiple functions without lengthy reprogramming, leading to high power consumption and reduced adaptability to changing functional requirements.

Innovation Solution

A data flow processor architecture with circular buffers that configures clusters of processing, storage, and switching elements, allowing for dynamic reconfiguration and power management by setting elements into sleep states based on instructions within the buffers, enabling rapid transitions between operational states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If FPGAs are used for programmable logic operations, then adaptability to changing functional requirements is improved, but power consumption increases due to inability to dynamically reconfigure

Engineering Contradiction:
Improveadaptability to changing functional requirementsVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic reconfiguration capability that allows the FPGA to transition between different operational states (active, idle, sleep) based on workload demands. Processing elements can be dynamically enabled or disabled, and configuration can be reloaded without full reprogramming, resolving the contradiction between adaptability and power consumption by making the system adaptable only when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (power state, clock frequency, configuration) based on workload conditions. Processing elements can operate at different power levels or be completely powered down when not needed, while maintaining the ability to quickly reconfigure for different functions when required, thus reducing overall power consumption while preserving adaptability.

Inventive Principle:
Principle #35Parameter changes

2Speed

If processing elements remain in active state to handle data, then processing speed is maintained, but power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic monitoring of data presence and workload conditions to determine when processing elements should be active or idle. Processing elements are activated only when data is present and deactivated when idle, creating a periodic on/off pattern that maintains processing speed when needed while reducing power consumption during idle periods.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

Processing elements automatically transition between active and sleep states based on the presence of data in their input buffers, without requiring continuous external control. This self-service mechanism ensures processing speed is maintained when data arrives while automatically conserving power when no data is present.

Inventive Principle:
Principle #25Self-service

3Use of energy by moving object

If processing elements transition to sleep state to conserve power, then power consumption is reduced, but transition time increases

Engineering Contradiction:
Improvepower consumptionVSAvoidtransition time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent implements preliminary actions such as pre-loading configuration data into buffers before actual reconfiguration is needed, and maintaining idle state readiness so that transitions to active state can occur quickly. Configuration data is prepared in advance in circular buffers, and processing elements remain in low-power idle states rather than fully sleeping, reducing transition time while still conserving power.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic transition timing based on predicted workload patterns. If data is expected to arrive soon, processing elements remain in lighter sleep states with faster wake-up times. If extended idle periods are predicted, deeper sleep states with greater power savings are entered. This dynamic adjustment resolves the contradiction between power savings and transition time.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If FPGAs are reprogrammed to change function, then adaptability is improved, but reprogramming time increases

Engineering Contradiction:
Improvefunctional reconfiguration capabilityVSAvoidreprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the configuration data into modular components that can be selectively loaded and executed. Instead of reprogramming the entire FPGA, only the necessary configuration segments related to current workload requirements are loaded into circular buffers and executed, enabling rapid functional reconfiguration without full reprogramming of the device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Configuration data is pre-processed and segmented into executable instruction sequences that can be quickly loaded into circular buffers. This preliminary preparation of configuration data in a ready-to-execute format significantly reduces the time required for functional reconfiguration compared to traditional full reprogramming approaches.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10656911B2Power control for a dataflow processor
Publication Date: 2020.05.19 MIPS HLDG INC
  • US10656911B2 patent drawing
  • US10656911B2 patent drawing
  • US10656911B2 patent drawing

AI summary

Techniques are disclosed for power conservation. A plurality of processing elements and a plurality of instructions are configured. The plurality of processing elements is controlled by instructions contained in a plurality of circular buffers. The plurality of processing elements can comprise a data flow processor. A first processing element, from the plurality of interconnected processing elements, is set into a sleep state by a first instruction from the plurality of instructions. The first processing element is woken from the sleep state as a result of valid data being presented to the first processing element. A subsection of the plurality of interconnected processing elements is also set into a sleep state based on the first processing element being set into a sleep state. At least one circular buffer from the plurality of circular buffers remains awake while the first processing element is in the sleep state, and the at least one circular buffer provides for data steering through a reconfigurable fabric.