Cache Protection
ARM DDI 0500D
Copyright © 2013-2014 ARM. All rights reserved.
8-3
ID021414
Non-Confidential
Note
If a correctable ECC error occurs after the first data cache access of a load instruction that takes
multiple cycles to complete, for example
LDM
, and one of the following conditions has taken
place:
•
A hardware breakpoint, watchpoint or vector catch has been set since the first execution
that is triggered on re-execution.
•
The page tables have been modified since the first execution, resulting in an instruction
or data abort trap being taken on re-execution.
The register file is updated with data that was successfully read, before the correctable ECC
error occurred.
L1 D-cache
dirty
Parity,
SEDSEC
CPU_CACHE_PROTECTION
1 bit
Line cleaned and invalidated from L1, with
single bit errors corrected as part of the
eviction. Only the dirty bit is protected. The
other bits are performance hints, therefore do
not cause a functional failure if they are
incorrect.
SCU L1
duplicate tag
ECC,
SECDED
CPU_CACHE_PROTECTION
33 bits
Tag rewritten with correct value, access retried.
If the error is uncorrectable then the tag is
invalidated.
L2 tag
ECC,
SECDED
SCU_CACHE_PROTECTION
33 bits
Tag rewritten with correct value, access retried.
If the error is uncorrectable then the tag is
invalidated.
L2 victim
None
-
-
The victim RAM is used only as a performance
hint. It does not result in a functional failure if
the contents are incorrect.
L2 data
ECC,
SECDED
SCU_CACHE_PROTECTION
64 bits
Data is corrected inline, access might stall for
an additional cycle or two while the correction
takes place. After correction, the line might be
evicted from the processor.
Branch
predictor
None
-
-
The branch predictor RAMs are used only as a
performance hint. They do not result in a
functional failure if the contents are incorrect.
Table 8-1 Cache protection behavior (continued)
RAM
Protection
type
Configuration option
Protection
granule
Correction behavior