CPU-IDLE:
CpuIdle runs a HLT command in an idle priority thread under Win95/98.
That
allows modern microprocessors to save power and stay cool. Great
for
overclocking.
CpuIdle's is also the best and most complete CPU optimizer for Win95/98
that
exists. Most CPUs include performance increasing options that are disabled
by
default. CpuIdle activates them all!
Due to CMOS technology in which modern microprocessors are manufactured
they
do not only consist of transistors but also capacitors and resistors.
The
resistors create heat that must be conducted away from the processor.
This is
easier with higher temperature gradients. It is for that reason that
microprocessors are not only equipped with large heat spreaders but
also
actively cooled with fans or Peltier cooling elements. Higher temperatures
worsen parasitic effects like elektromigration or oxide breakdown that
might
eventually lead to failure. A temperature increase of 10 degrees
centigrade
means halfed lifetime for chips. This not only holds for the
microprocessor
but also for the voltage regulation module (VRM) that supplies the
IO- and
core voltages. Especially out-dated or cheap mainboard designs employ
passive
VRMs that generate additional heat in the PC.
Under normal circumstances the CPU isn't always active but spends much
time
waiting for the keyboard, harddisk or CD-ROM. What would be more logical
than
to turn off the CPU for that period? That's exactly what the HLT machine
instruction (Opcode F4) does. Whenever the CPU encounters a HLT
instruction
the clock is halted and the CPU enters suspend mode until an interrupt,
NMI or
reset happens. With the advent of power saving microprocessors like
the Cyrix
Cx486S the instruction acquired an additional property. When "Suspend
on HLT"
is enabled in the configuration register the processor not only
stops on HLT
but also enters the power saving suspend mode.
Modern operating systems like Linux or Windows NT execute the HLT
instruction
in an idle priority thread. This thread is always executed when-
as the name
implies- the CPU is otherwise idle. Therefore no additional execution
time is
needed, the CPU will not run slower. This does not hurt performance
since the
CPU controls the powering-down of specific internal parts by hardware-control,
so there's no software intervention needed for explicitly re-enabling
a
powered-down part (cited from set6x86 readme by Koen Gadeyne).
Using this feature the power consumption at the Windows NT prompt can
be-
according to German c't magazine- 2.1A (K6-166) to 5.3A (K6 233) lower
than at
the DOS prompt. With Intel processors the power saving is lower but
also
measurable. For Cyrix the "Suspend on HLT" feature must first be enabled
if
the BIOS does not provide support. That can be done with tools
like cx86 from
http://www.heise.de/ct/ftp or set6x86.
Unfortunately, Windows 95 does not support HLT. To remove this limitation
CpuIdle provides an idle thread executing HLT for Windows 95. Since
HLT is a
privileged instruction it can only be executed on ring 0 whereas normal
Windows programs run on ring 3. CpuIdle uses a virtual device driver
(VxD)
that can run on ring 0 to execute HLT.
On the test system (K6-200) the temperature as measured below the fan
could be
lowered by more than 10 degrees centigrade when Windows was idle.
CpuIdle can and does by default enable the following features on your
CPU:
| P5 / P5MMX | K5 / K6 / K63D | M1sc/ M1 / M2 | IDT C6 | |
| Write Allocation | Yes | Yes | ||
| Auto HLT
Low Power on HLT Suspend on HLT |
Yes
Yes (MMX) |
Allways On | Yes | Yes |
| No Locking | Yes | |||
| Weak ordering | Yes |
Supported Hardware
AMD:
CpuIdle should work instantly with AMD Microprocessors K5, K6 and upcoming
K6-3D and
K6+ 3D. All AMD CPUs have built-in "Suspend on HLT" that
is always enabled.
Intel:
Modern Intel P5, P5MMX, PPro and PII type processors are supported.
With the
P5 Intel introduced "Suspend on HLT" for it's CPUs. This features
is hardly
documented and by default disabled (shame on all BIOS programmers).
To my
knowledge CpuIdle is the only software that uses this feature.
When this
feature is enabled additional 1.8 Amperes can be saved. Without enabled
AutoHalt (that's how it's called) Intel CPUs will still run cooler
with
CpuIdle but from the table below you can see that the power (and
temperature)
savings will be lower than for AMD or Cyrix processors (these
values are taken
from c't magazine without AutoHalt enabled).
Note: AutoHalt means the same like "Suspend on HLT"
Cyrix:
Cyrix M1SC, M1 and M2 have a "Suspend on HLT" feature that has to be
enabled
by software or via BIOS setup. When run without command line switches
that
override the default settings CpuIdle enables "Suspend on HLT" by default.
With the same procedure it should also work with 486 Cyrix, TI and
IBM models.
"Suspend on Halt" for Cyrix compatible CPUs:
The following processors should all be supported by CpuIdle if the "Suspend
on
Halt" (Bit 3 in Configuration Control Register 2 - CCR2) is enabled.
CpuIdle
enables this feature by default.
Cyrix Cx486S/S2/D/D2/DX/DX2/DX4
IBM BL486DX/DX2 (Blue Lightning)
TI TI486DX2,TI486DX4
Cyrix Cx5x86 (M1SC), IBM 5x86
Cyrix Cx6x86 (M1), IBM 6x86
Cyrix Cx6x86MX (M2)
My Opinion:
CpuIdle uses only few percent of you system speed and can give your
CPU a longer life.
You can also have a FPU performances increase
under Dos if you have a P200 MMX.
I didn't notice any bugs with Win95 or Dos7. But you may have some
problems with your motherboard if it is a VX.
(Personnaly I use a 430VX chipset on my motherboard, No problem !
:-)
The HLT feature can be used with lots of different CPUs (486, 586, 686).
The temperature of your CPU is very important and if you want to overclock
it you should use CpuIdle because you can use it for free, you don't need
to buy a better fan or heatsink.
A too hot processor can have electromigration problems and you could
see some bugs (during some months)before the die of your CPU.
If you want a good CPU to overclock you should go fot a K6 3D 233 and
ovck it at 262.5 (3.5x75) or 292 (3.5x83.33 if you are lucky, be carefull:
don't kill your CPU), you will have a really powerfull computer for a low
price !!!
I also imagine the futur CPUs like K6+ 3D 400Mhrz or CyrixCayenne 400Mhrz
overclocked at more than 500Mhrz without any need of a new big Fan+Heatsink
but only a free software named CPU-IDLE.
If you try this software: Please let me know how it works (Temp, Cpu, Bugs?, ...)
Some persons say that if you use it you will loose lots of your computer
performances.
Yes, but you loose less than 3% on a iP200MMX.
I think an overclocked processor will react the same as a non overclocked
processor at the same frequence.
ex: P200MMX perfs with CpuIdle= P166MMX overclocked at 200Mhrz with
CpuIdle.
Because CpuIdle doesn't take care of the bus speed. It only give orders
to the CPU to HaLT, and CPUs Halt at the same speed (they have the same
frequence ex:200Mhrz).
What for ?
If your central processor unit is underused you will see a real difference
between: CpuIdle ON and CpuIdle OFF, because when your CPU doesn't have
anything to do it HalTs.
But if you overuse it, your CPU will not have time to wait: no time
to HaLT, no important effect.
Because your CPU is often busy.
It is why the results of the test given in readme.txt are not really
applicable to reallity.
(my test has been made with Quake which
is a 3D game, so I only try to show how much CpuIdle slows down your PC
and this test doesn't show the gain of temperature).
OFFICE WORK: use it you will see a difference.
3D GAMING: you will see no real difference.