Hardware Reference
In-Depth Information
Packet not
drained
Wormhole
Source
Sink
Flits Moving
empty slots
downstrem
Stalled
NO empty slots
downstream
Buffer Full
Packet not
drained
Virtual Cut Through
Source
Sink
Flits Moving
empty slots
downstrem
Flits Moving
empty slots
downstrem
Free Slots for
entire packet
Fig. 2.21
The granularity of buffer allocation in virtual-cut throughput and wormhole packet flow
policies
buffers of more than one intermediate node. This spreading does not add any other
complication provided that all flits stay in their place and not dropped due to link-
level flow control. The selection of a link-level flow control policy is orthogonal to
either VCT or wormhole-based message flow. Any policy can be selected without
any other complication to the operation of the system. Even if WH does not impose
any limitation on the number of buffers slots required per link, still the round-trip
time of each link sets the lower limit for high throughput data transfer.
The difference in the granularity of buffer allocation, per packet or per flit,
imposed by the two policies is better clarified by the example shown in Fig. 2.21 .
Each flit moves to the downstream node as long as it has guaranteed an empty
buffer either via ready/valid or credit-based flow control. Both VCT and wormhole
employ pipelined transfers where each flit is immediately transferred to the next
node irrespective the arrival of the next flits of the packet. When an output of a node
is blocked, the flits continue moving closer to the blockage point until all buffers are
full in front of them and oblige them to stop.
In the case of VCT, each intermediate node is obliged to have at least 5 buffer
slots (equal to the number of flits per packet) that allows a whole packet to be stored
in the blockage point. In the case of WH, arbitrary buffer slots can exist per node
(the minimum number depends on the lossless property of the link-level flow control
protocol). In our WH example, we selected to have 3 buffer slots per node. When
all downstream buffers are full the flits cannot move and remain buffered in the
node they are. In this way, the flits of the packet may occupy the buffers of a path
of intermediate nodes. The way the granularity of buffer allocation (flit or packet
level) affects the operation of NoC routers and how it can be actually implemented
will be clarified in the following chapter.
 
Search WWH ::




Custom Search