Hardware Reference
In-Depth Information
output VC to try to win in SA and in parallel to receive an output VC. Depending on
the implementation, receiving an output VC in parallel to SA, can be done in several
ways.
In the rest paragraphs, we will analyze in detail all the possible alternatives of
implementing VA and SA, with the goal to minimize the delay of the allocation
process by letting the intermediate steps to execute in parallel when possible.
The material of this chapter should be considered as an enhancement of the
basic allocation strategies presented in Chap. 7 that lead to high-speed router
implementations.
8.1
Virtual Networks: Reducing the Complexity
of VC Allocation
The baseline organization of a VC allocator requires a V W 1 arbiter per input
VC for implementing VA1, followed by a N V W 1 arbiter per output VC
for implementing VA2 and also some non trivial signal gathering, masking and
distribution logic. The complexity of the VC allocator can be reduced significantly
if the “freedom” enjoyed by each input VC is reduced. VCs can be used for the
definition of virtual networks (VNs). Packets that belong to a VN complete their
whole trip in the network it the same VN and jumping from a VN to another VN
is either prohibited or done with very restrictive rules that are used to guarantee
deadlock freedom (Azimi et al. 2009 ).
When a set VCs, say k, belong to a specific VN, the requests for VC allocation
are restricted to the VCs of the same VN. In this case, VC allocation is split into
parallel and smaller VC allocators where each one is serving NV=k input VCs. As
showninFig. 8.1 , each input VC sends the requests and receives grants from the
smaller VC allocator (with NV=k inputs and NV=k outputs) that corresponds to
thesameVN.
In the minimum case that each VC is always a VN, the design of the VC allocator
is further simplified since VA1 is completely removed. If an input VC does not want
or is not allowed to change the VC that it belongs to, then VA1 is not needed, since
requests for
different VNs
Fig. 8.1 The separation of
the VCs of the network to
VNs and restricting a packet
from changing VN simplifies
alotthedesignoftheVC
allocator that now involves
multiple parallel VC
allocators that each one
serves only the VCs of a
specific VN
VA
Input VCs
NV/k:NV/k
VA
VN#k-1
NV/k:NV/k
VA
VN#1
total k
smaller VAs
NV/k:NV/k
VN#0
Search WWH ::




Custom Search