Instruction Paging in Reconfigurable Fabric via Circular Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face limitations in flexibility and cost-effectiveness, as custom ASICs are inflexible and costly to reconfigure, while FPGAs offer versatility but are slow and time-consuming to reconfigure, failing to meet the demands for fast and complex semiconductor implementations.

Innovation Solution

The implementation of instruction paging using circular buffers that allow for quick reconfiguration of processing elements by swapping instructions between memory and buffers, enabling asynchronous operation and dynamic reprogramming without retiming or additional clock signals.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional microprocessors are used, then high functional diversity is achieved, but processing speed and reconfigurability are limited

Engineering Contradiction:
Improvefunctional diversityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent implements dynamic reconfiguration by allowing the circular buffer to be updated with new instruction sets during operation. The buffer can be rewritten with different instructions to change the functionality of the reconfigurable fabric on-the-fly, enabling the system to adapt between different computational tasks without physical reconfiguration or extensive redesign.

Inventive Principle:
Principle #15Dynamics

2Speed

If custom ASICs are used, then processing speed is improved, but flexibility and reconfigurability are lost

Engineering Contradiction:
Improveprocessing speedVSAvoidflexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent segments the instruction storage into a circular buffer that can be independently updated. This segmentation allows the processing fabric to maintain its high-speed ASIC-like operation while the instruction buffer can be reconfigured separately to change functionality, thus achieving both speed and flexibility simultaneously.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If FPGAs are used, then reconfigurability is achieved, but reconfiguration time is excessive

Engineering Contradiction:
ImprovereconfigurabilityVSAvoidreconfiguration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent prepares multiple instruction sets in advance in the circular buffer, allowing the reconfigurable fabric to switch between pre-computed instruction sets without real-time computation overhead. This preliminary preparation of instruction sequences enables rapid task switching without the extensive reconfiguration time characteristic of FPGAs.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If reconfigurable devices are used, then configuration flexibility is improved, but instruction bandwidth is limited

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidinstruction bandwidth
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The circular buffer architecture enables continuous instruction delivery to the reconfigurable fabric without interruption. The buffer maintains a steady stream of instructions, ensuring that the processing elements are continuously utilized without idle cycles waiting for reconfiguration or instruction delivery, thus maximizing instruction bandwidth while maintaining flexibility.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10073773B2Instruction paging in reconfigurable fabric
Publication Date: 2018.09.11 MIPS HLDG INC
  • US10073773B2 patent drawing
  • US10073773B2 patent drawing
  • US10073773B2 patent drawing

AI summary

Circular buffers containing instructions that enable the execution of operations on logical elements are described where data in the circular buffers is swapped to storage. Data stored in circular buffers is paged in and out to a second level memory. State information for each logical element is also saved and restored using paging memory. Logical elements such as processing elements are provided instructions via circular buffers. The instructions enable a group of processing elements to perform operations implementing a desired functionality. That functionality is changed by updating the circular buffers with new instructions that are transferred from paging memory. The previous instructions can be saved off in paging memory before the new instructions are copied over to the circular buffers. This enables the hardware to be rapidly reconfigured amongst multiple functions.