ARM R4F Computer Hardware User Manual


 
Level One Memory System
ARM DDI 0363E Copyright © 2009 ARM Limited. All rights reserved. 8-23
ID013010 Non-Confidential, Unrestricted Access
Errors on instruction cache read
All parity or ECC errors detected on instruction cache reads are correctable. If aborts are
enabled, a precise prefetch abort exception occurs. The instruction FAR gives the address that
caused the error to be detected. The instruction FSR indicates a parity error on a read. The
auxiliary FSR indicates that the error was in the cache and which cache Way the error was in.
Errors on data cache read
If parity or ECC aborts are enabled, or an uncorrectable ECC error is detected, a precise data
abort exception occurs. The data FAR gives the address that caused the error to be detected. The
data FSR indicates a precise read parity error. The auxiliary FSR indicates that the error was in
the cache and which cache Way the error was in.
Errors on data cache write
If parity or ECC aborts are enabled, or an uncorrectable ECC error is detected, an imprecise data
abort exception occurs. Because the abort is imprecise, the data FAR is Unpredictable. The data
FSR indicates an imprecise write parity error. The auxiliary FSR indicates that the error was in
the cache and which cache Way and Index the error was in.
In write-through cache regions the store that caused the error is written to external memory
using the L2 memory interface so data is not lost and the error is not fatal.
Errors on evictions
If the cache controller has determined a cache miss has occurred, it might have to do an eviction
before a linefill can take place. This can occur on reads, and on writes if write-allocation is
enabled for the region. Certain cache maintenance operations also generate evictions. If it is a
data-cache line which is dirty, an ECC error might be detected on the line being evicted:
if the error is correctable, it is corrected inline before the data is written to the external
memory using the L2 memory interface
if there is an uncorrectable error in the tag or dirty RAM, the write is not done and an
imprecise abort occurs
if there is an uncorrectable error in the data RAM, the AXI master port WSTRBM signal
is deasserted for the word(s) with an error, and an imprecise abort occurs.
An imprecise abort can also occur on a correctable error depending on the Auxiliary Control
Register bits [5:3], see Auxiliary Control Registers on page 4-38. Any detected error is signaled
with the appropriate event.
Note
When parity checking is enabled, force write-though is always enabled. Therefore the cache
lines can never be dirty, and so evictions are not required. Force write-through can also be
enabled with ECC checking.
Errors on cache maintenance operations
The following sections describe errors on cache maintenance operations:
Invalidate all instruction cache on page 8-24
Invalidate all data cache on page 8-24
Invalidate instruction cache by address on page 8-24
Invalidate data cache by address on page 8-24