Flexible wrapper architecture for tiled networks on a chip
A wrapper organization and architecture for networks on a chip employing an optimized switch arrangement with virtual output queuing and a backpressure mechanism for congestion control.
1. A network on a chip architecture comprising:
a rectangular array of tiles disposed upon a chip, each one of said tiles including:
four identical interconnected switches, each switch having four incoming links and four outgoing links, an enqueing module, an internal memory memory module and a dequeuing module; and
a receiver unit for interfacing the internal tile to other tiles; and
a sending unit for interfacing the internal tile to other tiles;
wherein the four incoming links consist of outside connections, straight connections, internal connections, and across connections; and
wherein the four outgoing links consist of outside connections, straight connections, internal connections and across connections.
2. The architecture of claim 1 wherein said incoming outside connection conveys packets coming from an adjacent tile; the incoming straight connection conveys packets coming from an adjacent switch within the same tile, the incoming internal connection conveys packets generated within the same tile, and the incoming across connection conveys packets coming from a switch positioned diagonally across from a receiving switch in the same tile.
3. The architecture of claim 2 wherein a packet received at the incoming outside connection may be conveyed in any of four directions.
4. The architecture of claim 3 wherein a packet received at the incoming straight input must have been sent by an adjacent switch inside the same tile and must be sent to the outgoing outside connection.
5. The architecture of claim 4 wherein a packet received at the incoming internal input can only be sent to the outgoing outside connection.
6. The architecture of claim 5 wherein a packet received and the incoming across input must have been sent by a switch diagonally across from the receiving switch on the tile and must be sent to the outgoing outside connection.
7. The architecture of claim 6 wherein multiple packets arriving simultaneously at incoming connections of a particular switch are subject to an arbitration performed by that switches enqueuing module.
8. The architecture of claim 7 wherein a congestion control for a particular switch is performed according to backpressure signals received by the enqueuing module based on queue utilization.