ARMv9-arkitektur bringer SVE2 og nye sikkerhetsfunksjoner

ARMs største revisjon av instruksjonssettarkitekturen på et tiår er her - ARMv9 - med SVE2 ombord og andre sikkerhetsfunksjoner.

Tidligere i dag, som en del av Vision Day-arrangementet, avslørte ARM noen detaljer om sin nye ARMv9-arkitektur, som selskapet forventer vil bli brukt i over 300 milliarder sjetonger dette tiåret.

Den siste store revisjonen av ARMs ISA var v8, som ble introdusert i oktober 2011 med 64-bit AArch64 instruksjonssettet. Imidlertid har ARM utvidet ARMv8 gjennom årene med nye funksjoner som Memory Tagging i ARMv8.5. Med ARMv9 er selskapet fortsetter å bruke AArch64 som basisinstruksjonssettet, men har utvidet det med nye funksjoner som tar sikte på å forbedre sikkerheten og opptreden.

I følge ARM, her er de viktigste nye funksjonene i ARMv9-A-arkitekturen:

  • SVE2: utvider fordelen med skalerbare vektorer til mange flere brukstilfeller
  • Realm Management Extension (RME): utvider Confidential Compute on Arm-plattformer til alle utviklere.
  • BRBE: gir profileringsinformasjon, for eksempel Auto FDO
  • Embedded Trace Extension (ETE) og Trace Buffer Extension (TRBE): forbedrede sporingsmuligheter for Armv9
  • TME: støtte for maskinvaretransaksjonsminne for Arm-arkitekturen
Kilde: ARM. Via: AnandTech.

For et dypere dykk inn i endringene på høyt nivå som kommer med ARMv9, anbefaler jeg å lese Andrei Frumusanus rapportering over på AnandTech, men jeg skal gi et sammendrag av de viktigste endringene du bør være oppmerksom på.

NEON etterfulgt av SVE2

NEON er en avansert single instruction multiple data (SIMD) arkitekturutvidelse. SIMD refererer her til en enkelt instruksjon som opererer på flere dataelementer parallelt. Disse dataelementene er organisert i registre som inneholder vektorer av biter.

Scalable Vector Extensions, eller SVE, er en utvidelse til ARMv8.2 eller nyere som utvider vektorbehandlingen evne til AArch64 for å møte datakravene til høyytelses databehandling (HPC) oppgaver og maskin læring. Viktigere, det tillater også vektorregisterlengder mellom 128 og 2048 biter. Fra et programvareutviklingssynspunkt er fordelen med en variabel vektorregisterlengde at koden bare trenger å kompileres én gang for å dra full nytte av fremtidige CPUer med lengre vektorregistre. På samme måte kan den koden også kjøres på CPUer med færre SIMD-utførelsespipelines, for eksempel de i IoT-enheter.

Ettersom SVE var mer rettet mot HPC-arbeidsbelastninger og heller ikke var et like allsidig instruksjonssett som NEON, introduserte ARM SVE2 tidlig i 2019 for å løse disse problemene. SVE2 la til nye instruksjoner rettet mot DSP-arbeidsbelastninger som fortsatt er avhengige av NEON. Nå med ARMv9, etterfølger SVE2 NEON som en grunnleggende funksjon for ARMv9 CPUer.

Maskinlæringsforbedringer

ARM ser maskinlæringsarbeidsmengder bli mer og mer populære i løpet av det neste tiåret, og det er derfor tidligere revisjoner av ARMv8 introduserte nye matrisemultiplikasjonsinstruksjoner. Dette vil være grunnleggende funksjoner til ARMv9 CPUer, som gjør at mindre omfangs ML-arbeidsbelastninger kan kjøres direkte på CPU-en i stedet for dedikerte akseleratorer. Å kjøre ML-arbeidsbelastninger på dedikerte akseleratorer er åpenbart ønsket når man foretrekker rask ytelse eller strømeffektivitet, men det er ikke alltid mulig å gjøre det på all maskinvare.

Kilde: ARM. Via: AnandTech.

ARMv9s konfidensielle beregningsarkitektur

I et forsøk på å forbedre sikkerheten introduserer ARMv9 en ny Confidential Compute Architecture (CCA). Som AnandTech forklarer, ARMs CCA er et skifte bort fra dagens programvarestabelsituasjon der sikre applikasjoner som kjører på en enhet må stole på operativsystemet og hypervisoren de kjører på. Den nåværende sikkerhetsmodellen er bygget på det faktum at mer privilegerte nivåer av programvare kan overvåke kjøring av mindre privilegerte programvarenivåer, noe som kan være problematisk når OS eller hypervisor er det kompromittert.

Hvordan CCA løser dette problemet er ved å dynamisk lage "riker", som er sikre, containeriserte utførelsesmiljøer som er ugjennomsiktige for OS eller hypervisor. Apper innenfor «riker» kan attestere deres pålitelighet til en «realm manager», kode som er en brøkdel av størrelsen på en hypervisor, som nå er eneansvarlig for ressursallokering og planlegging. Fordelen med å bruke "riker" er at tillitskjeden reduseres, noe som gir mulighet for sikker applikasjoner som skal kjøres på hvilken som helst enhet uavhengig av det underliggende operativsystemet som vil være gjennomsiktig for sikkerhetsproblemer.

Kilde: ARM. Via: AnandTech.

I følge AnandTechARM beskrev ikke nøyaktig hvordan "riker" er atskilt fra OS og hypervisor, men de spekulere i at denne separasjonen stammer fra maskinvarestøttede adresserom som ikke kan samhandle med hverandre.

Fremtidige ARM CPU- og GPU-design

Selv om det ikke er direkte relatert til ARMv9, delte ARM sine forventede ytelsesforventninger for fremtidige v9-baserte CPU-design. I løpet av de neste to generasjonene med mobil IP-kjernedesign forventer ARM en samlet økning på 30 % i IPC-ytelse. Det betyr at den faktiske generasjonsøkningen i ytelse utgjør rundt 14 %, som AnandTech forklarer. Det er klart at forbedringstakten har avtatt noe sammenlignet med tidligere år.

Vi har sett hvordan CPU-implementeringer av selskaper som Qualcomm, Samsung og Huawei ikke når de forventede ytelsesprognosene av nye ARM-kjernedesign, et faktum som ARM påpeker i et lysbilde som beskriver hvordan CPU-ytelsen kan forbedres ved å forbedre minnebanen, cachene eller frekvensene.

Kilde: ARM. Via: AnandTech.

Likevel lover ARMv9 å gi velkommen forbedringer til ytelse, sikkerhet og maskinlæring når nye CPUer basert på ISA leveres i kommersielle enheter tidlig i 2022.

Når det gjelder fremtidige Mali GPUer, har ARM avslørt at de jobber med teknologier som variabel hastighet shading (VRS) og ray tracing. Disse funksjonene har blitt populære blant avansert PC GPU-maskinvare og niende generasjons videospillkonsoller som f.eks. Sonys PlayStation 5 og Microsofts Xbox Series X/S.

Kilde: ARM. Via: AnandTech.

Utvalgte bildekreditter: ARM via AnandTech