Processors
Intel® Processors, Tools, and Utilities
14526 Discussions

Multiplicator step up / down thresholds

TBlad
Beginner
2,597 Views

Hi,

from what I understand, Intel SpeedStep works this way:

- upon a certain CPU load, the multiplicator is switched up to the next available one.

- below a certain CPU load, the multiplicator is switched down to the next available one.

What I don't understand are the CPU load tresholds and times that are used. Using "CoreTemp" under Windows 7, I can see the switching happening. It seems that only after a certain time of a certain CPU load, my i5 switches up from 1.2 GHz to 1.4 GHz, and so on. Also when load is 2% or lower, after a certain time (a few seconds?) it switches down.

1) Is there a document listing the CPU load tresholds and times that are defined for switching multiplicator up/down?

2) Is it possible to change the load or time tresholds with a kind of (yet to be written) software configuration utility? E.g. to enhance battery life, I might consider upping the mulitplicator only when the load exceeds, say, 50%, and not just 5% or so. Also I might consider CPU peaks of less than say, 3 seconds, to be ignored when I am on battery. etc. This was possible under Windows XP with the tool "Notebook Hardware Control", but it doesn't work on Windows 7.

Thanks,

- ThunderBlade

0 Kudos
4 Replies
TBlad
Beginner
1,288 Views

I would have expected that someone more knowledgeable than me would answer.

After some long digging, I found the solution. Windows 7 reads the information in question out of so called ACPI tables, provided by the BIOS. It then uses them according to its internal policies, but you can change it.

From a cmd.exe with Admin priviliges, do:

powercfg -attributes SUB_PROCESSOR 4d2b0152-7d5c-498b-88e2-34345392a2c5 -ATTRIB_HIDE

After this you suddenly will find a new option in Energy Management under Processor Energy Managment. It will allow you to change the interval the need for a switch up or down is evaluated. On my machine the default was 30 milliseconds. I changed it to 100 milliseconds and voila: I see the machine switch up less often. Before, even on an "idle" system, it switched up from time to time because of some background processes.

0 Kudos
Kevin_M_Intel
Employee
1,288 Views

Hi Thunderblade.

You are on the right track, but one small correction to your original post. Enhanced Intel SpeedStep® Technology doesn't change the multiplier, it changes the P-State of the processor. A P-State is specified combination of voltage and frequency.

P-states cannot be modified (meaning you can't change the voltage/frequency combination for say P-1), but you can modify how aggressively the OS manages the transitions. Microsoft® has a very good article here: http://download.microsoft.com/download/3/0/2/3027D574-C433-412A-A8B6-5E0A75D5B237/ProcPowerMgmtWin7.docx http://download.microsoft.com/download/3/0/2/3027D574-C433-412A-A8B6-5E0A75D5B237/ProcPowerMgmtWin7.docx.

You will find a list of Processor Power Management settings starting on page 27. You will need to use Powercfg.exe to un-hide some of them using the same general syntax you noted in your second post.

TBlad
Beginner
1,288 Views

Hi Kevin,

thanks so much for following up. I had meanwhile found a similar document from Microsoft (probably an older version), and I have been experimenting with the settings to influence the transition through the P-States. The default settings seem to assume a totally idle CPU, that switches up as soon as e.g. an MP3 player is active in the background, or a website uses an annyoing flash advertisement. That naturally consumes more power and heat. The most important setting seems to be the "Processor Performance Increase Threshold", increasing it helps avoiding a switch up on minor CPU load peaks.

On my i5 the lowest state is 1.2 GHz. I wonder if it is possible to go below that, e.g. 1.0 GHz or 800 MHz, on very low CPU loads?

Cheers,

- ThunderBlade

0 Kudos
Kevin_M_Intel
Employee
1,288 Views

Hello ThunderBlade,

It is possible to change it but not recommendable since the processor can be damaged by going below the normal states.

0 Kudos
Reply