• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Core i7 Turbo throttling testing tool

I think I found your problem. You weren't overclocking the hell out of it. You need to overclock them to the moon to keep the cob webs from developing in them. :roll:


:laugh::laugh: I will once it is replaced:D:D
 
Thank you for another useful tool....
 
wrathchild_67: I built the MultiBoost feature into RealTemp 3.30.

http://www.fileden.com/files/2008/3/3/1794507/RealTempBeta_330.zip

Go into the RealTemp.INI file and add this:

MultiBoost=1

I'm glad to hear that MultiBoost is working for you. Let me know if the RealTemp version works for you as well.

If you don't want to monitor your temps with RealTemp then I will consider making a simple version of MultiBoost that you can add to your startup folder so it's always running. Just ask.

Edit: I'm pretty sure that if you are using a 21X multiplier on a Core i7-920 then by default you are using the Turbo feature even though some bios versions try to make it look like you're not and you also will need to have EIST enabled as Turbo mode depends on that. Correct me if I'm wrong. i7 Turbo should show if EIST is on.

Thanks Mussels. The i7 Turbo programs work on Core 2 as well though obviously they won't be as useful.

For the Core 2 guys I wrote CStates today.

http://www.fileden.com/files/2008/3/3/1794507/CStates.zip

Nothing too exciting but if you have a laptop that is cheap with the bios features, it might come in handy.

I use Everest's desktop widget for temp monitoring, but I have no problems running RealTemp as well. No need for you to do extra work.

I'm pretty sure that if you are using a 21X multiplier on a Core i7-920 then by default you are using the Turbo feature even though some bios versions try to make it look like you're not and you also will need to have EIST enabled as Turbo mode depends on that.

On my MSI X58 Pro SLI, I can turn off EIST and then I get a special option for the 21x multiplier. This also causes power consumption and temps to rise though. Unfortunately this board has a broken feature for forcing at 21x multiplier at all times. When the power consumption of the CPU gets over a certain threshold, it throttles down to 20x multiplier, but luckily that's only when I'm running something like Prime95. The option is in the BIOS to disable this, it just doesn't work.
 
so ive been following this thread, and looking at it on ocforums too.

as per my specs i run a P6T Deluxe V2, and a i7 920, forced to 21x multi in bios, thanks to the latest one.

using your tool and a host of cpu stress tests i cant get it to drop from 21x, i mean i guess its a good thing, does it mean i haven't reached peak temperature yet? or peak TDP?

hwmonitor doesnt seem to show a correct one, it said 130w @ stock, and now it says like 152w.... for 4200mhz, i dunno.

settings at the moment are 1.35v QPI in bios, 1.30 CPU Vcore in Bios, all C3/C6 disabled, no EIST, all manual, and high performance settings in windows, which seems to have hit a harmony for keeping the 21x multi across all threads :) - this is, using i7 Turbo V8

awesome little app, and i really enjoyed the insight into i7 cpu's, and multiplier crazyness itself.

jolly good show, hope to hear more :toast:
 
wolf: CPU power consumption is proportional to the square of voltage (in theory) so being able to keep your core voltage at a reasonable level makes a big difference in preventing Turbo throttling. Not throttling is a good thing. I think the power consumption meter in Everest is more accurate.

Can someone with a Core i7-920 post a screen shot of i7 Turbo V8 at a 21X multi. I'm just curious what it shows for the EIST flag. I start by reading the Intel docs and then I have to modify what I think based on what I see actually happening on the 101 different bios versions and motherboards. Every board handles things slightly differently.

No need for you to do extra work.

I always like new projects. In this case, I have all the code tested already so all I'd need to do is do some Copy and Paste programming. That's the easiest kind. I was considering writing a stand alone .exe anyhow that runs in the background that you can add to your Startup folder or whatever. I was just waiting for some feedback on the present options available.
 
here you go buddy, and i'd love to help in any way i can with the Asus P6T Deluxe V2, as ive noticed this board has some quirks of its own, as do most, and obviously the tack of TDP throttle setting.

turbov8.png


as you can see the EIST flag is set to on and unchangeable it would seem, it is disabled in bios.
 
as you can see the EIST flag is set to on and unchangeable it would seem, it is disabled in bios.

That's exactly what I was expecting to see. Intel says Turbo and EIST are related. You can't have Turbo without EIST being enabled. Some bios versions give you an option to turn EIST off and Turbo on but obviously that's not possible. Thanks for showing me how your board handles this.
 
yeah its an odd flag to be perma-ticked, as EIST is set to off in bios, with 21x multi locked in bios, and so far locked at all times during windows (max standard deviation is 0.003, and 0.000 when running stress tests)

so yeah shes definitely not incorporating what EIST represents, hec with that ON i think ive seen as low as 200mhz..... ewwww......i got ragey sitting there watching cpu-z just bounce all over the joint.. 4.2ghz...3.6ghz...2.4ghz...4.2ghz...200mhz...2.4ghz...4.2ghz... f*dat.

always glad to lend a hand, the P6T series seems to be the most in the dark on this subject, so ill help with anything i can uncover.

first point of order, all P6T owners should update bios to the latest, to allow forced turbo multiplier (eg 21x on a 920), with a D0 920 you might get lucky enough to not hit TDP throttling, as I have :toast:
 
The EIST flag that i7 Turbo shows is being read from a bit within the processor. On Core 2 CPUs, there is no way to toggle this bit. On Core i7 CPUs, you can toggle this bit on and off but during testing it didn't seem to make any difference. That's why I left it disabled and it is read only.

FELIX at XtremeSystems has a tool called CPU-Tweaker that you can use to play around with this:
http://www.xtremesystems.org/forums/showpost.php?p=3743861&postcount=1181

He was a good guy and shared with me some information about EIST and C1. His tool lets you toggle EIST. You can test to see if it makes any difference. My tester said that on a Core i7, booting up with EIST enabled in the bios and then toggling it off using his tool seemed to have no effect. I think you need to restart i7 Turbo to get it to read this bit again after you toggle it.

I've seen some of those ultra low multiplier screen shots from CPU-Z and I'm not sure what they are showing. The minimum multiplier on a Core 2 is 6.0 and it is 12.0 on a Core i7. Run i7 Turbo and keep an eye on the calculated multiplier when playing around. I trust that more than CPU-Z at idle.

If you go into your bios and disable Turbo mode and disable EIST then EIST shouldn't be checked when you boot up. A lot of users don't yet understand that the bios might say a 21X multiplier but as soon as you start using that, you are automatically using the Turbo mode feature of the processor. To turn Turbo off you need to set a 20X multiplier or less.
 
Last edited:
If you go into your bios and disable Turbo mode and disable EIST then EIST shouldn't be checked when you boot up. A lot of users don't yet understand that the bios might say a 21X multiplier but as soon as you start using that, you are automatically using the Turbo mode feature of the processor. To turn Turbo off you need to set a 20X multiplier or less.

Thanks for the info :toast: i have done this and the EIST flag is still perma ticked :eek:

still, has not budged from 20x multi. I can provide screenshots to boot if need be.
 
Don't worry. You're not the first person with an EIST bios option that simply doesn't work. That's why I decided to report this flag. I always hear things like, I have EIST turned off but the truth is that they might have turned it off in the bios but the bios decided to ignore that request.

EIST can be turned off on a Core i7. Have a look at the first picture in this thread. That i7-950 is running on a Gigabyte board. The default multiplier is 23 and when Turbo is enabled you get either a 24X or a 25X multiplier. In his screen shot, Turbo is off and EIST is off as well.
 
That's exactly what I was expecting to see. Intel says Turbo and EIST are related. You can't have Turbo without EIST being enabled. Some bios versions give you an option to turn EIST off and Turbo on but obviously that's not possible. Thanks for showing me how your board handles this.

Well MSI has a wrench to throw in your plans. See my screenshots.

EIST and C-States enabled:
eistcstates.png


EIST and C-States disabled:
noeist.png


You're right, I can't get 22x without EIST, but 21x is Turbo as well and that does work without EIST. I wish there was some way to keep that 22x multiplier. It only goes to 22x on idle. It's completely useless.
 
Thanks wrathchild_67. That's why I like to see real world testing. Every board handles things differently.

Your first screen shot is a good example of CPU-Z misreporting the multiplier at idle. EIST drops your core voltage and your multiplier together. Your core voltage is showing that it has dropped down to 1.080 volts so your multiplier has dropped down as well. i7 Turbo V8 showing your multiplier dancing all over the place is annoying but is more accurate. EIST has the cores and threads constantly going to sleep and waking up so the multiplier is not consistent. If you went into your Control Panel and set the Power Options Minimum processor state to 50% or less, it should drop all the way down to 12.0 at idle. You might need C1 enabled as well.

Can you do a CPU-Z validation at 4409.7. One user tried this and it gave him the 4409.7 MHz but dropped his multiplier to 21.0 and upped his bus speed to 209.98 to get the 4409.7 MHz total. It knew the 22.0 wasn't correct but wasn't sure what to do after that.

rge at XtremeSystems was testing and by enabling C3/C6 he was able to get a +2 Turbo on his Gigabyte board intermittently. If you disable 3 cores in the bios, you get +2 all the time. If all 4 cores are enabled in the bios then you can only get the +2 Turbo when 3 of the 4 cores are inactive in the C3/C6 sleep state. As soon as one of them wakes up, your Turbo drops down to +1.

Without too much background activity running, he was able to get the +2 about 75% to 80% of the time. The only problem on his board was that as soon as he overclocked the BCLK by 1 MHz, the +2 Turbo was disabled so it's completely impractical for most users. Interesting to see that it exists, just not very useful.

v8248.jpg


rge ran some SuperPI 1M times to prove that he was getting more than the normal +1 multiplier and i7 Turbo V8 agreed.
 
Asus has come up with a bios for the Asus P6T v1 that gets rid of TDC/TDP based Turbo throttling.

They don't plan to release this version to the general public so if you need it, let me know. ben805 on XS cross flashed it to his P6T v2 and was getting some excellent results earlier today. He was up to 4.4 GHz at about 1.45 volts with his i7-920 multiplier locked on 21.000X for the first time ever. It used to always drop from 21.000 to 20.000 when loaded like this before.

After initial testing, Asus might release a few more bios versions for the rest of the P6T line but they don't intend to add this feature to any of their mainstream bios versions. These will all be custom bios versions that you will have to ask the right person at Asus to get your hands on them. :)

Edit: Here's some before and after testing of the new Asus bios from greenblood82 on XtremeSystems.
No more turbo throttling.
-------------------------------------------------------------------------------------------------

turbothrottling.jpg


p6tnothrottling.jpg


Hi there it's me again,

I just flashed the new bios and did some testing.
I upped the vcore a few notches higher than before and let LinX run for half an hour.

The result: no throttling at all. Multiplier always stays at 21 when under load and thats with higher vcore and higher temps than before.

One thing I noticed is that everest now shows the power value of the cpu at about half of what it has been before.
With the old bios it was around 90 watts under load and now it reads around 46 watts. So I think they modified the 0007 bios to trick the cpu so that it thinks it's running at half the power and thats what makes it not throttle anymore.
 
Last edited:
i7 Turbo 6.6

http://www.fileden.com/files/2008/3/3/1794507/Turbo.zip

The i7 Turbo tool has been updated to version 6.6. The minimum multiplier has been adjusted for the new Core i5 and Core i7 CPUs so it should be able to report the correct 9.0 at idle now.

Handy tool so if you ever use it, give this thread a bump once in a while so other users can find it.
 
Nice tool!!:toast::respect::respect::respect:
Glad to see no throttling here;)
 
Core2 Duo and i7Turbo

Hey, this is a great tool, thanks Unclewebb, the multiplier averaging really helps show what is going on but I'm a little confused with the following.

100x.png


Using Unclewebb's LoadTester program to give 50% load we can see in the above a graphical representation of EIST responding to the program's demand for work. ~50% on and ~50% off. May be I've done something wrong as looking at the graph I would have thought the average over a one second period would show ~6 but instead the calculated value is nearer 8 :confused:


Also I decided, just for the hell of it, to sample at 1000x a second.

1000x.png


Again using Unclewebb's LoadTester program but this time at 10% load, we can see what appears to be EIST being controlled to step up and down in intervals of ~15ms.

OS 32-bit Windows 7 Build 7100
Green in graphics = SuperLFM to HFM
Yellow in graphics = IDA (Turbo)
Ratio = ratio with repect to HFM
 
Last edited:
Thank you somebody for teaching me about Super Low Frequency Mode (SLFM) on the mobile chips like your P8400.

My best guess would be that if one core is loaded then the other core isn't allowed to use SLFM. When you are testing with a single threaded app, one core is going to be averaging near 9.0 and the other core might be cycling between 6.0 and 8.5 depending on background activity. If you average those two out then an average multiplier somewhere around 8.0X would make sense but don't quote me on that.

Interesting that you were able to come up with an approximation of 15ms for a SpeedStep transition. I've been telling people the multiplier can change hundreds of times a second. 15ms is about 67 times a second so if true, I wasn't too far wrong. I think the transition from 3X to 6X probably happens in one step as SLFM is either enabled or disabled but the transitions between 6X and 8.5X might be a little more gradual.

I really like your graphing of the multiplier. I've been thinking of adding a graphing feature to i7 Turbo. I already trust your graph results way more than I'll ever trust TMonitor.

I brought up a few issues I have with TMonitor to a writer at Tom's Hardware and I also introduced him to i7 Turbo. He was very interested and contacted Intel for testing and clarification. Supposedly an engineer at Intel is going to contact me someday but that was a month ago and I haven't heard from either of them since.

I came to the conclusion that maybe I need to add a fancy colored graph to my program so they can have something pretty to put in their reviews. XBit Labs wasn't quite as shy so at least they mentioned i7 Turbo in a recent review.

http://www.xbitlabs.com/articles/mainboards/display/asus-p7p55d-deluxe_8.html

I think whenever new software comes along and says something different than CPUID / CPU-Z then everyone assumes you must be doing something wrong but I don't think I've done anything wrong by closely following the Intel Turbo White Paper. It's nice to see your apps reporting the exact same thing as i7 Turbo.

Why not put some polish into your graphing program. I think something a little bigger would make it easier to see the slight multiplier variations. An option to adjust the time frame or samples per second would also be great so it's easy to see the SpeedStep transitions and their duration.

Here's some interesting testing I just did.

load50.png


With my load tester program, I can run the equivalent of 50% load on one core which on a Dual Core is an average load of ~25%. By spacing the load out so it is on/off on/off in increments of 100ms on and 100ms off, the multiplier on both cores never goes above the Speedstep default of 6.0X. I've always heard arguments in forums that Speedstep is so fast that any load on a CPU will cause the multi to instantly jump up to the maximum of 9.0X. Well, in this example, that's simply not true.

If the load is more consistent like in this next example where there is full load for 200ms consecutively:

load20.png


then the CPU is able to start using its maximum multiplier much sooner even with a much smaller average load. Interesting.

Edit: The math is interesting in this case. In theory it should be using the full 9.0X multiplier 20% of the time and the Speedstep 6.0X multiplier the other 80% of the time.

( 9.0 x 20% ) + ( 6.0 x 80% ) = 6.6

That agrees very closely with the average reported multiplier of ~6.7
A little bit of background activity kicking in likely keeps it slightly above the theoretical 6.6 value.
 
Last edited:
can some one tell me whats going on here!
i mean in a simple manner !
i just got confused!
what is this tool going to do ?
(TDP stuff what is it ? and what happens if cpu goes on throttle ? is it bad? ( i thought thats one of the features Ci7 presented! )
 
Last edited:
i7 Turbo just lets you see what multiplier each core or thread of your CPU is actually running at.

The multiplier in Intel CPUs can be very dynamic changing 60+ times per second, up and down but most software like CPU-Z only samples your multiplier once per second and reports that. The CPU-Z method is prone to errors, especially at idle and there will be situations where it is not accurate at all. I didn't like seeing that so I wrote i7 Turbo that uses the Intel approved method to calculate the multiplier in real time. It's a tool that gives you a much more accurate look at what your multiplier is really up to.

It was very handy for the extreme Core i7 users. When overclocking a Core i7-920, at full load, they wanted to make sure that their multiplier was fully locked at 21.000 but on some motherboards it was actually dropping down at full load or throttling. This is the Intel design spec when a CPU gets over loaded but the guys at XtremeSystems were not happy.

CPU-Z wasn't very accurate at reporting this throttling. i7 Turbo is very accurate and shows this problem as soon as it starts to happen. That's important information to some users. Most users don't want their CPU to throttle and slow down especially when they are in the middle of something important. Results from this tool encouraged Asus to release some special bios versions for their P6T line of motherboards for extreme users.

This program has also been used to sort out bios issues as well as C1E / EIST issues. What you enable in the bios is not always what you end up with when you are in Windows. Some power saving features don't work correctly unless you make adjustments in Windows to the Minimum processor state in the Control Panel -> Power Options in Vista and Windows 7. No one knew about this before because CPU-Z doesn't always report the idle multiplier correctly.

If you have any specific questions just ask.

TDP is the thermal design power of the chip. When overclocked and over volted running stress programs like Prime 95 or LinX, most CPUs are operating beyond their TDP.
 
Last edited:
My best guess would be that if one core is loaded then the other core isn't allowed to use SLFM.
AFAIK SLFM works by effectively halving the BUS clock internally in the CPU and this not only results in the CPU multiplier giving half the frequency but also the FSB so for that reason both cores would be tied to it. In the P8400's case the multi's seem linked except for the IDA multi so if one core is at 6x so is the other though it may be in another state other than C0.

Interesting that you were able to come up with an approximation of 15ms for a SpeedStep transition. I've been telling people the multiplier can change hundreds of times a second.
Well, in that particular instance the 15ms and two steps was I believe a result of Windows and the particular power plan in operation at that time. A higher performance plan seems to switch more aggressively. I'm not sure if the actual switching is limited to the VID transition but if it were then I would think in my case for example, changing from 6x to 9x would be 1.0000V to 1.2000V or (1.2 - 1) / 0.0125 = 16 VID steps and if each step takes 2.5uS then theoretically it should be able to switch from 6x to 9x in 16 x 2.5uS = 40uS, or if 5uS steps then 80uS. Then add settling time so maybe ~100uS to ~200uS altogether depending on regulator and caps. Don't quote me on this though.

Why not put some polish into your graphing program.
Writing an application to work on my one machine where most of the variables are known is a million times easier than writing something to work for the public which is out of my league. :shadedshu So I really don't have much need to make it polished just for myself, easier just to make the changes and recompile.
 
Last edited:
Writing an application to work on my one machine where most of the variables are known is a million times easier than writing something to work for the public which is out of my league.

Tell me about it.

I should have thought about that a little closer before originally getting into these projects. Once I start something, it's hard for me to walk away if anyone comes to me with a CPU that my code isn't correctly supporting. :)

I was hoping to encourage you to write a graphical multiplier reporting program so I would have one less thing to do. Oh well, I guess it keeps me busy. You've given me a few ideas for a future graphing option for i7 Turbo. You looked like you were getting excellent results with your little app and after playing with my Load testing program, now I'm curious.

It will be interesting to see how fine a resolution we can get while still maintaining accuracy so we can better understand exactly what goes on during a multiplier or turbo / IDA transition.
 
I was hoping to encourage you to write a graphical multiplier reporting program so I would have one less thing to do.
:eek: My terrible software :laugh:. You'd only end up wasting time trying to debug and fix it before totally abandoning it altogether and writing your own anyway. :D

Looking a little more deeply at the manual EIST transition times on my laptop it seems bits 17, 20 & 21 of MSR 0x198 are set when a VID change is requested, if this can be taken as an indication of transition time then I have the following figures for my laptop,

Single VID Step transition (12.5mv) = 8us
Settling time appears to be 15.5us

The worse case would be a change from the lowest to highest VID which would be 0.925V to 1.2V or 22 VID steps so that would take 22 * 8 + 15.5 = ~192us

It may be possible that different loads on the regulator will change timing too.

So I guess trying to answer the question of how quickly the muliplier can change would be

  • If there isn't a VID change then almost immediately or millions of times a second.
  • If the VID change is to a lower voltage then almost immediately
  • If the VID change is to a higher voltage then some tens or possibly hundreds of microseconds.

For my laptop EIST is software based which is normally controlled by the OS and as has already been seen with windows can have quite long transition times on the lower performance settings. 15ms per step for example as shown in previous post.
 
Last edited:
Back
Top