
Applied Micro Circuits Corporation
6195 Lusk Blvd., San Diego, CA 92121 (619) 450-9333
15-17
BUS MASTERING WITH THE S5933 PCI MATCHMAKER
The sequence would repeat every 390 ns with a 33
MHz PCI bus clock. Four Dwords, or 16 bytes have
been transferred to main memory in during this time.
This would average out to about 40 MBytes/sec.
The major factor in the calculation is how long it
takes for the S5933 to regain control of the PCI bus
after the main memory controller disconnects after
the fourth data phase. This depends on the number
of PCI devices using the bus. Because the transfer
is to main memory, the S5933 must compete for bus
bandwidth with numerous other devices that are usu-
ally on the Primary PCI bus. A typical system may
have the host CPU, a VGA controller, an ethernet
interface, and a SCSI or IDE drive sharing the Pri-
mary PCI bus. If a rotational priority scheme were
implemented by the bus arbiter, it could be signifi-
cantly more than 4 PCI clocks before the S5933 re-
gains control of the bus.
4.4.2
S5933 Burst to Another S5933 PCI Card
Table 2 shows a situation where an add-on device
can write data to the S5933 FIFO at a rate of one
double-word (32-bits) every 60 ns. The target for the
DMA transfer is the pass-thru interface of another
S5933 device which can accept data at a rate of one
double-word every 30 ns. The S5933 pass-thru inter-
face does not disconnect from a burst write unless
the add-on has not read the pass-thru data register
within 16 PCI clocks for the first data phase or 8 PCI
clocks on successive data phases. In this situation,
the initiator S5933 deasserts request because it runs
out of data. The target S5933 never disconnects in
this situation.
The sequence shown assumes the following initial
conditions:
Master Write Address Register (MWAR) =
100000h
Master Write Transfer Count Register
(MWTC) is disabled
Bus mastering for the S5933 is already
enabled
The Add-on to PCI FIFO is full (8 dwords)
The PCI bus arbiter has just asserted GNT#
to the S5933
In this example, it is assumed that the AMWEN sig-
nal has been deasserted when the FIFO goes empty
at 480 ns. This allows the FIFO to refill before an-
other transfer is initiated. This is the most efficient
way to utilize the PCI bus. Sending a signal, long
burst is better than sending numerous short bursts
because less overall time is spent arbitrating for PCI
bus control.
The FIFO would be full again at 690 ns. If AMWEN is
reasserted when the FIFO is full, and a 4 clock la-
tency is assumed (as with the previous example),
the next address phase begins at 810 ns. The pro-
cess would repeat from there. This results in 15
dwords (60 bytes) being transferred every 810 ns.
The results in an average 74 MByte/sec. transfer
rate. Again, this is heavily dependent on PCI bus
utilization by other devices. Unless the two cards in
question share an isolated PCI bus on the secondary
side of a PCI to PCI bridge, bandwidth would likely
be less than this.
Time
PCI Bus Activity
Add-on Bus Activity
FIFO Status
REQ#
GNT#
30 ns
60 ns
90 ns
120 ns
150 ns
180 ns
210 ns
240 ns
270 ns
300 ns
330 ns
360 ns
390 ns
420 ns
450 ns
480 ns
510 ns
Address = 100000h
Data Transfer 1
Data Transter 2
Data Transfer 3
Data Transfer 4
Data Transfer 5
Data Transter 6
Data Transfer 7
Data Transfer 8
Data Transfer 9
Data Transter 10
Data Transfer 11
Data Transfer 12
Data Transfer 13
Data Transter 14
Data Transfer 15
Idle (or other Master)
Idle
Wait State
Write FIFO
Wait State
Write FIFO
Wait State
Write FIFO
Wait State
Write FIFO
Wait State
Write FIFO
Wait State
Write FIFO
Wait State
Write FIFO
Wait State
Write FIFO
8 dwords
7 dwords
6 dwords
5 dwords
4 dwords
3 dwords
2 dwords
1 dword
0 dwords
1 dword
0
1
0
1
Table 2. Sample S5933 Burst to Another S5933 Device