09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.2 Cache organization<br />

7.2.1 Cache control operations<br />

7.2.2 Cache miss handling<br />

7.2.3 Cache disabled behavior<br />

7.2.4 Unexpected hit behavior<br />

7.2.5 Cache parity error detection<br />

Level 1 Memory System<br />

Each cache is 4-way set associative of configurable size. They are physically tagged, and<br />

virtually indexed for instruction and physically indexed for data. The cache sizes are<br />

configurable with sizes of 16KB or 32KB. Both the instruction cache and the data cache are<br />

capable of providing two words per cycle for all requesting sources. Data cache can provide four<br />

words per cycle for NEON or VFP memory accesses.<br />

The system control coprocessor, CP15, handles the control of the L1 memory system and the<br />

associated functionality, together with other system wide control attributes. See Chapter 3<br />

System Control Coprocessor for more information on CP15 registers.<br />

The cache control operations that are supported by the processor are described in Chapter 3<br />

System Control Coprocessor.<br />

A cache miss results when a read access is not present in the cache. The caches perform critical<br />

word-first cache refilling.<br />

If you disable the cache then the cache is not accessed for reads or writes. This ensures that you<br />

can achieve maximum power savings. It is therefore important that before you disable the cache,<br />

all of the entries are cleaned to ensure that the external memory has been updated. In addition,<br />

if the cache is enabled with valid entries in it then it is possible that the entries in the cache<br />

contain old data. Therefore the cache must be completely cleaned and invalidated before being<br />

disabled. Unlike normal reads and writes to the cache, cache maintenance operations are<br />

performed even if the cache is disabled.<br />

An unexpected hit is where the cache reports a hit on a memory location that is marked as<br />

noncacheable or shared. The unexpected hit is ignored.<br />

For writes, an unexpected cache hit does not result in the cache being updated.<br />

The purpose of cache parity error detection is to increase the tolerance to memory faults.<br />

Instruction cache data RAM parity error detection<br />

The instruction cache RAM is written on cache linefills. Parity error detection is done on a<br />

fetch-wide basis, that is, a parity error on any byte in a 64-bit fetch region causes a parity error<br />

on the first instruction within that fetch. The detection of a parity error instruction cache RAM<br />

causes the processor to return a Prefetch Abort.<br />

When the processor executes the instruction:<br />

• the address of the fetch containing the parity error is stored in the Instruction Fault<br />

Address Register<br />

• the Instruction Fault Status Register is set to indicate the presence of a parity error.<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 7-3<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!