Method, device and system for control signalling in a data path module of a data stream processing engine
First Claim
Patent Images
1. A programmable accelerator comprising:
- a first data processing circuit, a second data processing circuit, and a third data processing circuit; and
a controller to receive a message from a host processor identifying an operation to be performed by the programmable accelerator, the controller, responsive to the message, to program the first data processing circuit, the second data processing circuit, and the third data processing circuit with a configuration to perform a data driven execution of the operation independently of the host processor,wherein each of the first data processing circuit, the second data processing circuit, and the third data processing circuit includes a read port and a write port, and the configuration of the first data processing circuit, the second data processing circuit, and the third data processing circuit forms a set of one or more data paths for the operation from the ports, andthe configuration causes the first data processing circuit to send both intermediate data based on data input into the first data processing circuit and a validity control value to the second data processing circuit, and the second data processing circuit to determine a resultant of the operation on the intermediate data when receiving the intermediate data, the validity control value, and a communication from the third data processing circuit that indicates the third data processing circuit is ready to receive the resultant from the second data processing circuit.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques and mechanisms for exchanging control signals in a data path module of a data stream processing engine. In an embodiment, the data path module may be configured to form a set of one or more data paths corresponding to an instruction which is to be executed. In another embodiment, data processing units of the data path module may be configured to exchange one or more control signals for elastic execution of the instruction.
369 Citations
24 Claims
-
1. A programmable accelerator comprising:
-
a first data processing circuit, a second data processing circuit, and a third data processing circuit; and a controller to receive a message from a host processor identifying an operation to be performed by the programmable accelerator, the controller, responsive to the message, to program the first data processing circuit, the second data processing circuit, and the third data processing circuit with a configuration to perform a data driven execution of the operation independently of the host processor, wherein each of the first data processing circuit, the second data processing circuit, and the third data processing circuit includes a read port and a write port, and the configuration of the first data processing circuit, the second data processing circuit, and the third data processing circuit forms a set of one or more data paths for the operation from the ports, and the configuration causes the first data processing circuit to send both intermediate data based on data input into the first data processing circuit and a validity control value to the second data processing circuit, and the second data processing circuit to determine a resultant of the operation on the intermediate data when receiving the intermediate data, the validity control value, and a communication from the third data processing circuit that indicates the third data processing circuit is ready to receive the resultant from the second data processing circuit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
receiving a message with a controller of a programmable accelerator from a host processor identifying an operation to be performed by the programmable accelerator; programming, responsive to the message, a first data processing circuit, a second data processing circuit, and a third data processing circuit of the programmable accelerator with a configuration by the controller to perform a data driven execution of the operation independently of the host processor, wherein each of the first data processing circuit, the second data processing circuit, and the third data processing circuit includes a read port and a write port; coupling, based on the configuration, the first data processing circuit, the second data processing circuit, and the third data processing circuit to form a set of one or more data paths for the operation from the ports; sending, by the first data processing circuit and based on the configuration, both intermediate data based on data input into the first data processing circuit and a validity control value to the second data processing circuit; and determining, by the second data processing circuit and based on the configuration, a resultant of the operation on the intermediate data when receiving the intermediate data, the validity control value, and a communication from the third data processing circuit that indicates the third data processing circuit is ready to receive the resultant from the second data processing circuit. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a processor; and a programmable accelerator coupled to the processor, the programmable accelerator comprising; a first data processing circuit, a second data processing circuit, and a third data processing circuit, and a controller to receive a message from the processor identifying an operation to be performed by the programmable accelerator, the controller, responsive to the message, to program the first data processing circuit, the second data processing circuit, and the third data processing circuit with a configuration to perform a data driven execution of the operation independently of the processor, wherein each of the first data processing circuit, the second data processing circuit, and the third data processing circuit includes a read port and a write port, and the configuration of the first data processing circuit, the second data processing circuit, and the third data processing circuit forms a set of one or more data paths for the operation from the ports, and the configuration causes the first data processing circuit to send both intermediate data based on data input into the first data processing circuit and a validity control value to the second data processing circuit, and the second data processing circuit to determine a resultant of the operation on the intermediate data when receiving the intermediate data, the validity control value, and a communication from the third data processing circuit that indicates the third data processing circuit is ready to receive the resultant from the second data processing circuit. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification