userDtrm
userDtrm

Reputation: 585

voltage levels associated with cpu frequencies

I'm trying to implement a Dynamic Voltage and Frequency Scaling (DVFS) algorithm which changes the operating frequency of the CPU based on the CPU's load. The system I'm working on is an Intel core-i5 processor running Ubuntu 14.04.

My program works and it selects and then sets the CPU's frequency as expected. However, I'm curious how the CPU selects the operating voltage.

Upvotes: 0

Views: 776

Answers (1)

Taylor Kidd
Taylor Kidd

Reputation: 1511

You're talking about P-states. P-states are a voltage/frequency pairing. The advantage of reducing voltage is that leakage current decreases, saving power. On the other hand, reducing voltage increases switching time, requiring a lower frequency.

Here are my guesses concerning your questions.

  • I'm sure that in any situation where the frequency is decreased, e.g. running on battery, the voltage is also decreased. You get your power savings from the decrease in leakage current which is related to reduced voltage across the junction.
  • There is a voltage associated with any given frequency. Think of it this way. For any given frequency, you want to use the lowest voltage that will give you an acceptable error rate. If you don't, you are wasting energy for no good reason.
  • I found this reference. Look at "CPU Frequency Scaling". In one of my power management articles, I recall mentioning some "great article" about linux kernel power management where the author actually discussed the power management tables. Unfortunately, I couldn't find it in my brief look. If you really really want to find it, you can scan through my power management blogs.

Upvotes: 1

Related Questions