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?