Low latency dynamic route selection
First Claim
1. A method for communicating among cores in a computing processor comprising a plurality of cores interconnected by a mesh network, each core comprising a processor and a switch, the method comprising:
- constructing a packet to route from one of the cores or from a device coupled to one of the cores;
dynamically determining a route for the packet, by selecting for the packet between a first dimension and a second, different dimension, a first oriented route that routes in the first dimension unless a turn is encountered in the route;
routing the packet from the core or from the device coupled to the one of the cores to a destination over the dynamically determined route over the first selected dimension.
9 Assignments
0 Petitions
Accused Products
Abstract
Communicating among cores in a computing system comprising a plurality of cores, each core comprising a processor and a switch, includes: routing a packet from a core or from a device coupled to at least one core to a destination over a route including one or more cores, with an order of dimensions associated with the route being selected dynamically upon construction of the packet; routing the packet to a first core in the route over the first selected dimension; and routing the packet from the first core to the destination over the second dimension.
33 Citations
25 Claims
-
1. A method for communicating among cores in a computing processor comprising a plurality of cores interconnected by a mesh network, each core comprising a processor and a switch, the method comprising:
-
constructing a packet to route from one of the cores or from a device coupled to one of the cores; dynamically determining a route for the packet, by selecting for the packet between a first dimension and a second, different dimension, a first oriented route that routes in the first dimension unless a turn is encountered in the route; routing the packet from the core or from the device coupled to the one of the cores to a destination over the dynamically determined route over the first selected dimension. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable hardware storage device that tangibly stores a computer program for communicating among cores in a multicore processor that comprises a plurality of cores interconnected by a mesh network, each core comprising a processor element and a switch, the computer program comprising instructions for causing the processor to:
-
construct a packet to route from one of the cores or from a device coupled to one of the cores; dynamically determine a route for the packet, by selecting for the packet between a first dimension and a second, different dimension, a first oriented route that routes in the first dimension unless a turn is encountered in the route; route the packet from the core or from the device coupled to the one of the cores to a destination over the dynamically determined route over the first selected dimension. - View Dependent Claims (16, 17, 22, 23)
-
-
18. A multicore processor, comprising:
-
a plurality of cores; a mesh network interconnecting the plurality of cores; each of one or more of the cores comprising a switch; and each of one or more of the cores comprising a processor, the processors configured to; construct a packet to route from one of the cores or from a device coupled to one of the cores; dynamically determine a route for the packet, by selecting for the packet between a first dimension and a second, different dimension, a first oriented route that routes the packet in the first dimension and when a turn is encountered, in a second dimension; route the packet from the core or from the device coupled to the one of the cores to a destination over the dynamically determined route over the first selected dimension; and route the packet in a second selected dimension when a turn is required in the route to the destination. - View Dependent Claims (19, 20, 21, 24, 25)
-
Specification