I'm referring to this statement of the-fallen:
http://www.linux-phc.org/forum/viewtopic.php?p=136#p136How ever there is no reason to use voltages. It is only more pleasant to the human mind because people know "voltage" from somewhere ..
The only thing that really matters is to find the lowest usable value, no matter what it looks like, don't you think so?
The above use case is an example where you might be very interested in the voltage values since you obtained those through time consuming testing with RMClock or NHC.
In fact I reused my Windows obtained values with a T7500 CPU just fine. Actually I just launched phc-tool 0.5.2 once, to find the voltage <-> VID value correlations and then echo these values to /sys/devices/system/cpu/cpu0/cpufreq/phc_vids during booting linux. I never had to use phc tool again.
Meanwhile I switched to a T8300 Penryn 45nm CPU. I found my undervolting settings in Windows and wanted to apply those to Linux as well. I started phc tool 0.5.2 (though the GUI says 0.5.1 - looks like the version string hasn't been updated in the GUI) and faced this screen:
When switching to the voltage tab I recognized it wouldn't translate voltages anymore:
It seems the promise the-fallen once made is no longer true:
http://www.linux-phc.org/forum/viewtopic.php?p=136#p136But I promise to keep the VID to Voltage calculation in future PHCTool releases even if they might be incorrect
I see the voltage calculation gone in phc tool 0.5.2 when switching to a Penryn CPU. And interestingly I never saw voltage values in PHCTool2 Pre-Release (neither for Merom nor Penryn CPU).
Anyway, here's my way to fix it and I hope being corrected in case something is wrong. Should work for all mobile 45nm Dual Core Penryn processors - be it FSB800/1066 ones:
fast way: voltage = 0.7125 + VID * 0.0125
I start with a voltage that I take from the windows configuration and want to apply to phc. Let's consider 1,0375 Volt. Next I use the table at the bottom of this posting and lookup the corresponding row:
Now I write down the number from left to right VID[5:0], which is 100101 in this example. Next every bit get's switched to its opposite: 0->1 and 1->0. The result is:
100101 => 011010
Fire up some calculator and select view / scientific . Select binary number mode and punch in the number:
The leading zero won't be displayed. Select "dec" and this number gets translated to its decimal representation, which is 26 in this example:
Done! That's the number you were looking for and can now be used in phctool for a certain FID.
Voltage / VID table taken from CPU documentation:
http://download.intel.com/design/mobile ... 012001.pdf
P.S.: Comparing the VID table from above with the VID table for the Merom CPUs (p. 23)
http://download.intel.com/design/mobile ... 674505.pdf
it suggests both Merom (65nm) and Penryn (45nm) Mobile CPUs share the same VID table. Which means all that has to be done for phc-tool is to extend its VID -> translation to family 0x6 model 0x17 (Penryn).
The translation of VID -> voltages for desktop processors is different though. E.g. see p. 15 of Core2 Duo Penryn datasheet:
http://download.intel.com/design/proces ... 318732.pdf