Hardware Reference
In-Depth Information
Fig. 3.5 ( a ) The organization
of a hierarchical multiple-
inputs to one output
switching module and ( b )the
interleaving of flits from
different inputs at the
branches of the hierarchical
switching module
a
arb
arb
local
outAvailable
local
outLock
Link
arb
b
T
H1
B
H
H2
H3
B3
In this hierarchical implementation of the switch, every two inputs either at
the first stage of arbitration or inside the multiplexing tree can gain access only
to the local output that they see in front of them (the output of a merging unit).
In this way, the flits of a packet can move atomically up to the point that they
see the corresponding outLock bits set. If another branch of the merging tree has
won access to the next intermediate node, then the flits of the packet stall and
wait the next required resource to be released. This partial blocking of packets
inside the merging tree is shown in Fig. 3.5 b. In this way, even if some branches
of the tree remain idle due to downstream blocking, the allocation of different
branches of the tree to different packets increases the overall throughput of the
switching module. Switching single-flit packets (acting both as head and tails) in
this configuration allows for maximum utilization since every local output or the
global one can be given to another branch on a per-cycle basis.
 
Search WWH ::




Custom Search