background image

Vol. 3B 19-143

PERFORMANCE-MONITORING EVENTS

19.11  PERFORMANCE MONITORING EVENTS FOR PROCESSORS BASED ON THE 

GOLDMONT MICROARCHITECTURE

Next Generation Intel Atom processors based on the Goldmont microarchitecture support the architectural perfor-
mance-monitoring events listed in Table 19-1 and fixed-function performance events using a fixed counter. In addi-
tion, they also support the following non-architectural performance-monitoring events listed in Table 19-24. These 
events also apply to processors with CPUID signatures of 06_5CH and 06_5FH.
Performance monitoring event descriptions may refer to terminology described in Section B.2, “Intel® Xeon® 
processor 5500 Series,” in Appendix B of the Intel® 64 and IA-32 Architectures Optimization Reference Manual
.
In Goldmont microarchitecture, performance monitoring events that support Processor Event Based Sampling 
(PEBS) and PEBS records that contain processor state information that are associated with at-retirement tagging 
are marked by “Precise Event”.

Table 19-24.  Non-Architectural Performance Events for the Goldmont Microarchitecture

Event

Num.

Umask

Value

Event Name

Description

Comment

03H

10H

LD_BLOCKS.ALL_BLOCK Counts anytime a load that retires is blocked for any reason. 

Precise Event

03H

08H

LD_BLOCKS.UTLB_MISS Counts loads blocked because they are unable to find their physical 

address in the micro TLB (UTLB).

Precise Event

03H

02H

LD_BLOCKS.STORE_FO

RWARD

Counts a load blocked from using a store forward because of an 

address/size mismatch; only one of the loads blocked from each store 

will be counted.

Precise Event

03H

01H

LD_BLOCKS.DATA_UNK

NOWN

Counts a load blocked from using a store forward, but did not occur 

because the store data was not available at the right time. The forward 

might occur subsequently when the data is available.

Precise Event

03H

04H

LD_BLOCKS.4K_ALIAS

Counts loads that block because their address modulo 4K matches a 

pending store.

Precise Event

05H

01H

PAGE_WALKS.D_SIDE_C

YCLES

Counts every core cycle when a Data-side (walks due to data operation) 

page walk is in progress.

05H

02H

PAGE_WALKS.I_SIDE_CY

CLES

Counts every core cycle when an Instruction-side (walks due to an 

instruction fetch) page walk is in progress.

05H

03H

PAGE_WALKS.CYCLES

Counts every core cycle a page-walk is in progress due to either a data 

memory operation, or an instruction fetch.

0EH

00H

UOPS_ISSUED.ANY

Counts uops issued by the front end and allocated into the back end of 

the machine. This event counts uops that retire as well as uops that 

were speculatively executed but didn't retire. The sort of speculative 

uops that might be counted includes, but is not limited to those uops 

issued in the shadow of a mispredicted branch, those uops that are 

inserted during an assist (such as for a denormal floating-point result), 

and (previously allocated) uops that might be canceled during a 

machine clear. 

13H

02H

MISALIGN_MEM_REF.LO

AD_PAGE_SPLIT

Counts when a memory load of a uop that spans a page boundary (a 

split) is retired.

Precise Event

13H

04H

MISALIGN_MEM_REF.ST

ORE_PAGE_SPLIT

Counts when a memory store of a uop that spans a page boundary (a 

split) is retired.

Precise Event

2EH

4FH

LONGEST_LAT_CACHE.

REFERENCE

Counts memory requests originating from the core that reference a 

cache line in the L2 cache.

2EH

41H

LONGEST_LAT_CACHE.

MISS

Counts memory requests originating from the core that miss in the L2 

cache.