background image

Vol. 3B 18-75

PERFORMANCE MONITORING

Only IA32_PMC0 through IA32_PMC3 support PEBS. 

NOTES

Precise events are only valid when the following fields of IA32_PERFEVTSELx are all zero: 
AnyThread, Edge, Invert, CMask.

In a PMU with PDIR capability, PEBS behavior is unpredictable if IA32_PERFEVTSELx or IA32_PMCx 
is changed for a PEBS-enabled counter while an event is being counted. To avoid this, changes to 
the programming or value of a PEBS-enabled counter should be performed when the counter is 
disabled.

18.13.1.1   PEBS Data Format

The PEBS record format for the 6th generation Intel Core processor is reporting with encoding 0011b in 
IA32_PERF_CAPABILITIES[11:8]. The lay out is shown in Table 18-55. The PEBS record format, along with 
debug/store area storage format, does not change regardless of whether IA-32e mode is active or not. 
CPUID.01H:ECX.DTES64[bit 2] reports whether the processor's DS storage format support is mode-independent. 
When set, it uses 64-bit DS storage format.

Table 18-54.  PEBS Facility Comparison

Box

IntelĀ® microarchitecture code 

name Skylake

IntelĀ® microarchitecture code 

name Haswell and Broadwell

Comment

Valid IA32_PMCx

PMC0-PMC3

PMC0-PMC3

No PEBS on PMC4-PMC7.

PEBS Buffer Programming

Section 18.8.1.1

 Section 18.8.1.1

Unchanged

IA32_PEBS_ENABLE Layout

Figure 18-21

 Figure 18-21

PEBS-EventingIP

Yes

Yes

PEBS record format encoding 0011b

0010b

PEBS record layout

Table 18-55; enhanced fields 

at offsets 98H- B8H; and TSC 

record field at C0H.

Table 18-44; enhanced fields at 

offsets 98H, A0H, A8H, B0H.

Multi-counter PEBS 

resolution

PEBS record 90H resolves the 

eventing counter overflow.

PEBS record 90H reflects 

IA32_PERF_GLOBAL_STATUS.

Precise Events

See Table 18-56.

See Table 18-32.

IA32_PMC4-IA32_PMC7 do not 

support PEBS.

PEBS-PDIR

Yes

Yes

IA32_PMC1 only.

PEBS-Load Latency

See Section 18.9.4.2.

See Section 18.9.4.2.

Data Address Profiling

Yes

Yes

FrontEnd event support

FrontEnd_Retried event and 

MSR_PEBS_FRONTEND.

No

IA32_PMC0-PMC3 only.