Hardware Reference
In-Depth Information
Fig. 8.5 The masking of the
invalid grants of a speculative
SA using ( a ) either the grants
produced by the
non-speculative SA or ( b )
using the requests of the
non-speculative SA that
masks pessimistically a
speculative grant even if the
request that caused the
masking was not granted
after all
a
non-speculative
non-speculative
grants
SA
rows
NxN
NxN
non-speculative
requests
columns
speculative
requests
speculative
grants
SA
NxN
NxN
speculative
b
non-speculative
non-speculative
grants
SA
NxN
rows
columns
speculative
grants
SA
NxN
speculative
a valid assignment remains idle. The four possible scenarios have been discussed
at the beginning of this section. A non-speculative grant always means that the
corresponding flit of the packet (the flit can be of any kind) has already allocated
an output VC and can leave the input VC buffer and move to the selected output in
this cycle. On the contrary, a speculative grant from the SA is not a guarantee for
success. The corresponding head flit that generated the speculative request should
match to an output VC in the same cycle. If not, the speculative grant is lost and
the head flit should retry in the next cycle. If the VA match is successful, the head
flit allocates at once two resources, e.g., an output VC and a time slot for an output
port, and leaves the input VC buffer. In the case that a head flit receives a grant
only from the VA and not the speculative SA, it stores the matched output VC and
in the next cycle it participates in the non-speculative SA. This last option actually
differentiates speculative switch allocation from combined allocation.
 
Search WWH ::




Custom Search