ARMv9 - přichází nová generace architektury
Procesory ARM, když ta zkratka ještě znamenala Acorn RISC Machine, začaly v osmdesátých letech jako desktopové. Vzhledem k jejich výborné spotřebě se ale brzy staly doménou zejména mobilních zařízení, ostatně o tom není nutné dlouze psát, to je každodenní realita ve zhruba stoprocentním tržním podílu na poli chytrých telefonů a jen o něco nižším v oblasti tabletů.
S uvedením ARMv8 v roce 2011 a narůstajícím výkonem ale začal jejich návrat zpět do stolních počítačů a notebooků - pravda, bylo to poněkud oklikou přes servery, kde vznikly důležité standardy sjednocující například u 32bitového ARMu dost roztříštěné metody bootu operačního systému, ale reálně se to děje. ARM proto přichází s další generací, která přináší zajímavé novinky.
ARMv9 přímo staví na generaci předcházející (konkrétně ARMv8.5) a je tak plně zpětně kompatibilní, včetně toho že bude existovat ve třech základních profilech:
- A (Application) - univerzální architektura vhodná pro zařízení od mobilů po servery
- R (Real-Time) - pro časově a bezpečnostně kritické systémy
- M (Microcontroller) - pro embedded systémy
Tolik k tomu, co zůstává, co je ale nového?
Nová vektorová jednotka SVE2 (Scalable Vector Extension 2) u ARMv9.0-A, která zavádí vektorové operace s proměnlivou délkou vektorů od 128 po 2048 bitů. Předchozí verzi SVE implementovalo prozatím pouze Fujitsu A64FX, nicméně hned se - jistě ne náhodou - ocitlo na prvním místě slavného žebříčku top500.org.
Nové bezpečnostní mechanismy CCA (Confidential Computing Architecture) a RME (Realm Management Extension) - CCA je novým konceptem v bezpečnosti uživatelských dat, kde ARM tvrdí, že není praktický důvod proč by jakýkoliv software běžící v privilegovaném režimu (tj. systém či hypervizor) měl mít přístup k důvěrným datům v paměti, která se netýkají jeho běhu. Je-li tomu tak (a že v současnosti je), pak přebere-li útočník kontrolu nad privilegovaným softwarem, je mu k dispozici úplně vše, co se v paměti děje - což například v cloudu může být hodně, hodně důvěrných dat. Nově lze ale vytvářet oblasti paměti zvané realms, které jsou odděleny jak od privilegovaného tak neprivilegovaného adresního prostoru a tím podobné průniky znemožňují. Více detailů zatím ARM neoznámil, první implementace v křemíku očekává během dvou až tří let.
TME (Transactional Memory Extension) zavádí u ARMv9.0-A transakční přístup k paměti, jehož cílem je lepší podpora multithreadových aplikací. Čím více takových aplikací se snaží do paměti přistupovat, tím častěji dochází k serializaci přístupů, kdy se čeká, až jeden thread s pamětí skončí, aby do ní mohl přistoupit další. To nevyhnutelně přináší zpomalení a to tím větší, čím více vláken existuje. Cílem rozšíření TME je řešit tuto problematiku na úrovní hardware, bez nutnosti přepisu stávajícího software.
Není to samozřejmě plný výčet, ten se na stránkách ARMu nachází v hned několika obsáhlých dokumentech. Lze předpokládat, že jako první se nová architektura objeví v mobilních zařízeních, i když je pochopitelně možné, že právě sem sáhne Apple při tvorbě dalších modelů svých počítačů postavených na Apple Silicon.
Diskuse ke článku ARMv9 - přichází nová generace architektury