0
\$\begingroup\$

I am a bit confused as to the use of the word microcode in the following links:

https://downloadcenter.intel.com/download/27591/Linux-Processor-Microcode-Data-File?product=873

https://newsroom.intel.com/news/latest-intel-security-news-updated-firmware-available/

As far as I know Microcode is intermediate layer between the assembly code and the actual hardware, and perhaps resides somewhere on the processor chip?

If that is the case then how can an OS, in the above case the Linux, update the Microcode?

\$\endgroup\$
1
\$\begingroup\$

You may find this helpful. It describes how soft instructions can be changed.

For Intel processors at least, the term microcode may apply to both the main processor instruction set and the code used by the internal management processor (though this would be more correctly called firmware).

For the processor to update the microcode store it implements specific hard coded instruction that transfer the code through registers to the code storage area. The microcode update instructions only run in ring zero and are defined and stable for a whole processor family.

This all became quite a mess as Intel released separate microcode updates for Spectre/Meltdown protection when using a Windows vs Linux OS.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.