16

How do I see CPU microcode version in Windows 7? Is there some application that will show it?

I'm just curious to see if under windows my CPU is using newest microcode version. If I remember correctly, microcode updates used to be issued together with windows update, but at one point they moved them to hotfixes that need to be downloaded manually.

4 Answers 4

3

SiSoft Sandra shows microcode version on the Hardware->Processors page. It also gives advice on whatever might be the latest version, and if yours is outdated.

Please note that it takes a short while for the page to load (up to two minutes).

As of this writing, on my PC, the reported microcode is MU062D0710.

EDIT 2024 I prefer CPU-Z and its report (either text or HTML). Just search for "microcode" in the report.

2
  • To make the microcode informationshow up fast, right-click on Processors module, use module settings to limit displayed information to include DMI/SMBIOS only. Commented Sep 19, 2016 at 22:04
  • 2
    HWiNFO also shows the microcode version. Commented Sep 2, 2018 at 13:13
19

For first core, look at:

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0

For example:

"Update Revision" = 0xba - current latest microcode (from mcupdate_*.dll)

"Previous Update Revision" = 0xb3 - default original microcode version (from BIOS)

"Identifier" - Intel64 Family 6 Model 15 Stepping 11

"Platform Specific Field 1" - 0x80

Microcode is taken from c:\Windows\System32\mcupdate_GenuineIntel.dll (or mcupdate_AuthenticAMD.dll) using "Identifier" and "Platform Specific Field 1". For Intel, you can search for "DataVersion" UTF-16 string from mcupdate_GenuineIntel.dll to see all included ucode versions. For cpu id from example: "6fb-80,ba" (format is FamilyModelStepping-PF,ucRevision in hex).

4
  • 3
    For reference, you can easily show this information from the commandline: reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 Commented Dec 5, 2019 at 17:37
  • 2
    reg query HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0 | find "e R" prints only the microcode version, both "live" (after possible patching from Windows) and at boot time (from BIOS). Commented Jan 25, 2020 at 12:32
  • This should be the accepted answer. The values are stored as REG_BINARY and are 8 bytes each. Microsoft of course screwed up the order so you have high-order DWORD, followed by low-order DWORD (Big Endian order), but within each DWORD byte order is Little Endian so watch for that when converting it to 64-bit integer if you want to get the correct number. Commented Sep 13, 2024 at 11:50
  • 1
    Here is a one liner in powershell. Reverses the byte order so it matches intel's released version . "0x" + ([System.BitConverter]::ToString((Get-ItemPropertyValue -Path HKLM:\HARDWARE\DESCRIPTION\System\CentralProcessor\0 -Name "Update Revision") -as 'Collections.Stack').Replace('-','') -replace '^0+','' -replace '0+$','') Commented Oct 31, 2024 at 16:39
1

Check the version number of the microcode dll: http://support.microsoft.com/kb/2493989

The dll is Mcupdate_genuineintel.dll and the latest version for you depends on your Windows version.

This page has the actual downloads of the microcode update: http://support.microsoft.com/kb/936357

6
  • I don't even have that file on my system. If there no way to read that form the CPU itself line in say GNU/Linux? Commented Nov 9, 2011 at 22:36
  • I'd imagine not. The microcode is an OS function for communication with the CPU, not a direct CPU function. The CPU would not be able to tell you the microcode internally to itself. Commented Nov 9, 2011 at 22:45
  • 7
    That is NOT true. In Intel's programmer's manual, volume 3A, chapter 9, section 9.11.7 it is clearly described how to read the current version of the microcode, so I know that the procedure is possible. It is possible to detect the current version of the update or to see if no update was done. Unfortunately, the RDMSR command must be run from ring 0 or real mode, so I can't just write an application on windows that will give me the information. Commented Nov 9, 2011 at 22:57
  • Then I stand corrected. I assumed that because it resides in Windows as a dll, unless that dll is some sort of firmware update system, the microcode in that dll would only be applicable inside the Windows environment. Commented Nov 9, 2011 at 23:01
  • 4
    The Microcode is ephemeral, meaning every power down of the CPU it is reset and has to loaded again! So if you check in Linux, you get the Version included in your Linux Distribution (or the base version included in your BIOS/UEFI). This won't tell you what version Windows installs on boot! Commented Jan 13, 2015 at 14:52
-1

Run CPU-Z and check Processor => Revison number under CPU tab.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.