what is a network on chip
A network on chip, or NoC, is a communication system built directly into a chip that routes data between its many internal components — cores, memory, and other blocks — using the same basic principles as a computer network, rather than relying on simpler, less scalable wiring approaches.
```flowchart
{
"rows": [
{ "type": "nodes", "items": [
{ "title": "Simple shared bus", "sub": "works for a few components, becomes a bottleneck as more are added", "tone": "red" }
]},
{ "type": "arrow" },
{ "type": "group", "title": "Network on chip instead", "items": [
{ "title": "Data routed through a network of interconnected links", "sub": "scales to many components without one shared bottleneck", "tone": "green" }
]},
{ "type": "arrow" },
{ "type": "nodes", "items": [
{ "title": "Many components communicate efficiently at once", "sub": "essential for chips with dozens or hundreds of cores", "tone": "blue" }
]}
]
}
```
**A NoC exists because simpler on-chip communication approaches, like a single shared bus, don't scale well once a chip has many components needing to communicate simultaneously.** A shared bus works reasonably well when only a few components need to exchange data, but as more cores, memory blocks, and other components get added to a single chip, they end up contending for that same shared connection, creating a bottleneck — a NoC instead routes data through a network of interconnected links and routing points, letting many components communicate efficiently without all competing for the same single shared path.
```svg
```
```svg
```
| Aspect | Shared bus | Network on chip |
|---|---|---|
| Scalability | Poor beyond a few components | Scales to many components |
| Bottleneck risk | High — one shared path | Low — multiple independent paths |
| Design complexity | Simple | More complex to design and verify |
| Typical use | Small chips, few components | Many-core processors, complex SoCs |
**NoC design has become especially important for chips with many cores, since coordinating dozens or hundreds of cores demands communication infrastructure a simple bus can't provide.** As chip designs have moved toward integrating many processing cores onto a single chip, particularly in high-performance and AI-focused designs, ensuring those cores can communicate efficiently with each other and with shared memory has become a first-order design concern — NoC architecture is frequently one of the most heavily engineered aspects of a modern many-core chip design.
**A NoC's specific topology, meaning how its internal connections and routing points are arranged, involves real engineering tradeoffs between performance, area, and power.** Different NoC topologies, such as a mesh grid or a ring arrangement, offer different tradeoffs in how quickly data can move between distant components, how much physical chip area the network itself consumes, and how much power it uses — choosing the right NoC topology for a given chip design is a significant architectural decision, not an afterthought.
**NoC congestion can become a genuine performance bottleneck in its own right, similar to how memory bandwidth or interconnect bandwidth can limit overall system performance.** Even with a well-designed NoC, heavy simultaneous communication demand from many components can still create congestion within the network itself, meaning NoC performance under realistic, heavy traffic conditions is a major focus of chip architecture simulation and testing, not just its theoretical maximum capacity.
Read the network on chip through a city-streets-versus-one-shared-road lens: rather than forcing every component to funnel through a single shared connection, a NoC gives a chip's internal components their own network of routes to communicate over — letting many components exchange data at once without all getting stuck behind each other.