4. Internal Switching Fabric > Arbitration for Egress Port
88
Tsi576 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
4.3
Arbitration for Egress Port
When multiple ingress ports need to send a packet to the same egress port at the same time, the egress
port must make an arbitration decision about which packet to accept.
An output arbiter exists for each egress port. The output arbiters work in conjunction with the input
arbiters to avoid head-of-line (HOL) blocking and maximize throughput. When the multicast engine is
used, the output arbiter allows system designers to control the maximum number of sequential
multicast or non-multicast (unicast) packets that are accepted for a given priority.
The egress port arbiter abides by the RapidIO buffer control rules. It allows the buffer controls to be
configured to improve throughput. Two arbitration schemes are employed to handle traffic from the
ingress and multicast ports, namely Strict Priority and Weighted Round Robin (see
). Only
HOL packets at the ingress queues or broadcast buffers are considered for arbitration.
Figure 17: Egress Arbitration: Weighted Round Robin and Strict Priority
4.3.1
Strict Priority Arbitration
The ISF always considers packet priority with a strict priority (SP) service algorithm. The output
arbiters ensure that all traffic with RapidIO priority
N
is sent before any traffic with RapidIO priority
N-1
.
The SP arbiter gives preference to the highest priority packets among the egress ports. As long as
priority 3 packets are being presented for arbitration by any port, those packets are accepted ahead of
any priority 2 packets. Similar behavior holds for priority 2 packets being chosen over priority 1; and
priority 1 over priority 0 packets.
Ti
p
Refer to the
RapidIO Interconnect Specification (Revision 1.3)
for more information on
packet arbitration.
weight
choose_UC/
WRR
port#0 packet
port#1 packet
BroadcastBuffer(MC)
Priority 0
Packets
SP
Arbitration Result
to egress buffer
weight
choose_UC/choose_MC
WRR
port#0 packet
port#1 packet
BroadcastBuffer(MC)
Priority 3
Packets
Pr
iority
3 (h
ighe
st) Pa
cke
t
Pr
ior
ity
0
(l
ow
es
t)
Pa
ck
et
Priority 2 (high) Packet
Priority 1 (low) Packet
choose_MC