ARM R4F Computer Hardware User Manual


 
Level One Memory System
ARM DDI 0363E Copyright © 2009 ARM Limited. All rights reserved. 8-36
ID013010 Non-Confidential, Unrestricted Access
8.8 Error detection events
The processor generates a number of events related to the internal error detection and correction
schemes in the TCMs and caches. For more information, see Table 6-1 on page 6-2. This section
describes:
TCM error events
Instruction-cache error events
Data-cache error events
Events and the CFLR.
8.8.1 TCM error events
TCM parity and ECC error events are only signaled for TCM reads, although this includes the
read-modify-write sequence performed for some stores. Most errors detected by the internal
parity or ECC logic are signaled twice:
once on a TCM-centric event
once on a processor-centric event.
The TCM-centric events consist of two events per TCM port, one for fatal, that is, 2-bit ECC or
parity errors and one for correctable, that is, 1-bit ECC errors. These events are generated three
clock cycles after the data read cycle. Consequently, these events are sometimes signaled on
speculative TCM reads, such as instructions which are prefetched but never executed because
of a branch earlier in the instruction sequence.
Note
When an external error is signaled on a TCM access, the TCM-centric events are still generated
as appropriate, based on the data returned, as if no external error had been signaled.
The processor-centric TCM events are only signaled for errors in data that would have otherwise
been used by the processor. Errors on speculative reads never generate these errors. They consist
of fatal and correctable events for:
the prefetch unit, to signal errors on instruction fetches
the load/store unit, to signal errors on data accesses
the AXI slave interface, to signal errors on DMA accesses.
8.8.2 Instruction-cache error events
All parity and ECC errors are correctable in the i-cache. Therefore there are only two events, to
indicate when an error is detected in a read from the tag RAM, or from the data RAM. These
events are only signaled for non-speculative instruction fetches and certain cache maintenance
operations. See Cache error detection and correction on page 8-20.
8.8.3 Data-cache error events
The d-cache can generate fatal and correctable errors, and therefore has four events, one for each
type of error in the data RAM and in the tag or dirty RAMs. These events are only signaled for
non-speculative data accesses, cache line evictions, and certain cache maintenance operations.
See Cache error detection and correction on page 8-20.
8.8.4 Events and the CFLR
The Correctable Fault Location Register (CFLR) records the location of the last correctable
error detected on a non-speculative access. See Correctable Fault Location Register on
page 4-70 for more information. Every correctable error that is recorded in the CFLR also