Od začátku ledna bylo těžké přehlédnout novinky týkající se zranitelností hardwaru Spectre a Meltdown – ukázalo se, že téma je tak vážné a obsáhlé. Přestože výrobci o těchto problémech věděli už od loňského léta, zdá se, že většina začala reagovat až po zveřejnění podrobností odborníky. Týmy Google Projekt nula.

Například v lednu Intel vydal aktualizace anti-Specter mikrokódu pro své procesory Broadwell, Haswell, Skylake, Kaby Lake a Coffee Lake, mimo jiné opravy. Ale téměř okamžitě se ukázalo, že vedou k neúspěchům a. Zpočátku Intel uvedl, že problém se týká pouze čipů Broadwell a Haswell, ale později připustil existenci poruch na počítačích s procesory Skylake, Kaby Lake a Coffee Lake a partneři a uživatelé se prozatím zdrželi instalace záplat. Konečně začátkem února opravená verze mikrokódu, ale pouze pro mobilní a stolní spotřebitelské čipy rodiny Skylake.

Nyní, po měsíci intenzivního testování a záplatování ze strany Intelu a jeho partnerů, nastal čas pro další více či méně relevantní procesory: byly vydány aktualizace mikrokódu pro čipy založené na architektuře Kaby Lake a Coffee Lake, stejně jako neovlivněné předchozí aktualizace Platformy založené na Skylake. Mluvíme o procesorech 6, 7 a 8 generace Intelu Core i, stejně jako nejnovější rodiny Core X, Xeon Scalable a Xeon D.

Nová varianta firmwaru bude ve většině případů dostupná prostřednictvím OEM vydání nového firmwaru základní desky a notebooku. Intel stále povzbuzoval lidi, aby udržovali své systémy aktuální, a také zveřejnil bílou knihu, která nastiňuje stav podobných oprav mikrokódů pro své další produkty, včetně dřívějších čipů počínaje 45nm Core 2. Pro některé z těchto čipů jsou záplaty pouze plánované, u ostatních jsou ve stavu raného testování, u třetích již existují ve formě betaverze. Zpravidla platí, že čím starší architektura, tím později dostane firmware s ochranou proti Spectre. Aktualizace mikrokódu pro víceméně aktuální architektury Sandy Bridge, Ivy Bridge, Haswell a Broadwell jsou však již ve fázi beta testování. Také řada čipů Atom a dokonce i akcelerátory Xeon Phi již obdržely záplaty.

Intel připomněl, že existují i ​​jiné metody, jak bojovat s objevenými zranitelnostmi bloku predikce větví v moderních procesorech. Například Retpoline, vyvinutý společností Google proti Spectre CVE-2017-5715 (vstřikování cíle nebo cílená injekce do větve). Pro ty co mají zájem dodatečné informace o Retpoline a jak funguje, společnost zveřejnila speciální technickou zprávu.

Vydáno Aktualizace Intel mikrokód proti Spectre se v následujících dnech a týdnech začnou objevovat v podobě čerstvého firmwaru BIOSu pro různé základní desky. Je zvědavé, zda budou mít dodatečný vliv na degradaci výkonu koncových systémů?

Vlastně původní metodu, vybavení a mikrokódy lze najít (přímo návod pro AMI) a ve většině případů použití této metody nezpůsobuje žádné problémy a nemá žádná úskalí, ale ve své praxi jsem se s takovým problémem pravidelně setkal:

Tito. byl banální nedostatek volný prostor uvnitř obrázku. Když si upravíte BIOS pro konkrétní procesor, můžete to ignorovat, protože. Vždy můžete načíst pouze jeden mikrokód speciálně pro váš procesor nebo odstranit nějaký starý mikrokód, abyste uvolnili místo, ale když upravujete pomocí streamu, musíte hledat jiné řešení, kompromis.

Jako kompromis jsem zvolil následující řešení - bereme nejnovější verze mikrokódů pro všechny procesory Generace CORE ve všech konstrukcích (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) a nahradit je vším, co bylo dříve. Sada mikrokódů je následující:

Objem této sady je pouze 76 kilobajtů. Tento soubor získané spojením těchto souborů:

cpu00010676_plat00000001_ver0000060f_date20100929.bin
cpu00010676_plat00000004_ver0000060f_date20100929.bin
cpu00010676_plat00000010_ver0000060f_date20100929.bin
cpu00010676_plat00000040_ver0000060f_date20100929.bin
cpu00010677_plat00000010_ver0000070a_date20100929.bin
cpu0001067a_plat00000011_ver00000a0b_date20100928.bin
cpu0001067a_plat00000044_ver00000a0b_date20100928.bin
cpu000006f2_plat00000001_ver0000005d_date20101002.bin
cpu000006f6_plat00000001_ver000000d0_date20100930.bin
cpu000006f6_plat00000004_ver000000d2_date20101001.bin
cpu000006f7_plat00000010_ver0000006a_date20101002.bin
cpu000006f7_plat00000040_ver0000006b_date20101002.bin
cpu000006fb_plat00000001_ver000000ba_date20101003.bin
cpu000006fb_plat00000004_ver000000bc_date20101003.bin
cpu000006fb_plat00000010_ver000000ba_date20101003.bin
cpu000006fb_plat00000040_ver000000bc_date20101003.bin
cpu000006fd_plat00000001_ver000000a4_date20101002.bin

Samotný postup úpravy se také trochu změnil a stal se, ne-li jednodušším, pak rychlejším:

Krok 1- otevřete obraz BIOSu v programu MMTool:



Krok 2- pro kontrolu přejděte na poslední záložka(PATCH CPU) a podívejte se na počet mikrokódů. Zde je například 31 kusů:

Krok 3- přejděte na kartu Nahradit a vyhledejte na ní položku „P6 Micro Code“:

Krok 4- po výběru položky „P6 Micro Code“ stiskněte tlačítko Ikshtsyu, vyberte soubor ncpucode.bin popsaný výše a nahraďte jej tlačítkem Nahradit:





Krok 5- pro kontrolu přejděte na poslední záložku (PATCH CPU) a podívejte se na počet mikrokódů. Po změně mikrokódů zůstalo 17, nejnovější verze:

Neexistuje žádný zásadní rozdíl s pořadím úprav popsaným na delidded.com. Ve většině případů výstup samozřejmě není stejný, ale procesor obdrží požadovaný mikrokód. Ze subjektivního dobré body Upozorňuji pouze na to, že mikrokódy jsou zaručeně aktualizovány pro všechny současné procesory, ať už jsou „civilní“ nebo „serverové“ a prakticky nehrozí, že by se objevila zpráva o nedostatku místa. I když v mé praxi ani pro takovou sadu mikrokódů nebylo párkrát dost místa, bylo to u BIOSu pro desky ECS P4M900T-M a ECS P4M900T-M2, které jsou obecně kompatibilní s Xeon E5450.

Tradičně zveřejňuji odkaz na archiv s nástroji - (zip, 234KB). Archiv obsahuje spustitelný soubor MMTOL.exe(verze 3.22 BKMOD), soubor firmwaru pro všechny 45/65nm core/xeon procesory ncpucode.bin, stejně jako dva soubory 45nm.bin a 65nm.bin s mikrokódy pouze pro 45nm procesory a pouze pro 65nm. Použití těchto souborů se může hodit v případech, kdy je potřeba uvolnit další místo v BIOSu, například pro nový firmware nějakého řadiče, sítě, disku atp.

!NB: Soubor ncpucode.bin ani soubory 45nm.bin/65nm.bin nepodporují procesory Pentium 4, Celeron (bez písmenných indexů), Pentium D, Celeron D a Xeon W (například Xeon 5080). Jedná se o procesory generace NetBrust.

Moderní procesory jsou složitá zařízení, která mohou mít chyby. Kromě toho, namísto přímého provádění x86 instrukcí, moderní x86 procesory obsahují interní kód, který implementuje podporu pro x86 instrukční sadu. Vnitřní kód se nazývá mikrokód. Mikrokód lze aktualizovat, aby se opravily nebo zmírnily chyby CPU.

Některé chyby CPU mohou způsobit pád Firefoxu. Například je známo, že Firefox 57 a novější občas havarují na procesorech Broadwell-U se starým mikrokódem způsobem, který není vidět u novějších verzí mikrokódu Broadwell-U.

Aktualizace mikrokódu mohou být nahrány do CPU pomocí firmwaru (obvykle nazývaného BIOS i na počítačích, které technicky mají firmware UEFI místo starého BIOSu) nebo operačním systémem. Aktualizace mikrokódu nepřetrvají po restartování, takže v případě systému s duálním spouštěním, pokud aktualizace mikrokódu není doručena prostřednictvím systému BIOS, musí aktualizaci poskytnout oba operační systémy.

Chcete-li mít na Macu aktuální systém, použijte všechny aktualizace systému OS X a aktualizace firmwaru Apple nabízené v podokně Aktualizace na Obchod s aplikacemi aplikace.

Chcete-li systému Windows umožnit načíst aktualizovaný mikrokód do CPU, ujistěte se, že je povolena služba Windows Update a zda je nastavena instalace aktualizací.

Chcete-li zobrazit mikroarchitekturu procesoru a použitou revizi mikrokódu, spusťte příkaz reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 v příkazovém řádku Windows. ( Můžeš otevřete příkazový řádek stisknutím kláves Windows + R , zadáním cmd a stisknutím klávesy Return .) Řádek označený „VendorIdentifier“ zobrazuje dodavatele CPU (GenuineIntel pro Intel nebo AuthenticAMD pro AMD). Řádek označený "Identifier" udává mikroarchitekturu jako tři čísla: "Rodina", "Model" a "Stepping". Ty jsou důležité při identifikaci, zda konkrétní chyba CPU může být relevantní pro CPU ve vašem počítači. Řádek označený "Aktualizovat revizi" ukazuje aktuální revizi mikrokódu (pro konkrétní mikroarchitekturu) s nulami na obou stranách. Například Aktualizovat revizi REG_BINARY 000000001E000000 znamená, že revize je 1E (hexadecimální). Řádek označený jako "Previous Update Revision" ukazuje revizi mikrokódu načtenou z BIOSu.

Pokud je dodavatelem GenuineIntel, rodina je 6, model je 61 a krokování je 4, aby se zabránilo zhroucení s Firefoxem 57 nebo novějším, musí být revize mikrokódu 1A nebo vyšší.

To, zda se aktualizace mikrokódu používají ve výchozím nastavení, závisí na distribuci Linuxu a může se lišit pro procesory Intel a AMD.

  • V distribucích založených na Debianu, včetně Ubuntu, jsou aktualizace mikrokódu pro procesory Intel poskytovány balíčkem intel-microcode a aktualizace mikrokódu pro procesory AMD jsou poskytovány balíčkem amd64-microcode.
  • Na Arch jsou ve výchozím nastavení nainstalovány aktualizace mikrokódu AMD, ale aktualizace mikrokódu Intel vyžadují speciální kroky.
  • Na Fedoře jsou aktualizace mikrokódu nainstalovány ve výchozím nastavení.

Chcete-li zobrazit mikroarchitekturu procesoru a použitou revizi mikrokódu, spusťte v terminálu příkaz less /proc/cpuinfo. Řádek označený "vendor_id" ukazuje dodavatele CPU (GenuineIntel pro Intel nebo AuthenticAMD pro AMD). Mikroarchitektura je uvedena jako tři čísla na řádcích označených „rodina procesoru“, „model“ a „krokování“. Ty jsou důležité při identifikaci, zda konkrétní chyba CPU může být relevantní pro CPU ve vašem počítači. Řádek označený "microcode" ukazuje číslo revize mikrokódu (pro konkrétní mikroarchitekturu) v hexadecimální soustavě.

Výkon procesoru Intel nebo AMD můžete optimalizovat instalací nejnovějšího firmwaru procesoru. Optimalizace je dosaženo především opravou chyb ve standardním mikrokódu přijatém z firmwaru základní desky.

Aktualizace firmwaru BIOS/UEFI vaší základní desky obvykle obsahují nové podporované verze firmwaru základní deska centrální procesory. Z tohoto důvodu je první věcí, kterou musíte udělat, je ujistit se, že používáte nejnovější verzi systému BIOS/UEFI.

Tato příručka vám umožňuje optimalizovat výkon pouze těch CPU, které byly vyvinuty společnostmi Intel a AMD.

Poznámky:

  • Instalace balíčku software s mikrokódy může způsobit nestabilitu počítače. Z tohoto důvodu byste tento balíček měli instalovat pouze v případě, že se setkáte s problémy souvisejícími s fungováním CPU vašeho počítače!
  • Neinstalujte softwarový balíček CPU Firmware, pokud byl vydán před firmwarem BIOS/UEFI základní desky vašeho počítače!

1. Procesory Intel

V případě použití produkčního CPU od společnosti Intel můžete postupovat, jak je popsáno níže.

Poznámka: Potřebujete balíček firmwaru procesoru Intel, který je novější než ten v oficiálním úložišti distribuce? V tomto případě si můžete stáhnout soubor softwarového balíčku s příponou .deb z

Správce balíčků Synaptic Software

Správce balíčků Synaptic"Hledat v počítači"), zadejte dotaz Synaptický Správce balíčků Synaptic Správce balíčků Synaptic "Vyhledávání" "mikrokód" a stiskněte tlačítko "Vyhledávání" vedle něj.

3.201501106.1 (v tomto případě verze 3 balíčku byla vytvořena 6. listopadu 2015).

« intel-microcode" a stiskněte tlačítko "Aplikovat"

dmesg | mikrokód grep

Vstupte

2. CPU AMD

Při použití procesorů vyrobených AMD tento manuál bude relevantní pouze pro verze vydané po roce 2006 (AMD K10 a novější). Pokud je ve vašem počítači nainstalován jeden z těchto procesorů, můžete postupovat podle popisu níže.

Poznámka: Potřebujete balíček firmwaru CPU AMD, který je novější než ten v oficiálním úložišti distribuce? V tomto případě si můžete stáhnout soubor softwarového balíčku s příponou .deb z úložiště distribuce Debianu, kde jsou balíčky umístěny nejnovější verze. Po stažení souboru balíčku byste jej měli najít pomocí správce souborů a dvojitým kliknutím nainstalovat mikrokódy do systému. Po dokončení instalace musíte restartovat počítač.

A. Pokud používáte distribuci Ubuntu, budete muset nainstalovat Správce balíčků Synaptic(to lze provést pomocí aplikace Software). V Linux Mintu je tento správce balíčků přítomen ihned po instalaci.

B. Nejprve byste měli běžet Správce balíčků Synaptic. V Distribuce Ubuntu pro tento účel klikněte na bílé logo Ubuntu v horní části postranního panelu ( "Hledat v počítači"), zadejte dotaz Synaptický a vyberte první z navrhovaných aplikací Správce balíčků Synaptic. Není třeba používat pole rychlého vyhledávání pro softwarové balíčky v hlavním okně Správce balíčků Synaptic, protože odpovídající mechanismus je nespolehlivý; místo toho stiskněte tlačítko "Vyhledávání" na panelu nástrojů zadejte do vyhledávacího pole dialogového okna, které se otevře, dotaz "amd64-microcode" a stiskněte tlačítko "Vyhledávání" vedle něj.

C. Nyní byste měli zkontrolovat datum vytvoření softwarového balíčku s mikrokódy CPU: tento balíček musí být vytvořen později než firmware BIOS / UEFI základní desky vašeho počítače! Datum vytvoření příslušného balíčku se odráží například v čísle verze 2.20160316.1 (v tomto případě verze 2 balíčku byla vytvořena 2. března 2016).

D. Je čas zaškrtnout políčko vedle názvu softwarového balíčku "amd64-microcode" a stiskněte tlačítko "Aplikovat" na panelu nástrojů aplikace.

E. Po dokončení instalace softwarového balíčku musíte restartovat počítač.

F. Po restartu se vyplatí zkontrolovat, zda je některý z nainstalovaných mikrokódů načten správně, zadáním následujícího příkazu do okna terminálu (použijte funkce kopírování/vkládání, abyste předešli chybám):

dmesg | mikrokód grep

Po dokončení zadávání příkazu stiskněte klávesu Vstupte pro jeho provedení. Pokud byl firmware úspěšně nahrán, zobrazí se o tom několik zpráv.

Chtěli byste se dozvědět o dalších nastaveních a tricích pro práci se systémy Linux? Tento web obsahuje velké množství takových materiálů.

Pokud čipset a základní deska LGA 775 teoreticky mohou podporovat XEON 771, ale nativní BIOS jej nepodporuje a žádný upravený není, můžete si BIOS upravit sami.

DŮLEŽITÉ

1. Všechny změny v Firmware systému BIOS(obvykle soubor .ROM) Děláte to na vlastní nebezpečí. V případě chyby je ze základní desky získána zaručená „cihla“.
2. Velikost souboru původního firmwaru a upravené verze se musí shodovat až do bajtu.

3. Flashování upraveného souboru BIOS zpět do mikroobvodu se provádí pouze pomocí proprietárního nástroje od vývojáře základní desky (ke stažení z webu výrobce).
4. Ve špičkových základních deskách má BIOS sám vestavěný modul pro aktualizaci firmwaru (například utilita EZ Flash 2 pro ASUS P5Q v sekci Nástroje) - nejlepší možnost.

Jak to udělat lépe:
1. Stále hledáte na internetu hotovou verzi s podporou XEON?
2. Stáhněte si z oficiálních stránek Nejnovější verze firmware a přidat mikrokódy?

Jak vidíte, bezpečnější je druhá možnost, v každém případě si originální firmware stáhnete ze stránek výrobce základní desky, tzn. je zaručena nejnovější verze a absence chyb (přesněji oprava všech dříve nalezených chyb). Při stahování hotové verze ze zdrojů třetích stran (z pochopitelných důvodů nebude na původním webu) - můžete získat křivou verzi a zabít BIOS.

Předběžně můžete vyhodnotit přítomnost mikrokódů XEON ve firmwaru BIOSu.

- Získejte aktuální obraz AMI BIOS pomocí Universal BIOS Backup ToolKit 2.0
- Podívejte se na obsah přijatého souboru ROM prostřednictvím AMIBCP V 3.37

Možnost pro BIOS AMI (American Megatrends Inc.).

1. Stáhněte si nejnovější verzi BIOS z webu výrobce vaší základní desky

3. Stáhněte si mikrokódy pro procesory XEON 771: lga771_microcodes

4. Zjistěte CPUID vašeho procesoru pomocí AIDA64 nebo podobný program (vypadá jako cpu0001067Ah). Pokud BIOS bude sešít před instalací procesoru, pak tuto položku vynecháme.

5. Rozbalte archivy MMTool a lga771_microcodes a odejít ze souborů s příponou .zásobník pouze ty soubory, jejichž začátek odpovídá CPUID vašeho počítače (např. cpu0001067a_plat00000044_ver00000a0b_date20100928.bin)

Pokud nevíme jaký kód, tak vše zašijeme.

A. Spouštíme MMTool. Stiskněte tlačítko (1) Načíst ROM a nahrajte do programu nejnovější BIOS vaší základní desky. Pokud máte nejnovější BIOS, můžete také sloučit nástroj pro zálohování systému BIOS z počítače a upravit jej.

b. Přejít na kartu (2) Patch CPU, pak tlačítko (3) Procházet, otevřete soubor .zásobník odpovídající vašemu CPUID.

C. Ponechte možnosti jako výchozí. "Vložit data opravy" a stiskněte tlačítko (4) aplikovat.

Po aktualizaci s upraveným biosem je potřeba provést tovární reset pomocí resetovacího tlačítka nebo propojek, pokud základní deska takový reset podporuje, nebo vytažením baterie BIOSu na několik minut. Dále je procesor již správně vnímán počítačem a funguje tak, jak má.

Basic Input Output System - základní vstupní / výstupní systém, zkráceně BIOS. malý čip na základní deska, který jako první obdrží ovládání po zapnutí PC. Pokud: základní nastavení PC kontrola komponent PC při startu...