2.3.16. Register 15, Cache Debug Index Register

Additional instructions and operations are required to support debug operations within the cache. Table 2.29 shows the instructions for the additional operations.

Table 2.29. Additional operations 

Function

Data

Instruction

Write CP15 Cache Debug Index Register

Index and segment

MCR p15, 3, Rd, c15, c0, 0

Read CP15 Cache Debug Index Register

Index and segment

MRC p15, 3, Rd, c15, c0, 0

Instruction TAG write

Data

MCR p15, 3, Rd, c15, c1, 0

Instruction TAG read

Data

MRC p15, 3, Rd, c15, c1, 0

Data TAG write

Data

MCR p15, 3, Rd, c15, c2, 0

Data TAG read

Data

MRC p15, 3, Rd, c15, c2, 0

Instruction cache write

Data

MCR p15, 3, Rd, c15, c3, 0

Instruction cache read

Data

MRC p15, 3, Rd, c15, c3, 0

Data cache write

Data

MCR p15, 3, Rd, c15, c4, 0

Data cache read

Data

MRC p15, 3, Rd, c15, c4, 0

With the Cache Debug Index Register, you can access any location within the instruction or data cache. You must program this register before using any of the TAG or cache read/write operations. The Cache Debug Index Register provides an index into the cache memories.

Figure 2.5 shows the format of the index and segment data.

Figure 2.5. Register 15, Index and segment format

The number of bits used in the index field varies depending on the implemented cache size. Table 2.20 shows how the index address field size changes for the cache sizes supported by the ARM946E-S processor.

Note

For TAG operations, the word address field in the Cache Debug Register is ignored.

Figure 2.6 shows the data format for the TAG read/write operations.

Figure 2.6. Data format TAG read/write operations

The number of bits used in the index and TAG address fields vary depending on the implemented cache size. Table 2.30 shows how the index and TAG address field sizes change for the cache sizes supported by the ARM946E-S processor.

Table 2.30. Index fields for supported cache sizes 

Cache size

TAG

Index

4KB

[31:10]

[9:5]

8KB

[31:11]

[10:5]

16KB

[31:12]

[11:5]

32KB

[31:13]

[12:5]

64KB

[31:14]

[13:5]

128KB

[31:15]

[14:5]

256KB

[31:16]

[15:5]

512KB

[31:17]

[16:5]

1MB

[31:18]

[17:5]

Copyright © 2001-2003, 2007 ARM Limited. All rights reserved.ARM DDI 0201D
Non-Confidential