Performance Monitoring Unit
ARM DDI 0388I
Copyright © 2008-2012 ARM. All rights reserved.
11-9
ID073015
Non-Confidential
0x68
Instructions coming out of the core renaming stage.
Counts the number of instructions going through the Register Renaming stage. This number is an
approximate number of the total number of instructions speculatively executed, and an even more
approximate number of the total number of instructions architecturally executed. The approximation
depends mainly on the branch misprediction rate.
The renaming stage can handle two instructions in the same cycle so the event is two bits long:
b00
No instructions coming out of the core renaming stage.
b01
One instruction coming out of the core renaming stage.
b10
Two instructions coming out of the core renaming stage.
Approximate
0x69
Number of data linefills.
c
Counts the number of linefills performed on the external AXI bus. This event counts all data linefill
requests, caused by:
•
loads, including speculative ones
•
stores
•
PLD
•
prefetch
•
page table walk.
Precise
0x6A
Number of prefetcher linefills.
Counts the number of data linefills caused by prefetcher requests
Precise
0x6B
Number of hits in prefetched cache lines.
Counts the number of cache hits in a line that belongs to a stream followed by the prefetcher. This includes:
•
lines that have been prefetched by the automatic data prefetcher
•
lines already present in the cache, before the prefetcher action.
Precise
0x6E
Predictable function returns.
Counts the number of procedure returns whose condition codes do not fail, excluding all returns from
exception. This count includes procedure returns that are flushed because of a previous load/store that
aborts late.
Only the following instructions are reported:
•
BX R14
•
MOV PC LR
•
POP {..,pc}
•
LDR pc,[sp],#offset.
The following instructions are not reported:
•
LDMIA R9!,{..,PC}
(ThumbEE state only)
•
LDR PC,[R9],#offset
(ThumbEE state only)
•
BX R0 (Rm != R14)
•
MOV PC,R0 (Rm != R14)
•
LDM SP,{...,PC}
(writeback not specified)
•
LDR PC,[SP,#offset]
(wrong addressing mode).
Approximate
0x70
Main execution unit instructions.
Counts the number of instructions being executed in the main execution pipeline of the processor, the
multiply pipeline and arithmetic logic unit pipeline. The counted instructions are still speculative.
Approximate
0x71
Second execution unit instructions.
Counts the number of instructions being executed in the processor second execution pipeline (ALU). The
counted instructions are still speculative.
Approximate
Table 11-6 Cortex-A9 specific events (continued)
Event Description
Value