ARMv9, en uppsättning register och instruktioner för icke-x86-processorer –

ISA är inget annat än ett språk som olika processorer förstår och noterar därför vad uppsättningen av ettor och nollor betyder i koden de exekverar. En binär för en x86-processor har inte samma betydelse som en binär för en ARM-processor, till exempel.

Teknikens framsteg gör det dock nödvändigt att lägga till nya instruktioner till ISA, vilket ger dem möjlighet att lägga till nya funktioner för att förbättra sin prestanda, säkerhet i databehandling eller för att möta nya utmaningar som ställs för dem.

I den här artikeln kommer vi att prata om den nionde generationen ISA ARM, som efter år av fokus på processorer och lågeffektsmikrokontroller bestämde sig för att vara mer ambitiösa och gå in på en marknad som kräver högsta prestanda, datacenter och högpresterande datoranvändning eller HPC.

Skalbara vektortillägg 2

SVE ARMv9

Det japanska företaget Fujitsu har skapat en serie proprietära tillägg för sin ARM-kärna som kallas SVE, som står för Scalable Vector Extensions. Med sitt namn kanske du har gissat att det handlar om en uppsättning SIMD-instruktioner. Kom ihåg att ISA ARM-processorer har använt Neon-instruktioner i flera år. Som kommer att ersättas av SVE2-instruktionerna i ARMv9.

SVE skapades av Fujitsu för sin superdator Fugaku, som använder sina kärnor A64-FX. Avsikt? Dra fördel av den dataparallellism som krävs för vetenskaplig beräkning som använder högre precisionstal. Detta översätts till mycket större SIMD-block och därför fler bitar.

Eftersom ARM:s intressen är att ta med sina kärnor till HPC- och servermarknaden, bestämde de sig för att ta SVE och slå samman det med Neon för att skapa SVE2. Den största fördelen som SVE tillför Neon? Dessa instruktioner är storleksoberoende, så det finns inget behov av att ha en annan storleksversion av varje instruktion som är fallet med x86 AVX-instruktioner.

Minnesregioner i ARMv9

Reinos ARMv9

Ett intressant koncept som ISA ARMv9 lägger till i ekvationen är konceptet scopes, som är förmågan att ta över en del av minnesadresseringen och se till att koden som körs i den inte påverkar resten av systemet, så det är helt isolerad. Detta är idealiskt för att implementera virtuella maskiner där ett operativsystem körs samtidigt med ett annat på samma processor.

Vanligtvis har processorer olika privilegienivåer, men med konceptet med scopes som lades till i ARMv9 blir det lättare att köra virtuella maskiner på CPU:er med ARM ISA, men fördelarna med detta är inte begränsade till virtuella maskiner, utan kan också användas i vissa tillämpningar.

Därmed verkar ARMv9 som en ISA-förlängning, bättre lämpad för datacenter och andra typer av datorer, där virtualisering och säkerhet är mycket viktigare än andra funktioner. Föga överraskande för ARM krig mot Intel och AMD på serverprocessormarknaden, som hittills har dominerats av x86-processorer.

Minnestaggtillägg

ARM minnestaggförlängningar

De är inte nya för ARMv9, utan snarare 8.5. Dess användbarhet? Det är den mekanism som ansvarar för att hålla reda på alla olagliga minnesåtkomster som görs av program. Olaglig åtkomst är inget annat än tillgång till en minnesadress som programmet inte har tillstånd till. Vad är nyttan med detta? Eftersom det undviker vad som kallas buffertspill, är ett vanligt säkerhetsproblem för alla processorer som uppstår när mängden data som kopieras överstiger minnesreserven genom att skriva oväntad kod till intilliggande minnesadresser.

Om minnesspillet lyckas, kommer den ursprungliga koden att ersättas med ny kod i minnet, som kommer att exekveras av CPU:n så snart den når minnet. Därför är det viktigt att undvika detta, särskilt när vi talar om datacenter som tenderar att betjäna miljontals användare samtidigt och där buffertspill kan användas för att stjäla komprometterad användardata.

MTE är inte en del av själva ISA, utan är en mekanism implementerad i ARMv9-processorn northbridge som övervakar alla minnesåtkomster och arbetar för att undvika minnesspill på ett transparent sätt.

ARMv9 endast för datacenter och servrar?

Datacenter

Nyheterna i ISA ARMv9, som vi beskrev i de föregående avsnitten, har en uttalad specificitet och har ingenting att göra med användningen i klassiska enheter, där ISA ARM vanligtvis finns. Av dem alla hänvisar han kraftfullt till dem som SVE, eftersom en av anledningarna till att man vanligtvis inte ser stora SIMD-block i processorer för PostPC-enheter är den enorma strömförbrukningen som följer med dem.

ARM tillkännager för närvarande endast två kärnor – två från Neoverse-familjen. Å ena sidan NeoVerse V1, kodnamnet “Zeus”, och å andra sidan Neoverse N2, kodnamnet “Perseus”. Det här är inte kärnorna du kommer att se i framtidens smartphone, utan i datacenter och HPC-servrar från företag som Amazon AWS, Oracle, Tencent, Google och fler.

ARM har ännu inte tillkännagett en kärna för PostPC-enheter som smartphones och surfplattor. Även om vi inte får glömma att ARM:s mål är att ersätta x86 på olika marknader, inte bara på servrar, utan även på PC. NVIDIA-köpet och dess stora inverkan på PC-videospelsmarknaden kan leda till speldatorer med ARM och NVIDIA GPU, även om detta är en framtid som kommer att kräva betydande stöd från videospelsutvecklare och inte NVIDIA-ARM själv.

Relaterade artiklar

Back to top button