\page tigerlake Intel® Tigerlake

This page is valid for Tigerlake.

# Available performance monitors for the Intel® Tigerlake microarchitecture

- \ref TGL_FIXED "Fixed-purpose counters"
- \ref TGL_METRICS "Performance metric counters"
- \ref TGL_PMC "General-purpose counters"
- \ref TGL_THERMAL "Thermal counters"
- \ref TGL_VOLTAGE "Core voltage counters"
- \ref TGL_POWER "Power measurement counters"

# Counters available for each hardware thread

\anchor TGL_FIXED

## Fixed-purpose counters

Since the Core2 microarchitecture, Intel® provides a set of fixed-purpose counters. Each can measure only one specific event. The Intel® Tigerlake architecture adds a fourth fixed-purpose counter for the event TOPDOWN_SLOTS.

### Counter and events

Counter name | Event name
--- | ---
FIXC0 | INSTR_RETIRED_ANY
FIXC1 | CPU_CLK_UNHALTED_CORE
FIXC2 | CPU_CLK_UNHALTED_REF
FIXC3 | TOPDOWN_SLOTS

### Available Options

Option | Argument | Description | Comment
--- | --- | --- | ---
anythread | N | Set bit 2+(index*4) in config register |
kernel | N | Set bit (index*4) in config register |

\anchor TGL_METRICS

## Performance metric counters

With the Intel® Tigerlake microarchitecture a new class of core-local counters was introduced, the so-called perf-metrics. The reflect the first level of the Top-down Microarchitecture Analysis tree. The events return the fraction of slots used by the event.

### Counter and events

Counter name | Event name
--- | ---
TMA0 | RETIRING
TMA1 | BAD_SPECULATION
TMA2 | FRONTEND_BOUND
TMA3 | BACKEND_BOUND

\anchor TGL_PMC

## General-purpose counters

Commonly the Intel® Tigerlake microarchitecture provides 4 general-purpose counters consisting of a config and a counter register.

### Counter and events

Counter name | Event name
--- | ---
PMC0 | *
PMC1 | *
PMC2 | *
PMC3 | *

### Available Options

Option | Argument | Description | Comment
--- | --- | --- | ---
edgedetect | N | Set bit 18 in config register |
kernel | N | Set bit 17 in config register |
anythread | N | Set bit 21 in config register | The anythread option is deprecated but still supported. Please check the official Intel® documentation how to use the option properly.
threshold | 8 bit hex value | Set bits 24-31 in config register |
invert | N | Set bit 23 in config register |
in_transaction | N | Set bit 32 in config register | Only available if Intel® Transactional Synchronization Extensions are available
in_transaction_aborted | N | Set bit 33 in config register | Only counter PMC2 and only if Intel® Transactional Synchronization Extensions are available

If HyperThreading is disabled, each core can use 8 general-purpose counters named <4-7>. \anchor TGL_THERMAL

## Thermal counters

The Intel® Tigerlake microarchitecture provides one register for the current core temperature.

### Counter and events

Counter name | Event name
--- | ---
TMP0 | TEMP_CORE

\anchor TGL_VOLTAGE

## Core voltage counters

The Intel® Tigerlake microarchitecture provides one register for the current core voltage.

### Counter and events

Counter name | Event name
--- | ---
VTG0 | VOLTAGE_CORE

# Counters available for one hardware thread per socket

\anchor TGL_POWER

## Power counter

The Intel® Tigerlake microarchitecture provides measurements of the current power consumption through the RAPL interface.

### Counter and events

Counter name | Event name
--- | ---
PWR0 | PWR_PKG_ENERGY
PWR1 | PWR_PP0_ENERGY
PWR2 | PWR_PP1_ENERGY
PWR3 | PWR_DRAM_ENERGY
PWR4 | PWR_PLATFORM_ENERGY