TDP and Power Limiting (Haswell)

Discussion in 'Hardware Components and Aftermarket Upgrades' started by Dufus, Dec 5, 2014.

  1. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    542
    Trophy Points:
    131
    I hope this post will help with some questions about TDP and power limiting.

    TDP and power limiting are not the same thing. TDP is a specification while power limiting tries to control maximum power. In just about every Intel CPU data sheet you will see
    TDP is a specification used by manufacturers to provide a minimum power and cooling solution for a CPU under worse case scenario where power values are based on Intels own testing. For instance worse case might be based on a maximum room temperature of 35C and rise in localized temperature of 15C to give a local ambient temperature of 50C.

    Intel seems to add more and more ways of throttling the CPU each new generation. Quite a few of these methods are undocumented but with some trial and effort can be sometimes worked out. The most common CPU power limits are PL1, PL2 and PL3 and possibly PP0 and PP1.

    PL1 is the long time power limit and usually set to the CPU SKU. PL2 is usually the short time limit and set to 1.25x PL1 with shorter time. Unless the clamp bits are set, which they usually are not then PL1 and PL2 only operate on turbo bins. PL3 is a little different to PL1 and PL2 in that it operates using a duty cycle. From testing it seems if PL2 is also used then it should be set at a lower power than PL2. Doesn't seem to be many softwares reporting PL3 including Intel XTU last time I looked but it's been a while since I last used XTU so maybe that has changed.

    Some CPU's can have their power limits changed. For instance using HWinfo32 this is what it reports for my i7-4700MQ
    [​IMG]
    As can be seen both power and time limits are unlimited Unlimited in this case meaning to be able to program more power than could possibly be used, about 4kW and time up to about 42 days.

    So why is it that programming the PL1 and PL2 MSR's to much higher powers than the SKU value of 47W does not seem to work for those CPU's that support it.
    Well, no. We have just shown in the case of my i7-4700MQ that power limits are programmable and unlimited. It is indeed the manufacturer setting the limits. There are a least 2 other ways to program power limits other than through MSR's, those being memory mapped addresses and PECI and it does not matter if the MSR is locked, seems lowest setting wins. For instance PL1 and PL2 can also be programmed via MCHBAR+0x59A0 and MCHBAR+0x59A4 while PP0 and PP1 can be found at MCHBAR+0x59A8 and MCHBAR+0x59AC. The PECI ones though are generally controlled by the Embedded Controller (EC). If you are lucky the manufacturer might provide access to the relevant registers. If not, then an EC firmware mod would be required.


    Some examples

    Setting primary plane power PP0 to 48W, used for core power control
    [​IMG]

    Setting secondary plane power PP1 to 16W, used for graphics core.
    [​IMG]

    Here's PL3 in action. Turbo in yellow, real-time, sampled one thousand times a second.
    [​IMG]
    Note how for the first 1 or 2 milliseconds full power is used before averaging. Could be very useful for a bursty application that does not use more than a few million clocks at a time. Although PL3 is a power control throttling is not reported as TDP throttling but EDP (Electrical Design Point) throttling. Here's what it looks like using fast power measurement sampling.
    [​IMG]

    Using just PL3 on it's own set for 48ms 50% duty and 50W with a constant 80W load
    [​IMG]


    Some results modifying the EC firmware.

    I have tricked the CPU into believing it is using about twice as much power than it really is for demonstration as my laptop is only good for about 70W max. I use to trick the CPU into believing it was only using half the power it really was to overcome power throttling issues but this can possibly have some bad effects if running of battery, not that I use the battery that much, from life reduction, HW shutdown or even possibly fire.

    XTU stress test for a few minutes.
    [​IMG]

    One of my favorite stress tests, Linpack.
    [​IMG]
    No power throttling at 140W (70W real) but looks like I need a new repaste :(


    Interestingly if bclk straps were used to push the HFM to 3GHz or 4GHz then possibly PL1 and PL2 would not have any effect as the clamp bit is not usually set however PL3 uses clamp without option to disable it.
     
  2. D2 Ultima

    D2 Ultima Livestreaming Master

    Reputations:
    4,278
    Messages:
    11,727
    Likes Received:
    9,663
    Trophy Points:
    931
    Glad to know that it's the manufacturers limiting things when Intel leaves them at least partially flexible.

    That CPU tricking is beyond me though XD
     
  3. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    542
    Trophy Points:
    131
    Really it's quite an old trick. Basically the CPU has no way of measuring current internally, it relies on the external VRM to report it and how it is scaled. By changing the scale the CPU can be tricked into thinking it is using a lot less or even more current than it really is. Since the power/energy estimations are based on this current then they will be calculated lower or higher depending which way the scale is changed.
     
    duttyend likes this.
  4. D2 Ultima

    D2 Ultima Livestreaming Master

    Reputations:
    4,278
    Messages:
    11,727
    Likes Received:
    9,663
    Trophy Points:
    931
    Ah I see. Makes sense I suppose. It's a lot simpler to think of it like that. In other words, it's a way to trick the TDP throttle in machines that don't allow full power to be drawn from the system, so this is in effect a way to get around locked-TDP, locked-BIOS systems? But how would you change this in a locked BIOS system? This is the only thing I can think of that would hold this back from being somewhat universally beneficial.
     
    duttyend likes this.
  5. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    542
    Trophy Points:
    131
    If it's hard coded then a BIOS mod, otherwise an NVRAM setting. My concern would be that used inappropriately it could possibly result in damage.
     
    duttyend and D2 Ultima like this.
  6. ifmyn

    ifmyn Notebook Enthusiast

    Reputations:
    0
    Messages:
    34
    Likes Received:
    7
    Trophy Points:
    16
    Hey guys,

    About my laptop (Asus N550JV, 4700hq, gt750M, 16 gb ram), i experience that when i stop cpu throttling with throttle stop; Gpu massively throttles. If i dont stop throttling Cpu with Throttle Stop; Gpu doesnt throttle but Cpu massively throttles. So can i fix this with İntel XTU? Keep in mind that the throttling of both cpu and gpu are not related to temperature because by running the fans %100 both gpu and cpu temperatures never goes above 70 celsius even while its throttling.

    Thanks.

    Edit, note: you can find the main thread about this issue : http://forum.notebookreview.com/gam...-gt-750m-throttle-80-celsius.html#post9860501

    And here is the Throttlestop discussions about the issue in several pages: http://forum.notebookreview.com/har...t-upgrades/531329-throttlestop-guide-253.html
     
  7. John Ratsey

    John Ratsey Moderately inquisitive Super Moderator

    Reputations:
    6,857
    Messages:
    28,829
    Likes Received:
    1,772
    Trophy Points:
    581
    I responded in your other thread.

    I can understand the performance being compromised if the PSU is only 90W.

    John
     
    duttyend likes this.
  8. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    542
    Trophy Points:
    131
    @ifmyn, extract the files in Test.zip into your TS folder, shutdown the laptop and then power on to start fresh and run the 2 extracted programs. Click on Core, UnCore and Ring buttons to clear old flags. Run both CPU and GPU to experience throttling without any other monitoring programs running including TS then post back a snapshot of LR0101.


    Or if the adapter supply is becoming disconnected perhaps, check that you are on AC the whole time during throttling. The battery should not discharge while on AC. You could also try running on AC without the battery.
     
    Last edited: Dec 25, 2014
  9. ifmyn

    ifmyn Notebook Enthusiast

    Reputations:
    0
    Messages:
    34
    Likes Received:
    7
    Trophy Points:
    16
    Thank you master. I will test this when i go home as soon as possible. My adapter is 120 watt and always connected that i have checked. I also tried with different power points and got the same. My theory is that mainboard or BIOS software cant handle high CPU + High Gpu power both high load at the same time. because if Gpu throttle; cpu is ok and if cpu throttle; gpu is ok. But this is an engineering fault/shame from Asus. Because you sell a product but it dont work what you advertise. Is teher any possibility to return this product?
     
  10. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    542
    Trophy Points:
    131
    What I mean by disconnected is that the adapter is not providing power or enough current to the laptop. This could be a fault with the DC cable, the connector, the laptop connector or the adapter itself. Testing with the battery removed may help identify if this is the case but do be aware that the laptop may just switch off.
     
Loading...

Share This Page