Hardware Reference
In-Depth Information
outVCAvailable
Requests to
available output VCs
Per-input VC
selection
Per-output VC
selection
Initial Requests
VC#0
VC#1
VC#2
VC#3
VC#4
VC#5
#0
#1
#2
Output VCs
Fig. 7.6 An example of the operation of a VC allocator for a 2-input-1-output connection that
hosts 3VCs. Multiple output VCs may be requested by a single input VC (Initial Requests), but
only the available ones will qualify to the per-input VC allocation stage, in which only one will
be selected. Then, each output VC will be assigned to one of the requesting input VCs. In this
way, no output VC can be assigned to more than one input VC and no input VC can allocate more
than one output VCs. The circles around the bullets illustrate the grants of VA1 (per-row) and VA2
(per-column) arbitration stages
7.1.6
The Internal Organization of the Switch Allocator
for a Many-to-One Connection
Switch allocator services the requests of all input VCs that have been matched to
an output VC and have also the available credits. Input VCs share an input port of
the output multiplexer (only one VC per input can be served in each clock cycle).
Therefore, switch allocation is done in two steps. The first step, called SA1, involves
a local per input arbitration that selects which input VC to promote to the output
arbiter. The second global arbitration step, called SA2, selects one valid input to
connect to the output.
The organization of the switch allocator is shown in Fig. 7.7 . It receives an output
request bit per input VC and using a local V W 1 arbiter (SA1) selects one input VC
from each input to participate to the next arbitration step. The global arbitration step
(SA2) sees one request per input. An input has a valid request as long as the local
arbiter gave at least one grant. 1 The grant signals of the output arbiter are given back
to all inputs and also given to the output multiplexer for setting up the appropriate
input-output connection. Each input receives 1 bit that denotes if any VC from this
input was granted. Once this information reaches the input, it is combined with the
decision of SA1 and prepares the winning input VC for sending a new flit to the
crossbar, as shown in Fig. 7.7 .
1 This can be performed in parallel to SA1 by checking if the input arbiters have at least one request.
 
Search WWH ::




Custom Search