Před několika týdny, ARM představil devátou generaci sady registrů a instrukcí používaných v procesorech se stejným názvem ISA. ARMv9 je název, pod kterým byla pokřtěna nová verze tohoto ISA, která bude použita v budoucích SoC pro zařízení PostPC. Co je ARMv9 a co je nového v předchozích verzích, jak budou vypadat budoucí procesory ARM?
ISA není nic jiného než jazyk, kterému rozumí různé procesory, a proto označuje, co znamená množina jedniček a nul v kódu, který provádějí. Binární soubor pro x86 Procesor (CPU) například nemá stejný význam jako binární pro procesor ARM.
Pokrok technologie však vyžaduje, aby byly do ISA přidány nové pokyny, které jim dávají možnost přidávat nové funkce pro zvýšení jejich výkonu, zabezpečení při zpracování dat nebo pro řešení nových výzev, které jim jsou předkládány.
V tomto článku budeme hovořit o deváté generaci ISA ARM, která se po letech zaměřených na nízkou spotřebu CPU a mikrokontrolérů rozhodla být ambicióznější a vstoupit na trh, který vyžaduje nejvyšší výkon, výkon datových center a vysoký výkon výpočetní technika nebo HPC.
Škálovatelné vektorové rozšíření 2
Japonské Fujitsu vytvořilo pro své jádro ARM řadu proprietárních rozšíření s názvem SVE, což je zkratka Scalable Vector Extensions. Z jeho názvu jste možná uhodli, že mluvíme o souboru instrukcí SIMD. Nezapomínejme, že v procesorech s ISA ARM jsou roky používány instrukce Neon. Který bude nahrazen pokyny SVE2 v ARMv9.
SVE vytvořil Fujitsu pro svůj superpočítač Fugaku, který využívá jeho jádra A64-FX. Záměr? Využijte výhod paralelismu dat požadovaného vědeckými výpočty, které používají čísla s vyšší přesností. To se promítá do mnohem větších jednotek SIMD, a tedy více bitů.
Vzhledem k tomu, že ARM má zájem přinést svá jádra na vysoce výkonný výpočetní trh a servery, rozhodli se přijmout SVE a spojit je s Neonem a vytvořit SVE2. Největší výhoda, kterou SVE přidává k Neonu? Jedná se o velkoagnostické instrukce, takže není nutné mít verzi každé instrukce pro různé velikosti, jako je tomu u instrukcí AVX na x86.
Paměťové říše v ARMv9
Zajímavým konceptem, který ISA ARMv9 přidává do rovnice, je koncept sfér, který spočívá v možnosti převzít část adresování paměti a vytvořit kód, který je v něm spuštěn, neovlivní zbytek systému, proto je úplně izolovaný. Což je ideální pro implementaci virtuálních strojů, kde jeden operační systém běží současně s jiným na stejném CPU.
Normálně mají CPU různé úrovně oprávnění, ale s konceptem sfér, který byl přidán do ARMv9, bude možné spouštět snadněji běžící virtuální stroje na CPU s ARM ISA, ale jeho výhody se neomezují pouze na virtuální stroje, ale lze je také použít ve specifických aplikacích.
ARMv9 se tedy jeví jako rozšíření ISA více připravené pro datová centra a další typy počítačů, kde virtualizace a zabezpečení jsou mnohem důležitější než jiné funkce. Není divu, že ARM vede válku proti Intel si AMD na trhu serverových procesorů, kde dosud na trhu dominovaly procesory x86.
Rozšíření pro označování paměti
Nejsou nové pro ARMv9, ale spíše pro verzi 8.5. Jeho užitečnost? Jedná se o mechanismus odpovědný za sledování všech nelegálních přístupů do paměti prováděných programy. Nepovolený přístup není nic jiného než přístup k adrese paměti, ke které program nemá oprávnění. K čemu to slouží? Slouží k zabránění takzvanému přetečení vyrovnávací paměti, což je běžný bezpečnostní problém ve všech procesorech, ke kterému dochází, když množství kopírovaných dat přesáhne rezervu paměti a zapíše neočekávaný kód do sousedních adres paměti.
Pokud je přetečení paměti úspěšné, bude původní kód nahrazen novým kódem v paměti, který bude CPU spuštěn, jakmile dosáhne paměti. Je tedy důležité se tomu vyhnout, zvláště pokud mluvíme o datových centrech, která mají tendenci obsluhovat miliony uživatelů současně a kde lze přetečení vyrovnávací paměti použít ke krádeži ohrožených uživatelských dat.
MTE není součástí samotného ISA, ale je mechanismem implementovaným v procesorech Northbridge procesorů ARMv9, který sleduje všechny přístupy do paměti a jehož funkcí je průhledným způsobem zabránit přetečení paměti.
ARMv9 pouze pro datová centra a servery?
Novinky ISA ARMv9, které jsme popsali v předchozích částech, mají výrazný specifický charakter a nemají nic společného s použitím v klasických zařízeních, ve kterých je ISA ARM obvykle vidět. Ze všech mocně volá SVE, protože jedním z důvodů, proč v CPU pro zařízení PostPC obvykle nevidíte velké jednotky SIMD, je enormní spotřeba energie, kterou jejich použití předpokládá.
V tuto chvíli jsou jedinými dvěma jádry oznámenými společností ARM dvě z rodiny Neoverse. Na jedné straně NeoVerse V1 pod kódovým označením „Zeus“ a na druhé straně Neoverse N2 pod kódovým jménem „Perseus“. Nejde o jádra, která uvidíte v budoucím smartphonu, ale o datová centra a servery pro vysoce výkonné výpočty společností, jako jsou Amazon AWS, Oracle, Tencent, Google atd.
ARM dosud neoznámilo žádné jádro pro zařízení PostPC, jako jsou chytré telefony a tablety. I když nemůžeme zapomenout, že cílem ARM je přemístit x86 na různé trhy, nejen na serverech, ale také na PC. Nákup do NVIDIA a jeho velký vliv na trh s videohrami pro PC může přinést příchod herních počítačů s ARM a NVIDIA GPU, i když je to budoucnost, která bude vyžadovat velkou podporu od vývojářů videoher, nikoli samotné NVIDIA-ARM.