AMD a Intel před rokem oznámily překvapivé sblížení, když obě firmy společně s výrobci počítačů a některými softwarovými hráči založily konsorcium, které má do budoucna spravovat a řídit vývoj procesorů instrukční sady x86 a jejich platformy. Zdá se, že to byla tváří v tvář rostoucímu nebezpečí ze strany procesorů Arm (což určitě byla motivace) dobrá volba a pomůže to prosazení moderních rozšíření pro tyto tradiční procesory.
Nové technologie, které přijdou do procesorů Intel i AMD
Konsorcium x86 Ecosystem Advisory Group, jak se skupina jmenuje, teď slaví první rok činnosti, která už přinesla výsledky. Již dříve dosáhla dohody na tom, že budoucí SIMD instrukce se zharmonizují na základě 512bitového rozšíření AVX10, což je v podstatě AVX-512. Intel zahodil předchozí plány přeorientovat se na 256bitovou variantu a přiklonil se k zachování 512bitové koncepce, čímž budou procesory Intel sladěné a kompatibilní s těmi od AMD. Současně také firma opustila plány na technologii x86S, která by znamenala částečné přerušení kompatibility – i toto rozhodnutí padlo díky konzultacím v rámci tohoto orgánu.
Reforma přerušení
A nyní v době, kdy skupina slaví první výročí, byly oznámeny další „dohody“ mezi oběma konkurenty na tom, kam budou x86 procesory v budoucnu směřovat. První z nich je změna v obsluze přerušení známá pod pracovním názvem FRED (Flexible Return and Event Delivery). Obsluha přerušení je na platformě x86 jedna z věcí, hluboce zatížených dlouhým vývojem této instrukční sady a počítačů na ní založených – tím, jak se od 80. let postupně udržuje zpětná kompatibilita.
FRED má zavést nový standardizovaný a modernější způsob zpracování přerušení, který by měl posílit spolehlivost i výkon a snad také operačním systémům a hardwaru zjednodušit práci. Jde o oblast, v které diskuse probíhají už dlouho a objevilo se více protichůdných návrhů. AMD mělo vlastní konzervativnější návrh, jak přerušení modernizovat, zatímco FRED (první verze byla navržena na jaře 2021, dnes už je na stole po revizích devátá) od Intelu byl ambicióznější a šel více do hloubky. Nyní se tedy obě firmy (a patrně též Microsoft a tým kolem Linuxu) dohodly na přijetí návrhu od Intelu. FRED se stane součástí budoucích procesorů AMD a Intel a časem ho budou moci začít využívat operační systémy.
Maticové instrukce (AMX ve všech procesorech?)
Druhá novinka je, že se na platformu x86 dostanou standardizované instrukce pro maticové výpočty (násobení) využívané zejména AI. V principu jde o něco podobného AI akcelerátorům v GPU, ale úzce navázaného přímo v procesoru, takže se tyto operace budou dát mnohem snáze používat bez nutnosti různých těžkopádných ovladačů a „stacků“ typu CUDA – podobně jako SIMD rozšíření.
Tyto nové instrukce dostaly pojmenování ACE, což znamená poněkud zmateně „Advanced Matrix Exensions for Matrix Multiplication“. První část této zkratky připomíná instrukce AMX, které už za tímto účelem Intel má v procesorech Xeon (od generace Sapphire Rapids).
Změna jména ale implikuje, že došlo k nějakým změnám a ACE tak nemusí být s AMX plně kompatibilní. Toto se případně srovná v budoucích verzích procesorů. Důležité je, že podporu přidá i AMD, takže se vývojáři softwaru budou moci spolehnout na kompatibilitu a snad to přinese širší podporu těchto instrukcí v softwaru.
Podle AMD už ACE nebude omezeno jenom na serverové procesory jako AMX. Firma píše, že podpora má jít napříč zařízeními od notebooků po datacentra. Nejspíš tedy tato technologie dorazí do všech budoucích jader x86 CPU – a u Intelu jak P-Core, tak i E-Core.
Velký skok pro bezpečnost: X86 dostává technologii tagování paměti
U AMX se otázka, zda bude rozšíření standardizováno napříč Intelem a AMD, sama nabízela. Poslední nově schválené rozšíření je ale větší překvapení. Obě firmy se dohodly, že ve svých procesorech do budoucna zavedou rozšíření označené ChkTag. Jde o tagování paměti, tedy technologii, která specifikuje systém přidávání „štítků“ k obsahu paměti. Tyto štítky pak umožňují zabránit zneužití chyb jakou jsou přetečení bufferu, use-after-free a podobné – jde o jedny z nejčastějších zneužitelných chyb v softwaru. Jde tedy o rozšíření, které zlepší bezpečnost.
Tagování paměti už existuje na jiných platformách CPU jako je Arm, takže x86 zde srovná krok s konkurencí. ChkTag přidá instrukce k hardwarovému detekování narušení ochrany paměti a posílí bezpečnost operačních systémů, virtualizačních hypervizorů i firmwarových funkcí. Specifikace této technologie bude zveřejněna někdy během zbytku letošního roku, ale Intel už něco málo sděluje v tomto blogu.
Všechny tři tyto technologie jsou toho typu, že je software bude moci využít, pokud jeho vývojáři přidají jejich podporu a potřebné změny – jejich přínos nebude automatický. Jinak ale procesory i po zavedení těchto technologií zůstanou plně kompatibilní i se starším softwarem, který na ně připraven není. Nebude tedy narušena dlouholetá kontinuita platformy x86. I technologie tagování paměti bude implementována tak, aby software, který ji využívá, beze změny běžel i na starších procesorech bez podpory ChkTag. Na starých CPU se funkce nepoužije, zatímco na nových s podporou bude ochrana aktivní.
Tímto se činnost 86 Ecosystem Advisory Group nevyčerpává, konsorcium by mělo fungovat i nadále. AMD a Intel uvádějí, že do budoucna budou zkoumat další nová rozšíření instrukční sady, která by mohla do procesorů x86 přibýt – za předpokladu, že u nich bude jasný přínos. Cílem má nadále být to, aby podpora různých technologií na platformě x86 byla stabilní a předvídatelná a vývojáři softwaru se mohli spolehnout na kompatibilitu.
Zdroje: Intel, AMD, techPowerUp

