
PM73487 QRT
PMC-Sierra, Inc.
PMC-980618
Issue 3
622 Mbps ATMTraffic Management Device
Released
Datasheet
37
The VO for which a cell is to be sent is determined first by doing a bit-wise AND of two vectors:
one vector indicates the presence of a cell for a VO, and the other vector indicates the willingness
of a VO to accept a cell. Of the matching VOs, the lowest numbered VO of high priority is
selected if possible; otherwise, the lowest numbered VO is selected.
Once the VO is known, the controller has a scheduler that selects a cell to be transmitted to the
UTOPIA interface. The scheduler operates as follows: The SCs are arranged in a tabular fashion
as seen in
Figure 42 on page 38
. An SC is designated for either unicast or multicast traffic. Addi-
tionally, an SC is designated as either strict priority SC1, strict priority SC2, or GP. Associated
with each SC is a weight of either 1, 4, 16, or 64. This information is used by the controller to
decide which SC to service. Following this decision, the selected SC’s cells are serviced in a
FIFO manner.
The general algorithm for deciding which SC to service is similar to that used by the receive
queue controller, and is as follows:
1.
Strict priority SC1 has primary service priority. If there is an SC1 service class with a cell, it will be
selected. The SC1 service classes are serviced in a weighted round-robin manner, alternating between
unicast and multicast classes (Q
0
, Q
8
, Q
0
, ...). The SC1 round-robin pointer will remain pointed at an SC
for up to
w
cell selections, where
w
is the SC’s weight. If no cells are available in an SC, the round-robin
pointer is advanced. Thus, the most time-critical VCs should be placed in an SC1 service class.
2.
Strict priority SC2 has secondary service priority. It is treated in the same fashion as SC1, except it has
its own independent round-robin pointer, and alternates: Q
1
, Q
9
, Q
1
, ....
3.
If no cell exists in the strict priority classes, then the controller accesses the timeslot-based priority table
in a round-robin manner. Each entry of this table contains a GP SC number. If the SC pointed to by the
active entry has cells, that SC is selected. The active entry is incremented to the next timeslot each time
the timeslot table is accessed. The table has 127 entries and wraps around. This servicing mechanism
provides the MCR guarantee on a per-SC basis. The number of times an SC is placed in the timeslot
table can be used to determine its MCR.
4.
If no cell exists in the strict priority classes, and no cell exists in the SC pointed to by the active entry of
the timeslot-based priority table, then the GP SCs are serviced in a weighted round-robin manner simi-