PCI Bus Host Bridge
Élan™SC520 Microcontroller User’s Manual
9-21
■
For memory-read and memory-read-line commands, the PCI host bridge prefetches
data up to the next cache line (a cache line is four doublewords).
■
Memory-read-multiple commands fill the target FIFO (64 doublewords).
Once the PCI host bridge has been granted access to the CPU bus, it will hold the bus until
it has prefetched up to the next cache-line boundary for memory-read and memory-read-
line commands, and 64 doublewords for memory-read-multiple commands. The PCI host
bridge may insert wait states before asserting TRDY for the first data phase. The PCI host
bridge can then burst one cache line with zero wait states. After each cache line, the PCI
host bridge can insert wait states by deasserting TRDY if the target read FIFO becomes
empty.
Note that, if the target read FIFO becomes empty after a cache-line boundary for memory-
read and memory-read-line commands or after 64 doublewords for a memory-read-multiple
command, the PCI host bridge issues a disconnect to end the transaction.
9.5.4.7
Burst Ordering
To provide optimal CPU performance during SDRAM accesses, the ÉlanSC520
microcontroller’s SDRAM controller is designed to support Am5
x
86 CPU cache-line burst
ordering, but the PCI bus specifies linear burst ordering. Therefore, all PCI host bridge
accesses to SDRAM are cache-line-aligned (start on a four-doubleword boundary). If the
external PCI bus master read cycle was not cache-line-aligned, the PCI host bridge starts
requesting the SDRAM read from the address that the master issued and generates single-
phase data cycles until it becomes cache-line-aligned.
For example, if the external PCI bus master started a write with address 10008h and wrote
ten doublewords, the PCI host bridge would generate single, non-burst write cycles to
address 10008h and 1000Ch. After these two write cycles, the transaction would be cache-
line-aligned, so the PCI host bridge would complete the transaction with burst cycles.
9.5.4.8
Maintaining Data Coherency
All external PCI bus master accesses to SDRAM are snooped by the Am5
x
86 CPU’s cache,
which writes back and invalidates a cache line as appropriate. If the CPU detects a hit to
a modified line in its cache, the arbitration unit forces the PCI host bridge to relinquish the
Am5
x
86 CPU bus to allow the cache line to be written back to SDRAM. If the cache is
configured in write-through cache mode, the line is simply invalidated and the PCI host
bridge is not forced off the bus for a write-back cycle.
In many systems that employ posting buffers, a potential data coherency problem exists
because of the delay between an external master write transaction and when SDRAM is
actually updated due to the write posting FIFO. The PCI bus complicates this potential
problem when PCI-to-PCI bridges are implemented in the system.
In ÉlanSC520 microcontroller, for example, if an external master writes a block of data into
SDRAM and then generates an interrupt request to the Am5
x
86 CPU to process the data,
it is important to prevent the Am5
x
86 CPU from attempting to read SDRAM before the
posted data has actually been written to SDRAM by the PCI host bridge’s posting-write
FIFO. The PCI bus specification recommends that the CPU perform a read to the
interrupting PCI bus device, to force all system posted write buffers to flush (including PCI
bus bridges).
If the PCI host bridge target read FIFOs contain data from a previous memory-read
command that was obtained as part of a delayed transaction while a write to the same
memory address region occurs, the read FIFOs can optionally be purged to maintain
coherency by setting the T_PURGE_RD_ENB bit in the Host Bridge Control (HBCTL)
Содержание Elan SC520
Страница 1: ...lan SC520 Microcontroller User s Manual Order 22004A...
Страница 4: ...iv lan SC520 Microcontroller User s Manual...
Страница 28: ...Introduction xxviii lan SC520 Microcontroller User s Manual...
Страница 42: ...Architectural Overview 1 14 lan SC520 Microcontroller User s Manual...
Страница 78: ...System Initialization 3 22 lan SC520 Microcontroller User s Manual...
Страница 108: ...Clock Generation and Control 5 10 lan SC520 Microcontroller User s Manual...
Страница 118: ...Reset Generation 6 10 lan SC520 Microcontroller User s Manual...
Страница 148: ...System Arbitration 8 24 lan SC520 Microcontroller User s Manual...
Страница 214: ...SDRAM Controller 10 36 lan SC520 Microcontroller User s Manual...
Страница 230: ...Write Buffer and Read Buffer 11 16 lan SC520 Microcontroller User s Manual...
Страница 288: ...GP Bus DMA Controller 14 22 lan SC520 Microcontroller User s Manual...
Страница 316: ...Programmable Interval Timer 16 8 lan SC520 Microcontroller User s Manual...
Страница 328: ...Software Timer 18 4 lan SC520 Microcontroller User s Manual...
Страница 346: ...Real Time Clock 20 12 lan SC520 Microcontroller User s Manual...
Страница 360: ...UART Serial Ports 21 14 lan SC520 Microcontroller User s Manual...
Страница 414: ...AMDebug Technology 26 8 lan SC520 Microcontroller User s Manual...