Hardware Reference
In-Depth Information
This chapter begins with a short revision of the operation and structure of
single-cycle VC-based routers that form the basis on top of which all pipelined
implementations will be developed.
9.1
Review of Single-Cycle VC-Based Router Organization
A VC-based router consists of parallel input VC buffers that hold the arriving flits
and using a multi-step procedure that includes routing computation (RC) and output
virtual-channel allocation (VA) for the head flits of the incoming packets as well as
switch allocation (SA) and traversal (ST) for all the flits, succeeds in transferring
in a time-multiplexed manner input VC flows to output VCs. The organization of
a single-cycle VC-based router is shown in Fig. 9.1 . A close inspection of Fig. 9.1 ,
reveals that the router's organization evolves in two parallel and converging paths.
The control path that includes the RC and the VA, SA allocation steps needed per
packet and per flit, and the data path that consists of the input multiplexers that select
one VC per input and the crossbar (a set of parallel output multiplexers) that connect
the inputs of the router to its output ports.
Each output port of the router is equipped with a simple pipeline register that is
not flow-controlled. Flow control spans from input VC buffers to output VC buffers
that are placed at the input of the next router, using credit-based flow control. To
support this operation, separate credit counters for each output VC are placed at
each output of the router including also the outVCAvailable flags that declare if an
output VC is allocated by an input VC or not. The outVCAvailable flags and the
SU
VA
SA
SA req
RC
VA req
outVCAvailable
"0...00"
θ
ready VC
1
θ
1
candidateOutVC
en
outPort[i]
outVC[i]
RC
deMUX
en
CC
dst
credit
update
head
outVCLock[i]
SU
replace VC id field
read
valid
data
ST
Input VC #i
from other VCs
of the same input
from other inputs
Output # j
Fig. 9.1 The organization of a single-cycle VC-based router. All tasks of the router are computed
in one cycle, while in the next cycle, the flits that allocated all the needed resources are transferred
to the link, heading to the next router
 
Search WWH ::




Custom Search