Hardware Reference
In-Depth Information
a
b
Fig. 1.5 Connection of the network interfaces using ( a ) simple connections to the network or
( b ) separate request and reply connections
For example as shown in Fig. 1.5 a, the NI connected to a master implements a slave
interface, while a NI connected to slave acts as a master to it. At the network's side,
the send and receive paths at the edge of the NoC and the NI act as two independent
flow-controlled channels that transfer packets according to the rules imposed by the
transport layer.
The request and the responses of the transaction layer often assume that they
are completely independent and isolated from each other thus eliminating any
logical and architectural dependencies and allowing for deadlock-free operation at
the transaction-protocol level. Enabling this separation by default at the transaction
layers means that the transport and the physical layer provide a packet isolation
mechanism. At the transport layer, this means that different packet classes such as
request and reply packets should not interfere in the network in such a way that
creates dependencies between them that may lead to a deadlock condition.
This can happen by imposing isolation either in space or in time. Isolation in
space means that each packet class uses completely separated physical resources
(separate request/reply channels, different switching mechanism), e.g., like adding
different lanes on a road network for the different types of cars we don't want to
interfere (see Fig. 1.5 b) (Wentzlaff et al. 2007 ; Kistler et al. 2006 ). On the other
hand, isolation in time means that different time slots are used by different packet
classes. This time-sharing mechanism is equivalent to emulating the different lanes
of a road network by virtual lanes, called virtual channels that each one appears at
the physical channel in a different time instance (Dally 1992 ).
Any isolation mechanism implemented either in space or in time can be also
used for providing deadlock-free routing for the packets travelling in the network.
A routing deadlock can happen when a set of packets request access to already
allocated channels and the chain of dependencies evolve in a cyclic manner that
blocks any packet from moving forward (Duato et al. 1997 ).
 
Search WWH ::




Custom Search