Unit masks for performance monitoring events

The following three tables show how to construct a unit mask and express combinations of unit masks for a given event.

Descriptions of Unit Masks

Unit Mask
[bits 15:8]

Mask as Shown in Event Table
(bit position in mask)

Unit Mask Hex Value in Event:Unit Mask

xxxx_xxx1
0
0x0001
xxxx_xx1x
1
0x0002
xxxx_x1xx
2
0x0004
xxxx_1xxx
3
0x0008
xxx1_xxxx
4
0x0010
xx1x_xxxx
5
0x0020
x1xx_xxxx
6
0x0040
Reserved
 
 

 

Examples of Unit Mask Combination Logic

Unit Mask
[bits 15:8]

Combined Masks
(combined bit positions)

Unit Mask Hex Value in Event: Unit Mask

xxxx_xx11
0 and 1
0x0003
xxxx_x1x1
0 and 2
0x0005
xxxx_x11x
1 and 2
0x0006
xxxx_x111
0 and 1 and 2
0x0007
xxx1_xx1x
1 and 4
0x0012
xxx1_x1x1
0 and 2 and 4
0x0015
xxx1_1111
0 and 1 and 2 and 3 and 4
0x001F

 

Examples of Event: Unit Masks for Event 0x41

Event

Unit Mask

Description

Event: Unit Mask

0x41

 

Data cache refill from L2
 

 

0
   Invalid cache state
0x4101

 

1
   Shared cache state
0x4102

 

2
   Exclusive cache state
0x4104

 

3
   Owner cache state
0x4108

 

4
   Modified cache state
0x4110

 

 
 
 
  All of the above All MOESI states 0x411F
  0 and 1 and 3 Invalid and Shared and Owner states 0x410B