CPC H04L 49/15 (2013.01) | 18 Claims |
1. A reconfigurable dataflow processor comprising:
an array of configurable units; and
a plurality of switches configured to form a mesh network coupled to configurable units of the array of configurable units, a switch of the plurality of switches including, a flow table, an input port having a data section, a routing bit, and a destination field, and two or more output ports;
a configurable unit of the array of configurable units comprising:
a data port coupled to the input port of the switch, the data port including a data section, a routing bit, and a destination field;
a table having three or more entries, an output of the table coupled to the destination field of the data port; and
a dynamic destination ID field, coupled to an address input of the table and to an arithmetic logic unit (ALU) of the configurable unit;
wherein the switch is configured to:
receive first data, a first routing value, and first destination information through the data section, the routing bit, and the destination field, respectively, of the input port from the configurable unit, wherein the first destination information includes a row number and a column number for a destination of the first data;
route the first data to a first output port of the two or more output ports selected based on the first destination information in response to receiving the first routing value associated with the first data; and
receive second data, a second routing value that is different than the first routing value, and second destination information, retrieved using the dynamic destination ID field from the table of the configurable unit, through the data section, the routing bit, and the destination field, respectively, of the input port from the configurable unit; and
route the second data to a second output port of the two or more output ports selected based on information retrieved from the flow table using the second destination information in response to receiving the second routing value associated with the second data.
|