28.06.2014 Views

Survey of Network on Chip (NoC) Architectures & Contributions ...

Survey of Network on Chip (NoC) Architectures & Contributions ...

Survey of Network on Chip (NoC) Architectures & Contributions ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

exploited these different NOC topologies for their NOC implementati<strong>on</strong>s. Kim et al. have used a star-based NOC<br />

that communicated using the principle <str<strong>on</strong>g>of</str<strong>on</strong>g> CDMA (Code Divisi<strong>on</strong> Multiple Access) [7]; Adriahantenaina et al.<br />

proposed a tree-based implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> NOC [8], where each node in the tree behaves as a router in NOC;<br />

Pande et al. compared various network topologies for interc<strong>on</strong>necti<strong>on</strong> networks in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> latency, throughput, and<br />

energy dissipati<strong>on</strong> [6]. Several researchers have suggested that a 2-D mesh architecture for NOC will be more<br />

efficient in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> latency, power c<strong>on</strong>sumpti<strong>on</strong> and ease <str<strong>on</strong>g>of</str<strong>on</strong>g> implementati<strong>on</strong>, as compared to other topologies. The<br />

Octag<strong>on</strong> NOC dem<strong>on</strong>strated in [9] is an example <str<strong>on</strong>g>of</str<strong>on</strong>g> a novel regular NOC topology.<br />

Router Architecture<br />

NOC architectures are based <strong>on</strong> packet-switched networks. This has led to new and efficient principles for design<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> routers for NOC [10]. Assume that a router for the mesh topology has four inputs and four outputs from/to other<br />

routers, and another input and output from/to the <str<strong>on</strong>g>Network</str<strong>on</strong>g> Interface (NI). Routers can implement various<br />

functi<strong>on</strong>alities - from simple switching to intelligent routing. Since embedded systems are c<strong>on</strong>strained in area and<br />

power c<strong>on</strong>sumpti<strong>on</strong>, but still need high data rates, routers must be designed with hardware usage in mind. For<br />

circuit-switched networks, routers may be designed with no queuing (buffering). For packet-switched networks,<br />

some amount <str<strong>on</strong>g>of</str<strong>on</strong>g> buffering is needed, to support bursty data transfers. Such data originate in multimedia<br />

applicati<strong>on</strong>s such as video streaming. Buffers can be provided at the input, at the output, or at both input and output<br />

[11].<br />

Various designs and implementati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> router architectures based <strong>on</strong> different routing strategies have been<br />

proposed in the literature. Wolkotte et al. proposed a circuit switched router architecture for NOC [12], while Dally<br />

and Towles proposed a packet switched router architecture [13]. Albenes and Frederico provided a wormholebased<br />

packet forwarding design for a NOC switch [14].<br />

Routing Protocol<br />

Routing Algorithms<br />

Number <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

Destinati<strong>on</strong>s<br />

Unicast Routing<br />

Multicast Routing<br />

Centralized Routing Source Routing Distributed Routing Multiphase Routing<br />

Routing Decisi<strong>on</strong>s<br />

Implementati<strong>on</strong><br />

Adaptability<br />

Lookup Table<br />

Deterministic Routing<br />

Finite State Machines<br />

Adaptive Routing<br />

Progressiveness<br />

Minimality<br />

Number <str<strong>on</strong>g>of</str<strong>on</strong>g> Paths<br />

Progressive<br />

Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>itable<br />

Complete<br />

Figure 1. Routing algorithms.<br />

Backtracking<br />

Misrouting<br />

Partial<br />

Routing algorithms can be classified in various ways, as shown in Figure 1. In unicast routing, the packets have a<br />

single destinati<strong>on</strong>, while in the case <str<strong>on</strong>g>of</str<strong>on</strong>g> multicast routing, the packets have multiple destinati<strong>on</strong>s. For <strong>on</strong>-chip<br />

communicati<strong>on</strong>, unicast routing strategies seem to be a practical approach due to the presence <str<strong>on</strong>g>of</str<strong>on</strong>g> point-to-point

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!