Intel vydal nové mikrokódy CPU. Oprava neznámé chyby zdá se zpomalí jádro Ice Lake

25. 5. 2020

Sdílet

Ve Windows Update se objevil nový mikrokód pro procesory Intel. Není uvedeno, které chyby opravil, ale zdá se, že 10nm procesory Intel jsou s ním pomalejší.

Mezi záplatami pro Windows se objevil nový balík s mikrokódy pro procesory Intel. Tyto aktualizace distribuuje Microsoft zejména kvůli tomu, že jsou potřebné pro opravy bezpečnostních zranitelností, které postupně objevují ve spekulativním vykonávání kódu od publikování chyb Spectre a Meltdown před dvěma lety. Vypadá to, že tato oprava by mohla snižovat výkon na nové architektuře Intel Ice Lake, zatímco předchozí se týkaly hlavně Skylake a předchozích CPU. Nové verze mikrokódu se objevily v balíku KB4497165, který by se měl instalovat pod Windows automaticky (a vyžádává si poté restart). Již předtím se zřejmě stejné nové mikrokódy objevily i v distribučních kanálech pro Linux. Kuriózní ale je, že k nim nejsou žádné poznámky k vydání – nejsou uvedené u balíku pro Linux, ale ani v popisu aktualizace Windows. Je možné, že detaily toho, co tyto aktualizace opravují, zatím drží Intel pod pokličkou, protože jde o nějakou chybu, která ještě nebyla zveřejněná a firma se snaží rozšířit aktualizace před odhalením detailů. Mohlo by tedy jít opět o bezpečnostní zranitelnost vyžadující nějaké změny v mikrokódu nebo ovládací rozhraní/bity, které je nově nutné přidat.

Snížený výkon pro procesory Ice Lake

Nicméně to vypadá, že by oprava mohla snižovat výkon. Web Phoronix totiž aktualizovaný mikrokód otestoval na 10nm procesoru Intel Ice Lake a u nové verze (pod Linuxem je označená jako 0x78) naměřil konzistentně nižší výkon než před aplikací (se starším mikrokódem 0x46). V době testování Phoronixu byl nový mikrokód zřejmě dostupný jen pro Ice Lake, takže ostatní CPU minimálně tehdy tímto nebyla ovlivněna. Je možné, že oprava (a zpomalení) se Skylake a starších CPU ani týkat nebude.

Není to naštěstí zpomalení dramatické, ale spíše mírné. Ovšem vypadá to, že se netýká pouze systémových volání a přepínání kontextů jako Spectre, ale mohlo by postihovat obecně jakýkoli běžící kód, tedy i intenzivní CPU zátěže, tedy jde jinými slovy o snížení IPC architektury.

Test Phoronixu ukazující propad výkonu procesoru Intel Ice Lake s mikrokódem 0x78 04 Test Phoronixu ukazující propad výkonu procesoru Intel Ice Lake s mikrokódem 0x78

Zpomalení typicky o 1 až 3 %

Test Phoronixu můžete najít zde. Propady výkonu v testech, které jsou v jeho článku, se pohybují mezi jedním a třemi procenty, ve dvou výjimečnějších případech je postih 4 % a 5,9 % výkonu.

Nejde tedy o nic smrtícího, ale zdá se, že zpomalení bylo naměřené konzistentně. Mimo Linux nicméně ještě testy provedeny nebyly, takže zatím nevíme, jestli se podobné zpomalení projeví i na Windows.

Galerie: Test Phoronixu ukazující propad výkonu procesoru Intel Ice Lake s mikrokódem 0x78

Zdroje: Bleeping Computer, Phoronix