Latency guaranteed network on chip
DCFirst Claim
1. A system comprising:
- a set of processor cores;
a set of routers each including a set of input ports and a set of output ports, wherein;
each processor core of the set of processor cores corresponds to a different router of the set of routers, wherein each processor core and corresponding router form a tile,each processor core is communicatively coupled with a corresponding router via the router'"'"'s set of input ports and set of output ports,each router is communicatively coupled with one or more adjacent routers via the set of input ports and the set of output ports, and wherein each processor core is communicatively coupled with the other processor cores via the set of routers,each router is operable to receive one or more data packets from the one or more adjacent routers or the processor core corresponding to the router,based on a physical destination address of a data packet, each router is operable to send one or more data packets to the one or more adjacent routers or the processor core corresponding to the router, wherein each router is operable to retain a data packet in the event of a traffic condition, andeach router implements a static priority routing policy; and
an optimization module configured to;
determine optimal function assignment configurations for groups of tiles, andassign two or more functions, which communicate at least unilaterally more frequently with one another than with other functions, to groups of adjacent tiles based on an optimal function assignment configuration determination, wherein the two or more functions are assigned to groups of tiles communicatively coupled in square configurations when the function executes optimally when executed by the groups of tiles communicatively coupled in the square configurations and are assigned to groups of tiles communicatively coupled in linear configurations when the function executes optimally when executed by the groups of tiles communicatively coupled in the linear configurations.
1 Assignment
Litigations
1 Petition
Accused Products
Abstract
A method and system including a set of processor cores; and a set of routers each including a set of input ports and a set of output ports, where: each processor core of the set of processor cores corresponds to a different router of the set of routers and is communicatively coupled with a corresponding router via the router'"'"'s set of input ports and set of output ports, based on a physical destination address of a data packet, each router is operable to send one or more data packets to the one or more adjacent routers or the processor core corresponding to the router, where each router is operable to retain a data packet in the event of a traffic condition, and each router implements a deterministic routing policy.
-
Citations
19 Claims
-
1. A system comprising:
-
a set of processor cores; a set of routers each including a set of input ports and a set of output ports, wherein; each processor core of the set of processor cores corresponds to a different router of the set of routers, wherein each processor core and corresponding router form a tile, each processor core is communicatively coupled with a corresponding router via the router'"'"'s set of input ports and set of output ports, each router is communicatively coupled with one or more adjacent routers via the set of input ports and the set of output ports, and wherein each processor core is communicatively coupled with the other processor cores via the set of routers, each router is operable to receive one or more data packets from the one or more adjacent routers or the processor core corresponding to the router, based on a physical destination address of a data packet, each router is operable to send one or more data packets to the one or more adjacent routers or the processor core corresponding to the router, wherein each router is operable to retain a data packet in the event of a traffic condition, and each router implements a static priority routing policy; and an optimization module configured to; determine optimal function assignment configurations for groups of tiles, and assign two or more functions, which communicate at least unilaterally more frequently with one another than with other functions, to groups of adjacent tiles based on an optimal function assignment configuration determination, wherein the two or more functions are assigned to groups of tiles communicatively coupled in square configurations when the function executes optimally when executed by the groups of tiles communicatively coupled in the square configurations and are assigned to groups of tiles communicatively coupled in linear configurations when the function executes optimally when executed by the groups of tiles communicatively coupled in the linear configurations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A network-on-chip microprocessor chip, comprising:
-
a set of scratchpad memory modules; a set of tiles arranged in a grid configuration, each tile including a processor core and a router communicatively coupled with one another, wherein; each processor core corresponds to and is communicatively coupled with a different scratchpad memory module of the set of scratchpad memory modules, each router includes a set of input ports and a set of output ports, wherein each output port includes a FIFO memory element operable to store a data packet for subsequent sending to a router of an adjacent tile, based on a physical destination address of a data packet, each router is operable to send one or more data packets to routers of one or more adjacent tiles or the processor core corresponding to the router, and each router implements a static priority routing policy in the event of a traffic condition; and an optimization module configured to; determine optimal function assignment configurations for groups of tiles of the set of tiles, and assign two or more functions, which communicate at least unilaterally more frequently with one another than with other functions, to groups of adjacent tiles based on an optimal function assignment configuration determination, wherein the two or more functions are assigned to groups of tiles communicatively coupled in square configurations when the function executes optimally when executed by the groups of tiles communicatively coupled in the square configurations and are assigned to groups of tiles communicatively coupled in linear configurations when the function executes optimally when executed by the groups of tiles communicatively coupled in the linear configurations. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification