# US 9,436,637 B2 · Network-on-chip architecture for multi-processor SoC designs

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,637 B2
- Document ID: US9436637B2
- Status: Granted
- Kind: B2
- Application number: 13/897,049
- Filed: 2013-05-17
- Published: 2014-11-20
- Granted: 2016-09-06
- Earliest claimed: 2013-05-17
- Assignees: Advanced Micro Devices, Inc.
- Applicants: Advanced Micro Devices, Inc.
- Inventors: Sudarshanam Kommanaboyina
- Web page: https://patentgrep.com/patent/US9436637B2

## CPC

- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- G06F 15/17368: {non hierarchical topologies}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method embodying some aspects for communicating between nodes in a network-on-chip are provided. The system comprises a microprocessing chip and a plurality of connection paths. The microprocessing chip comprises sixteen processing nodes disposed on the chip. The plurality of connection paths are configured such that each is at most three hops away from any other node. Each node also has connection paths to at most three other nodes.

## Claims

### Claim 1

A system comprising:
a microprocessing chip comprising sixteen processing nodes disposed on the chip, a second microprocessing chip comprising sixteen second processing nodes disposed on the chip, a third microprocessing chip comprising sixteen third processing nodes disposed on the chip, and a fourth microprocessing chip comprising sixteen fourth processing nodes disposed on the chip; and
a plurality of connection paths connecting the nodes, wherein the connection paths are configured such that each node is at most three hops away from any other node, and wherein each node has a connection path to at most three other nodes;
wherein the sixteen processing nodes form a first 16 node network, the sixteen second processing nodes form a second 16 node network, the sixteen third processing nodes form a third 16 node network, and the sixteen fourth processing nodes form a fourth 16 node network;
a second plurality of second connection paths connecting the second processing nodes, wherein the second connection paths are configured such that each second processing node is at most three hops away from any of the remaining second processing nodes, and wherein each second processing node has a connection path to at most three other second processing nodes;
a third plurality of third connection paths connecting the third processing nodes, wherein the third connection paths are configured such that each third processing node is at most three hops away from any of the remaining third processing nodes, and wherein each third processing node has a connection path to at most three other third processing nodes;
a fourth plurality of fourth connection paths connecting the fourth processing nodes, wherein the fourth connection paths are configured such that each fourth processing node is at most three hops away from any of the remaining fourth processing nodes, and wherein each fourth processing node has a connection path to at most three other fourth processing nodes; and
a network connection path connecting the four 16 node networks, wherein the network connection path connects each node from each 16 node network to a corresponding node in each of the other three 16 node networks such that each node in the system is at most four hops from any other node in the system.

### Claim 2 (depends on 1)

The system of claim 1, wherein each processing node comprises:
a processing unit;
a dedicated memory; and
a 3×3 crossbar switch.

### Claim 3 (depends on 2)

The system of claim 2, wherein the processing unit is a central processing unit or graphics processing unit.

### Claim 4 (depends on 2)

The system of claim 2, wherein the 3×3 crossbar switch is configured to route requests to a connected node.

### Claim 5 (depends on 4)

The system of claim 4, wherein the 3×3 crossbar switch comprises a router configured to determine a shortest path to the destination node, and the 3×3 crossbar switch is configured to use the shortest path.

### Claim 6 (depends on 1)

The system of claim 1, wherein each node has a connection path to exactly three other nodes.

### Claim 7 (depends on 1)

The system of claim 1, wherein each of the plurality of connection paths connects two nodes.

### Claim 8 (depends on 7)

The system of claim 7, wherein each of the plurality of connection paths comprise two wires, a first wire that is an input to a first node and output for a second node and a second wire that is an output for the first node and an input to the second node.

### Claim 9 (depends on 1)

The system of claim 1, wherein the network path connection comprises a network path that includes two wires, a first wire that is an input to a first node and output for a second node and a second wire that is an output for the first node and an input of the second node.

### Claim 10 (depends on 9)

The system of claim 9, wherein the network paths define a one-to-one mapping of nodes from one 16 node network and a different 16 node network.

### Claim 11

A method comprising:
determining a destination node for a request;
identifying a next node on a shortest path from a source node to the destination node; and
transmitting the request to the next node on the shortest path;
wherein:
the source node is in a first 16 node network;
each node within the first 16 node network is within three hops of every other node in the first 16 node network; and
each node within the first 16 node network has a connection path to at most three other nodes within the first 16 node network,
wherein determining the destination node for the request comprises determining that the destination node is a node within a second 16 node network, each node within the second 16 node network is within three hops of every other node in the second 16 node network; and each node within the second 16 node network has a connection path to at most three other nodes within the second 16 node network, wherein the second 16 node network is any one of three different 16 node networks;
wherein a network connection path connects the four 16 node networks and the network connection path connects each node from each 16 node network to a corresponding node in each of the other three 16 node networks such that each node is at most four hops from any other node.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
receiving, by the source node, the request to be transmitted to the destination node.

### Claim 13 (depends on 11)

The method of claim 11, wherein determining the destination node for the request comprises determining that the destination node is a node within the network.

### Claim 14 (depends on 11)

The method of claim 11, wherein determining the destination node for the request comprises determining that the source node in the network is connected to a corresponding node in the second network and the identifying the next node on the shortest path also identifies a path that is four or fewer hops long.

### Claim 15 (depends on 11)

The method of claim 11, wherein determining the destination node for the request comprises determining that a node from the network has a connection path to a node in the second network and the identifying the next node on the shortest path also identifies a path that requires at most three hops in each of the network and the second network in addition to any hops to transmit the request between the network and the second networks.

### Claim 16 (depends on 11)

The method of claim 11, wherein the request comprises the destination node and determining the destination node comprises retrieving the destination node from the request.
