Turned off AMD "Cool 'n Quiet", Idle Temps Drop 10c
Kris Asick

...yeah. The special AMD processor feature which allows the multiplier to be adjusted thousands of times a second in order to reduce power consumption when raw processing power isn't needed was raising my idle temps by 10c. Before now, my idle temps were 40c. Now, after disabling this feature in the BIOS, they're 30c. :o

Considering heat is a factor of how much power is being utilized, I think it's safe to say that this "power saving" feature wasn't exactly doing as such on my new Windows 8 Pro x64 system for whatever reason, even though various utilities were reporting fluctuating CPU speeds down to under half of the 4 GHz my AMD FX-8350 is capable of. With this feature off, the speed is now constantly slightly over 4 GHz, usually 4.09, though it goes up to 4.13 under load. (And yes, it's set to 4000 MHz in the BIOS with all overclocking features disabled, so it must be the CPU itself deciding to go a little higher.)

Disabling this feature also improves performance with certain applications and games, while everything that was working fine prior is continuing to work the same as before.

*shrugs* :P

Arthur Kalliokoski

I don't notice any difference in temp, I was assuming that the sleep cycle was shorter when the frequency was down. It still has to do a certain amount of work per second, after all, unless a CPU hog is taking all it can get.

Kris Asick

*shrugs again*

I'm going to guess it has something to do with my specific combination of hardware and software. Still, disabling it did improve performance with various things that didn't normally demand heavy amounts of CPU power, especially Flash-based stuff.

Plus, I also enabled something in the BIOS called "High Performance Computing" or something like that, which also boosted overall performance but this time for things that SHOULD have been getting maximum power. For instance, my framerate in Minecraft became a more steady 60 FPS after enabling this, whereas beforehand, it would still normally be 60 FPS but would fluctuate down to 58/59 at random moments that weren't chunk-loading related.

I tried disabling C1E as well, but this didn't really seem to do much of anything and from what I understand I really shouldn't be messing with the C-states if I intend to allow my computer to drift into sleep mode, so I turned it back on.

Thomas Fjellstrom

The HPC option is supposed to crank everything up to 11. No CnQ, no down clocking, no idle sleeping. Just pure unadulterated MegaHurtz(™)

Arthur Kalliokoski

no idle sleeping

What? It's running on DOS?

Thomas Fjellstrom

What? It's running on DOS?

Eseentially thats what HPC people want. They want every single clock cycle they can get. Low latency is important as well, and those sleep functions really mess up latency.

Arthur Kalliokoski

I was under the impression that the task switch took control via an IRQ tied to the system timer, and the "hlt" instruction returns the cpu upon receipt of an IRQ? If it's virtualized it might take 300 cycles or so every task switch, assuming the scheduler switches 100 times a second, that'd be 30k cycles out of 2 or 3 billion, hardly worth worrying about.

Thomas Fjellstrom

I'm saying the CPU doesn't sleep, not that individual processes don't sleep.

Except that with HPC clusters the processes most likely won't ever want to sleep.

There are some very new linux kernel features that allow you to run a single process on a single cpu, and turn off the OS timer on that cpu, so theres absolutely no scheduler interrupts or any kind of OS jitter.

Arthur Kalliokoski

I'm saying the CPU doesn't sleep, not that individual processes don't sleep.

So what happens when no process needs the CPU? It gave the text editor a slice, but the editor is waiting on a keystroke, the database is waiting on the hard disk, the web page is waiting on packets, so the OS spins in a busyloop?

{"name":"607765","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/6\/26a6343b801f34e2cccfba4132c01793.png","w":810,"h":624,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/2\/6\/26a6343b801f34e2cccfba4132c01793"}607765

Elias

Under Windows the process list also has a "System Idle Process" which would use up all the CPU not used by anyone else.

Arthur Kalliokoski

But since the temperature goes down when System Idle Process is predominant, it must be halting the CPU. I remember reading about Win95 being slammed for not using the hlt instruction, and the explanation was that a major motherboard manufacturer product would crash when the hlt instruction was encountered. Funny nobody else had trouble with it.

[EDIT]

Quote:

But since the temperature goes down when System Idle Process is predominant, it must be halting the CPU.

Also when you're watching Resource Meter in Windows in a VM while you're watching top or whatever in the host OS.

Thomas Fjellstrom

So what happens when no process needs the CPU? It gave the text editor a slice, but the editor is waiting on a keystroke, the database is waiting on the hard disk, the web page is waiting on packets, so the OS spins in a busyloop?

My guess is the CPU is still spun up, but doing nothing. Meaning its not in any sleep state. So it'll be ready for any code right away.

Arthur Kalliokoski

My guess is the CPU is still spun up, but doing nothing.

Unpossible. It's either in a halt state, or executing code of some kind. I suppose it could be slowed down to 33Mhz and put into a busyloop or something, but I really doubt it.

Thomas Fjellstrom

I meant its not in any kind of C sleep state. a HLT doesn't really save any power. It won't put any of the silicon to sleep. It's just idling.

Arthur Kalliokoski
Thomas Fjellstrom

http://en.wikipedia.org/wiki/C_state#Processor_states

And one thing I didn't know till just now, is that HLT/Idle is a sleep state, C1. Interesting.

Anyhow, I think C1 is about the lowest HPC people would like it to go. And I think it may be possible to even disable C1. Just because the CPU has nothing to execute, doesn't mean it's powered anything down.

Arthur Kalliokoski

I never heard of those Cx states until just now, but I'd assume C2 and C3 are associated with "entire computer goes to sleep" type deals.

But how could a CPU "not execute anything" without being powered down? (or stopping its internal clock, which should be the equivalent). I ought to see what happens to the RDTSC count when halt is executed on DOS. Of course the 55 millisecond DOS timer interrupt will stop the hlt 18 times a second, so I'd have to have a loop with a hlt instruction in it between the start and stop times.

Thomas Fjellstrom

No, I don't think C2 is part of "entire computer goes to sleep" type deals. C3 looks like it's used in Suspend to RAM though, but I don't think its required that you tie a C state to a specific sleep type.

Each sleep state just takes longer and is more complex to come back out of.

But how could a CPU "not execute anything" without being powered down?

I imagine it'd behave like a pipeline stall. There's no new instructions to decode or run, so it just sits there. Probably can put itself into C1 at that point, if allowed.

Arthur Kalliokoski
Wikipedia said:

The execution stage of the pipeline must always be performing an action. A bubble is represented in the execution stage as a NOP instruction, which has no effect other than to stall the instructions being executed in the pipeline.

Emphasis mine, although I've never gotten this far into it before.

Thomas Fjellstrom

I honestly don't know how its actually implemented. But hey, the C1 state exists, and at that point nothing is running.

Arthur Kalliokoski

The way I understand it, a CPU has a clock (the RDTSC cycle count clock), and its purpose is to "halt" everything at certain nanosecond intervals to allow the electrical impulses to stabilize to high and low states before the next sequence of microcode starts a new wave of activity to continue processing. I'd guess that a HLT instruction stops this clock, but the assembly language NOP instruction is simply an assembly language alias for XCHG AX,AX. I don't think that's what the pipeline stall NOP is, but I can't see how circuits could easily be set to ignore the "start" impulse from the clock.

Kris Asick

Wow, I really got you two going. ::)

There's actually more C-states than just 0 through 3, however those first four are the most important ones. Some BIOSes allow each state from 1 onward to be enabled or disabled. My BIOS only allows the enabling or disabling of C1 and C6. I believe C6 is specifically for sleeping individual cores when they're not in use, but my cores are constantly all in use so I doubt it's actually doing anything on my system. Plus, don't quote me on that one as I'm not 100% sure.

Some people swear that you need to disable the C-states for performance, others say that you should leave them on since sleep mode won't function properly if you turn them off. Enabling or disabling them is more important for overclockers in order to keep voltage changes from being as dramatic or as frequent, but for typical users there's no reason to turn them off at all, unless you intentionally want to handicap your system. ;)

The point to this whole thread though is that my CPU idles noticably cooler yet performs better than it did before by turning OFF AMD's trademarked power saving feature and I still find that ironic and stupid. :P

Thomas Fjellstrom

The point to this whole thread though is that my CPU idles noticably cooler yet performs better than it did before by turning OFF AMD's trademarked power saving feature and I still find that ironic and stupid. :P

Could be anything really. CPU glitch, BIOS glitch (most likely).

Kris Asick

Oh wow... this just got EVEN BETTER! :D

I just started doing some video conversions for the next episode of my web show. They're processing at the usual speed... but using a THIRD of the amount of CPU power! :o

So... that actually has me partly concerned. It means my codecs aren't configured for proper multi-threading, since only one core is being utilized for the conversion right now, but at the same time, when I had AMD Cool 'n Quiet enabled, ALL cores would be used, CPU usage would hit an overall 67% instead of the current 22% overall, yet would process at the same speed...

Well, the good news is that now that I know this is going on, I can attempt to find the right settings to utilize more cores and get more speed out of my video conversions. The bad news is that it further proves how power-hungry AMD Cool 'n Quiet really was. :P

Thomas Fjellstrom

The bad news is that it further proves how power-hungry AMD Cool 'n Quiet really was. :P

It really doesn't. I have never heard of this sort of thing ever happening. I'd have expected something as annoying as this would have blown up all over the internet by now.

Kris Asick

Well, the only other change I've made in the BIOS is turning on the High Performance Computing option. While I fiddled with some of the other settings I ultimately left them in the state they were originally in.

...you know, it could be a motherboard or OS thing. I am using Windows 8 Pro, not the standard Windows 8, plus the motherboard itself is the ASUS Sabertooth 990FX R2.0, which isn't THAT old. Maybe my specific combination of hardware and software is to blame? Or maybe because most people with AMD FX-8350 chips are power users they don't even care to notice this sort of thing and just figure their CPU usage numbers are high so they must be getting a lot of power out of their systems? *shrugs*

Regardless of anything: Turning off AMD Cool 'n Quiet boosted performance of certain programs and reduced overall CPU usage and idle temps on my computer. That much is certain. ;)

Arthur Kalliokoski

Maybe they have the text for the setting backwards in the BIOS. :o

Thomas Fjellstrom

Yeah, I'm not saying you're wrong about what you've seen. I just don't think its an absolute thing. More like a quirk of your system.

Could try updating your bios.

I actually had to update my bios when I got my FX-8320. The board wouldn't see it at all. So I re-installed my old Phenom II 810, updated the bios, and installed the FX (again).

Kris Asick

Maybe they have the text for the setting backwards in the BIOS.

That was my very first thought when I noticed this. However, the CPU frequency is constantly reported as being just over 4 GHz when Cool 'n Quiet is off, whereas if it's on, the CPU frequency fluctuates all over the place, getting almost as low as 2 GHz at idle.

Yeah, I'm not saying you're wrong about what you've seen. I just don't think its an absolute thing. More like a quirk of your system.
Could try updating your bios.

I'd lean more-so towards quirk.

I looked into BIOS updates as well. There's only one update newer than what came pre-installed, and all the update does is fix something related to hard drives when using Windows XP. :P

MiquelFire

I am using Windows 8 Pro, not the standard Windows 8

You can only install Pro on a computer anyway. The standard Windows 8 is for ARM based systems, and normally you can only install one OS on those anyway (iOS/Android/etc).

Kris Asick

You can only install Pro on a computer anyway. The standard Windows 8 is for ARM based systems, and normally you can only install one OS on those anyway (iOS/Android/etc).

Uh... you're thinking of Windows RT. :P

Windows 8 for PCs comes in three flavours: Windows 8, Windows 8 Pro, and Windows 8 Enterprise, that last one only being available through volume licensing.

Thomas Fjellstrom

I looked into BIOS updates as well. There's only one update newer than what came pre-installed, and all the update does is fix something related to hard drives when using Windows XP. :P

Never ever ever believe BIOS update change logs are even remotely complete, or honest.

I've had bios updates claim they do one thing, and fix a crap load of things.

MiquelFire

I didn't know Windows had editions beyond RT and Desktop. Shows you how much I care.

Thomas Fjellstrom

Windows is one of those pieces of software that comes in a billion different SKUs. Every time people think MS is about to simplify it, MS tends to announce even more SKUs for it.

Kris Asick

Never ever ever believe BIOS update change logs are even remotely complete, or honest.

I've had bios updates claim they do one thing, and fix a crap load of things.

This doesn't really surprise me, but for the moment, the thing's working fine so I'm not gonna bother doing a flash.

One thing that's really cool though is that my motherboard can actually flash from USB directly while the system is off and plugged in. This way, in the unlikely event the BIOS gets messed up from a prior flash, you can load a BIOS update onto a USB stick, flash the BIOS directly from the stick, and get everything working again. :)

Thomas Fjellstrom

Yeah, some of those motherboards are damn cool. They can boot into the flash utility without a regular CPU installed. I imagine they have a more complicated system controller. Maybe a MIPS or an ARM based mCU to handle that.

Thread #612929. Printed from Allegro.cc