HYBRID AND EFFICIENT APPROACH TO ACCELERATE COMPLICATED LOOPS ON COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRA) ACCELERATORS
First Claim
1. A coarse-grained reconfigurable array comprising:
- a processing element array comprising a plurality of processing elements;
instruction memory circuitry coupled to the processing element array and configured to;
store a set of instructions; and
during each one of a plurality of processing cycles, provide instructions from the set of instructions to the plurality of processing elements based on instruction fetch signals; and
an instruction fetch unit coupled to the processing element array and the instruction memory circuitry and configured to;
receive a result of a conditional instruction evaluated by one of the plurality of processing elements; and
provide the instruction fetch signals based at least in part on the result of the conditional instruction such that only instructions associated with a correct branch of the conditional instruction are provided to the plurality of processing elements.
3 Assignments
0 Petitions
Accused Products
Abstract
A coarse-grained reconfigurable array includes a processing element array, instruction memory circuitry, data memory circuitry, and an instruction fetch unit. The processing element array includes a number of processing elements. The instruction memory circuitry is coupled to the processing element array and configured to store a set of instructions. During each one of a number of processing cycles, the instruction memory circuitry provides instructions from the set of instructions to the processing elements. The instruction fetch unit is coupled to the processing element array and the instruction memory circuitry and configured to receive a result of a conditional instruction evaluated by one of the processing elements and provide the instruction fetch signals based at least in part on the result of the conditional instruction such that only instructions associated with a correct branch of the conditional instruction are provided to the plurality of processing elements.
9 Citations
20 Claims
-
1. A coarse-grained reconfigurable array comprising:
-
a processing element array comprising a plurality of processing elements; instruction memory circuitry coupled to the processing element array and configured to; store a set of instructions; and during each one of a plurality of processing cycles, provide instructions from the set of instructions to the plurality of processing elements based on instruction fetch signals; and an instruction fetch unit coupled to the processing element array and the instruction memory circuitry and configured to; receive a result of a conditional instruction evaluated by one of the plurality of processing elements; and provide the instruction fetch signals based at least in part on the result of the conditional instruction such that only instructions associated with a correct branch of the conditional instruction are provided to the plurality of processing elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving input code; generating a set of instructions from the input code, wherein the set of instructions includes; a first subset of instructions; a second subset of instructions, wherein; a number of instructions in the first subset of instructions are equal to a number of instructions in the second subset of instructions; and the first subset of instructions includes instructions to be evaluated if a conditional instruction is true and the second subset of instructions includes instructions to be evaluated if the conditional instruction is false; and an instruction skip value associated with the first set of instructions and the second set of instructions, wherein the instruction skip value specifies a number of instructions in the first subset of instructions and the second subset of instructions. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
processing circuitry; and a memory storing instructions, which, when executed by the processing circuitry cause the apparatus to; receive input code; generate a set of instructions from the input code, wherein the set of instructions includes; a first subset of instructions, a second subset of instructions, wherein; a number of instructions in the first subset of instructions are equal to a number of instructions in the second subset of instructions; and the first subset of instructions includes instructions to be evaluated if a conditional instruction is true and the second subset of instructions includes instructions to be evaluated if the conditional instruction is false; and an instruction skip value associated with the first set of instructions and the second set of instructions, wherein the instruction skip value specifies a number of instructions in the first subset of instructions and the second subset of instructions. - View Dependent Claims (17, 18, 19, 20)
-
Specification