Uncore Manual
Reference Number: 329468-002 115
Uncore Performance Monitoring
Power Control (PCU) Performance Monitoring
NOTE
Given the nature of many of the PCU events, a great deal of additional information can
be measured by setting the .edge_det bit. By doing so, an event such as “Cycles
Changing Frequency” becomes “Number of Frequency Transitions.
On Occupancy Events:
Because it is not possible to “sync” the PCU occupancy counters by employing tricks such as bus lock
before the events start incrementing, the PCU has provided fixed occupancy counters to track the
major queues.
1. Cores in C0 (4 bits)
2. Cores in C3 (4 bits)
3. Cores in C6 (4 bits)
Some Examples for Unlocking More Advanced Features:
The PCU perfmon implementation/programming is more complicated than many of the other units. As
such, it is best to describe how to use them with a couple examples.
• Case 1: Cycles there was a Voltage Transition (Simple Event)
• Case 2: Cores in C0 (Occupancy Accumulation)
• Case 3: Cycles w/ more than 4 cores in C0 (Occupancy Thresholding)
• Case 4: Transitions into more than 4 cores in C0 (Thresholding + Edge Detect)
• Case 5: Cycles a) w/ > 4 Cores in C0 and b) there was a Voltage Transition
Table 2-126. PCU Configuration Examples
2.7.5 PCU Box Events Ordered By Code
The following table summarizes the directly measured PCU Box events.
Case
Config 123456
Counter Control 0
.ev_sel 0x80 0x80 0x80 0x80 0x80
.occ_sel 0x1 0x1 0x1 0x1 0x1
.thresh 0x0 0x5 0x5 0x5 0x4
.occ_edge_det 0 0 1 0 0
Counter Control 1
.ev_sel 0x03 0x03 0x0B
Filter
0x00 0x00 0x00 0x00 0x00 0x14
Symbol Name
Event
Code
Ctrs
Extra
Select
Bit
Max
Inc/
Cyc
Description
CLOCKTICKS 0x00 0-3 0 1 pclk Cycles