What is the CPU microcode?

Posted on

Problem :

Today after unpacking the initramfs file from my Linux /boot directory I found that it contains the GenuineIntel.bin file, and that that file is an image of what is called the CPU microcode.

Then I found articles on ArchWiki and Wikipedia describing the subject. Now I’m not sure that my vague understanding of the subject is correct.

Can anyone please explain what the CPU microcode is in plain English?

Solution :

In many modern CPUs, including Intel and AMD models, some instructions are executed directly in hardware, and some are “microcoded” – essentially, such instructions are internally made up of a series of smaller internal-to-the-CPU-only instructions.

I’m not sure what you call the facility inside the CPU that “executes” microcode, and I believe microcode in Intel/AMD CPUs may control things other than microcoded instructions. It’s something that can be updated, but it needs to be applied each reboot.

Anyway, sometimes Intel/AMD releases a “microcode update” which corrects some flaws or disables instructions that are unreliable. So generally you want the latest microcode update installed on a CPU before you really use it. The BIOS can do this as part of hardware initialization, and it’s probably part of Linux hardware initialization as well.

The BIOS would only apply the most recent microcode update for a CPU if a BIOS update that contains it has been applied to the system, so it’s possible the BIOS may not apply the latest update for a CPU that is available.

Leave a Reply

Your email address will not be published. Required fields are marked *