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.
1 of 1 people found this helpful
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.
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.
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?
It is possible to change it but not recommendable since the processor can be damaged by going below the normal states.