Uncore Manual
Uncore Performance Monitoring
Cacheing Agent (Cbo) Performance Monitoring
34 Reference Number: 329468-002
message to the UBox (refer to Section 2.1.1, “Counter Overflow”). During the interval of time between
overflow and global disable, the counter value will wrap and continue to collect events.
If accessible, software can continuously read the data registers without disabling event collection.
Table 2-15. Cn_MSR_PMON_CTR{3-0} Register – Field Definitions
2.3.3.3 CBo Filter Registers (Cn_MSR_PMON_BOX_FILTER{0,1})
In addition to generic event counting, each CBo provides a pair of FILTER registers that allow a user to
filter various traffic as it applies to specific events (see Event Section for more information).
LLC_LOOKUP may be filtered by the cacheline state, while TOR_INSERTS and TOR_OCCUPANCY may
be filtered by the opcode of the queued request as well as the corresponding NodeID.
Any of the CBo events may be filtered by Thread/Core-ID. To do so, the control register’s .tid_en bit
must be set to 1 and the tid field in the FILTER register filled out.
NOTE
Only one of these filtering criteria may be applied at a time.
Table 2-16. Cn_MSR_PMON_BOX_FILTER Register – Field Definitions
Field Bits Attr
HW
Reset
Val
Description
rsv 63:44 RV 0 Reserved
event_count 43:0 RW-V 0 44-bit performance event counter
Field Bits Attr
HW
Reset
Val
Description
rsv 31:23 RV 0 Reserved. SW must set to 0 else behavior is undefined
state 22:17 RW 0 Select state to monitor for LLC_LOOKUP event. Setting
multiple bits in this field will allow a user to track multiple
states.
b1x1xxx - ‘M’ state.
bx1xxxx - ‘F’ state.
bxx1xxx - ‘M’ state
bxxx1xx - ‘E’ state.
bxxxx1x - ‘S’ state.
bxxxxx1 - ‘I’ state.
rsv 16:5 RV 0 Reserved. SW must set to 0 else behavior is undefined
tid 4:0 0 0 [4] Non-thread related data
[3:1] Core-ID
[0] Thread 1/0
When .tid_en is 0; the specified counter will count ALL
events
Thread-ID 0x1F is reserved for non-associated requests
such as: - LLC victims - PMSeq - External Snoops