What regulates Intel SpeedStep CPU throttling? Can I get some control of this on Windows7

cpuperformanceresource-monitorspeedspeedstep

I’m trying to get a big virtual disk file compressed (using WinRar) before I go home today, but my CPU frequency keeps merrily going up and down between the nominal 2.8 GHz and a measly 800 MHz!

The frequency fluctuations as seen in Resource Monitor (blue line is frequency, green is utilization):

Resource Monitor Graph

And CoreTemp:

CoreTemp Screenshot

I’m plugged-in (not on battery). My temperatures are normal (CPU core at least is not at Max, but I don't have readings for other parts of the system). There is a full workload available. Why is it throttling back? Short of melting the CPU, I’d like this job to go as fast as possible right now.


Update: The main problem here was the total thermal load was causing the CPU throttling. After I added a laptop cooler (fan blowing underneath) the CPU stays in the highest performance state indefinitely. Read-on for other interesting info and answers on managing SpeedStep.


As a control enthusiast (control freak), I’d like to get a handle on this, and change it or at least know why it does what it does.

All I’ve seen in the BIOS is enable/disable SpeedStep and on this Dell it states that disabling SpeedStep means it will run in the lowest performance state all the time… I can understand that design decision for a laptop. So there is nothing for me in BIOS.

Edit: I tried disabling SpeedStep in the BIOS, I do get a steady frequency now, but it is 1.6 GHz instead of 2.8 GHz. At least it doesn't drop to 800 MHz now, but overall this is not an improvement.

Is SpeedStep controlled by the OS? I’ve configured power settings to use 100% CPU as the minimum when plugged in:

Power Options set to 100% minimum CPU

This setting apparently doesn’t do what I think it does…? Or maybe something is overriding it.

Is the throttling driven by hardware temperatures? When it throttles back, my processor core temps are always fine. Maybe outside the processor, or elsewhere on the motherboard the temp has risen too high so the throttling kicks in until that part cools off? What drives this behavior? Currently it makes no sense and is very annoying.

If it dropped to 800 MHz on battery while I'm reading a web page, that would be great. But when I'm plugged in have 10 apps open, and I've got a large compression job, I'd like the full 2.8GHz.

Best Answer

Since none of the answers take on what speed step does exactly and how to disable/enable it here is what I found:

Let's look at how it works. SpeedStep has two key components:

C1E (Enhanced Halt State): C1E is the simpler of the two components. It can be enabled or disabled in the BIOS, and performs independently of the operating system. C1E has two configurations - idle, and load. When CPU usage is relatively low, this feature lowers your processor's multiplier to its lowest setting (usually 6x) and slightly lowers its vCore. During a CPU-intensive application, it will raise the multipler to its maximum value, and will provide a small boost in vCore to compensate. In our example, C1E will make your processor run at either 6x or 9x the FSB.

EIST (Enhanced Intel SpeedStep Technology): This is a very robust feature and has a wide variety of power-saving capabilities. Like its simpler cousin, EIST can affect both your CPU's voltage and it's multiplier - however, it has many more levels of configuration. Instead of a simple "slow or fast" setting, SpeedStep can utilize all of the available multipliers. In our example case, EIST will allow your processor to run with a multiplier of 6, 7, 8, or 9, and chooses which one to use based on how much demand your CPU is under. EIST is controlled by Windows, and utilizes the different "power schemes" you may have seen in your control panel.

It sounds like SpeedStep can be found in either the BIOS or the OS and maybe even both. My guess is that DELL maybe lying to you about the performance, I say try disabling it and see what happens.

To disable it under windows, select the Power Options and select High Performance. Make sure that the minimum and maximum processor states are 100% and the System Cooling Policy to be Active.

Here are two supporting forums and a site that may help you out:

SpeedStep Guide

Let's Talk about C1E

Bay Wolf's Speedstep FAQ

Related Question