This post needs a minor update after some experimentation I have done on LLC and Vdroop. I therefore recommend that overclocks are done with vdroop control/LLC set as low as possible. Vdroop is a good thing. Please read this to see why. I will update this post when I get the chance...
I finally finished my watercooling this week after having the parts scattered around the country for several months (I really should update my build log). So for the last couple of days I've been playing around with overclocking and here is my story so far...This isn't meant to be a guide as such, although I will be describing how I went about my overclocks which some might recognize or find useful. It basically tracks my thought processes and experiments. I'm talking about overclocking a 3570K on a MSI z77a-GD55 here.
The Two Types of Overclock
I tend to work with two distinct types of overclock which each have advantages and disadvantages:
1. Turbo profile (aka offset overclocking).
2. Fixed profile (aka the most common '24/7' overclock).
The Turbo profile uses the Speedstep and Turbo features to allow the cpu to automatically 'rest' at x16 (and therefore reduce volts and wear on the processor) whilst also automatically increasing the performance through the Turbo on demand. Typically, you set the core voltage (Vcore) and then tell the motherboard how many more volts to add to this when the CPU goes into turbo (this is called the offset). However, the MSI z77 range doesn't currently support the offset feature but thankfully that isn't the end of the line for Turbo overclocking. More later...
The Fixed profile locks in the Vcore and CPU clock so that the CPU can't 'rest' when not at load. This means that there is an unessesary amount of volts running through the CPU when not under load although it is the perfect amount when loaded. The advantage is that the overclock is much more stable because there is much less in the way of voltage fluctuations and this results in bigger overclocks at the end of the day.
Firstly what I wanted to do was compare the amount of volts supplied to the CPU under load at different clocks using both a manual voltage and the automatic voltage. I also included the Vcore of the default factory profile.
The automatic and manual profiles
shared mostly common settings of which the important ones are:
CPU multiplier: set to manual
EIST, Turbo: Disabled
However two things were set differently:
Core voltage: set to manual for the manual test and set to auto for the automatic test...
LLC: Set to level 0 for the manual test (the tighest setting to minimise vdroop thereby minimising the amount of vcore I have to input) and set to level 7 for the automatic test (automatic profiles are well known for over-supplying volts. Having a loose LLC allows the greatest amount of vdroop which reduces the amount supplied to the CPU under load to a more sensible level).
The default profile
was just that - the motherboard settings returned to default.
Note: I have included the figures that I input into BIOS which people can use as a ballpark figure for their overclocks. Bear in mind that CPUs vary quite a lot in terms of how much Vcore is needed for any particular clock. Also these results were not thoroughly tested for stability so will likely be a tiny bit low for true stability - I just needed to run windows, Excel (for the spreadsheet) and Aida64 (for a few minutes running an FPU test until temperatures stabilized).
Warning: I have a substantial watercooling setup - expect temperatures in excess of 30C higher than what I report on the second graph depending on your cooling solution.
The maximum core temperature is 105C (aka the Tj-max or Temperature junction maximum). However the CPU will throttle and stop working to protect itself several degrees before this. Around the 85-90C mark the heat will begin to affect stability anyway so in any case it is worth fighting for every degree to keep the temps below this.
The light blue line serves only as a guide for manual input. I'm comparing the load under voltage which is what is important here and these are represented by the darker colours.
As you can see, the automatic profile massively over-volts for the lower clocks. In fact it hovers around 1.100v regardless of the clock dipping only slightly under vdroop with a higher clock. With that in mind it seems stupid not to overclock your CPU to ~4.2GHz given that the automatic profile is going to supply that many volts anyway...I was unable to get the PC to validate above 4.4GHz on auto. For the x43 and x44 tests I played with the LLC to tighten up the vdroop and effectively increase the volts supplied to the CPU under load, you can see the levels I used annotated next to the line in the graph.
The default profile has a similar level of voltage but it does change slightly depending on the number of threads loaded. The standard turbo profile will boost:
2 cores @ 3.8
3 cores @ 3.7
4 cores @ 3.6
The manual test was pretty interesting. I didn't see as quick a rate of diminishing returns as I had expected. It is only really the jump to x48 which starts getting silly. I haven't bothered going to for x49 at the moment until I tweak more.
The bottom three lines take into account the ambient temperature which didn't actually vary very much (23-24C I think). Temperatures are what you might expect only beginning to race away above about x45. I was pleased with my watercooling which still kept my CPU under 80C even at 4.8GHz
As you can see the high voltage given by the automatic profiles (including default) affect the temperature too. The stock profile actually decreases with the increasing multiplier. This is because I ran the test on 3 and then 2 threads to get the Turbo to respond in the fashion I mentioned above.
Thanks to the beauty of screenshot and cut & paste in Paint, points explained below:
1. The Base Freq and the CPU multiplier combine to define the CPU clock. Here the Freq is in KHz not MHz so it has an extra 00 on the end. I've tried setting 5MHz either way but it really doesn't make any difference to performance or supplied volts but does mess around with other components who use this timing also so it's not worth doing. Leave at 10000.
The CPU Multiplier is therefore how I adjusted the clock.
The easiest way to understand this relationship is that the Base freq represents how often the components report to each other whilst a multiplier represents how fast the component works in between those reporting periods.
2. PLL overvolt can help with stability but also may increase heat. When you get to your final clock try disabling this and see if your system is still stable.
EIST (Enhanced Intel Speedstep Technology AKA Speedstep) and Enhanced Turbo need to be disabled to help with the stability and locking in the volts and clock which I mentioned earlier. The Intel Turbo option will disappear when you disable EIST.
3. X.M.P adjusts your RAM automatically. I've got 1600MHz RAM installed but the motherboard by default runs at 1333MHZ so it just bumped it up to the right speed. There's almost no real-world benefit to be had from overclocking RAM on this platform so don't bother wasting your time on it.
4. Vroop control (AKA Load Line Calibration or LLC). This controls the designed effect of voltage dropping under load. Intel wrote this in to protect cheaper mobos from voltage spikes which occur after the CPU comes off load. If you bought your components with overclocking in mind then your mobo will be more than capable of handling these spikes especially at the everyday clocks we are talking about. Rather counter-intuitively level 0 is the most control and level 7 is the least, allowing the voltage to drop the most. I set 0 to start with and then decrease the control (well increase the level) one by one once I've found the lowest Vcore for my clock until it becomes unstable.
5. CPU Core Voltage (Vcore). This is the business end of the BIOS along with the CPU multiplier. Add tiny amounts of Vcore (0.01v) per increment alongside an occasional increase in the Multiplier. You can guess the jump needed for each multiplier based on the previous jump (or you can get a feel for it from my graph above). Excessive voltage will kill or damage you cpu, excessive unvoltage will stop it from booting in which case you need to power off the PSU and take out the motherboard battery for a few seconds to reset the BIOS and then start all over again. Better to have a decent guess
. You can of course leave this on auto up until the middle 4GHz range. Although this will unnecessarily over-volt your CPU at the lower end it's the same voltage that Intel provide at stock so won't be doing any harm to your PC.
6. System agent and CPUPLL are voltages that are typically left at auto which means of course that the mobo gives too much and this can add heat. When you reach your temperature threshold you can try reducing these to help but depending on your clock this might not have much effect. Limits:
CPUPLL - take off auto and reduce from 1.8v. ~1.5v is probably about right for most people on mid-4GHz clocks. This is a voltage which supports the internal clock of the CPU.
SA - take off auto and reduce from 0.95v. This can help with memory and base freq overclocking neither of which you should be bothering with.
So yea, basically you can get away with just doing 1, 3, 4 & 5. Add voltage (or leave on auto), add multiplier, heat test (most people use Prime95 small FFts) and then repeat.
You remember earlier that I said these mobos don't have offset voltage but that it over-volts on automatic to a level which can support quite a decent OC? Lets make use of that. Two screenshots for you:
1. Base Freq left at 10000KHz fort the same reason as last time.
CPU Multiplier is left on auto so that the mobo can automatically switch between the Speedstep x16 and whatever Turbo Multiplier is set. If this is set to a manual number then it don't work son.
2. The Speedstep and Turbo options need to be enabled. The Enhanced turbo option gives us access to an important screen I will mention shortly.
3. X.M.P. Yadda yadda as before.
4. Vdroop control. As before but remember that this is your only way of effecting the amount of Vcore supplied to your CPU since we have to leave it on auto. The difference between level 0 and 7 is the best part of 0.1v under load which as you can see by the graph above can make quite a difference. I set this at 0 to begin with to get the highest multiplier and then reduced the LLC to the lowest stable level.
5. CPU core voltage (Vcore). Has to be left on auto to take advantage of speedstep. There is no point typing in a manual voltage and leaving speedstep on because the mobo will be unable to lower the Vcore when idle.
6. SA & PLL. Again, might reduce temps but at this clock will probably do precisely squat and if you have a half-decent cooler then you won't need to try to lower temps at this clock anyway.
7. CPU features is where we adjust the performance of our machine. If I remember correctly with out Enhanced Turbo enabled the thing we need to alter doesn't appear. Another screenshot:
8. X-core ratio limit. Basically this is your CPU multiplier. I've already mentioned what the default is somewhere at the top. I tried to sneak in an extra multiplier on the 1 and 2 core limits to get a bit more out of it but the CPU didn't want to play so I suggest that you just set them all to the same figure. Probably best to start from x40 and work your way up doing heat/stress tests in between. Remember to raise the Vdroop towards the end if you want to get the last couple of multipliers out.
BOOM. A massive increase in performance with no increase in volts and only a tiny increase in heat so effectively no extra wear.
A Note on Stability
I've only mentioned using heat testing so far. By that I mean running something like Aida64 FPU/Prime95 small FFTs/Intel Burn Test for 10-20 minutes or several runs to get an idea of how hot your CPU is running and whether it is at all stable.
To complete you overclock you need to do a little more. I use Aida 64 CPU test but many use Prime95 on a blend test. Best to leave it overnight or whilst you are out (8+ hours) to see how well it handles more complicated testing. Some people say you have to leave it for 24 hours but I think that is a little excessive. 8 hours (ish) then playing a few games and running some other programs you are likely to use will do it. Add 0.05v if you get some weird stuff going on or hangs and crashes. Repeat until happy.
Hope this has been interesting to peeps. There will be more to come at some point to break through to the big 5.0GHz but that's all for now folks. Let me know if you do anything differently or have any suggestions or questions.