![](http://datasheet.mmic.net.cn/390000/SYM53C1010-33_datasheet_16836324/SYM53C1010-33_40.png)
2-12
Functional Description
Not only must the above four conditions be met in order for the cache
logic to control the type of PCI cache command that is issued, proper
alignment is also necessary during write operations. If these conditions
are not met for any given PCI Master transaction, a Memory Read or
Memory Write is issued and no cache write alignment is done.
2.1.4.2 Issuing Cache Commands
In order to issue each type of PCI cache command, the corresponding
enable bit(s) must be set.
To issue Memory Read Line commands, the Enable Read Line
(ERL) bit in the
DMA Mode (DMODE)
register must be set.
To issue Memory Read Multiples, the Enable Read Multiple (ERMP)
bit in the
DMA Mode (DMODE)
register must be set.
To issue Memory Write and Invalidates, both the Write and Invalidate
Enable (WRIE) bit in the
Chip Test Three (CTEST3)
register and the
Write and Invalidate Enable (WIE) bit in the PCI configuration
Command
register must be set.
If the corresponding cache command is not enabled, the cache logic falls
back to the next command enabled. For example, if the Memory Read
Multiple command is not enabled and the Memory Read Line command
is, Memory Read Line command is issued in place of Memory Read
Multiple command. If no cache commands are enabled, cache write
alignment still occurs but no cache commands are issued; only Memory
Reads and Memory Writes are issued.
2.1.4.3 Memory Read Caching
The type of Memory Read command issued depends on the starting
location of the transfer and the number of bytes to be transferred. During
reads, no cache alignment is done, as it is neither required nor optional
according to PCI 2.2 specification. Reads are a programmed burst length
in size, as set in the
DMA Mode (DMODE)
and
Chip Test Five (CTEST5)
registers. In the case of a transfer that is smaller than the burst length,
all bytes for that transfer are read in one PCI burst transaction. If the
transfer crosses a Dword boundary (A[1:0] = 0b00) a Memory Read Line
command is issued. If the transfer crosses a cache boundary, as
specified by the cache line size programmed into the PCI configuration
register, a Memory Read Multiple command is issued. If a transfer does