![Intel IXP45X Скачать руководство пользователя страница 162](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092162.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—Intel XScale
®
Processor
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
162
Order Number: 306262-004US
3.7.3
Managing the Performance Monitor
The following are a few notes about controlling the performance monitoring
mechanism:
• An interrupt request will be generated when a counter’s overflow flag is set and its
associated interrupt enable bit is set in INTEN. The interrupt request will remain
asserted until software clears the overflow flag by writing a one to the flag that is
set. (Note that the product specific interrupt unit and the CPSR must have enabled
the interrupt in order for software to receive it.) The interrupt request can also be
deasserted by clearing the corresponding interrupt enable bit. Disabling the facility
(PMNC.E) doesn’t deassert the interrupt request.
• The counters continue to record events even after they overflow.
• To change an event for a performance counter, first disable the facility (PMNC.E)
and then modify EVTSEL. Not doing so will cause unpredictable results.
• To increase the monitoring duration, software can extend the count duration
beyond 32 bits by counting the number of overflow interrupts each 32-bit counter
generates. This can be done in the interrupt service routine (ISR) where an
increment to some memory location every time the interrupt occurs will enable
longer durations of performance monitoring. This does intrude upon program
execution but is negligible, since the ISR execution time is in the order of tens of
cycles compared to the number of cycles it took to generate an overflow interrupt
(2
32
).
• Power can be saved by selecting event 0xFF for any unused event counter. This
only applies when other event counters are in use. When the performance monitor
is not used at all (PMNC.E = 0x0), hardware ensures minimal power consumption.
3.7.4
Performance Monitoring Events
lists events that may be monitored. Each of the Performance Monitor Count
Registers (PMN0, PMN1, PMN2, and PMN3) can count any listed event. Software selects
which event is counted by each PMNx register by programming the evtCountx fields of
EVTSEL.
Table 63.
Performance Monitoring Events (Sheet 1 of 2)
Event Number
(evtCountx)
Event Definition
0x0
Instruction cache miss requires fetch from external memory.
0x1
Instruction cache cannot deliver an instruction. This could indicate an ICache miss or an
ITLB miss. This event will occur every cycle in which the condition is present.
0x2
Stall due to a data dependency. This event will occur every cycle in which the condition is
present.
0x3
Instruction TLB miss.
0x4
Data TLB miss.
0x5
Branch instruction executed, branch may or may not have changed program flow. (Counts
only B and BL instructions, in both Intel
®
StrongARM
*
and Thumb mode.)
0x6
Branch incorrectly predicted. (Counts only B and BL instructions, in both Intel
®
StrongARM
*
and Thumb mode.)
0x7
Instruction executed.
0x8
Stall because the data cache buffers are full. This event will occur every cycle in which the
condition is present.
0x9
Stall because the data cache buffers are full. This event will occur once for each contiguous
sequence of this type of stall.
0xA
Data cache access, not including Cache Operations (defined in
)