Level 1 Memory System
ARM DDI 0500D
Copyright © 2013-2014 ARM. All rights reserved.
6-14
ID021414
Non-Confidential
The following sections describe the encodings for the operations and the format for the data read
from the memory:
•
Data cache tag and data encoding
.
•
Instruction cache tag and data encoding
on page 6-15
.
•
TLB RAM accesses
on page 6-16
.
6.7.1
Data cache tag and data encoding
The Cortex-A53 processor data cache consists of a 4-way set-associative structure. The number
of sets in each way depends on the configured size of the cache. The encoding, set in Rd in the
appropriate
MCR
instruction, used to locate the required cache data entry for tag and data memory
is shown in
Table 6-6
. It is very similar for both the tag and data RAM access. Data RAM access
includes an additional field to locate the appropriate doubleword in the cache line. The set-index
range parameter (S) is determined by:
S = log
2
(Data cache size / 4).
Data cache reads return 64 bits of data in Data Register 0 and Data Register 1. The tag
information, MOESI coherency state, outer attributes, and valid, for the selected cache line is
returned using Data Register 0 and Data Register 1 using the format shown in
Table 6-7
. The
Cortex-A53 processor encodes the 4-bit MOESI coherency state across two fields of Data
Register 0 and Data Register 1.
Table 6-6 Data cache tag and data location encoding
Bit-field of Rd
Description
[31:30]
Cache way
[29:S+5]
Unused
[S+4:6]
Set index
[5:3]
Cache doubleword data offset, Data Register only
[2:0]
Unused, RAZ
Table 6-7 Data cache tag data format
Register
Bit-field
Description
Data Register 1
[31]
Parity bit if ECC is implemented, otherwise
RES
0.
Data Register 1
[30:29]
Partial MOESI State, from tag RAM. See
Table 6-8 on page 6-15
.
Data Register 1
[28]
Non-secure state (NS).
Data Register 1
[27:0]
Tag Address [39:12].
Data Register 0
[31]
Tag Address [11].
Data Register 0
[30:6]
Reserved,
RES
0.
Data Register 0
[5]
Parity bit if ECC is implemented, otherwise
RES
0.
Data Register 0
[4]
Dirty copy bit if ECC is implemented, otherwise
RES
0.