
2-8
Functional Description
2.1.2.13 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 master intends to
write all bytes within the addressed cache line in a single PCI transaction
unless interrupted by the target. This command requires implementation
of the PCI
Cache Line Size
register at address 0x0C in PCI configuration
space. The SYM53C895A enables Memory Write and Invalidate cycles
when bit 0 (WRIE) in the
Chip Test Three (CTEST3)
register and bit 4
(WIE) in the PCI
Command
register are set. When the following
conditions are met, Memory Write and Invalidate commands are issued:
1.
The CLSE bit (Cache Line Size Enable, bit 7,
DMA Control (DCNTL)
register), WRIE bit (Write and Invalidate Enable, bit 0,
Chip Test
Three (CTEST3)
register), and PCI configuration
Command
register,
bit 4 are set.
2.
The
Cache Line Size
register contains a legal burst size value in
Dwords (2, 4, 8, 16, 32, 64, or 128) and that value is less than or
equal to the
DMA Mode (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 SYM53C895A issues a Memory
Write and Invalidate command instead of a Memory Write command
during all PCI write cycles.
Multiple Cache Line Transfers –
The Memory Write and Invalidate
command can write multiple cache lines of data in a single bus
ownership. 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 specified in
Revision 2.2 of the PCI specification. 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
DMA Mode
(DMODE)
burst size bits, and
Chip Test Five (CTEST5),
bit 2. If multiple
cache line size transfers are not desired, set the
DMA Mode (DMODE)
burst size to exactly the cache line size and the chip only issues single
cache line transfers.