From WikiChip
Difference between revisions of "intel/frequency behavior"
< intel

(Created page with "{{intel title|Frequency Behavior}} The '''Frequency Behavior of Intel's CPUs''' is complex and is governed by multiple mechanisms that perform dynamic frequency scaling....")
 
Line 10: Line 10:
 
* {{intel|Turbo Boost Technology}} (TBT) - Introduced with {{intel|Nehalem|l=arch}} in 2008
 
* {{intel|Turbo Boost Technology}} (TBT) - Introduced with {{intel|Nehalem|l=arch}} in 2008
 
** Turbo Boost Technology 2.0 (TBT 2.0) - Introduced with {{intel|Sandy Bridge|l=arch}} in 2011
 
** Turbo Boost Technology 2.0 (TBT 2.0) - Introduced with {{intel|Sandy Bridge|l=arch}} in 2011
 +
* {{intel|Speed Shift Technology}} (SST) - Introduced with {{intel|Skylake|l=arch}} in 2015
 
* {{intel|Turbo Boost Max Technology}} (TBMT) - Introduced with {{intel|Broadwell E|l=core}} in 2016
 
* {{intel|Turbo Boost Max Technology}} (TBMT) - Introduced with {{intel|Broadwell E|l=core}} in 2016
 +
 +
== Base, Non-AVX Turbo, and AVX Turbo ==
 +
[[File:mixed avx-normal workloads with avx512.png|right|400px]]
 +
Because different workloads exhibit different [[die]] thermos and electrical characteristics, they also have different frequencies. Intel organizes workloads into three categories:
 +
 +
* '''Non-AVX''' - workloads such as SSE and simple (e.g., add/bit) integer vector operations and all other regular instructions.
 +
* '''AVX2 Heavy''' - workloads that make heavy use of complex {{x86|AVX2}} operations (e.g. [[floating point]] and [[integer]] vector multiplications). This also includes the various {{x86|AVX-512}} bit scanning, and other simple (i.e., non INT/FP MUL) operations.
 +
* '''AVX-512 Heavy''' - workloads that make use of complex {{x86|AVX-512}} operations, including operations such as floating point and integer vector multiplications.
 +
 +
The frequency of each core is determined independently based on the workload described above. That is, cores running Non-AVX workloads can enjoy the full regular turbo frequency, whereas cores executing {{x86|AVX-512}} or {{x86|AVX2}} will operate at their own designated turbo frequencies.
 +
 +
Due to all of that, each processor has the following properties:
 +
 +
{| class="wikitable"
 +
|-
 +
! Mode !! Example Workload !! Absolute Guaranteed<br>Lowest Frequency !! Absolute Guaranteed<br>Highest Frequency
 +
|-
 +
| Non-AVX || SSE, light AVX2 Integer Vector (non-MUL), All regular instruction || Base Frequency || Turbo Frequency
 +
|-
 +
| {{x86|AVX2}} Heavy || All AVX2 operations, light AVX-512 (non-FP, Int Vect non-MUL) || AVX2 Base || AVX2 Turbo
 +
|-
 +
| {{x86|AVX-512}} Heavy ||  All heavy AVX-512 operations || AVX-512 Base || AVX-512 Turbo
 +
|}

Revision as of 20:08, 13 July 2017

The Frequency Behavior of Intel's CPUs is complex and is governed by multiple mechanisms that perform dynamic frequency scaling.

Overview

With the increasing transistor budget new features are added and the overall core grows in capabilities. Unfortunately, the power constraints have remained the same and in many situations have gotten more restrictive. The result is that despite the exponentially increasing density, the dark silicon's area is growing just as fast.

Intel has implemented a number of mechanisms into their architectures to extract additional performance through higher frequency whenever the power and thermal budgets allow.

Base, Non-AVX Turbo, and AVX Turbo

mixed avx-normal workloads with avx512.png

Because different workloads exhibit different die thermos and electrical characteristics, they also have different frequencies. Intel organizes workloads into three categories:

  • Non-AVX - workloads such as SSE and simple (e.g., add/bit) integer vector operations and all other regular instructions.
  • AVX2 Heavy - workloads that make heavy use of complex AVX2 operations (e.g. floating point and integer vector multiplications). This also includes the various AVX-512 bit scanning, and other simple (i.e., non INT/FP MUL) operations.
  • AVX-512 Heavy - workloads that make use of complex AVX-512 operations, including operations such as floating point and integer vector multiplications.

The frequency of each core is determined independently based on the workload described above. That is, cores running Non-AVX workloads can enjoy the full regular turbo frequency, whereas cores executing AVX-512 or AVX2 will operate at their own designated turbo frequencies.

Due to all of that, each processor has the following properties:

Mode Example Workload Absolute Guaranteed
Lowest Frequency
Absolute Guaranteed
Highest Frequency
Non-AVX SSE, light AVX2 Integer Vector (non-MUL), All regular instruction Base Frequency Turbo Frequency
AVX2 Heavy All AVX2 operations, light AVX-512 (non-FP, Int Vect non-MUL) AVX2 Base AVX2 Turbo
AVX-512 Heavy All heavy AVX-512 operations AVX-512 Base AVX-512 Turbo