While browsing through the USENET newsgroup alt.comp.periphs.mainboard.asus,
I noticed some people talking about how when using 1004a their CPU would run
hotter than when using 1003. Somehow this was related to a Bios setting called
"PCI Master Read Caching" and using the HLT command on the CPU when
it is idle. I am not aware of any reliable info, so I decited to create some.
Today I got an industrial temperature probe and affixed it's
tiny sensor on the bottom side of my heatsink,about 0.5 mm away from the CPU
core die. This should get us some reliable temperature readings. I don't like
the idea of the motherboard measuring the CPU temperature from a distance of
about 0.5 cm with only air inbetween. This has to be unreliable.
So, here are my recorded temperatures:
|Viewing MPEG4 Video
|Encoding MPEG4 Video
All Temperatures measured as described above. Windows98SE,
Duron 700 @ 900Mhz, Core Voltage 1,73V, Titan Majesty 5 Heatsink/Fan (same
as Chrome Orb), ambient temp. ~23°C
So far, so bad. 1004a definitely gives higher temperatures
during normal work than 1003.
Keep in mind that these temperatures are from a overclocked
processor at a core voltage much higher than default - and using a very good
heatsink. Actual temperatures with standard CPUs and heatsinks will vary,
but the tendency is the same !
By the way : In my case the A7V onboard temperature sensor showed all temperatures
about 7°C too high
But what causes this difference between BIOS versions ?
My guess is that 1004a treats the CPU different when it's idle.
There was some info in the newsgroup on reprogramming registers to fix this,
and also reports of the temperature getting higher after having been in suspend
mode. A page dealing with this is here
That's as far as I remember microprocessor lessons at school
(hey, that's some years ago-correct me if I'm wrong. Just post in the
When the CPU is idle, basically Windows 9X makes it do NOP
commands all the time. (NOP = No Operation in Assembler). So it is very busy
doing nothing many times a second. Windows2000 or NT does a cleverer thing.
When it sees that the CPU is not doing anything, it stops it by issuing a
HLT (=halt) command. The CPU now is partly shut down (thus creating less heat)
and sits there waiting until something has to be done.
My guess is, that 1003 enables this HLTing by default, while
1004 for some reason doesn't.
Well, some people have thought about the HLT in windows 9x before.
They created programs like CPUIdle or
Waterfall or Rain, which use the HLT in a manner similar to the one described
above for windows NT/2000.
I decited to have a look at those, perhaps they could enable the HLT while
||1004a with CPUIdle
||1003 with CPUIdle
|full load (MPEG4 encode)
So CPUIdle does not help decrease the temperature with 1004a.
But more interesting, when using it with 1003, the temperature increases dramatically,
almost up to the values of 1004a. I guess, CPUIdle is not compatible with
the Duron, yet :-) I have checked the author's
website, all i found was that CPUIdle was not designed for Athlon, Thunderbird
or Duron CPUs. Perhaps this is why it causes trouble...
Meanwhile I recommend not to use CPUIdle or any similar utility
with A7V and Duron.
Update : At http://www.podien.onlinehome.de/CPUCOOL.HTM
there is a program that at least doesn't rise 1003 temp. In my case it didn't
lower 1004s temp either, but there are reports that it (or to be more precise,
ctspd, which includes a .vxd from this program) does. See here
or here for details.
The last thing to investigate is the "PCI Master Read Caching".
This is a quick one :
||1003 PCI M.R.C. disabled
||1003 PCI M.R.C. enabled
||28°C (as in the first table)
So this Option is a "must enable" for everyone.
In the 1003 BIOS Setup set the following : Advanced - CHIP Configuration
- PCI Master Read Caching : Enabled
All Bioses from 1004 up to the most recent1006 have the cooling disabled.
Read here how to enable it ...
By the way, 1003 HAS one unsolved issue, as far as I know.
In Windows 2000, one the secondary channel of the VIA chipset integrated ATA/66 IDE Controller does not work.