BIOS – microcode

BIOS/UEFI – microcode

Procesory nejsou bezchybné součástky. A je jedno, zda výrobcem je např. Intel nebo AMD. Procesor má ve svém návrhu chyby. Vzhledem k vysoké hustotě integrace hradel se nelze ani divit.
Výrobci vydávají nové hardwarové revize procesorů s novým CPUID a některé z chyb postupně opravují.
Pokud se podíváte na dokument specifikace současného procesoru, tak oddíl errata obsahuje popis často více jak 100 méně i více závažných chyb.
Chyby v procesoru jsou většinou řešitelné pomocí microcode update.
Každý moderní procesor v má v sobě interní firmware, který modifikuje jeho funkčnost.
O firmwaru Management Engine v procesorech Intel se dozvíte pouze něco díky provedené reverzní analýze. Co přesně dělá microcode a co se děje v procesoru se nedozvíte. Stejné je to i u procesorů AMD. 

Microcode je kód dodávaný výrobcem procesoru, který se při startu z BIOSu nahraje do paměti procesoru a tím se modifikuje provádění jeho interních instrukcí.
Každý BIOS v sobě obsahuje seznam CPUID (specifikující Core stepping = revize jádra) a k nim je přiřazený microcode update.
Jaké procesory BIOS podporuje zjistíte např. utilitou intelmicrocodelist.exe

intelmicrocodelist.exe název_biosu.BIN (binární podoba)

BIOS CPUID
CPUID=20652 (Arrandale stepping C2)
CPUID=20655 (Arrandale stepping K0)
což je jádro procesoru a core stepping

Při zapnutí BIOS detekuje CPU a nahraje identifikovaný firmware microcode update. Pokud BIOS nezná vložený procesor, tak se systém nespustí.

Operační systémy MS obsahují ovladač update.sys. Je to microcode update zaváděný při startu Windows.

Jakou verzi microcode zavádí jádro v Linuxu zjistíme např.
# grep microc /proc/cpuinfo
Jádro má parametr dis_ucode_ldr, se kterým systém startuje s verzí microcode dodávanou BIOSem.
To je celkem užitečné, když děláte experimenty např. při výměně procesorů na patici 775 a dáváte do desky modifikované Xeony pro patici 771.

Komentáře

Populární příspěvky z tohoto blogu

Diskové pole NSS4000

Windows server 2012 – certifikační autorita

Reset switche SPS224G4