John Valentine
OC: i5-4670K, ASRock Z87 Exteme4

Update

Since this article was written (January 2014), a BIOS update provides a good 4.2GHz stable profile. We provide the article below in case you want to tune your system manually

Overclock only with care!

We do not advocate any activity that would damage your equipment, and will not take responsibility for any damage or expense caused by following this article.

Overclocking Intel i5-4670K with ASRock Z87 Exteme4

In comparison with stock speed and voltage, we achieved stable and sustainable performance:

  • At 4.2GHz (+25%), using only 1.5% more power per-clock fully loaded, and an idle state that uses 5% less power than stock idle.
  • At 4.4GHz (+30%), using 17% more power per-clock fully loaded. We did not fine-tune this profile, preferring the 4.2GHz profile.

Here we detail the UEFI settings for my own hardware configuration. Even if you have the same parts, this should serve only as a guide, as performance limits may vary from item to item.

Our approach to overclocking

We take a responsible approach to overclocking, weighing performance gain and efficiency against the effort and risk invested in such a configuration.

4.4GHz is not sustainable in all cases

We achieve a stable performance at 4.4GHz, but it is our opinion that, although real applications nearly always run cooler than stress-testing, we do not think our 4.4GHz profile 3 is efficient enough for safe sustained number-crunching, given the sub-optimal heat dissipation properties of the i5-4670K chip's packaging. It should be fine for games though.

Before we get into the detail, now might be a good time to mention that I had very little success with defaults or 'expert' presets of this ASRock motherboard. The first thing anyone should do with this board, to safeguard the processor, is (a) ensure no core multipliers are above 38, (b) set the cache multiplier to 19, (c) set the VCore to Override and a sensible 1.10V + 0.02V, and then (d) test its stability.

Relevant hardware

MotherboardASRock Z87 Extreme4
ProcessorIntel i5-4670K 3.4GHz
CoolingScythe Mugen 4 PCGH Edition (air cooling, push-pull slow fans)

Stable configurations

ProfileCore MultipliersV-CoreCacheBench[9]Max °C[5,6]
142 common42, 42, 42, 42Override 1.120V +0.005V28x, 1.20V + 0.02V110.379°C
1b42 common42, 42, 42, 42Adaptive 1.000V -0.025V[1]42x, 1.16V + 0.01V110.593°C[10]
242-44 44, 44, 43, 42Override 1.170V +0.005V22x, 1.20V + 0.02V109.082°C
344 common44, 44, 44, 44Override 1.230V +0.005V33x, 1.23V + 0.02V113.689°C[4]
4Stock underV[7]38, 36, 35, 34----
538 common[7]38, 38, 38, 38----
630 common[7]30, 30, 30, 30----

Notes

  1. Override mode was initially used to establish stable V-Core and V-Cache. Then Adaptive mode with +0.001V was used, and VCore was tweaked down while completely stable for burn-in test. Temperatures were high for this; see Adaptive VCore and VCache below.
  2. LLC Level 3 and CPU Input Voltage: 1.9V was sufficient for stability.
  3. Power limitations of 120W (long) and 150W (short) were also in place. We were not sure whether they are actually hit or not; we set a reasonable thermal ceiling, based on a guess of the dissipation properties of the cooling solution.
  4. Profile 3 was considered too hot for sustained use with this cooler, but it was stable.
  5. This particular processor has a 8°C difference between cores under full load, relative °C: [0, -2, -3, -8], which we attribute to a poor interface between the processor die and its lid. If this had been manufactured ideally, Profile 1 would achieve better heat dissipation with a 70°C (or cooler) result.
  6. Ambient: ~18°C.
  7. We hope to show these profiles soon.
  8. We stress tested using "Intel Burn-in Test", noting highest temperature on the default 10-run 1024K test. Where safe, we let it run for 10 minutes to achieve saturation of the heat sink. Additional (4096K and 256K) tests were run on lowest-voltage-stable settings, for more certainty. Final profiles were given hours of video decoding, games, and threaded ray tracing, to test general stability, which ran significantly cooler than the burn-in tests.
  9. Bench values are GFLOPS for Intel Burn-in Test. This is comparative only within the context of this article; it was possible to achieve higher values, say 115 GFLOPS, using a different setting for Intel Burn-in Test.
  10. During gaming: 52°C max. During ray-tracing: 60°C max.

Adaptive VCore and VCache for efficiency

After achieving the stable Override profile 1, we switched to Adaptive, and entered the stable VCore voltage. We were also able to raise the cache frequency to match the maximum core frequencies, and set the power-saving CPU:C-States to Auto.

Then we lowered voltages, so that the actual applied voltages matched the Override settings: VCore lowered so that it matched 1.12V under normal full load, then lowered the VCore Offset while increasing the VCore by the same amount, to keep the 'normal full load' value the same, until the advanced instructions failed (final stable reading for that was 1.228V actual, from a offset of -0.025V). Idle was stable at 0.671V (which was also brought down from around 0.7V by the VCore offset).

The standard behaviour of the Adaptive VCore mode lowers the VCore to 0.700V for light software loads, and increases it to your desired VCore for full loading, plus an additional 0.1V when certain instructions are processed. This extra 0.1V makes the cores run hot for burn-in tests, but it should be fine for everyday tasks that do not use many of these instructions.

Higher overclocks?

The 3% performance gain of profile 3 was not considered significant enough to be worthwhile. There seems to be a substantial increase in voltage requirements for 4.4GHz (and we guess higher).

4.5GHz was unstable, and we do not feel it appropriate to attempt to make it stable using the 45x multiplier. Had the heat dissipation been better (both IHS and external), we would be able to run it cooler and slightly faster, due to better efficiency at lower operating temperatures. Haswell seems to have a problem dissipating heat from small die areas, particularly with their chip packaging. Again, we do not feel that the performance benefits would justify attempting to correct this.

Efficiencies missed

We observe that profile 2 demands more voltage of the cores, despite the lower running spec of adaptive and independent cores. The 4.2–4.4GHz allowance surprisingly achieves a lower benchmark than a straight all-core 4.2GHz There are likely some subtleties concerning the power management of independently-clocked cores, which the chipset or processor cannot manage without significant headroom. Whether 'independent clocks at higher voltage' is more efficient than 'common clocks at lower voltage' depends on the software being used. For sustained high loads, the latter will be more efficient.

The default affinity behaviour in Windows 8, for a single-thread 100% load, seems to be round-robin switched between all cores. This prevents '1 core' or '2 core' multipliers from working when in 'independent multipliers' mode. This further reduces the value of our profile 2 so that it only achieves 4.2Ghz, especially considering that profile 1 can deliver 4.2GHz much more efficiently.

Future additions

Undervolted at stock frequencies

We hope to add an undervolting profile for standard clocks (3.4GHz). We have been able to run the 4670K at less than 0.7V V-Core, so it is worth exploring to see if an efficient, stable, and 'adequate' gaming setup can be achieved that also has low idle voltages. On Profiles 1, 1b, a game like Skyrim barely reached mid-50s (°C) core temperatures.

We also hope to try lower frequencies, down to 3GHz, and observe whether this adversely affects performance. Tasks like video re-encoding, or processor-based graphics rendering, and emerging 'threaded games' will benefit from higher clocks, but our motivation here is to reduce running costs when there is no need to run the chip faster. One possible outcome might be that the chip regulates its intake adequately at low and medium loads anyway, and the high loads are more efficient, but we've yet to determine this.

Appendix

This documents the tests that we ran, to achieve efficient stability.

Stability tuning log: common core clocks, max 4.2GHz

Lower VCore, find a stable value at 4.2GHz
  1.170V stable 86°C
  1.160V stable 84°C
  1.155V stable 83°C
  1.150V stable 81/75°C - then stable in steps of -0.005V... 
  1.120V stable 80/72°C
  1.115V stable 77/71°C - temperature drop - what changed?
  1.110V stable 77/69°C - MACHINE_CHECK_EXCEPTION (undervolting?)
 
UEFI settings - change to independent core clocks (just testing)
  1.115V Would not boot
  1.125V Booted; crashed quickly
  1.150V Booted; crashed.
Clearly, independent core clocking needs more voltage headroom.

UEFI settings - change back to common core clocks
Confirm stable VCore
  1.115V booted OK - slightly unstable
  1.120V Cache 28x booted OK, passed most tests; failed 256K IBIT once.
 
Perhaps up VCache a little.
UEFI setting: changed to Adaptive VCore 1.120V + 0.001
  VCore 1.120V +0.001V - stable, HOT Burn-in test.

Actual VCore +0.13 over 'proven loaded stable', so lower it by 0.13V
  VCore 1.000V +0.001V - stable.

Try lowering cache VCore on Adaptive
  VCore 0.980V +0.001V, Cache 1.210V + 0.010V
  VCore 0.980V +0.001V, Cache 1.160V + 0.010V - stable
  VCore 0.980V +0.001V, Cache 1.140V + 0.010V - UNSTABLE: freeze.
  VCore 0.980V +0.001V, Cache 1.160V + 0.010V - stable.
 
Now lower VCore Offset for advanced instructions.
  VCore 1.000V -0.020V, Cache 1.160V -0.001V - stable.
  VCore 1.000V -0.025V, Cache 1.160V -0.001V - stable.
  VCore 1.000V -0.030V, Cache 1.160V -0.001V - numerical error.
  VCore 1.000V -0.025V, Cache 1.160V -0.001V - stable.
 
Final "profile 1b", actual readings (not settings):
 0.671V idle
 1.121V for full loading.
 1.228V for advanced instructions.

Stability tuning log: common core clocks, max 4.4GHz

43x stable 1.17+0.005
44x NOT stable 1.17+0.005

43/22x 1.250V c1.250V = 90°C
44/22x 1.250V c1.250V = 94°C - Stable; stopped. TOO HOT

Lower voltage as much as possible.
44/22x 1.230V c1.250V = 91°C - Stable; stopped.
44/22x 1.220V c1.250V = 87°C - Stable.
44/22x 1.215V c1.250V = 87°C - Stable.
44/22x 1.210V c1.250V = 87°C - Stable.
44/22x 1.200V c1.250V = 87°C - UNSTABLE

VCore too low. Try 1.205 if it has stable margin.
44/22x 1.205V c1.250V = 91°C - Stable. Cache 33x and lowering voltage next...
44/33x 1.205V c1.240V = 92°C - Stable.
44/33x 1.205V c1.230V = 89°C - Stable
44/33x 1.205V c1.220V = 89°C - UNSTABLE; still TOO HOT; 4.4GHz not recommended.
44/22x 1.205V c1.220V - Not done: expect 85°C at best, still too hot.

Adaptive: not done.

Comments

There are no comments yet. Please feel free to leave comments.