Motherboard with Z370 chip. BIOS modification

Thanks. Can I update the microcode of the processor without modifying and flashing the bios?

@Knaz Generally not however, when Windows 10 /11 starts it can override the CPU microcode in the BIOS (if it is higher version number) via the dynamic link library file ‘mcupdate_GenuineIntel.dll’ found in C:\Windows\System32.

This file can be extracted using plutomaniac’s excellent tool MCExtractor on Github.

Looking at mcupdate_GenuineIntel.dll found in the latest Windows 10 x64 22H2 ISO you can see the following microcode version for each Coffee Lake CPUID:

906EA = B4
906EB = B4
906EC = AE
906ED = missing, BIOS microcode will be used

And for mcupdate_GenuineIntel.dll found in the latest Windows 11 x64 22H2 ISO:

906EA = DE
906EB = DE
906EC = DE
906ED = DE

Depending on which BIOS you currently have loaded on your motherboard you may have newer/older microcode than Windows 10/11.

For the last BIOS released for the GIGABYTE Z370M D3H, which is F14, it has the following microcodes:

906EA = EA
906EB = EA
906EC = EA
906ED = EA

You will notice that they are newer than the ones in Windows 10 and Windows 11 so Windows will not override them.

The latest microcodes for Coffee Lake that we can see on plutomaniac’s list on Github are:

906EA = F0
906EB = F0
906EC = F0
906ED = F4

It is possible to update the microcodes inside any of the BIOS for your motherboard however Coffee Lake CPU microcodes are very controversial as they have been found to effect performance (especially the microcode patch for spectre V2 (AKA Branch Target Injection).

The general consensus for Coffee Lake is that any microcode before version C6 will give you best performance, for example (as Recommended by KedarWolf on these forums) :

906EA = BA
906EB = BA
906EC = BE
906ED = BE

If you want microcode with minimal spectre V2 patching then I personally recommend these microcodes (note that CPUID 906ED revision R0 has on-silicon hardware fix for spectre V2):

906EA = 70 → has no spectre V2 mitigation
906EB = 72 → has no spectre V2 mitigation
906EC = 84 → has partial spectre V2 mitigation
906ED = AA → spectre V2 mitigated via silicon revision and software (Windows)

I can modify any BIOS you like with the microcode you prefer - however if you want to use microcode revision that is earlier than those found in the Windows file ‘mcupdate_GenuineIntel.dll’ you will need to delete/rename this file to disable Windows from loading the newer microcode on startup.

Also note that if you want all the lastest microcodes for security reasons then they can be added to any BIOS and there is no need to mess with the Windows file ‘mcupdate_GenuineIntel.dll’ but you may have reduced performance (roughly equivalent to dropping the CPU down by ~100 MHz).

1 Like