IP Library Granted Patent US 10,983,947
Granted Patent B2
US 10,983,947 · App. 14/024,495 · Granted Apr 20, 2021

Method and dynamically reconfigurable processor adapted for management of persistence of information across multiple instruction cycles

Inventor: Robert Keith Mykland (Capitola, CA)
G06F15/7867G06F8/41G06F9/3869G06F9/3873G06F9/3897
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,983,947
App. No.
14/024,495
Granted
Apr 20, 2021
Kind
B2
Abstract

A method and system for enabling persistence of a value by a dynamically reconfigurable processor (“DRP”) from the time of execution of an earlier executed instruction to a time of later executed instruction. The value may represent a constant a variable value of a software program. The value may be read from or written into a memory circuit, a DRP logic element, an iterator of a DRP logic element, or other value storing element or aspect of the DRP. The value may be maintained in a single logic element through the duration of one or more instruction execution cycles, or alternatively or additionally, the value may be transferred between or among one or more value storage hardware elements. The persistence of the value and transfer of the value within, into and/or out of the DRP enables later access of the value by, and/or positioning the value within, the DRP.

Claims (10)

1. In a compiler, in order to determine a plurality of successive reconfigurations of a dynamically reconfigurable processor comprising a plurality of computational resources including a plurality of logic circuits, each logic circuit comprising at least one value storage circuit, a method comprising:

modeling a storing of a first value in a first value storage circuit of a first logic circuit during a first instruction cycle, wherein an instruction is defined as encoded data that contains configuration information applied by a dynamically reconfigurable processor to configure or reconfigure itself to accordingly process data that may be currently existent in the dynamically reconfigurable processor or included also as part of the encoded data and an instruction cycle is defined as a runtime period wherein the dynamically configurable processor executes a single instruction;

modeling an accessing of the first value in a succeeding instruction cycle;

determining a data pathway conflict in accessing the first value in a modeling of the succeeding instruction cycle; and

generating a new instruction to reconfigure the dynamically reconfigurable processor to enable a transfer of the first value within the plurality of computational resources of the dynamically reconfigurable processor, the new instruction adapted for execution after a first instruction cycle and before execution of the succeeding instruction cycle, wherein a first instruction comprising a plurality of paths is instantiated in the first instruction cycle and when a conflict exists between a first potential path within the first instruction cycle and at least one path of the plurality of paths within the first instruction, the compiler authoring the new instruction to move the first value onto a stack resource of the plurality of computational resources of the dynamically reconfigurable processor and load the first value back from the stack resource when needed in the succeeding instruction cycle.

2. The method of claim 1 , wherein when a conflict exists between the first potential path within the first instruction and at least one path of the plurality of paths within the first instruction, preferentially, where sufficient resources of the plurality of computational resources are available to do so, the compiler authoring the new instruction to move the first value into a first register of the dynamically reconfigurable processor and load the first value back from the first register of the dynamically reconfigurable processor.

3. The method of claim 1 , wherein when a conflict exists between the first potential path within the first instruction and at least one path of the plurality of paths within the first instruction, the compiler authoring the new instruction to move the first value from a first iterator of the dynamically reconfigurable processor into an available iterator of the dynamically reconfigurable processor accessible in the succeeding instruction cycle.

4. The method of claim 3 , wherein when a conflict exists between first potential path and at least one path of the plurality of paths within the first instruction, the compiler authoring the new instruction to assign both a source resource and a destination resource of the plurality of computational resources of the dynamically reconfigurable processor to different resources of the plurality of computational resources of the dynamically reconfigurable processor in the new instruction.

5. The method of claim 4 , wherein when a conflict exists between the first potential path and at least one path of the plurality of paths within the first instruction, the compiler authoring the new instruction to assign the destination resource of the plurality of computational resources of the dynamically reconfigurable processor to a different resource of the plurality of computational resources of the dynamically reconfigurable processor in the new instruction.

6. The method of claim 5 , wherein when a conflict exists between the first potential path, the complier authoring the new instruction to move the source resource storing the first value to a different resource of the plurality of computational resources of the dynamically reconfigurable processor.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: ASCENIUM INVESTMENT INC.
To: ASCENIUM HOLDING AS
Reel/Frame 050405/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2019
From: ASCENIUM HOLDING AS
To: ASCENIUM INC
Reel/Frame 050406/0414 →
CHANGE OF NAME Recorded Aug 14, 2019
From: ASCENIUM CORPORATION
To: ASCENIUM INVESTMENT, INC.
Reel/Frame 050057/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: MYKLAND, ROBERT KEITH, MR
To: ASCENIUM CORPORATION
Reel/Frame 041172/0291 →
Continuity (7)
Continuation In Part 13832005 · Mar 15, 2013
Continuation In Part 13722831 · Dec 20, 2012
Continuation In Part 13493962 · Jun 11, 2012
Continuation In Part 13429198 · Mar 23, 2012
Continuation In Part 13360805 · Jan 30, 2012
Continuation In Part 13301763 · Nov 21, 2011
Related Publication 20150227375A1 · Aug 13, 2015