SMBus Palomino Internal Diode Reader Part 2
Written by pHaestus
Added on: January 08, 2002
I am using an Asus A7V-133 motherboard (rev 1.04) and the latest bios (1007-01F) because it is the only board I have with a SMBus header. This motherboard seems to have some issues with XPs. I can't get jumperfree mode to work as it detects the CPU as a 10.5x100 fsb chip and doesn't allow for fsb adjustment. Also, the jumpers on the motherboard don't seem to supply the voltage that is listed in the manual. And finally, the CPU won't cold boot; it has to be reset after powering it on and then it fires right up. Everything seems to be stable in Windows, so I am not too concerned about it. If anyone has any info on stabilizing the system though please send me an e-mail.
I was using an Athlon XP 1600+ CPU either at 1400 MHz or 1050 MHz and with a voltage ranging from 1.65 to 1.85. To put the system under load, Prime95 was used.
Below is a typical graph from my testing. This is a Dynatron 1U cooler being used with an XP at 1400 MHz 1.75V. For the graphs, Ambient refers to the reading from a thermistor placed 1" above the intake of the heatsink's fan that was dangling above the center of the fan as per AMD's recommendation. Case temperature is the temperature of the onboard System temp probe on the Asus.
There are several things to note about this graph. First of all, the Asus motherboard normally doesn't allow CPUs to fully idle; AMD states huge swings in temperature and power consumption are bad for system stability. As a result, the idle CPU temperatures after boot are about 45C. However, after about 5 minutes I opened WPCREDIT and set register 52 to EB and allowed the CPU to fully go idle. The internal diode immediately plunged to room temperature, but the motherboard's CPU probe seems to stabilize at around 36C. You can also see that the response to temp changes is far slower with the motherboard probe. The CPU temperature SHOULD be at room temperature when the CPU is 100% idle; I suspect that the in socket probe of the Asus is either being warmed by the capacitors around the socket or else it has a built-in offset. Next, you can see that when Prime 95 is started that the diode very rapidly jumps to a stable load temperature. Response of the in socket probe is again poor, and the temps are off by 4C. Finally, after 30 minutes Prime 95 was stopped and you can see that the diode temperature returned to the temperature of its ambient air.
I am in the process of testing out many different heatsinks to build up a performance database. As a check for accuracy of my diode reader, I compared the results from two heatsinks that I have tested to those obtained by Overclockers.com with a CPU Die Simulator. Here are some preliminary results:
For both the Millennium Glaciator2 and the Dynatron 1U cooler, my calculated C/W values are 88% of Joe's results with a simulated CPU die. Amazingly, Benchtest.com suggests that 88% of calculated wattage is what benchmarking programs usually produce. Here is a quote from that page:
"The last item you will need is a program to "stress" your processor. I have used many programs, including games, for this purpose. I am now of the opinion that the best stress tester from the standpoint of keeping a constant high temperature and being able to reproduce the results in test after test is burnp6 (CPUBurn). I should add that Intel's program HIPWR30.exe may be as good or better, but I have been unable to get a hold of a copy. In looking for HIPWR30, I came across a post by the author of burnp6, Robert Redelmeier, where he talks about how much stress is actually being placed on the processor by his program - and I quote from the post dated 09/27/1999: "I am developing an Open Source program to test CPU stability (cooling) with P6 optimized assembler to maximize current draw, hence heat production. This way heatsinks [passive or active], interface materials, motherboard power regulators and power supplies can be stressed in a fully assembled system. I am fairly satisfied with my beta program `cpuburn` (`burnP6`) http://users.ev1.net/~redelm. I measure about 88% of the datasheet power draw through an inductive pickup. I was curious if the 88% figure was still accurate and checked out his site. I found that he is now recommending the use of a program called runprio to change the priority of running burnp6 to high. He claims an extra 5°C is generated in this mode of operation. I wrote Robert and asked what he thought the percent of power draw was when using runprio in conjunction with burnp6. He answered that it was probably not more than 90%."
This is very exciting stuff here, guys. The internal diode is apparently accurate enough to allow comparison with die simulations and presumably from user to user. This is a great thing for readers, but this accuracy may prove a problem to reviewers though, as many issues in testing methodology can appear that have previously been masked by the poor accuracy of motherboard CPU probes. Take for example the application of thermal paste. What follows are 2 test runs with a Millennium Glaciator on an Athlon XP 1600+ at 1.75V. The first run is with an absolutely awful thermal paste application. I had applied the paste with my fingertip since I was so eager to set up the diode reader, and then I had to swap out CPUs several times because the Asus had to be flashed to the new BIOS before it could post, then a wire came loose and I had to resolder. I never re applied the paste or made any effort to get the paste on properly. Here is the graph:
After cleaning the CPU and re applying Arctic Alumina properly, I tested the heatsink again with amazing results:
If you look closely at the two graphs, then you notice that the case temperature, the motherboard's CPU temp, the ambient temperature, and the room temperature are all the same for both tests. However, there is a 7C difference in the internal diode temperature under load. I reproduced this phenomenon by making an excessively thick application of Arctic Alumina, and that produced a temperature 5C higher than a proper application. You can also see in the second graph around 25 minutes where I briefly turned off the fan on the heatsink. The diode temp immediately responded (and cooled down again when I powered the fan back up) but the mobo sensor couldn't see it.
This finding brings up two important points. First of all, heatsink testing with the diode should probably entail conducting repeated tests (at least 5) with reapplication of paste every time and then reporting both the average and standard deviation. Second, if the motherboard probe cannot detect a 7C difference in temperature, then if I had to rely only on that probe for notice of CPU over heating then I would make damn sure that I knew how to properly apply thermal paste.
Well I am satisfied that the internal diode reader can accurately and reliably monitor the CPU die temp of Palominos. Skeeter is going to build one as well, so look for all of our new reviews to switch from indirect testing methods to directly recording the CPU core temperature. If you are a geek like me, then you really MUST build one of these. I have come up with all sorts of new things to test out as well as really learned about putting together electrical projects. I have also lost all remaining fear of soldering on motherboards. :)
I want to thank Peter North again for coming up with this idea and then walking me through implementing it for VyW. All credit for this great work should be directed to him; I am just a monkey with a soldering iron and a closet full of heatsinks.