
Applied Micro Circuits Corporation
6195 Lusk Blvd., San Diego, CA 92121 (619) 450-9333
15-15
BUS MASTERING WITH THE S5933 PCI MATCHMAKER
on the function of the target (main memory, VGA
controller, network interface, etc.).
4.3
PCI Configuration Registers
A PCI device with bus mastering capabilities may
implement up to three additional configuration regis-
ters. These registers indicate the requirements of a
particular PCI device. These are read during system
initialization and may be used to define a bus master
priority scheme. The S5933 implements all of these
registers. They can be boot loaded from an external,
non-volatile memory device at reset.
4.3.1
Latency Timer Register
If a bus master is capable of PCI bursts of more than
two data phases, this register is required. The La-
tency Timer Register defines the number of PCI
clocks that the S5933 is guaranteed control of the
bus. The Latency Timer Register is shown in Figure 1.
The value programmed in this register is decremented
once every 8 PCI clocks after the S5933 asserts
FRAME#.
The default value for this register is 00h, indicating
that the S5933 has no minimum transfer length re-
quirement. The system can overwrite the Latency
Timer Register with any value. This prevents an indi-
vidual PCI master from controlling the bus for an
extremely long period.
If no other PCI master has requested the bus, the
Latency Timer value does not matter (even if it has
expired). The S5933 transfers data until the transac-
tion is complete. If another bus master requests the
bus and receives GNT# while the S5933 is transfer-
ring data, three situations can occur:
1) If the Latency Timer has not expired, and the
S5933 completes its transaction before it
expires, the transaction completes normally.
2) If the Latency Timer has not expired, the
S5933 transfers data until the latency timer
expires where it completes the current data
phase, terminates the transaction and gives
up control of the bus
3) If the Latency Timer has already expired, the
S5933 completes the current data phase,
terminates the transaction, and gives up
control of the bus.
4.3.2
Minimum Grant Register
This register defines how long of a burst period the
device typically requires (in units of 250 ns). This
read-only register is for information only. It may be
used by the system, in conjunction with the Maxi-
mum Latency register, to define a PCI bus arbitration
scheme (if the bus arbiter is programmable).
A value of zero (default for the S5933) indicates
there is no strict requirement for burst length. The
Minimum Grant Register is shown in Figure 2.
Figure 1. Latency Timer Register Definition
Figure 2. Minimum Grant Register Definition
76543210
XXXXX
0
Bit
Value
Latency Timer Value (Read/Write)
76543210
XXXXXXXX
Bit
Value
Value x 250 ns (Read Only)
00 = No Requirement