CPU Interface Functional Overview
Cache Coherency
Copyright © 2002 Marvell
CONFIDENTIAL
Doc. No. MV-S300165-00, Rev. A
May 21, 2002, Preliminary
Document Classification: Proprietary Information
Page 19
Figure 3: PCI Reads from Cache Coherent Regions
The GT-64260A supports up to four SDRAM address windows in which IDMA cache coherency is maintained. The
address windows do not correlate to specific chip selects and may cross CS boundaries.
The GT-64260A also supports eight configurational address ranges (four for each PCI interface) that help maintain
PCI cache coherency.
Four pairs of base/top registers define the IDMA address regions.
Each channel has a programmable bit per source, destination, and next descriptor pointer to enable/disable
snoops in its Control (High) register’s
SrcSnoopEn
,
DestSnoopEn
and
NextSnoopEn
bits. If these bits (or each
one of these bits) are set, each IDMA engine transaction address is compared against the four cache coherency
regions. If an address hits one of these regions, the DRAM access results in a snoop action, based on cache pol-
icy (WB/WT) as defined by the snoop regions registers Additionally, the CPU Master Control register’s
CleanBlock
and
FlushBlock
bits [13:12] at offset: 0x160 must be set to the appropriate value depending on
the CPU type.
Table 3:
IDMA Address Base/Top Registers
Register
Offset
Snoop Base Address 0
0x380
Snoop Top Address 0
0x388
Snoop Base Address 1
0x390
Snoop Top Address 1
0x398
Snoop Base Address 2
0x3A0
Snoop Top Address 2
0x3A8
Snoop Base Address 3
0x3B0
Snoop Top Address 3
0x3B8
GT-64260A
SDRAM
CPU
Snoop
Queue
PCI bus
1. The PCI device initailizes
a read transaction to cache
coherent memory.
Transaction enters to the
snoop queue.
2. The GT-64260A 60x master
snoops the transaction on the
CPU bus to see if the cache
block is valid in the cache.
3. If there is a hit, the CPU
writes the cache block to
SDRAM (cache block
flush). Or, the snoop is
resolved without a CPU
write.
4. The PCI
receives the
updated data
from SDRAM.