-
RealTemp 2.90 RC4
http://www.fileden.com/files/2008/3/...alTempBeta.zip
I've decided to re-work the RealTemp code that displays the cpu multiplier. It's easy to read the multiplier from a Core CPU but waking a CPU up to ask it what multiplier it's at, or was at, can change the results. It might be asleep at 6.0 for 99.99% of a sample period but waking it up to read it could cause it to jump up and report 9.0 or some other number.
Intel provides counters in Core 2 and Core i7 processors and shows an easy method that can be used to accurately and quickly compute the average multiplier during a sample period.
When I first saw CPU-Z reporting a multiplier of 22.5 for rge's Core i7-940, I thought it was a bug since I can't find any Intel documentation that shows half (0.5) multipliers exist for Core i7. I think the half multi only exists in the 45nm Core 2 series.
After thinking about this for a while I've decided to join CPU-Z and also start reporting half multipliers for both Core i7 and Core 2. Technically, they may not be 100% accurate but I think they do provide users with some additional and useful information.
RealTemp used to round off multipliers to the nearest whole number for Core i7. When the Turbo mode would first start to become disengaged on some Core i7 motherboards, CPU-Z would start to show a half multiplier like 22.5 while RealTemp would continue to show 23.0. It may be impossible for a Core i7 CPU to be at a multiplier of 22.5 but reporting that does inform a user that something is going on and Turbo mode is no longer fully engaged. I have to agree with CPU-Z that a 0.5 multi in this situation is useful information. On some Core i7 motherboards as you reach the thermal wall, the multiplier will oscillate between 22 and 23 as Turbo mode kicks in and out. RealTemp can measure the exact multiplier so rounding off to the nearest 0.5 multiplier seems like a good idea.
When playing around with my Q6600 I also noticed that when software reports a single number for the multiplier, it may not be telling you what's really going on. Depending on Windows power settings, I found that one Dual Core in my Quad could be fairly steady with a 9.0 multiplier while the other Dual Core was mostly at 6.0. Software that reports either 9.0 or 6.0 may not be telling the whole story. Here's an interesting example.
My Q6600 can be tricked so one of the dual cores runs with a 6.0 multiplier while the other one is set to a 9.0 multiplier even at full load running Prime. I used CPU-Z to read one core from each dual core. My picture shows the confusion but RealTemp comes to the rescue. It averages the multiplier for all cores and reports 7.5. If one dual core is running at 2000 MHz and the other one at 3000 MHz then the average is reported as 2500 MHz with an average multiplier of 7.5.

That sounds a little weird but I think this accurately tells a user exactly what's going on inside their CPU. This code that was originally designed for the Core i7 guys also provides useful information for Core 2. If you see your multi jumping all over the place at idle in RealTemp, that's a sign that your bios and Windows power settings are fighting against each other.
I've also made a few changes to the MHz for much better support of the mobile processors. Metric gave me a
for getting his P8400 right now.
------------------------------------------------------------------------
jerreece: Intel told the world that the Q6600 has a TJ Target of 90C and that TJMax might actually be higher than that number. With this new play on words, I guess TJMax could be just about anything.
The Q6600 G0 is a popular processor so I bought one, retail box, and tested it with an IR thermometer. For my CPU, there isn't a snow ball's chance in hell that it is TJMax = 90C. rge's extensive testing showed that the core temperature has to be about 5C hotter than the IHS temperature. Things cool down very quickly as you move even a small distance away from the hottest point on the core so that sounds reasonable to me.
When the IHS of my Q6600 measures 80C, to get RealTemp to display 85C, I have to use TJMax = 100C. If I use TJMax = 90C then my core temperature is going to be displayed as being 5C cooler than my IHS surface temperature which is impossible. If TJMax = 95C then the reported core temperature and the measured IHS temperature would be exactly the same which isn't very likely either. It makes the most sense if the core creating the heat is hotter than the IHS.
Intel has also stated that TJMax is not a fixed value. It varies from one CPU to another even with the same model number but they haven't stated how big the range of TJMax might be for an individual processor. This range seems larger for 45nm than 65nm but I'm just guessing at that.
Last edited by unclewebb; 12-25-2008 at 11:16 PM.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
Bookmarks