You copied the Doc URL to your clipboard.

Performance Monitors Common Event Identification Register 0

The PMCEID0 characteristics are:

Purpose

Defines which common architectural and common microarchitectural feature events are implemented.

Usage constraints

This register is accessible as follows:

EL0

(NS)

EL0

(S)

EL1

(NS)

EL1

(S)

EL2

EL3

(SCR.NS = 1)

EL3

(SCR.NS = 0)

Config Config RO RO RO RO RO

This register is accessible at EL0 when PMUSERENR_EL0.EN is set to 1.

Configurations

The PMCEID0 is architecturally mapped to:

There is one copy of this register that is used in both Secure and Non-secure states.

Attributes

PMCEID0 is a 32-bit register.

Figure 12.6 shows the PMCEID0 bit assignments.

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Table 12.11 shows the PMCEID0 bit assignments with event implemented or not implemented when the associated bit is set to 1 or 0. See the ARM® Architecture Reference Manual ARMv8, for ARMv8-A architecture profile for more information about these events.

Table 12.11. PMCEID0 bit assignments
Bits Name Function
[31:0] CE[31:0]

Common architectural and microarchitectural feature events that can be counted by the PMU event counters.

For each bit described in Table 12.12, the event is implemented if the bit is set to 1, or not implemented if the bit is set to 0.


Table 12.12. PMU events
Bit Event number Event mnemonic Description
[31] 0x1F L1D_CACHE_ALLOCATE

L1 Data cache allocate:

0

This event is not implemented.

[30] 0x1E CHAIN

Chain. For odd-numbered counters, counts once for each overflow of the preceding even-numbered counter. For even-numbered counters, does not count:

1

This event is implemented.

[29] 0x1D BUS_CYCLES

Bus cycle:

1

This event is implemented.

[28] 0x1C TTBR_WRITE_RETIRED

TTBR write, architecturally executed, condition check pass - write to translation table base:

0

This event is not implemented.

[27] 0x1B INST_SPEC

Instruction speculatively executed:

0

This event is not implemented.

[26] 0x1A MEMORY_ERROR

Local memory error:

1

This event is implemented.

[25] 0x19 BUS_ACCESS

Bus access:

1

This event is implemented.

[24] 0x18 L2D_CACHE_WB

L2 Data cache Write-Back:

0

This event is not implemented if the Cortex-A53 processor has been configured without an L2 cache.

1

This event is implemented if the Cortex-A53 processor has been configured with an L2 cache.

[23] 0x17 L2D_CACHE_REFILL

L2 Data cache refill:

0

This event is not implemented if the Cortex-A53 processor has been configured without an L2 cache.

1

This event is implemented if the Cortex-A53 processor has been configured with an L2 cache.

[22] 0x16 L2D_CACHE

L2 Data cache access:

0

This event is not implemented if the Cortex-A53 processor has been configured without an L2 cache.

1

This event is implemented if the Cortex-A53 processor has been configured with an L2 cache.

[21] 0x15 L1D_CACHE_WB

L1 Data cache Write-Back:

1

This event is implemented.

[20] 0x14 L1I_CACHE

L1 Instruction cache access:

1

This event is implemented.

[19] 0x13 MEM_ACCESS

Data memory access:

1

This event is implemented.

[18] 0x12 BR_PRED

Predictable branch speculatively executed:

1

This event is implemented.

[17] 0x11 CPU_CYCLES

Cycle:

1

This event is implemented.

[16] 0x10 BR_MIS_PRED

Mispredicted or not predicted branch speculatively executed:

1

This event is implemented.

[15] 0x0F UNALIGNED_LDST_RETIRED

Instruction architecturally executed, condition check pass - unaligned load or store:

1

This event is implemented.

[14] 0x0E BR_RETURN_RETIRED

Instruction architecturally executed, condition check pass - procedure return:

0

This event is not implemented.

[13] 0x0D BR_IMMED_RETIRED

Instruction architecturally executed - immediate branch:

1

This event is implemented.

[12] 0x0C PC_WRITE_RETIRED

Instruction architecturally executed, condition check pass - software change of the PC:

1

This event is implemented.

[11] 0x0B CID_WRITE_RETIRED

Instruction architecturally executed, condition check pass - write to CONTEXTIDR:

1

This event is implemented.

[10] 0x0A EXC_RETURN

Instruction architecturally executed, condition check pass - exception return:

1

This event is implemented.

[9] 0x09 EXC_TAKEN

Exception taken:

1

This event is implemented.

[8] 0x08 INST_RETIRED

Instruction architecturally executed:

1

This event is implemented.

[7] 0x07 ST_RETIRED

Instruction architecturally executed, condition check pass - store:

1

This event is implemented.

[6] 0x06 LD_RETIRED

Instruction architecturally executed, condition check pass - load:

1

This event is implemented.

[5] 0x05 L1D_TLB_REFILL

L1 Data TLB refill:

1

This event is implemented.

[4] 0x04 L1D_CACHE

L1 Data cache access:

1

This event is implemented.

[3] 0x03 L1D_CACHE_REFILL

L1 Data cache refill:

1

This event is implemented.

[2] 0x02 L1I_TLB_REFILL

L1 Instruction TLB refill:

1

This event is implemented.

[1] 0x01 L1I_CACHE_REFILL

L1 Instruction cache refill:

1

This event is implemented.

[0] 0x00 SW_INCR

Instruction architecturally executed, condition check pass - software increment:

1

This event is implemented.


To access the PMCEID0:

	
MRC p15,0,<Rt>,c9,c12,6 ; Read PMCEID0 into Rt

The PMCEID0 can be accessed through the internal memory-mapped interface and the external debug interface, offset 0xE20.

Was this page helpful? Yes No