CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs)
First Claim
1. A coarse-grained reconfigurable array (CGRA) configuration circuit of a block-based dataflow instruction set architecture (ISA), comprising:
- a CGRA comprising a plurality of tiles, each tile among of the plurality of tiles comprising a functional unit and a switch; and
an instruction decoding circuit configured to;
receive, from a block-based dataflow computer processor core, a dataflow instruction block comprising a plurality of dataflow instructions; and
for each dataflow instruction of the plurality of dataflow instructions;
map the dataflow instruction to a tile of the plurality of tiles of the CGRA;
decode the dataflow instruction;
generate a function control configuration for the functional unit of the mapped tile to correspond to a functionality of the dataflow instruction; and
for each consumer instruction of the dataflow instruction, generate a switch control configuration of the switch of each of one or more path tiles of the plurality of tiles of the CGRA to route an output of the functional unit of the mapped tile to a destination tile of the plurality of tiles of the CGRA corresponding to the consumer instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
Configuring coarse-grained reconfigurable arrays (CGRAs) for dataflow instruction block execution in block-based dataflow instruction set architectures (ISAs) is disclosed. In one aspect, a CGRA configuration circuit is provided, comprising a CGRA having an array of tiles, each of which provides a functional unit and a switch. An instruction decoding circuit of the CGRA configuration circuit maps a dataflow instruction within a dataflow instruction block to one of the tiles of the CGRA. The instruction decoding circuit decodes the dataflow instruction, and generates a function control configuration for the functional unit of the mapped tile to provide the functionality of the dataflow instruction. The instruction decoding circuit further generates switch control configurations for switches along a path of tiles within the CGRA so that an output of the functional unit of the mapped tile is routed to each tile corresponding to consumer instructions of the dataflow instruction.
-
Citations
29 Claims
-
1. A coarse-grained reconfigurable array (CGRA) configuration circuit of a block-based dataflow instruction set architecture (ISA), comprising:
-
a CGRA comprising a plurality of tiles, each tile among of the plurality of tiles comprising a functional unit and a switch; and an instruction decoding circuit configured to; receive, from a block-based dataflow computer processor core, a dataflow instruction block comprising a plurality of dataflow instructions; and for each dataflow instruction of the plurality of dataflow instructions; map the dataflow instruction to a tile of the plurality of tiles of the CGRA; decode the dataflow instruction; generate a function control configuration for the functional unit of the mapped tile to correspond to a functionality of the dataflow instruction; and for each consumer instruction of the dataflow instruction, generate a switch control configuration of the switch of each of one or more path tiles of the plurality of tiles of the CGRA to route an output of the functional unit of the mapped tile to a destination tile of the plurality of tiles of the CGRA corresponding to the consumer instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for configuring a coarse-grained reconfigurable array (CGRA) for dataflow instruction block execution in a block-based dataflow instruction set architecture (ISA), comprising:
-
receiving, by an instruction decoding circuit from a block-based dataflow computer processor core, a dataflow instruction block comprising a plurality of dataflow instructions; and for each dataflow instruction of the plurality of dataflow instructions; mapping the dataflow instruction to a tile of a plurality of tiles of a CGRA, each tile among of the plurality of tiles comprising a functional unit and a switch; decoding the dataflow instruction; generating a function control configuration for the functional unit of the mapped tile to correspond to a functionality of the dataflow instruction; and for each consumer instruction of the dataflow instruction, generating a switch control configuration of the switch of each of one or more path tiles of the plurality of tiles of the CGRA to route an output of the functional unit of the mapped tile to a destination tile of the plurality of tiles of the CGRA corresponding to the consumer instruction. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A coarse-grained reconfigurable array (CGRA) configuration circuit of a block-based dataflow instruction set architecture (ISA) for configuring a CGRA comprising a plurality of tiles, each tile among of the plurality of tiles comprising a functional unit and a switch, comprising:
-
a means for receiving, from a block-based dataflow computer processor core, a dataflow instruction block comprising a plurality of dataflow instructions; and for each dataflow instruction of the plurality of dataflow instructions; a means for mapping the dataflow instruction to a tile of a plurality of tiles of a CGRA; a means for decoding the dataflow instruction; a means for generating a function control configuration of the functional unit of the mapped tile to correspond to a functionality of the dataflow instruction; and for each consumer instruction of the dataflow instruction, a means for generating a switch control configuration of the switch of each of one or more path tiles of the plurality of tiles of the CGRA to route an output of the functional unit of the mapped tile to a destination tile of the plurality of tiles of the CGRA corresponding to the consumer instruction. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
Specification