CrystalCPUID: User Configurable Cool 'n' Quiet

Want to talk about one of the articles in SPCR? Here's the forum for you.
fjf
Posts: 192
Joined: Wed Apr 06, 2005 9:44 am
Location: Europe

RMclock

Post by fjf » Sun Apr 17, 2005 4:50 am

I have a newcastle 3500+ on a asus a8n-sli. Crystalcpuid lowers the voltaje and multiplier, but then it does not change again, even with the use of prime95 or cpuburn. RMClock, however, works fine. I can lower to 4x (800 MHz) and 0.85V running stable, and the cpu ramps up when needed to the full 2200 MHz, lowering the original 1.475 V to 1.275V. Nice!.

Regards.

luggage
Posts: 70
Joined: Tue Oct 21, 2003 7:48 am
Location: hbg, sweden
Contact:

Re: RMclock

Post by luggage » Sun Apr 17, 2005 5:54 am

fjf wrote:I have a newcastle 3500+ on a asus a8n-sli. Crystalcpuid lowers the voltaje and multiplier, but then it does not change again, even with the use of prime95 or cpuburn. RMClock, however, works fine. I can lower to 4x (800 MHz) and 0.85V running stable, and the cpu ramps up when needed to the full 2200 MHz, lowering the original 1.475 V to 1.275V. Nice!.

Regards.
Did you enable the multiplier managment with F3?

fjf
Posts: 192
Joined: Wed Apr 06, 2005 9:44 am
Location: Europe

crystal

Post by fjf » Sun Apr 17, 2005 7:55 am

No, I did not!. I missed that keystroke!. OK, I correct my mistake: it works too!!!. Both, RMClock and CrystalCPUid seem to work fine with this motherboard. I can get down to 0.775V and 800 MHz. I had never seen my CPU below 30ºC!!. Nice!!.

Regards

Jan Kivar
Friend of SPCR
Posts: 1310
Joined: Mon Apr 28, 2003 4:37 am
Location: Finland

Post by Jan Kivar » Tue Apr 19, 2005 5:46 am

Dirge wrote:So far in this thread I have seen kernel hacks mentioned and only one program SpeedFreq which looks to be alpha. Maybe were not so well covered...
Sorry for the late response.

I'm afraid You are right -- I couldn't find any similar utilities for Linux. However, there are few projects, which could contain similar functionality, if the author just would implement the required changes.

Few links:
CPUFreq (kernel.org)
PowerNowd
CPUSpeed.

Most likely you have already seen these. As I said before, I have little experience with Linux in general.

I'll have to rephrase the comment about the availability of current Linux utilities, unfortunately.

Cheers,

Jan

qualia
Posts: 18
Joined: Sat Mar 12, 2005 1:39 pm
Location: Wroclaw, Poland

Post by qualia » Sun Apr 24, 2005 6:45 am

Please correct me if I'm wrong but if I'm running any distributed computing client (folding,seti,udagent), gains from this utility will be next to none, right?

StarfishChris
Posts: 968
Joined: Fri Jan 07, 2005 7:13 pm
Location: Bristol, UK
Contact:

Post by StarfishChris » Sun Apr 24, 2005 6:56 am

That is correct, unless you reduce their cpu usage so they don't trigger higher P-states.

Tibors
Patron of SPCR
Posts: 2674
Joined: Sun Jul 04, 2004 6:07 am
Location: Houten, The Netherlands, Europe

Post by Tibors » Sun Apr 24, 2005 9:36 am

That depends how you look at it ;)

The distributed computing client will keep your CPU always in the highest power state. But if you have a A64 mobo that doesn't allow undervolting in the BIOS, then you can undervolt it with this utillity.

autoboy
Posts: 1008
Joined: Fri Dec 10, 2004 8:10 pm
Location: San Jose, California

Post by autoboy » Tue Apr 26, 2005 4:32 pm

I have an MSI K8N Neo for socket 754 that does not allow undervolting in the bios. I know I can lower the voltage for an athlon64 with cool n quiet and CrystalCPUID, but can i undervolt using CrystalCPUID using a new sempron 2600+ that does not support Cool n Quiet? I heard the new semprons can run close to 1 volt at stock speed and only 25W.

tfs165
Posts: 11
Joined: Wed Feb 18, 2004 11:53 pm

Post by tfs165 » Tue Apr 26, 2005 7:30 pm

Hi all,

I have enabled Cool n' Quite functions but are not sure how to change all these Multipliers and staffs. Does anyone know if this CrystalCPUID works on my motherboard? If not, what is the best alternative (Freeware or not).

I am using Abit EQ and OC Guru to monitor the Temp and Fan speed, will this CrystalCPUID works with them?

Also, I tried SpeedFan 4.23, it doesn't works on my motherboard. Any other suggestion?

Thanks.

hmsrolst
*Lifetime Patron*
Posts: 427
Joined: Sun Aug 11, 2002 3:26 pm
Location: Arlington, VA USA

Post by hmsrolst » Wed Apr 27, 2005 4:55 pm

I just started using CrystalCPUID with a P4P800-VM, CT-479 and a 1.7 Dothan. The chip very easily overclocks to 2.26 by setting the jumper on the CT-479 to 133MHz, while undervolting using CrystalCPUID to 1.15v (the minimum that the board will do). It's all very nice, except I can't get it to launch it from a shortcut, and so I can't get it to do it automatically at startup. The P-M is listed as "beta," but this is the only issue I've found with it, and maybe it's just me.

Jan (or anyone else), can you clarify how, and at what point in the process, you create the shortcut? Thanks.

EDIT: another question: is there any point in running a lower multiplier at low usage, since I can run at 1.15v at any multiplier, for example, for the longevity of the CPU?

StarfishChris
Posts: 968
Joined: Fri Jan 07, 2005 7:13 pm
Location: Bristol, UK
Contact:

Post by StarfishChris » Thu Apr 28, 2005 6:55 am

You create the shortcut (the one with "/CNQ"?) once you've set up the automatic multiplier settings.

As for multipliers, it adjusts clock speed which is directly proportional to power usage. If you drop it from x10 to x5 it will use half the power (and you can reduce voltage even further for even greater gains). I expect this would extend CPU lifetime but it'll last for ages even at stock speed.

hmsrolst
*Lifetime Patron*
Posts: 427
Joined: Sun Aug 11, 2002 3:26 pm
Location: Arlington, VA USA

Post by hmsrolst » Thu Apr 28, 2005 7:04 am

StarfishChris wrote:You create the shortcut (the one with "/CNQ"?) once you've set up the automatic multiplier settings.
Thanks, but earlier in the process, it asks if you want to create a shortcut. It doesn't seem to ask at the later point. Is there some other way you do it then? Sorry for being so dense.
StarfishChris wrote:As for multipliers, it adjusts clock speed which is directly proportional to power usage. If you drop it from x10 to x5 it will use half the power (and you can reduce voltage even further for even greater gains). I expect this would extend CPU lifetime but it'll last for ages even at stock speed.
So, if I understand you right, even if the voltage cannot be reduced further, you are using less power as the multiplier and speed are reduced (holding the vcore constant).

Jan Kivar
Friend of SPCR
Posts: 1310
Joined: Mon Apr 28, 2003 4:37 am
Location: Finland

Post by Jan Kivar » Thu Apr 28, 2005 7:35 am

hmsrolst wrote:Jan (or anyone else), can you clarify how, and at what point in the process, you create the shortcut? Thanks.
You can create the shortcut at any time. As said in the article, Windows' drag'n'drop doesn't function quite as desired - all drags'n'drops within same drive default to moving the file. If you have moved the file (if you have it in the desktop, it doesn't have a small arrow in the lower left corner), CrystalCPUID cannot start, since it needs some of the files that are in "...\program files\...".

Remember that you can test the functionality of the shortcut at any time. Just make sure CrystalCPUID is not running. This should help backtrace the step where the shortcut stops functioning.
hmsrolst wrote:EDIT: another question: is there any point in running a lower multiplier at low usage, since I can run at 1.15v at any multiplier, for example, for the longevity of the CPU?
Dropping the multiplier also lowers the heat output (as StarfishChris mentioned), but at the same time you get lowered performance. Undervolting has no such effect. But in general, if the CPU is just idling, why not idle at a lower speed? No performance hit, since nothing is happening at the moment (from CPU's point of view).

Cheers,

Jan

StarfishChris
Posts: 968
Joined: Fri Jan 07, 2005 7:13 pm
Location: Bristol, UK
Contact:

Post by StarfishChris » Thu Apr 28, 2005 7:56 am

re: drag and drop. Try dragging with the right mouse button ;)

Jan Kivar
Friend of SPCR
Posts: 1310
Joined: Mon Apr 28, 2003 4:37 am
Location: Finland

Post by Jan Kivar » Thu Apr 28, 2005 8:19 am

StarfishChris wrote:re: drag and drop. Try dragging with the right mouse button ;)
Yes, thanks. Forgot that important part.

Another way is to keep Alt depressed while dragging with left mouse button. Defaults to creating a shortcut this way.

Or, maybe the problem arises from a "left-handed mouse"? So, dragging the program with the secondary mouse button to the desktop will cause a menu to appear when the mouse button is released.

Cheers,

Jan

andi77
Posts: 3
Joined: Thu Apr 28, 2005 8:23 am

Undervolting an Athlon64 under linux

Post by andi77 » Thu Apr 28, 2005 8:58 am

Hi,
Since I've read some questions here concerning undervolting under linux:
I've successfully patched my kernel (harmless, 1 to *say* 3 or four lines in
the "powernow-k8.c" module) so that my athlon 64 notebook (3000+) runs at:
1800 MHz 1.15 V (was 1.5V)
1600 MHz 1.05 V (was 1.4)
800 MHz 0.8 V (was 1.1)
Net effect: 20 (!) degrees less CPU Temp. at full load and a mostly silent fan.
Individual minimum stable voltages will vary. The easiest way to get them is to play around with CrystalCPUid (under windows - risking some bluescreens) and then change the kernel.
If interested, just notify me.

greetings
Andreas

StarfishChris
Posts: 968
Joined: Fri Jan 07, 2005 7:13 pm
Location: Bristol, UK
Contact:

Post by StarfishChris » Thu Apr 28, 2005 9:17 am

Jan Kivar wrote:
StarfishChris wrote:Or, maybe the problem arises from a "left-handed mouse"? So, dragging the program with the secondary mouse button to the desktop will cause a menu to appear when the mouse button is released.
Yes, it's secondary. I use a trackball - both buttons on the same side - so maybe I should've said 'top button' instead :P

Another point that I'll raise: any way to hide (not minimise) the main window without closing and running the shortcut? I often did this by accidentally clicking the tray icon. It's the only thing that spoils it slightly

hmsrolst
*Lifetime Patron*
Posts: 427
Joined: Sun Aug 11, 2002 3:26 pm
Location: Arlington, VA USA

Post by hmsrolst » Thu Apr 28, 2005 10:22 am

I'm beginning to suspect that the problem isn't with the shortcut, but that the software won't work with P-M's dynamically. Earlier Ralf had responded to me with this:
Ralf Hutter wrote: I messed with it a tiny bit yesterday, but couldn't get it change the Vcore and Multiplier dynamically. I'll continue playing with it because it looks like it would be a nice replacement for the unstable (on my P-M systems) RMClock.
I'm having the same problem I think. I can change the multiplier and Vcore manually by going to the P-M option under the Function menu (AMD users get there through Ctl-K I assume), and I can observe the change, but the dynamic change doesn't seem to take. Ralf, have you made any progress?

ilh
Posts: 313
Joined: Sat Jan 08, 2005 3:31 pm
Location: Acton, MA, USA -- Folding for SPCR

Post by ilh » Thu Apr 28, 2005 12:10 pm

Does SpeedStepXP work for you folks with P-Ms? That's what I've used on my laptop (IBM T40), and it definitely changes clock speeds dynamically. I don't recall whether Vcore changes too.

StarfishChris
Posts: 968
Joined: Fri Jan 07, 2005 7:13 pm
Location: Bristol, UK
Contact:

Post by StarfishChris » Thu Apr 28, 2005 2:48 pm

You should try it without the shortcut (just through the window, enabling multiplier management from the menu). That will tell you for certain whether it works or not.

hmsrolst
*Lifetime Patron*
Posts: 427
Joined: Sun Aug 11, 2002 3:26 pm
Location: Arlington, VA USA

Post by hmsrolst » Thu Apr 28, 2005 2:50 pm

StarfishChris wrote:You should try it without the shortcut (just through the window, enabling multiplier management from the menu). That will tell you for certain whether it works or not.
I've tried it that way too. The CPU speed doesn't change.

hmsrolst
*Lifetime Patron*
Posts: 427
Joined: Sun Aug 11, 2002 3:26 pm
Location: Arlington, VA USA

Post by hmsrolst » Thu Apr 28, 2005 3:36 pm

ilh wrote:Does SpeedStepXP work for you folks with P-Ms? That's what I've used on my laptop (IBM T40), and it definitely changes clock speeds dynamically. I don't recall whether Vcore changes too.
I haven't tried it, but I think that if you search, there are other threads where others have found it to be unstable.

Ralf Hutter
SPCR Reviewer
Posts: 8636
Joined: Sat Nov 23, 2002 6:33 am
Location: Sunny SoCal

Post by Ralf Hutter » Fri Apr 29, 2005 4:39 am

hmsrolst wrote:I'm beginning to suspect that the problem isn't with the shortcut, but that the software won't work with P-M's dynamically. Earlier Ralf had responded to me with this:
Ralf Hutter wrote: I messed with it a tiny bit yesterday, but couldn't get it change the Vcore and Multiplier dynamically. I'll continue playing with it because it looks like it would be a nice replacement for the unstable (on my P-M systems) RMClock.
I'm having the same problem I think. I can change the multiplier and Vcore manually by going to the P-M option under the Function menu (AMD users get there through Ctl-K I assume), and I can observe the change, but the dynamic change doesn't seem to take. Ralf, have you made any progress?
Yes, I got it working, but that was a few weeks ago so I don't remember the particulars. IIRC, it wasn't a big deal. I'll try and look at it this weekend and post something.

Bottom line though: This is fun to play with and to watch it work, but I don't see where this is much practical use with a P-M. The darn things run so ridiculously cool at default speed and just a slight undervolt (mine idles at 1-2° above ambient at default speed and a Vcore of1.1V) that there's really nothing to be gained by stepping down the speed and Vcore any further. You're talking about 1-2W less power consumption between 1.1V and .700V, and no perceptible temperature difference. Personally, I don't see any reason (other than messing with it just to watch it work) to run an extra piece of third-party software in a situation like this. Just my 2¢ of course, YMMV!

Ralf Hutter
SPCR Reviewer
Posts: 8636
Joined: Sat Nov 23, 2002 6:33 am
Location: Sunny SoCal

Post by Ralf Hutter » Fri Apr 29, 2005 4:44 am

ilh wrote:Does SpeedStepXP work for you folks with P-Ms? That's what I've used on my laptop (IBM T40), and it definitely changes clock speeds dynamically. I don't recall whether Vcore changes too.
It "worked" but it wasn't particularly stable, IIRC. I was playing with it back in December, so I don't recall the particulars.

My comment of the usefulness of this would mirror what I posted above about CrystalCPUID and the Pentium-M's:
Ralfy wrote: Bottom line though: This is fun to play with and to watch it work, but I don't see where this is much practical use with a P-M. The darn things run so ridiculously cool at default speed and just a slight undervolt......blah, blah

hmsrolst
*Lifetime Patron*
Posts: 427
Joined: Sun Aug 11, 2002 3:26 pm
Location: Arlington, VA USA

Post by hmsrolst » Fri Apr 29, 2005 5:17 am

Ralf Hutter wrote:The darn things run so ridiculously cool at default speed and just a slight undervolt (mine idles at 1-2° above ambient at default speed and a Vcore of1.1V) that there's really nothing to be gained by stepping down the speed and Vcore any further.
Actually, this is at the heart of my problem. I can control the overclock by setting the jumper on the CT479, but, as you suggest, the CPU runs several degrees cooler at 1.15 than it does at 1.34. Because I'm using it in a P4P800-VM, I need to achieve that with software. I can do that manually each time I boot, but because my son who will be using the computer is disabled, I want it to happen automatically.

There are two ways I've tried to accomplish this. One is to use multiplier management and set the Vcore to 1.15 in all three states, and leave the multiplier alone (or change it), but this doesn't seem to work. The second is to use the P-M choice under Function and opt to create a shortcut on the desktop. In either case, the shortcuts don't work whether I use them immediately or put them in the Startup folder; when the computer is restarted, it just reverts to 1.34 volts.

If anyone can make either of these work, I'd very much appreciate hearing about it.

ejsinke
Posts: 2
Joined: Fri May 06, 2005 2:01 pm

Re: Undervolting an Athlon64 under linux

Post by ejsinke » Fri May 06, 2005 2:09 pm

andi77 wrote:Hi,
Since I've read some questions here concerning undervolting under linux:
I've successfully patched my kernel (harmless, 1 to *say* 3 or four lines in
the "powernow-k8.c" module) so that my athlon 64 notebook (3000+) runs at:
1800 MHz 1.15 V (was 1.5V)
1600 MHz 1.05 V (was 1.4)
800 MHz 0.8 V (was 1.1)
Net effect: 20 (!) degrees less CPU Temp. at full load and a mostly silent fan.
Individual minimum stable voltages will vary. The easiest way to get them is to play around with CrystalCPUid (under windows - risking some bluescreens) and then change the kernel.
If interested, just notify me.

greetings
Andreas
Hi Andreas,

Can you tell me which lines you changed in the powernow-k8.c file? I'd like to experiement with the voltages as well. My kernel source is 2.6.11 and the Winchester is detected as follows:

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)
powernow-k8: 0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
powernow-k8: 1 : fid 0xa (1800 MHz), vid 0x6 (1400 mV)

I would like to lower the idle & maximum voltages if possible.

Thx in advance,
Erik

andi77
Posts: 3
Joined: Thu Apr 28, 2005 8:23 am

Post by andi77 » Sat May 07, 2005 12:06 am

Hi,
In the function powernow_k8_cpu_init_acpi, look for the following lines:
for (i = 0; i < data->acpi_data.state_count; i++) {
u32 fid = data->acpi_data.states[i].control & FID_MASK;
u32 vid = (data->acpi_data.states[i].control >> VID_SHIFT) & VID_MASK;

....right after the last line above, insert e.g.:
if (vid == 0x02) vid = 0x10;
if (vid == 0x06) vid = 0x14;
if (vid == 0x12) vid = 0x1e;


The general formula is
Voltage = 1550 -25 * vid (in millivolts), so that the above lines change
1500 mV -> 1200 mV, 1400 mV -: 1050 mV , 1100 mV -> 800 mV.
Your mileage (stable voltage) may vary. Since you've got a Winchester,
you should get lower stable voltages than I get for my Newcastle.
For your given values (really only two states ?), I'd give 900 mV at 1000 MHz and 1100 mv at 1800 MHz a try (would be vid 0x1a and 0x12, respectively). If questions remain, just ask again.

good luck
Andreas

ejsinke
Posts: 2
Joined: Fri May 06, 2005 2:01 pm

Post by ejsinke » Sun May 08, 2005 10:39 pm

andi77 wrote:Hi,
In the function powernow_k8_cpu_init_acpi, look for the following lines:
for (i = 0; i < data->acpi_data.state_count; i++) {
u32 fid = data->acpi_data.states.control & FID_MASK;
u32 vid = (data->acpi_data.states.control >> VID_SHIFT) & VID_MASK;

....right after the last line above, insert e.g.:
if (vid == 0x02) vid = 0x10;
if (vid == 0x06) vid = 0x14;
if (vid == 0x12) vid = 0x1e;


The general formula is
Voltage = 1550 -25 * vid (in millivolts), so that the above lines change
1500 mV -> 1200 mV, 1400 mV -: 1050 mV , 1100 mV -> 800 mV.
Your mileage (stable voltage) may vary. Since you've got a Winchester,
you should get lower stable voltages than I get for my Newcastle.
For your given values (really only two states ?), I'd give 900 mV at 1000 MHz and 1100 mv at 1800 MHz a try (would be vid 0x1a and 0x12, respectively). If questions remain, just ask again.

good luck
Andreas


Hi Andreas

added the following lines to the file powernow-k8.c :

for (i = 0; i < data->acpi_data.state_count; i++) {
u32 fid = data->acpi_data.states.control & FID_MASK;
u32 vid = (data->acpi_data.states.control >> VID_SHIFT) & VID_MASK;

if (vid == 0x06) vid = 0x12;
if (vid == 0x12) vid = 0x1a;


dprintk(" %d : fid 0x%x, vid 0x%x\n", i, fid, vid);

removed the temporary files and compiled the powernow-k8 module again. It however still switches between 1400 mv & 1100 mv. If I look with lm_sensors it even says 1.45 & 1.15 volt.

In the dmesg it also says:

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.00.09e)
powernow-k8: 0 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV)
powernow-k8: 1 : fid 0xa (1800 MHz), vid 0x6 (1400 mV)
cpu_init done, current fid 0xa, vid 0x4

Notice that it says vid0x4 (which would correspond to 1450 mv if I'm not mistaken).

Could this be a bios issue that you know (running an asus A8V with bios 1008)

Thx Erik

andi77
Posts: 3
Joined: Thu Apr 28, 2005 8:23 am

Post by andi77 » Mon May 09, 2005 12:02 am

Hi,
Not that I'm neither a hardware nor a kernel expert. If "my" solution doesn't work,
there is bound to be a solution that works for you, too.
It might be a kernel-configuration issue (?). The block of functions I messed around with
is wrapped by
#ifdef CONFIG_X86_POWERNOW_K8_ACPI
Anyway, you definitely have understood how this fid-vid thing works in principle.
Maybe, you can change fid-vid pairs directly inside the BIOS. I resorted to a software solution only because my notebook has no advanced BIOS options whatsoever.
Have a look at http://www.hardwareluxx.de/cgi-bin/ubb/ ... 000059&p=7
...it's in german, but the BIOS setup screenshots are in english.

good luck
Andreas

donut
Posts: 6
Joined: Mon Apr 11, 2005 1:29 am

Post by donut » Mon May 09, 2005 10:34 pm

ejsinke wrote: if (vid == 0x06) vid = 0x12;
if (vid == 0x12) vid = 0x1a;
From the dmesg output you pasted, I don't think this is the problem, but your code here has a bug.

If the vid is 0x6, it will set it to 0x12, and then the second if statement will immediately set it to 0x1a.

Try:
if (vid == 0x06) vid = 0x12;
else if (vid == 0x12) vid = 0x1a;


Regarding your problem, are you sure your new module is even the one being used? I would add an extra print statement in there, something like:

dprintk("This is the new module.\n");

Then check the dmesg output to see if that text appears.

Post Reply