Nuo sausio pradžios buvo sunku nepastebėti naujienų apie Spectre ir Meltdown techninės įrangos spragas – tema pasirodė tokia rimta ir išsami. Nors gamintojai apie šias problemas žinojo nuo praėjusios vasaros, atrodo, kad dauguma ėmė reaguoti tik paviešinus detales. Google komandos Projektas nulis.

Pavyzdžiui, dar sausio mėnesį „Intel“ išleido anti-Spectre mikrokodų atnaujinimus savo Broadwell, Haswell, Skylake, Kaby Lake ir Coffee Lake procesoriams, be kitų pataisų. Tačiau beveik iš karto paaiškėjo, kad jie veda prie nesėkmių ir. Iš pradžių „Intel“ pareiškė, kad ši problema paliečia tik „Broadwell“ ir „Haswell“ lustus, tačiau vėliau pripažino, kad yra gedimų kompiuteriuose su „Skylake“, „Kaby Lake“ ir „Coffee Lake“ procesoriais, o partneriai ir vartotojai kol kas susilaikė nuo pataisų diegimo. Galiausiai, vasario pradžioje, pataisyta mikrokodo versija, tačiau skirta tik „Skylake“ šeimos mobiliųjų ir stalinių kompiuterių vartotojų lustams.

Dabar, po mėnesio intensyvių „Intel“ ir jos partnerių bandymų ir pataisų, atėjo laikas kitiems daugiau ar mažiau svarbiems procesoriams: buvo išleisti mikrokodų atnaujinimai lustams, pagrįstiems „Kaby Lake“ ir „Coffee Lake“ architektūromis, taip pat nepakitusiems. ankstesnis atnaujinimas„Skylake“ platformos. Mes kalbame apie 6, 7 ir 8 procesorius „Intel“ kartos Core i, taip pat naujausios Core X, Xeon Scalable ir Xeon D šeimos.

Naujasis programinės aparatinės įrangos variantas daugeliu atvejų bus pasiekiamas per OEM leidimus naujos pagrindinės plokštės ir nešiojamojo kompiuterio programinės įrangos. „Intel“ vis dar ragino žmones nuolat atnaujinti savo sistemas, taip pat paskelbė baltąjį dokumentą, kuriame aprašoma panašių mikrokodų pataisymų kitiems produktams, įskaitant ankstesnius lustus, pradedant 45 nm Core 2, būsena. Kai kurioms iš šių lustų pataisymai tik planuojami. , kitiems jie yra ankstyvo testavimo būsenoje, tretiesiems jie jau egzistuoja beta versijos pavidalu. Paprastai kuo senesnė architektūra, tuo vėliau ji gaus programinę įrangą su apsauga nuo Spectre. Tačiau daugiau ar mažiau dabartinių „Sandy Bridge“, „Ivy Bridge“, „Haswell“ ir „Broadwell“ architektūrų mikrokodų atnaujinimai jau bandomi beta versijoje. Taip pat pataisymus jau gavo nemažai „Atom“ lustų ir net „Xeon Phi“ greitintuvų.

„Intel“ priminė, kad yra ir kitų būdų, kaip kovoti su atrastomis šakų numatymo bloko pažeidžiamumu šiuolaikiniuose procesoriuose. Pavyzdžiui, „Retpoline“, sukurta „Google“ prieš Spectre CVE-2017-5715 (šakos taikinio injekcija arba taikinio įpurškimas į šaką). Tiems, kam įdomu Papildoma informacija apie Retpoline ir kaip ji veikia, bendrovė paskelbė specialią techninę ataskaitą.

Išleistas Intel atnaujinimai mikrokodas prieš Spectre artimiausiomis dienomis ir savaitėmis pradės pasirodyti kaip nauja BIOS programinė įranga įvairioms pagrindinėms plokštėms. Įdomu, ar jie turės papildomo poveikio galutinių sistemų veikimo pablogėjimui?

Tiesą sakant, originalų metodą, įrangą ir mikrokodus galima rasti (tiesiogiai AMI instrukcijos), ir daugeliu atvejų šio metodo naudojimas nesukelia jokių problemų ir neturi jokių spąstų, tačiau savo praktikoje aš reguliariai susidurdavau su tokia problema:

Tie. buvo banalus trūkumas laisva vieta vaizdo viduje. Kai modifikuojate BIOS tam tikram procesoriui, galite to nepaisyti, nes. Visada galite įkelti tik vieną mikrokodą specialiai savo procesoriui arba ištrinti kokį nors seną mikrokodą, kad atlaisvintumėte vietos, bet kai jį modifikuojate srautu, reikia ieškoti kito sprendimo, kompromiso.

Kaip kompromisą pasirinkau tokį sprendimą – imame naujausias visų procesorių mikrokodų versijas CORE kartos visose konstrukcijose (Celeron E, Pentium E, Core 2 Duo, Core 2 Quad, Xeon *3xxx/*5xxx) ir pakeiskite jas viskuo, kas buvo anksčiau. Mikrokodų rinkinys yra toks:

Šio rinkinio tūris yra tik 76 kilobaitai. Šis failas gautas sujungus šiuos failus:

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

Pati modifikavimo procedūra taip pat šiek tiek pasikeitė ir tapo jei ne paprastesnė, tai greitesnė:

1 žingsnis- atidarykite BIOS vaizdą programoje MMTool:



2 žingsnis- patikrinti eikite į paskutinis skirtukas(CPU PATCH) ir pažiūrėkite į mikrokodų skaičių. Štai, pavyzdžiui, 31 gabalas:

3 veiksmas- eikite į skirtuką Pakeisti ir jame ieškokite elemento „P6 Micro Code“:

4 veiksmas- pasirinkę elementą „P6 Micro Code“, paspauskite mygtuką Ikshtsyu, pasirinkite aukščiau aprašytą failą ncpucode.bin ir pakeiskite jį mygtuku Pakeisti:





5 veiksmas- norėdami patikrinti, eikite į paskutinį skirtuką (CPU PATCH) ir pažiūrėkite į mikrokodų skaičių. Pakeitus mikrokodus liko 17, naujausia versija:

Nėra esminių skirtumų su delidded.com aprašyta pakeitimo tvarka. Daugeliu atvejų išvestis, žinoma, nėra vienoda, tačiau procesorius gauna norimą mikrokodą. Iš subjektyvaus geri taškai Noriu tik atkreipti dėmesį į tai, kad visiems dabartiniams procesoriams, nesvarbu, ar jie būtų „civiliniai“, ar „serveriniai“, mikrokodai bus atnaujinti, o gauti pranešimą apie vietos trūkumą praktiškai nėra. Nors mano praktikoje net ir tokiam mikrokodų rinkiniui porą kartų vietos neužteko, tai buvo su BIOS ECS P4M900T-M ir ECS P4M900T-M2 plokštėms, kurios paprastai yra suderinamos su Xeon E5450.

Pagal tradiciją publikuoju nuorodą į archyvą su įrankiais - (zip, 234KB). Archyve yra vykdomasis failas MMTOL.exe(3.22 BKMOD versija), visų 45/65 nm branduolių / xeon procesorių programinės įrangos failas ncpucode.bin, taip pat du failus 45nm.bin ir 65nm.bin su mikrokodais tik 45nm procesoriams ir tik 65nm. Šių failų naudojimas gali būti naudingas tais atvejais, kai reikia atlaisvinti papildomos vietos BIOS, pavyzdžiui, naujai kurio nors valdiklio, tinklo, disko ir pan.

!NB: Nei ncpucode.bin failas, nei 45nm.bin/65nm.bin failai nepalaiko Pentium 4, Celeron (be raidžių indeksų), Pentium D, Celeron D ir Xeon W procesorių (pavyzdžiui, Xeon 5080). Tai yra „NetBrust“ kartos procesoriai.

Šiuolaikiniai procesoriai yra sudėtingi įrenginiai, kuriuose gali būti klaidų. Be to, užuot tiesiogiai vykdydami x86 instrukcijas, šiuolaikiniuose x86 procesoriuose yra vidinis kodas, įgyvendinantis x86 instrukcijų rinkinio palaikymą. Vidinis kodas vadinamas mikrokodu. Mikrokodą galima atnaujinti, kad būtų ištaisytos arba sušvelnintos procesoriaus klaidos.

Kai kurios procesoriaus klaidos gali priversti „Firefox“ strigti. Pavyzdžiui, žinoma, kad „Firefox 57“ ir naujesnės versijos retkarčiais užstringa „Broadwell-U“ procesoriuose su senu mikrokodu taip, kaip nėra naujesnėse „Broadwell-U“ mikrokodo versijose.

Mikrokodo naujinimus į procesorių gali įkelti programinė įranga (dažniausiai vadinama BIOS net kompiuteriuose, kuriuose vietoj seno tipo BIOS yra UEFI programinė įranga) arba operacinė sistema. Mikrokodo naujinimai neišlieka perkraunant iš naujo, todėl dvigubos įkrovos sistemos atveju, jei mikrokodo naujinimas nepateikiamas per BIOS, abi operacinės sistemos turi pateikti naujinimą.

Jei norite turėti naujausią sistemą „Mac“, taikykite visus OS X sistemos naujinimus ir „Apple“ programinės aparatinės įrangos naujinimus, siūlomus naujinimų srityje. Programėlių parduotuvė programėlė.

Jei norite leisti „Windows“ įkelti atnaujintą mikrokodą į centrinį procesorių, įsitikinkite, kad įgalintas „Windows Update“ ir nustatytas naujinimų diegimas.

Norėdami pamatyti procesoriaus mikroarchitektūrą ir naudojamą mikrokodo versiją, „Windows“ komandų eilutėje paleiskite komandų reg užklausą HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0. ( Tu gali atidarykite komandų eilutę paspausdami Windows + R , įvesdami cmd ir paspausdami Return .) Eilutėje, pažymėtoje „VendorIdentifier“, rodomas procesoriaus tiekėjas (GenuineIntel, skirtas Intel, arba AuthenticAMD, skirtas AMD). Eilutė, pažymėta „Identifier“, suteikia mikroarchitektūrą trimis skaičiais: „Šeima“, „Modelis“ ir „Žingsnis“. Jie yra svarbūs nustatant, ar tam tikra procesoriaus klaida gali būti susijusi su jūsų kompiuterio CPU. Eilutėje, pažymėtoje „Atnaujinti peržiūrą“, rodoma dabartinė mikrokodo versija (konkrečiai mikroarchitektūrai) su nuliais abiejose pusėse. Pavyzdžiui, atnaujinimo versija REG_BINARY 000000001E000000 reiškia, kad taisymas yra 1E (šešioliktainis). Eilutėje, pažymėtoje „Ankstesnio atnaujinimo versija“, rodoma iš BIOS įkelta mikrokodo versija.

Jei tiekėjas yra „GenuineIntel“, šeima yra 6, modelis yra 61, o žingsnis yra 4, norint išvengti gedimų naudojant „Firefox 57“ ar naujesnę versiją, mikrokodo versija turi būti 1A ar didesnė.

Ar mikrokodo naujinimai naudojami pagal numatytuosius nustatymus, priklauso nuo Linux platinimo ir gali skirtis Intel ir AMD procesoriams.

  • „Debian“ pagrindu sukurtuose platinimuose, įskaitant „Ubuntu“, „Intel“ procesorių mikrokodų naujinimus teikia „intel-microcode“ paketas, o „AMD“ procesorių mikrokodų naujinimus teikia paketas „amd64-microcode“.
  • „Arch“ sistemoje AMD mikrokodo naujinimai įdiegiami pagal numatytuosius nustatymus, tačiau norint atnaujinti „Intel“ mikrokodą reikia atlikti specialius veiksmus.
  • „Fedora“ mikrokodo naujinimai įdiegiami pagal numatytuosius nustatymus.

Norėdami pamatyti procesoriaus mikroarchitektūrą ir naudojamą mikrokodo versiją, terminale paleiskite komandą less /proc/cpuinfo. Eilutė, pažymėta „vendor_id“, rodo procesoriaus tiekėją („GenuineIntel“, skirta „Intel“, arba „AuthenticAMD“, skirta AMD). Mikroarchitektūra pateikiama kaip trys skaičiai eilutėse, pažymėtose „procesoriaus šeima“, „modelis“ ir „žingsnis“. Jie yra svarbūs nustatant, ar tam tikra procesoriaus klaida gali būti susijusi su jūsų kompiuterio CPU. Eilutė, pažymėta „mikrokodas“, rodo mikrokodo peržiūros numerį (konkrečiai mikroarchitektūrai) šešioliktaine tvarka.

Galite optimizuoti savo kompiuterio Intel arba AMD procesoriaus našumą įdiegę naujausią procesoriaus programinę-aparatinę įrangą. Optimizavimas daugiausia pasiekiamas taisant klaidas standartiniame mikrokode, gautame iš pagrindinės plokštės programinės įrangos.

Jūsų pagrindinės plokštės BIOS/UEFI programinės aparatinės įrangos naujinimuose paprastai yra naujų palaikomų programinės įrangos versijų pagrindinė plokštė centriniai procesoriai. Dėl šios priežasties pirmas dalykas, kurį reikia padaryti, yra įsitikinti, kad naudojate naujausią BIOS / UEFI versiją.

Šis vadovas leidžia optimizuoti tik tų procesorių, kuriuos sukūrė „Intel“ ir AMD, veikimą.

Pastabos:

  • Paketo montavimas programinė įranga naudojant mikrokodus, kompiuteris gali tapti nestabilus. Dėl šios priežasties šį paketą turėtumėte įdiegti tik tada, kai kyla problemų, susijusių su kompiuterio procesoriaus veikimu!
  • Neįdiekite procesoriaus programinės įrangos paketo, jei jis išleistas anksčiau nei jūsų kompiuterio pagrindinės plokštės BIOS / UEFI programinė įranga!

1. Intel procesoriai

Jei naudojamas gamybos procesorius pateikė Intel galite tęsti, kaip aprašyta toliau.

Pastaba: Ar jums reikia „Intel“ procesoriaus programinės įrangos paketo, kuris yra naujesnis nei tas, kuris yra oficialioje platinimo saugykloje? Tokiu atveju galite atsisiųsti programinės įrangos paketo failą su plėtiniu .deb

Synaptic paketų tvarkyklė Programinė įranga

Synaptic paketų tvarkyklė„Ieškoti kompiuteryje“), įveskite užklausą Sinaptinis Synaptic paketų tvarkyklė Synaptic paketų tvarkyklė "Paieška" "mikrokodas" ir paspauskite mygtuką "Paieška"šalia jo.

3.201501106.1 (šiuo atveju 3 paketo versija buvo sukurta 2015 m. lapkričio 6 d.).

« „Intel-microcode“ ir paspauskite mygtuką "Taikyti"

dmesg | grep mikrokodas

Įeikite

2. AMD procesoriai

Naudojant AMD pagamintus procesorius šį vadovą bus aktualus tik tiems, kurie išleisti po 2006 m. (AMD K10 ir naujesni). Jei jūsų kompiuteryje yra įdiegtas vienas iš šių procesorių, galite tęsti, kaip aprašyta toliau.

Pastaba: Ar jums reikia AMD CPU programinės įrangos paketo, kuris yra naujesnis nei tas, kuris yra oficialioje platinimo saugykloje? Tokiu atveju galite atsisiųsti programinės įrangos paketo failą su plėtiniu .deb iš Debian platinimo saugyklos, kurioje yra paketai naujausios versijos. Atsisiuntę paketo failą, turėtumėte jį rasti naudodami failų tvarkyklę ir dukart spustelėkite, kad įdiegtumėte mikrokodus į sistemą. Baigę diegti, turite iš naujo paleisti kompiuterį.

A. Jei naudojate Ubuntu platinimą, turėsite įdiegti Synaptic paketų tvarkyklė(tai galima padaryti naudojant programą Programinė įranga). „Linux Mint“ ši paketų tvarkyklė yra iškart po įdiegimo.

B. Visų pirma turėtumėte bėgti Synaptic paketų tvarkyklė. AT Ubuntu platinimasšiuo tikslu spustelėkite baltą Ubuntu logotipą šoninės juostos viršuje ( „Ieškoti kompiuteryje“), įveskite užklausą Sinaptinis ir pasirinkite pirmąją iš siūlomų programų Synaptic paketų tvarkyklė. Nereikia naudoti greitosios paieškos laukelio pagrindinio lango programinės įrangos paketams Synaptic paketų tvarkyklė, nes atitinkamas mechanizmas yra nepatikimas; vietoj to paspauskite mygtuką "Paieška"įrankių juostoje, atsidariusio dialogo lango paieškos laukelyje įveskite užklausą "amd64-microcode" ir paspauskite mygtuką "Paieška"šalia jo.

C. Dabar turėtumėte patikrinti programinės įrangos paketo sukūrimo datą su centrinių procesorių mikrokodais: šis paketas turi būti sukurtas vėliau nei jūsų kompiuterio pagrindinės plokštės BIOS / UEFI programinė įranga! Aptariamo paketo sukūrimo data atsispindi, pavyzdžiui, jo versijos numeryje 2.20160316.1 (šiuo atveju 2 paketo versija buvo sukurta 2016 m. kovo 2 d.).

D. Atėjo laikas pažymėti langelį šalia programinės įrangos paketo pavadinimo "amd64-microcode" ir paspauskite mygtuką "Taikyti" programos įrankių juostoje.

E. Baigę diegti programinės įrangos paketą, turite iš naujo paleisti kompiuterį.

F. Perkrovus verta patikrinti, ar vienas iš įdiegtų mikrokodų įkeltas teisingai, terminalo lange įvedus šią komandą (kad išvengtumėte klaidų, naudokite kopijavimo/įklijavimo funkcijas):

dmesg | grep mikrokodas

Baigę įvesti komandą, paspauskite klavišą Įeikite jo vykdymui. Jei programinė įranga buvo sėkmingai įkelta, pamatysite keletą pranešimų apie tai.

Ar norėtumėte sužinoti apie kitus nustatymus ir gudrybes dirbant su Linux sistemomis? Šioje svetainėje yra daug tokios medžiagos.

Jei mikroschemų rinkinys ir LGA 775 pagrindinė plokštė teoriškai gali palaikyti XEON 771, bet gimtoji BIOS jo nepalaiko, o modifikuoto nėra, tuomet BIOS galite modifikuoti patys.

SVARBU

1. Visi pakeitimai BIOS programinė įranga(.ROM failas paprastai) Jūs tai darote savo pačių rizika. Klaidos atveju iš pagrindinės plokštės gaunama garantuota „plyta“.
2. Originalios programinės aparatinės įrangos ir modifikuotos versijos failo dydis turi sutapti iki baito.

3. Modifikuoto BIOS failo perkėlimas atgal į mikroschemą atliekamas tik naudojant patentuotą pagrindinės plokštės kūrėjo įrankį (kurią reikia atsisiųsti iš gamintojo svetainės).
4. Populiariausiose pagrindinėse plokštėse pati BIOS turi įmontuotą firmware atnaujinimo modulį (pvz., EZ Flash 2 įrankis, skirtas ASUS P5Q įrankių skiltyje) – geriausias pasirinkimas.

Kaip tai padaryti geriau:
1. Ar vis dar ieškote internete paruoštos versijos su XEON palaikymu?
2. Atsisiųskite iš oficialios svetainės Naujausia versija programinę įrangą ir pridėti mikrokodus?

Kaip matote, antrasis variantas yra saugesnis, bet kokiu atveju originalią programinę įrangą atsisiunčiate iš pagrindinės plokštės gamintojo svetainės, t.y. garantuojama naujausia versija ir klaidų nebuvimas (tiksliau, visų anksčiau rastų klaidų taisymas). Atsisiųsdami paruoštą versiją iš trečiųjų šalių išteklių (dėl akivaizdžių priežasčių jos nebus pradinėje svetainėje) - galite gauti kreivą versiją ir nužudyti BIOS.

Preliminariai galite įvertinti XEON mikrokodų buvimą BIOS programinėje įrangoje.

- Gaukite dabartinį AMI BIOS vaizdą naudodami Universal BIOS Backup ToolKit 2.0
- peržiūrėkite gauto ROM failo turinį per AMIBCP V 3.37

BIOS parinktis AMI (American Megatrends Inc.).

1. Atsisiųskite naujausią versiją BIOS iš pagrindinės plokštės gamintojo svetainės

3. Atsisiųskite XEON 771 procesorių mikrokodus: lga771_microcodes

4. Naudodami sužinokite savo procesoriaus CPUID AIDA64 arba panašią programą (atrodo cpu0001067Ah). Jeigu BIOS bus susiūti prieš diegiant procesorių, tada šį elementą praleidžiame.

5. Išpakuokite archyvus MMTool ir lga771_microcodes ir išeiti iš failų su plėtiniu .bin tik tuos failus, kurių pradžia atitinka jūsų kompiuterio CPUID (pvz., cpu0001067a_plat00000044_ver00000a0b_date20100928.bin)

Jei nežinome kokio kodo, tai viską susiuvame.

A. Paleidžiame MMTool. Paspauskite mygtuką (1) Įkelti ROM ir į programą įkelkite naujausią pagrindinės plokštės BIOS. Jei turite naujausią BIOS, taip pat galite sujungti BIOS atsarginės kopijos programą iš kompiuterio ir ją redaguoti.

b. Eiti į skirtuką (2) CPU pataisas, tada mygtuką (3) Naršyti, atidarykite failą .bin atitinkantį jūsų CPUID.

C. Palikite parinktis kaip numatytąsias. „Įterpti pataisos duomenis“ ir paspauskite mygtuką (4) taikyti.

Atnaujinus naudojant modifikuotą BIOS reikia atlikti gamyklinius nustatymus per atstatymo mygtuką arba trumpiklius, jei pagrindinė plokštė palaiko tokį atstatymą, arba ištraukiant BIOS bateriją porai minučių. Be to, procesorių jau teisingai suvokia kompiuteris ir jis veikia taip, kaip turėtų.

„Basic Input Output System“ – pagrindinė įvesties / išvesties sistema, sutrumpintai vadinama BIOS. mažas lustas pagrindinė plokštė, kuris pirmasis gauna valdymą, kai kompiuteris įjungtas. Jeigu: pagrindiniai nustatymai PC patikrinkite kompiuterio komponentus paleidžiant...