Overclock.net banner

Improved overclocking for Haswell with updated microcode (+ update CPU microcode through software)

90K views 289 replies 66 participants last post by  Orfeous  
#1 ·
Hello fellow Haswell/Devil's Canyon overclockers!

I made posts in various threads on this topic but have decided to make a thread to keep information and testing from getting buried.

Summary: The latest CPU microcode 22 (released in 2017) improves overclocking for Haswell over previous microcodes. I found this out accidentally, but have found the improvement over previous microcodes to be 100% reproducible, and another user has posted similar results. To update your BIOS' microcode and try for yourself, follow the simple steps in the spoiler below.

So far this has been replicated multiple times by myself, LostParticle, and users in this thread. Reported voltage reduction for a given clockspeed varies from 0.04 to 0.01v with an average of 0.02v, depending on CPU and initial overclock stability. For some this is enough to increase their clockspeed beyond what was possible before, for others it means running the same clocks at lower voltages and temperatures.

For me, I went from 4.7GHz to 4.8 at the same voltage of 1.3v, and got 4.9GHz@1.36v, a clockspeed that originally crashed with my motherboard BIOS' stock microcode 19 on starting a x264 stress test. I even found 5GHz to be within stable reach.

Steps for updating microcode:
DISCLAIMER: This involves flashing your motherboard with an edited BIOS. If you don't feel comfortable with this, don't attempt it. I take no responsibility for failed BIOS flashes.

This simple process is done through the UBU tool and instructions found in this guide: https://www.win-raid.com/t154f16-Tool-Guide-News-quot-UEFI-BIOS-Updater-quot-UBU.html. Either use the extensive guide found on the thread, or use the guide below.

1. Download the latest UBU tool from the linked thread.

2. Download MMTool.exe and put it into the folder with the UBU.bat file. A copy can be found here under the link MMTool (aptio 5): http://voltground.com/haven/threads/13/

3. Acquire a copy of your BIOS from the manufacturer's product support site or otherwise.

4. Run UBU.bat and select your saved BIOS file. Once all the modules have loaded, navigate to the CPU microcode section by pressing 7 and enter.

5. Press 1 and enter to navigate to the list of microcodes, type 17 for the latest broadwell microcode (makes no difference what you choose for broadwell) then type 22 for the Intel microcode (19 says it's the best for overclocking, but my testing says otherwise).

6. Hit 0 to exit, then hit 1 to save it with a USB BIOS Flashback compatible name. If you don't have an ASUS board it will let you keep the original BIOS name or leave it as bios.bin to be renamed as necessary.

7. *Back up your BIOS settings/profiles before flashing!* Flash the updated BIOS with your preferred method. While some motherboards allow the edited BIOS to be flashed conventionally, ASUS users must use USB BIOS Flashback to get around safety checks. Check online to see how best to update your motherboard's BIOS.

If you have an ASUS board without USB BIOS Flashback, the only known working method to flash your BIOS is with an SPI programmer (ÂŁ4 on amazon) following this guide.

You could also try updating your microcode in software and bypass the need to edit your BIOS, detailed below.

Newest Haswell Microcode 23 (20/11/17) - worse OC potential than with 22 but protects against spectre hack:
Killkernel found and tested an even newer microcode, 23 dated 20/11/2017 that is not currently included in the UBU package. His testing found greater improvements over 22, check out his post for instructions on where to find it. You can use the newer microcode by specifying the file through the UBU menu (make sure there are no spaces in the filepath leading to your microcode file, or in other words, put the microcode file on the desktop and go from there).

So far I have found overclocking with 23 to be on-par or possibly a little worse than with 22, with no additional headroom.

LostParticle observed a clear regression in overclocking headroom with microcode 23 over the previous 22.

Update microcode through software for Intel systems after sandy bridge - Needs more testing!:
If BIOS flashing doesn't work for your board, try updating your microcode through windows instead. It will load the updated microcode at kernel load, so just as your computer starts to load into windows from the BIOS. It will override the BIOS' microcode so long as the BIOS' microcode version is older. It works with any SkyLake, Kaby Lake, Haswell, Ivybridge or Xeon equivalent motherboard/cpu running windows, but has not yet shown overclocking improvements in testing.

In my own testing I so far have not found software updated microcode to offer overclocking improvements as updated BIOS microcode does.

A one-click tool to do this can be found here, along with links to guides to do it without the tool.

Thanks to THEBOSS619 for the incredibly easy to use updating tool.

Motherboards reported as successfully flashed (this serves as a general guide - similar motherboards will most likely work too):
ASRock Z87 Extreme6

ASRock Z97 Extreme4

ASRock Z97 OC Formula

ASUS Z97-P

ASUS Maximus Hero Z87

ASUS Maximus VII Impact

AW17 R1/Ranger/R5

EVGA Z97 Classified

Gigabyte Z87X-UD4H

MSI Z97 MPOWER MAX AC

MSI Z87-GD65 Gaming

MSI Z97 Gaming 5

MSI Z97 G45 Gaming

I haven't seen this microcode talked of anywhere else. I suspect it's because people lost interest in testing Haswell microcode by 2017 when 22 was released. In particular, this seems to be the reason why microcode 19 is stated to be the best for overclocking in the UBU tool, as not enough testing occurred to show 22's improvements. Good luck and happy overclocking!
smile.gif
 
#2 ·
im not afraid to experiment! only question i have is if it doesnt workout for me should i be able to flash back to the original bios without a hitch?
 
#3 ·
Sub'd. Might try this with my Max VI Gene soon. If anyone does so before me, let me know!
 
#4 ·
Quote:
Originally Posted by SgtRotty View Post

im not afraid to experiment! only question i have is if it doesnt workout for me should i be able to flash back to the original bios without a hitch?
Hey
smile.gif
It is absolutely reversible, just flash with a stock BIOS and any updated modules (including microcode) will be overwritten.

I would add though - Back up your BIOS settings, because flashing your BIOS will most likely reset them/delete presets.

Happy testing to you and xioros!
 
#5 ·
I also posted in the Haswell Overclocking Guide thread about it, but I'm gonna see how low I can go with VCore for 45x in comparison to before, and then afterwards see how much VCore 46x needs to be stable.
 
#6 ·
Quote:
Originally Posted by gonX View Post

I also posted in the Haswell Overclocking Guide thread about it, but I'm gonna see how low I can go with VCore for 45x in comparison to before, and then afterwards see how much VCore 46x needs to be stable.
Good luck you big benevolent-looking dragon person!
smile.gif


It'll be interesting to see whether this improvement is on standard Haswell chips as well as devil's canyon. I really doubt it'd just be devil's canyon, but who knows (they are, after all, so very incredibly different /s). If only they made changelogs for their microcodes!
 
#7 ·
So the results I'm getting so far is that my temperatures are much higher on the new microcode compared to the previous "best overclocking" one - enough of a difference that I am throttling hardcore on Blender.
The CPU wattage numbers reported in HWiNFO64 are about 7-8 watts higher than previously.

I'm gonna try resetting the BIOS to see if I accidentally changed some other setting.

/edit: BIOS reset and same voltage settings applied - temperatures and wattages are back to "normal" again. False alarm!

/edit2: it should be noted that I was tinkering with x46 as well, really pushing the voltages. Once I couldn't even get a shade of stability on x46 I went back to x45, but VCore, VRIN, VRing, VSA, VIOA and VIOD were set to the exact same values.
 
  • Rep+
Reactions: SgtRotty
#8 ·
So I think we might be on to something here. I'm now at 0.02v less than before, at a setting that would previously give me a 0x124 BSOD within minutes of x264, but it has now run for almost an hour without crashing.
 
  • Rep+
Reactions: SgtRotty
#9 ·
Just flashed my Z87-GD65, so far nothing is on fire, which is always in the plus column....
thumb.gif
I'll have to do some testing to see if I'm reaping any benefit, but the goal should be lower voltages, correct?

UPDATE: At this moment, it looks like I was able to reduce my core voltage by about .01v, reducing by .04v resulted in a WHEA BSOD. I'll try to do more testing in the upcoming days though....
 
#10 ·
Okay! So improvements, but maybe not as dramatic as a 0.04v decrease for some. GonX, that sounds like the exact kind of improvement lostparticle and I had! Even if it is 0.02v that's still less voltage required for free
smile.gif


And blaze2210, I'm glad you're trying it out! One goal is to run the same clocks at lower voltages, the other is to see if higher clockspeeds are now possible to achieve. I hope you can get more than 0.01v but if that's the improvement you see it's the improvement you see. Maybe have a go at getting 100mbz higher with slightly higher/the same voltages you're running now.

EDIT

What kind of stress tests are people running? I'd recommend the x264 stress test found under the 'stressing' spoiler in Darkwizzie's thread: http://www.overclock.net/t/1411077/haswell-overclocking-guide-with-statistics

With my 4790k I run it with 16 threads at normal priority. It gets really unstable OCs within minutes, and an overclock stable overnight in that is one hatll be stable in games too. In my experience anyway!
 
#11 ·
Quote:
Originally Posted by d0mini View Post

Okay! So improvements, but maybe not as dramatic as a 0.04v decrease for some. GonX, that sounds like the exact kind of improvement lostparticle and I had! Even if it is 0.02v that's still less voltage required for free
smile.gif


And blaze2210, I'm glad you're trying it out! One goal is to run the same clocks at lower voltages, the other is to see if higher clockspeeds are now possible to achieve. I hope you can get more than 0.01v but if that's the improvement you see it's the improvement you see. Maybe have a go at getting 100mbz higher with slightly higher/the same voltages you're running now.
I tried just bumping up the multiplier from 45 to 46 initially - no dice, hit a WHEA BSOD. So I went back to 45x, and dropped the vcore by .04v (as a sort of baseline), loaded into Windows, but crashed when running the x264 portion of RealBench. I'm sure there's probably some more tweaking that can be done with other voltages as well, but those settings are easier to do when my girl isn't home, since my PC is also our Plex server. So basically, my "quick and dirty result" is the .01v reduction, but it's a reduction nonetheless.

I'm still trying to get a better grasp on the relationship between the System Agent, IO Analog and Digital voltages, and their impacts on overclocking. I'm pretty sure they could help out with fine-tuning my OC though....
 
#12 ·
Quote:
Originally Posted by blaze2210 View Post

I tried just bumping up the multiplier from 45 to 46 initially - no dice, hit a WHEA BSOD. So I went back to 45x, and dropped the vcore by .04v (as a sort of baseline), loaded into Windows, but crashed when running the x264 portion of RealBench. I'm sure there's probably some more tweaking that can be done with other voltages as well, but those settings are easier to do when my girl isn't home, since my PC is also our Plex server. So basically, my "quick and dirty result" is the .01v reduction, but it's a reduction nonetheless.

I'm still trying to get a better grasp on the relationship between the System Agent, IO Analog and Digital voltages, and their impacts on overclocking. I'm pretty sure they could help out with fine-tuning my OC though....
Just to be thorough: what voltage did you need for 4.5GHz, and what stress testing did you do to ensure stability?

Without any knowledge of how you stressed/your normal use-cases, it's possible your overclock was on the edge of stability with the settings you had. That would mean the microcode is giving greater stability than before, and would explain the smaller voltage saved when compared with those starting with more stable overclocks.

I'm not trying to knock your testing, just ensure this is solid data. I'm pretty certain your response will be that you've tested the balls out of this CPU and it's as solid as a rock, and if so then never mind
biggrin.gif


If you're still within safe voltages and temperatures, you could always try adding some voltage to get 4.6GHz stable, maybe you'll be able to do it within safe limits now.
 
#13 ·
Looks like we've got another positive outcome from ! He states he's not getting the 0.04v improvement I saw, but is still managing to get 4.9GHz stable where before he could only get 4.8.
smile.gif


EDIT

I also realised that the differing voltage improvements may be linked to the microcode your BIOS had originally, as well as being unique to different CPUs. What microcode versions did you all come from? You could find out by reading an unmodded BIOS file with UBU.
 
#14 ·
Quote:
Originally Posted by d0mini View Post

Just to be thorough: what voltage did you need for 4.5GHz, and what stress testing did you do to ensure stability?

Without any knowledge of how you stressed/your normal use-cases, it's possible your overclock was on the edge of stability with the settings you had. That would mean the microcode is giving greater stability than before, and would explain the smaller voltage saved when compared with those starting with more stable overclocks.

I'm not trying to knock your testing, just ensure this is solid data. I'm pretty certain your response will be that you've tested the balls out of this CPU and it's as solid as a rock, and if so then never mind
biggrin.gif


If you're still within safe voltages and temperatures, you could always try adding some voltage to get 4.6GHz stable, maybe you'll be able to do it within safe limits now.
For 4.5, my 4670K needs ~1.328v for stability (1.318v after changing microcode)- passed 10 x264 runs in RealBench, 20 runs in IBT v2.54 on Standard and High settings, plus the assorted games and benches that have been thrown at it over the course of the last few months since I went back to my 4.5 profile. When it's warmer outside, I drop down to a 4.2 profile to keep the temps a bit lower. I'm definitely going to see if I can get 4.6 stable, but I have to aim for points when Plex isn't being used.

Previously, my BIOS was on the 19 microcode, then updated to 22.
thumb.gif


 
#15 ·
That's a decent amount of testing, I'm happy that you're at least able to run it with a little less voltage!

Thanks for the info, that pretty solidly eliminates the idea I had that coming from microcode 19 to 22 might be different than coming from an earlier/later microcode. You and I both came from 19 to 22 and had very different results, it must be CPU dependant.
 
#16 ·
I was using the "best for overclocking" suggested in UBU, I believe it's 0x19. Whatever the number is, it's the one that was suggested as "best for overclocking"
tongue.gif


The settings I mentioned earlier were not stable - crashed after 90 minutes of x264.

So let me sum up my current status of OC:

My CPU VID is 1.165v.
I use offset (which automatically means 0.07v higher voltage in Blender, but not in my x264 even though it's using AVX/AVX2, read below)
I use auto uncore multiplier.
I have all C-states enabled.
I don't test with Prime or other synthetics.

So for my x45 OC on the old 0x19 microcode, that did 6 hours in x264 before a WHEA BSOD, but never crashed while gaming, I would use:
Quote:
- VCore: +0.145v
- VRIN: 2.05v
- VRing: +0.155v (1.205v)
- VSysAg: +0.15v
- V IO A: +0.1v
- V IO D: +0.1v
So it's important to note that my previous OC was not "acceptably" stable by normal means (8 hours x264, I only had 6).

Meanwhile, my current settings for x45 with the latest microcode (0x22) which aren't confirmed stable yet (still running x264):
Quote:
- VCore: +0.125v
- VRIN: 1.9v
- VRing: +0.155v (1.205v)
- VSysAg: +0.15v
- V IO A: +0.1v
- V IO D: +0.1v
I would like to point out I got a WHEA BSOD after 90 minutes with 1.95v VRIN, so I'm testing 1.9v VRIN now.
/edit: also, this VCore would crash in minutes on the old microcode as I mentioned above

As for the bench, I rolled my own x264 bench, using a x264 version that uses AVX2, since I encode videos regularly and want the system to be stable under AVX/AVX2 as well.
My command line is:

Code:

Code:
x264.2744kMod.x86_64.exe --bitrate 15000 --threads 12 --preset slower beees.mp4 -o NUL
beees.mp4 is found here:
- there is a download link in the description
 
  • Rep+
Reactions: d0mini
#17 ·
Thanks for the in-depth testing @gonX
smile.gif
It seems that on average people are seeing an improvement of 0.02v as you are experiencing yourself, if that overclock has proven to be stable.

I'm a little amazed at how many people are still rocking their Haswell builds and actively looking to improve them, particularly on r/overclocking! I'm really happy I was able to share this with you all so you can enjoy the very same nerdy happiness by improving your overclock as I had.
smile.gif
 
#20 ·
#22 ·
]
Quote:
Originally Posted by d0mini View Post

Hello fellow Haswell/Devil's Canyon overclockers!

I made posts in various threads on this topic but have decided to make a thread to keep information and testing from getting buried.

Summary: The latest CPU microcode 22 (released in 2017) improves overclocking for Haswell over previous microcodes. I found this out accidentally, but have found the improvement over previous microcodes to be 100% reproducible, and another user has posted similar results. To update your BIOS' microcode and try for yourself, follow the simple steps in the spoiler below.

So far this has been replicated multiple times by myself, LostParticle, and users in this thread. Reported voltage reduction for a given clockspeed varies from 0.04 to 0.01v with an average of 0.02v, depending on CPU and initial overclock stability. For some this is enough to increase their clockspeed beyond what was possible before, for others it means running the same clocks at lower voltages and temperatures.

For me, I went from 4.7GHz to 4.8 at the same voltage of 1.3v, and got 4.9GHz@1.36v, a clockspeed that originally crashed with my motherboard BIOS' stock microcode 19 on starting a x264 stress test. I even found 5GHz to be within stable reach.

Steps for updating microcode:
DISCLAIMER: This involves flashing your motherboard with an edited BIOS. If you don't feel comfortable with this, don't attempt it. I take no responsibility for failed BIOS flashes.

This simple process is done through the UBU tool and instructions found in this guide: https://www.win-raid.com/t154f16-Tool-Guide-News-quot-UEFI-BIOS-Updater-quot-UBU.html. Either use the extensive guide found on the thread, or use the guide below.

1. Download the latest UBU tool from the linked thread.

2. Download MMTool.exe and put it into the folder with the UBU.bat file. A copy can be found here under the link MMTool (aptio 5): http://voltground.com/haven/threads/13/

3. Acquire a copy of your BIOS from the manufacturer's product support site or otherwise.

4. Run UBU.bat and select your saved BIOS file. Once all the modules have loaded, navigate to the CPU microcode section by pressing 7 and enter.

5. Press 1 and enter to navigate to the list of microcodes, type 17 for the latest broadwell microcode (makes no difference what you choose for broadwell) then type 22 for the Intel microcode (19 says it's the best for overclocking, but my testing says otherwise).

6. Hit 0 to exit, then hit 1 to save it with a USB BIOS Flashback compatible name. If you don't have an ASUS board it will let you keep the original BIOS name or leave it as bios.bin to be renamed as necessary.

7. *Back up your BIOS settings/profiles before flashing!* Flash the updated BIOS with your preferred method. While some motherboards allow the edited BIOS to be flashed conventionally, ASUS users must use USB BIOS Flashback to get around safety checks. Check online to see how best to update your motherboard's BIOS.

If you have an ASUS board without USB BIOS Flashback or otherwise can't get your modified BIOS to flash with any method, follow the steps to use AMI's AFU tool in this thread.

I haven't seen this microcode talked of anywhere else. I suspect it's because people lost interest in testing Haswell microcode by 2017 when 22 was released. In particular, this seems to be the reason why microcode 19 is stated to be the best for overclocking in the UBU tool, as not enough testing occurred to show 22's improvements. Good luck and happy overclocking!
smile.gif
This is interesting stuff for sure so today I tried it. IO tried to follow your guide exactly but things did not go as described. I also can't figure out where it saved the modified BIOS file. Maybe you can help me out with this? This is on an X99-Deluxe II.

I downloaded a copy of the latest BIOS for this MOBO - 1801.

I downloaded the UBU tool and MMTool and ran the UBU BAT file. The first thing I got was a warning about the BIOS being on the Aptios 5 platform. It never asked me for a BIOS file. It seems to be detecting the loaded BIOS - not the one I just downloaded.



Selected 7 for Update Intel CPU MicroCode

Selected 1 for Update CPU MicroCode Haswell-E and/or Broadwell-E

I could not select 17 because there is no 17. I selected 21 because it had the latest date.



I could not select 22 (or 19) because neither of these numbers were listed. I selected 3A because it had the latest date.



It seemed to patch the microcode successfully. Did it re-flash the MOBO? It never asked me for a place to save anything.



I hit 0 to exit.

I hit 1 to Rename to Asus USB BIOS Flashback.

It says it renamed BOIS.bin to X99D2.cap - which is correct but I have no idea where it saved it.



So I am not sure what it did or to what file.

What did I do wrong?
 
#23 ·
As I mentioned in the other thread, I have been running 22h microcode since it was first available. When I go it I verified my 47 OC was stable and tried for a quick 48, which I didn't get. At that time, I was:

4.7 GHz @ 1.24v/1.81v and memory OC from 1886 MHz -> 2200 MHz @ 1.6v
Since that I upped the memory to 2400 MHz @ 1.65V with some fiddling with the i/o volts and VCCSA.

So today I got 4.7 GHz @ 1.23V/1,79V with RAM at 2400/1.65v just changing the adaptive voltage and the input voltage.
Stable on Prime 95 v28.1 1344/1344 FFT for 1 hour and Realbench for 2.5 hr. So it is pretty rock solid.

I suppose some could be due to the fiddling of the voltages for the recent memory OC, but I expect it is the microcde.

Before running Prime95 the core voltages were 1.296v, now they top at 1.280v, Not huge, but it is something,

EDIT: I verified my older 4.7 GHz 2200 MHz memory OC is stable with this. So it s a + 0.01 VID / .016 prime load gain for me.
 
#25 ·
Anyone else try this out for HW-E on X99?