Od začiatku januára bolo ťažké prehliadnuť správy týkajúce sa hardvérových zraniteľností Spectre a Meltdown - ukázalo sa, že téma je taká vážna a obsiahla. Hoci výrobcovia o týchto problémoch vedia už od minulého leta, zdá sa, že väčšina začala reagovať až po zverejnení podrobností. Google Teams Projekt nula.

Napríklad v januári spoločnosť Intel vydala aktualizácie mikrokódu anti-Specter pre svoje procesory Broadwell, Haswell, Skylake, Kaby Lake a Coffee Lake, okrem iných záplat. Ale takmer okamžite sa ukázalo, že vedú k zlyhaniam a. Intel spočiatku uviedol, že problém sa týka iba čipov Broadwell a Haswell, neskôr však priznal existenciu porúch na počítačoch s procesormi Skylake, Kaby Lake a Coffee Lake a partneri a používatelia sa zatiaľ zdržali inštalácie záplat. Konečne začiatkom februára opravená verzia mikrokódu, ale len pre mobilné a desktopové spotrebiteľské čipy rodiny Skylake.

Teraz, po mesiaci intenzívneho testovania a opráv zo strany Intelu a jeho partnerov, prišiel čas na ďalšie viac-menej relevantné procesory: boli vydané aktualizácie mikrokódu pre čipy založené na architektúrach Kaby Lake a Coffee Lake, ako aj nedotknuté. predchádzajúca aktualizácia Platformy založené na Skylake. Hovoríme o procesoroch 6, 7 a 8 generácie Intelu Core i, ako aj najnovšie rodiny Core X, Xeon Scalable a Xeon D.

Nový variant firmvéru bude vo väčšine prípadov dostupný prostredníctvom OEM vydaní nového firmvéru základnej dosky a notebooku. Intel stále naliehal na ľudí, aby svoje systémy aktualizovali, a tiež zverejnil bielu knihu, ktorá načrtáva stav podobných opráv mikrokódov pre svoje ďalšie produkty, vrátane starších čipov počnúc 45nm Core 2. Pre niektoré z týchto čipov sa opravy iba plánujú , pre ostatných sú v stave ranného testovania, pre tretie už existujú vo forme beta verzie. Spravidla platí, že čím staršia architektúra, tým neskôr dostane firmvér s ochranou proti Spectre. Aktualizácie mikrokódov pre viac-menej aktuálne architektúry Sandy Bridge, Ivy Bridge, Haswell a Broadwell sú však už v beta testovaní. Záplaty už dostalo aj množstvo čipov Atom a dokonca aj akcelerátory Xeon Phi.

Intel pripomenul, že existujú aj iné metódy boja proti objaveným zraniteľnostiam bloku predikcie vetvenia v moderných procesoroch. Napríklad Retpoline, vyvinutý spoločnosťou Google proti Spectre CVE-2017-5715 (injekcia cieľa vetvy alebo injekcia cieľa do vetvy). Pre tých, ktorí majú záujem Ďalšie informácie o Retpoline a o tom, ako funguje, spoločnosť zverejnila špeciálnu technickú správu.

Vydané Aktualizácie Intel mikrokód proti Spectre sa v najbližších dňoch a týždňoch začne objavovať v podobe čerstvého firmvéru BIOSu pre rôzne základné dosky. Je zvedavé, či budú mať dodatočný vplyv na degradáciu výkonu koncových systémov?

Pôvodná metóda, vybavenie a mikrokódy sa v skutočnosti dajú nájsť (priamo návod pre AMI) a vo väčšine prípadov použitie tejto metódy nespôsobuje žiadne problémy a nemá žiadne úskalia, ale vo svojej praxi som sa pravidelne stretával s takýmto problémom:

Tie. bol banálny nedostatok voľné miesto vnútri obrázku. Keď si upravíte BIOS pre konkrétny procesor, môžete to ignorovať, pretože. Vždy môžete načítať len jeden mikrokód špeciálne pre váš procesor alebo vymazať nejaký starý mikrokód, aby ste uvoľnili miesto, ale keď ho upravíte streamom, musíte hľadať iné riešenie, kompromis.

Ako kompromis som zvolil nasledovné riešenie – berieme najnovšie verzie mikrokódov pre všetky procesory generácie CORE vo všetkých konštrukciách (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) a nahradiť ich všetkým, čo bolo predtým. Sada mikrokódov je nasledovná:

Objem tejto zostavy je len 76 kilobajtov. Tento súbor získané spojením týchto súborov:

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 sa tiež trochu zmenil a stal sa, ak nie jednoduchším, tak rýchlejším:

Krok 1- otvorte obraz systému BIOS v programe MMTool:



Krok 2- pre kontrolu prejdite na posledná záložka(PATCH CPU) a pozrite sa na počet mikrokódov. Tu je napríklad 31 kusov:

Krok 3- prejdite na kartu Nahradiť a vyhľadajte na nej položku „Mikrokód P6“:

Krok 4- po výbere položky „P6 Micro Code“ stlačte tlačidlo Ikshtsyu, vyberte súbor ncpucode.bin popísaný vyššie a nahraďte ho tlačidlom Nahradiť:





Krok 5- pre kontrolu prejdite na poslednú záložku (PATCH CPU) a pozrite sa na počet mikrokódov. Po zmene mikrokódov zostalo 17, najnovšia verzia:

Neexistuje žiadny zásadný rozdiel s poradím úprav popísaným na delidded.com. Vo väčšine prípadov výstup samozrejme nie je rovnaký, ale procesor dostane požadovaný mikrokód. Zo subjektívneho dobré body Upozorňujem len na to, že mikrokódy sú zaručene aktualizované pre všetky súčasné procesory, či už sú to „civilné“ alebo „serverové“ a prakticky nehrozí, že by dostali hlásenie o nedostatku miesta. Aj keď v mojej praxi ani pre takúto sadu mikrokódov nebolo niekoľkokrát dosť miesta, bolo to v BIOSoch pre dosky ECS P4M900T-M a ECS P4M900T-M2, ktoré sú všeobecne kompatibilné s Xeonom E5450.

Tradične zverejňujem odkaz na archív s nástrojmi - (zip, 234KB). Archív obsahuje spustiteľný súbor MMTOL.exe(verzia 3.22 BKMOD), súbor firmvéru pre všetky 45/65nm core/xeon procesory ncpucode.bin, ako aj dva súbory 45nm.bin a 65nm.bin s mikrokódmi len pre 45nm procesory a len pre 65nm. Použitie týchto súborov môže byť užitočné v prípadoch, keď je potrebné uvoľniť ďalšie miesto v BIOSe, napríklad pre nový firmvér nejakého radiča, siete, disku atď.

!NB: Súbor ncpucode.bin ani súbory 45nm.bin/65nm.bin nepodporujú procesory Pentium 4, Celeron (bez písmenových indexov), Pentium D, Celeron D a Xeon W (napríklad Xeon 5080). Ide o procesory generácie NetBrust.

Moderné procesory sú zložité zariadenia, ktoré môžu mať chyby. Okrem toho, namiesto priameho vykonávania inštrukcií x86, moderné procesory x86 obsahujú interný kód, ktorý implementuje podporu pre inštrukčnú sadu x86. Interný kód sa nazýva mikrokód. Mikrokód je možné aktualizovať na opravu alebo zmiernenie chýb CPU.

Niektoré chyby CPU môžu spôsobiť zlyhanie Firefoxu. Napríklad je známe, že Firefox 57 a novší občas havaruje na procesoroch Broadwell-U so starým mikrokódom spôsobom, ktorý nie je viditeľný v novších verziách mikrokódu Broadwell-U.

Aktualizácie mikrokódu môžu byť načítané do CPU pomocou firmvéru (zvyčajne nazývaného BIOS aj na počítačoch, ktoré technicky majú firmvér UEFI namiesto starého BIOSu) alebo operačným systémom. Aktualizácie mikrokódu nepretrvajú po reštarte, takže v prípade systému s dvoma systémami, ak aktualizácia mikrokódu nie je doručená cez BIOS, musia aktualizáciu poskytnúť oba operačné systémy.

Ak chcete mať na Macu aktuálny systém, použite všetky aktualizácie systému OS X a aktualizácie firmvéru Apple ponúkané na table Aktualizácie na Obchod s aplikaciami aplikácie.

Ak chcete systému Windows povoliť načítanie aktualizovaného mikrokódu do procesora, skontrolujte, či je služba Windows Update povolená a nastavená na inštaláciu aktualizácií.

Ak chcete vidieť mikroarchitektúru procesora a ktorá revízia mikrokódu sa používa, spustite príkaz reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0 v príkazovom riadku Windows. ( Môžeš otvorte príkazový riadok stlačením klávesov Windows + R, napísaním cmd a stlačením Return .) Riadok označený „VendorIdentifier“ zobrazuje dodávateľa procesora (GenuineIntel pre Intel alebo AuthenticAMD pre AMD). Riadok označený ako „Identifier“ udáva mikroarchitektúru ako tri čísla: „Rodina“, „Model“ a „Krokovanie“. Sú dôležité pri identifikácii, či konkrétna chyba CPU môže byť relevantná pre CPU vo vašom počítači. Riadok označený ako "Aktualizovať revíziu" zobrazuje aktuálnu revíziu mikrokódu (pre konkrétnu mikroarchitektúru) s nulami na oboch stranách. Napríklad Aktualizovať revíziu REG_BINARY 000000001E000000 znamená, že revízia je 1E (hexadecimálne). Riadok označený ako "Previous Update Revision" zobrazuje revíziu mikrokódu načítanú z BIOSu.

Ak je dodávateľom GenuineIntel, rodina je 6, model je 61 a krokovanie je 4, aby sa predišlo zlyhaniu s Firefoxom 57 alebo novším, musí byť revízia mikrokódu 1A alebo vyššia.

To, či sa predvolene používajú aktualizácie mikrokódu, závisí od distribúcie Linuxu a môže sa líšiť pre procesory Intel a AMD.

  • V distribúciách založených na Debiane, vrátane Ubuntu, sú aktualizácie mikrokódu pre procesory Intel poskytované balíkom intel-microcode a aktualizácie mikrokódu pre procesory AMD sú poskytované balíkom amd64-microcode.
  • Na Arch sú predvolene nainštalované aktualizácie mikrokódu AMD, ale aktualizácie mikrokódu Intel vyžadujú špeciálne kroky.
  • Vo Fedore sú predvolene nainštalované aktualizácie mikrokódu.

Ak chcete vidieť mikroarchitektúru procesora a ktorá revízia mikrokódu sa používa, spustite v termináli príkaz less /proc/cpuinfo. Riadok označený "vendor_id" zobrazuje dodávateľa CPU (GenuineIntel pre Intel alebo AuthenticAMD pre AMD). Mikroarchitektúra je uvedená ako tri čísla na riadkoch označených ako „rodina procesorov“, „model“ a „krokovanie“. Sú dôležité pri identifikácii, či konkrétna chyba CPU môže byť relevantná pre CPU vo vašom počítači. Riadok označený ako „microcode“ zobrazuje číslo revízie mikrokódu (pre konkrétnu mikroarchitektúru) v hexadecimálnej sústave.

Výkon procesora Intel alebo AMD môžete optimalizovať nainštalovaním najnovšieho firmvéru procesora. Optimalizácia sa dosahuje najmä opravou chýb v štandardnom mikrokóde prijatom z firmvéru základnej dosky.

Aktualizácie firmvéru BIOS/UEFI vašej základnej dosky zvyčajne obsahujú nové verzie firmvéru, ktoré sú podporované základná doska centrálne procesory. Z tohto dôvodu je prvou vecou, ​​ktorú musíte urobiť, aby ste sa uistili, že používate najnovšiu verziu systému BIOS/UEFI.

Táto príručka vám umožňuje optimalizovať výkon iba tých CPU, ktoré boli vyvinuté spoločnosťami Intel a AMD.

Poznámky:

  • Inštalácia balíka softvér s mikrokódmi môže spôsobiť, že sa počítač stane nestabilným. Z tohto dôvodu by ste mali inštalovať tento balík len vtedy, keď sa vyskytnú nejaké problémy súvisiace s fungovaním CPU vášho počítača!
  • Neinštalujte softvérový balík firmvéru CPU, ak bol vydaný pred firmvérom BIOS/UEFI základnej dosky vášho počítača!

1. Procesory Intel

V prípade použitia produkčného CPU od spoločnosti Intel môžete postupovať podľa popisu nižšie.

Poznámka: Potrebujete balík firmvéru procesora Intel, ktorý je novší ako ten v oficiálnom úložisku distribúcie? V tomto prípade si môžete stiahnuť súbor softvérového balíka s príponou .deb od

Synaptický správca balíkov softvér

Synaptický správca balíkov"Hľadať v počítači"), zadajte dopyt Synaptické Synaptic Package Manager Synaptický správca balíkov "Vyhľadávanie" "mikrokód" a stlačte tlačidlo "Vyhľadávanie" vedľa neho.

3.201501106.1 (v tomto prípade verzia 3 balíka bola vytvorená 6. novembra 2015).

« intel-microcode" a stlačte tlačidlo "Použiť"

dmesg | mikrokód grep

Zadajte

2. CPU AMD

Pri použití procesorov vyrobených spoločnosťou AMD túto príručku budú relevantné len pre verzie vydané po roku 2006 (AMD K10 a novšie). Ak má váš počítač nainštalovaný jeden z týchto procesorov, môžete postupovať podľa nižšie uvedeného popisu.

Poznámka: Potrebujete balík firmvéru CPU AMD, ktorý je novší ako ten v oficiálnom úložisku distribúcie? V tomto prípade si môžete stiahnuť súbor softvérového balíka s príponou .deb z úložiska distribúcie Debianu, kde sú balíky umiestnené najnovšie verzie. Po stiahnutí súboru balíka by ste ho mali nájsť pomocou správcu súborov a dvojitým kliknutím nainštalovať mikrokódy do systému. Po dokončení inštalácie musíte reštartovať počítač.

Odpoveď: Ak používate distribúciu Ubuntu, budete musieť nainštalovať Synaptický správca balíkov(dá sa to urobiť pomocou aplikácie softvér). V Linux Mint je tento správca balíkov prítomný ihneď po inštalácii.

B. V prvom rade by ste mali bežať Synaptický správca balíkov. AT Distribúcia Ubuntu na tento účel kliknite na biele logo Ubuntu v hornej časti bočného panela ( "Hľadať v počítači"), zadajte dopyt Synaptické a vyberte prvú z navrhovaných aplikácií Synaptic Package Manager. Nie je potrebné používať pole rýchleho vyhľadávania pre softvérové ​​balíky v hlavnom okne Synaptický správca balíkov, pretože zodpovedajúci mechanizmus je nespoľahlivý; namiesto toho stlačte tlačidlo "Vyhľadávanie" na paneli s nástrojmi zadajte do vyhľadávacieho poľa dialógového okna, ktoré sa otvorí, dopyt "amd64-microcode" a stlačte tlačidlo "Vyhľadávanie" vedľa neho.

C. Teraz by ste mali skontrolovať dátum vytvorenia softvérového balíka s mikrokódmi centrálnych procesorových jednotiek: tento balík musí byť vytvorený neskôr ako firmvér BIOS / UEFI základnej dosky vášho počítača! Dátum vytvorenia príslušného balíka sa odráža napríklad v čísle verzie 2.20160316.1 (v tomto prípade verzia 2 balíka bola vytvorená 2. marca 2016).

D. Je čas zaškrtnúť políčko vedľa názvu softvérového balíka "amd64-microcode" a stlačte tlačidlo "Použiť" na paneli s nástrojmi aplikácie.

E. Po dokončení inštalácie softvérového balíka musíte reštartovať počítač.

F. Po reštarte sa oplatí skontrolovať, či je jeden z nainštalovaných mikrokódov načítaný správne, zadaním nasledujúceho príkazu do okna terminálu (použite funkcie kopírovania/vkladania, aby ste sa vyhli chybám):

dmesg | mikrokód grep

Po dokončení zadávania príkazu stlačte kláves Zadajte na jeho vykonanie. Ak bol firmvér úspešne načítaný, zobrazí sa o tom niekoľko správ.

Chceli by ste sa dozvedieť o ďalších nastaveniach a trikoch pre prácu so systémami Linux? Táto webová stránka obsahuje veľké množstvo takýchto materiálov.

Ak čipset a základná doska LGA 775 teoreticky môžu podporovať XEON 771, ale natívny BIOS ho nepodporuje a neexistuje žiadny upravený, môžete si BIOS upraviť sami.

DÔLEŽITÉ

1. Všetky zmeny v Firmvér systému BIOS(súbor .ROM zvyčajne) Robíte na vlastné riziko. V prípade chyby sa zo základnej dosky získa zaručená „tehla“.
2. Veľkosť súboru pôvodného firmvéru a upravenej verzie sa musia zhodovať až do bajtu.

3. Flashovanie upraveného súboru BIOS späť do mikroobvodu sa vykonáva iba pomocou proprietárneho nástroja od vývojára základnej dosky (stiahnuteľný z webovej stránky výrobcu).
4. V top základných doskách má samotný BIOS zabudovaný modul aktualizácie firmvéru (napríklad utilita EZ Flash 2 pre ASUS P5Q v sekcii Nástroje) - najlepšia možnosť.

Ako to urobiť lepšie:
1. Stále hľadáte na internete hotovú verziu s podporou XEON?
2. Stiahnite si z oficiálnej webovej stránky Najnovšia verzia firmvér a pridať mikrokódy?

Ako vidíte, bezpečnejšia je druhá možnosť, v každom prípade si stiahnete originálny firmvér zo stránky výrobcu základnej dosky, t.j. je zaručená najnovšia verzia a absencia chýb (presnejšie oprava všetkých skôr zistených chýb). Pri sťahovaní hotovej verzie zo zdrojov tretích strán (z pochopiteľných dôvodov nebude na pôvodnej stránke) - môžete získať skreslenú verziu a zabiť BIOS.

Predbežne môžete vyhodnotiť prítomnosť mikrokódov XEON vo firmvéri systému BIOS.

- Získajte aktuálny obraz AMI BIOS cez Universal BIOS Backup ToolKit 2.0
- Pozrite si obsah prijatého súboru ROM cez AMIBCP V 3.37

Možnosť pre BIOS AMI (American Megatrends Inc.).

1. Stiahnite si najnovšiu verziu BIOS z webovej stránky výrobcu základnej dosky

3. Stiahnite si mikrokódy pre procesory XEON 771: lga771_microcodes

4. Zistite CPUID vášho procesora pomocou AIDA64 alebo podobný program (vyzerá ako cpu0001067Ah). Ak BIOS budú zašité pred inštaláciou procesora, potom túto položku preskočíme.

5. Rozbaľte archívy MMTool a lga771_microcodes a odísť zo súborov s príponou .bin iba tie súbory, ktorých začiatok sa zhoduje s CPUID vášho počítača (napr. cpu0001067a_plat00000044_ver00000a0b_date20100928.bin)

Ak nevieme aký kód, tak všetko zašijeme.

A. Spúšťame MMTool. Stlačte tlačidlo (1) Načítať ROM a do programu nahrajte najnovší BIOS pre vašu základnú dosku. Ak máte najnovší BIOS, môžete tiež zlúčiť pomôcku na zálohovanie systému BIOS z počítača a upraviť ju.

b. Prejsť na kartu (2) Patch CPU, potom tlačidlo (3) Prehľadávať, otvorte súbor .bin zodpovedajúce vášmu CPUID.

C. Ponechajte možnosti ako predvolené. "Vložte údaje opravy" a stlačte tlačidlo (4) uplatniť.

Po aktualizácii s upraveným biosom je potrebné vykonať obnovenie továrenských nastavení pomocou tlačidla reset alebo prepojok, ak základná doska podporuje takýto reset, alebo vytiahnutím batérie systému BIOS na niekoľko minút. Ďalej je procesor už správne vnímaný počítačom a funguje tak, ako má.

Basic Input Output System – základný vstupno/výstupný systém, skrátene BIOS. malý čip na základná doska, ktorý ako prvý dostane ovládanie po zapnutí PC. Poskytnuté: základné nastavenia PC kontrola komponentov PC pri štarte...