I try to mostly cover low power systems on this blog, so when it comes to x86 processors I have a cut off TDP of 10 Watts. The next generation of Intel Skylake processors have a TDP of 15 Watts, but when I read Skylake-U lineup post on FanlessTech, I discovered Intel processors also have a configurable TDP option, and in the case of Skylake-U processor their configurable TDP (cTDP) can be as low as 7.5W or 10W depending on models.
U-Processor family has Pentium and Celeron processors, but also Core i3, Core i5 and even Core i7 processors such as i7-6600U and i7-6500U clocked up to 3.4 GHz and all with a 15W TDP, but you’ll also notice a column called “cTDP Down” showing 7.5W and 10W values, which shows the great progress made by Intel with regards to low power design.
So I decided to look into configurable TDP in a little more details. First, it’s not really new, as it was first found in Ivy Bridge processors and covered by Anandtech in late 2011. However, that does not mean there’s a wealth of information about cTDP on the Internet, probably very few people intend to slow down their system on purpose to save a few watts. For an overview, Wikipedia is good though:
Configurable TDP (cTDP), also known as programmable TDP or TDP power cap, is an operating mode of later generations of Intel mobile processors (as of January 2014) and AMD processors (as of June 2012) that allows adjustments in their TDP values. By modifying the processor behavior and its performance levels, power consumption of a processor can be changed altering its TDP at the same time. That way, a processor can operate at higher or lower performance levels, depending on the available cooling capacities and desired power consumption.
Intel processors that support cTDP provide three operating modes:
- Nominal TDP – this is the processor’s rated frequency and TDP.
- cTDP down – when a cooler or quieter mode of operation is desired, this mode specifies a lower TDP and lower guaranteed frequency versus the nominal mode.
- cTDP up – when extra cooling is available, this mode specifies a higher TDP and higher guaranteed frequency versus the nominal mode.
For example, some of the mobile Haswell processors support cTDP up, cTDP down, or both modes. As another example, some of the AMD Opteron processors and Kaveri APUs can be configured for lower TDP values. IBM’s POWER8 processor implements a similar power capping functionality through its embedded on-chip controller (OCC).
It’s a bit harder to find documentation on how to enable and configure it on your system though. A post on superuser.com mentions Intel Dynamic Platform & Thermal Framework Driver meaning different TDP levels are configurable from the operating system, Windows in that case.
A “High TDP” value will actually run the system over its nominal TDP, which should be possible with appropriate cooling, while “Nominal TDP” will operate the processor at its specified TDP, and “Low TDP” refers to cTDP down as shown in the Skylake-U processor table at the top of this post. The “Acoustic Limit” in this driver is also interesting as it controls the maximum fan speed, which may be useful for HTPCs.
I also searched for “configurable TDP in Linux” but I did not find anything specific, and instead came across a Phoronix article where they test cTDP on AMD A10-7800 running Linux, and set the max TDP in the UEFI BIOS utility instead of the OS.
The benchmark results show lower average power consumption for all tests, and in most cases lower performance too as expected, but the performance per watt is often better when using the nominal TDP rather than a lower TDP, because despite a lower average power consumption, a given task such as building the kernel takes longer, leading to higher overall power consumption.
Update: Intel Dynamic Platform & Thermal Framework Driver is also available for Chromium OS, with source code, and if you check the README.txt, it can also be tried in Linux (Ubuntu instructions provided).
Have you ever used configurable TDP on any of your systems? Please share your experience.