18 | Fetch stage PBU miss | This event indicates that the requested program data could not be
sourced from either the cache memory or the ISB. Therefore, a new
fetch from program memory with additional execution cycles was
required to obtain the data. |
17 | Fetch stage PBU hit | This event indicates that the requested program data was sourced
from either the cache memory or the ISB. Therefore, no additional
execution cycles were required to fetch the instruction. |
16 | Fetch stage cache busy | Indicates a cycle during which time the cache was busy
transferring data from the instruction stream buffer (ISB) to the
cache memory. |
15 | Fetch stage program memory vector fetch | Indicates that the CPU is fetching an interrupt vector and is
aligned with a Program Flow Change event. This event can be used to
count interrupt events. |
14 | Fetch stage program memory program flow change | Indicates that a change in program flow has occurred. This could
be due to a CALL, RETURN, RETFIE, conditional or unconditional
branch, or interrupt event. |
13 | Fetch stage read stall | Indicates an extra cycle is needed to fetch a program word from
memory. This could be caused by a cache miss or an arbitration
conflict when fetching program words and data from the same
memory. |
12 | Fetch stage interrupt latency count enable | Indicates the number of cycles due to interrupt latency. |
11 | Address stage stall | Indicates that CPU pipeline was stalled in the Address stage for
any reason, possibly because the instruction is being
discarded. |
10 | Address stage read stall | Indicates that an instruction could not continue because of extra
latency reading a RAM or SFR location. |
9 | Address stage FPU read stall | Indicates that CPU execution is presently stalled because the CPU
cannot read from a FPU register. This has occurred because the FPU
is currently busy updating the register data. |
8 | Address stage FPU instruction stall | Indicates that execution in the FPU coprocessor is currently
stalled due to a register data dependency. |
7 | Address stage hazard | Indicates an extra execution cycle caused by a data dependency
upon an earlier instruction in the CPU pipeline, which could not be
forwarded. |
6 | Read stage branch mispredict | Indicates an extra execution cycle caused by mispredicted program
flow changes. |
5 | Read stage conditional branch | Indicates the occurrence of a conditional branch instruction. The
count of conditional branch instructions can be compared to the
number of branch mispredictions in order to determine the
effectiveness of the CPU branch prediction logic. |
4 | Write stage stall | Indicates that an instruction could not continue because of extra
latency writing to RAM or SFRs. |
3 | Write stage FPU stall | Indicates that CPU execution is presently stalled because the CPU
cannot write to the FPU registers. This has occurred because the FPU
is currently busy working on the existing register data. |
2 | CPU instruction completed | Indicates that an instruction in the CPU pipeline has
completed. |
1 | CPU cycle elapsed (reference) | This event count provides the total number of CPU clock cycles
elapsed. |
0 | None | |