3 write buffer and fill buffer overview, 2 data cache and mini-data cache operation, 1 operation when caching is enabled – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 99: 2 operation when data caching is disabled, Write buffer and fill buffer overview, Data cache and mini-data cache operation 3.6.2.1, Operation when caching is enabled, Operation when data caching is disabled

Advertising
background image

Hardware Reference Manual

99

Intel

®

IXP2800 Network Processor

Intel XScale

®

Core

3.6.1.3

Write Buffer and Fill Buffer Overview

The Intel XScale

®

core employs an eight entry write buffer, each entry containing 16 bytes. Stores

to external memory are first placed in the write buffer and subsequently taken out when the bus is

available. The write buffer supports the coalescing of multiple store requests to external memory.
An incoming store may coalesce with any of the eight entries.

The fill buffer holds the external memory request information for a data cache or mini-data cache

fill or non-cacheable read request. Up to four 32-byte read request operations can be outstanding in

the fill buffer before the Intel XScale

®

core needs to stall.

The fill buffer has been augmented with a four-entry pend buffer that captures data memory
requests to outstanding fill operations. Each entry in the pend buffer contains enough data storage

to hold one 32-bit word, specifically for store operations. Cacheable load or store operations that

hit an entry in the fill buffer get placed in the pend buffer and are completed when the associated
fill completes. Any entry in the pend buffer can be pended against any of the entries in the fill

buffer; multiple entries in the pend buffer can be pended against a single entry in the fill buffer.

Pended operations complete in program order.

3.6.2

Data Cache and Mini-Data Cache Operation

The following discussions refer to the data cache and mini-data cache as one cache (data/mini-

data) since their behavior is the same when accessed.

3.6.2.1

Operation when Caching is Enabled

When the data/mini-data cache is enabled for an access, the data/mini-data cache compares the

address of the request against the addresses of data that it is currently holding. If the line containing
the address of the request is resident in the cache, the access “hits’ the cache. For a load operation

the cache returns the requested data to the destination register and for a store operation the data is

stored into the cache. The data associated with the store may also be written to external memory if
write-through caching is specified for that area of memory. If the cache does not contain the

requested data, the access ‘misses’ the cache, and the sequence of events that follows depends on

the configuration of the cache, the configuration of the MMU and the page attributes.

3.6.2.2

Operation when Data Caching is Disabled

The data/mini-data cache is still accessed even though it is disabled. If a load hits the cache it will
return the requested data to the destination register. If a store hits the cache, the data is written into

the cache. Any access that misses the cache will not allocate a line in the cache when it’s disabled,

even if the MMU is enabled and the memory region’s cacheability attribute is set.

Advertising