![](http://datasheet.mmic.net.cn/390000/SYM53C876_datasheet_16836340/SYM53C876_40.png)
2-6
SYM53C876/876E Data Manual
Functional Description
PCI Functional Description
If cache mode is disabled, Read Line commands
are issued on every read data transfer, except op
code fetches, as in previous SYM53C8XX chips.
If cache mode is enabled, a Read Line command
is issued on all read cycles, except op code
fetches, when the following conditions are met:
1. The CLSE (Cache Line Size Enable,
DCNTL, bit 7) and ERL (Enable Read Line,
DMODE, bit 3) bits are set.
2. The Cache Line Size register for each
function must contain a legal burst size value
(2, 4, 8, 16, 32, 64, or 128) and that value is
less than or equal to the DMODE burst size.
3. The number of bytes to be transferred at the
time a cache boundary is reached is equal to
or greater than the DMODE burst size.
4. The chip is aligned to a cache line boundary.
When these conditions are met, the chip issues a
Read Line command instead of a Memory Read
during all PCI read cycles. Otherwise, it issues a
normal Memory Read command.
Read Multiple with Read Line Enabled
When both the Read Multiple and Read Line
modes are enabled, the Read Line command is
not issued if the above conditions are met.
Instead, a Read Multiple command is issued, even
though the conditions for Read Line are met.
If the Read Multiple mode is enabled and the
Read Line mode is disabled, Read Multiple com-
mands are issued if the Read Multiple conditions
are met.
Memory Write and Invalidate Command
The Memory Write and Invalidate command is
identical to the Memory Write command, except
that it additionally guarantees a minimum transfer
of one complete cache line; that is to say, the mas-
ter intends to write all bytes within the addressed
cache line in a single PCI transaction unless inter-
rupted by the target. This command requires
implementation of the PCI Cache Line Size regis-
ter at address 0Ch in the PCI Configuration
Space. The SYM53C876 enables Memory Write
and Invalidate cycles when bit 0 in the CTEST3
register (WRIE) and bit 4 in the PCI Command
register (WIE) are set. When the following condi-
tions are met, Memory Write and Invalidate com-
mands are issued:
1. The CLSE bit (Cache Line Size Enable,
DCNTL, bit 7), WRIE bit (Write and Invalid
Enable, CTEST3, bit 0), and PCI
configuration Command register, bit 4 are set.
2. The Cache Line Size register for each
function contains a legal burst size value (2, 4,
8, 16, 32, 64, or 128) and that value is less
than or equal to the DMODE burst size.
3. The chip has enough bytes in the DMA FIFO
to complete at least one full cache line burst.
4. The chip is aligned to a cache line boundary.
When these conditions are met, the SYM53C876
issues a Write and Invalidate command instead of
a Memory Write command during all PCI write
cycles.
Multiple Cache Line Transfers
The Write and Invalidate command can write
multiple cache lines of data in a single bus owner-
ship. The chip issues a burst transfer as soon as it
reaches a cache line boundary. The size of the
transfer is not automatically the cache line size,
but rather a multiple of the cache line size as
allowed for in Revision 2.1 of the PCI specifica-
tion. The logic selects the largest multiple of the
cache line size based on the amount of data to
transfer, with the maximum allowable burst size
determined from the DMODE burst size bits, and
CTEST5, bit 2. If multiple cache line size trans-
fers are not desired, set the DMODE burst size to
exactly the cache line size, and the chip only issues
single cache line transfers.
After each data transfer, the chip re-evaluates the
burst size based on the amount of remaining data
to transfer and again selects the highest possible
multiple of the cache line size, no larger than the
DMODE burst size. The most likely scenario of
this scheme is that the chip selects the DMODE