- ARM-arkitektur er et lavstrøms RISC-design, der bruges i alt fra mikrocontrollere til komplette computere.
- Dens succes er baseret på et simpelt instruktionssæt, tredjepartslicenser og en energieffektivitet, der er langt bedre end x86.
- ARM findes i mobiltelefoner, tablets, Chromebooks, Mac-computere med Apple Silicon og flere operativsystemer som Android, iOS, Windows og Linux.
- RISC-V fremstår som et åbent alternativ til ARM, men det er stadig langt bagud i producentsupport og softwareøkosystem.

ARM- arkitekturen har udviklet sig fra at drive simple gadgets til at drive bærbare computere, stationære computere og servere . Hvis du nogensinde har brugt en Android-telefon, en iPhone, en Raspberry Pi eller en nyere Mac, har du allerede arbejdet med processorer baseret på dette design, selvom du ikke var klar over det.
I de følgende linjer vil vi se nærmere på, hvad ARM-arkitektur i computere egentlig er, hvordan den fungerer, dens oprindelse, og hvorfor den ændrer landskabet sammenlignet med Intels og AMDs x86-arkitektur . Vi vil også diskutere dens forhold til RISC-V, dens rolle i Windows, macOS og Linux, og hvorfor store producenter har taget denne type CPU til sig.
Hvad er ARM-arkitektur, og hvad er den baseret på?
Når vi taler om ARM, refererer vi til en RISC (Reduced Instruction Set Computing) instruktionssætarkitektur , designet til lavenergi, men stadigt kraftigere processorer, der bruges fra bittesmå mikrocontrollere til personlige computere og datacentre.
I modsætning til CISC-arkitekturer som x86/x86-64 (se forskellene mellem Intel- og AMD-processorer ) er ARM afhængig af et enklere, mere kompakt og yderst effektivt instruktionssæt . Dette muliggør processorer med færre transistorer, mindre intern kompleksitet og betydeligt lavere strømforbrug – en nøglefaktor i ultralette mobile enheder og bærbare computere.
Et vigtigt punkt er, at ARM Holdings (nu Arm Ltd.) ikke producerer processorer . Virksomheden designer arkitekturen og kernerne og licenserer derefter denne teknologi til tredjeparter (Apple, Qualcomm, Samsung osv.), som integrerer den i deres egne SoC'er ved at tilføje brugerdefinerede GPU'er, hukommelsescontrollere, modemer og andre komponenter.
I praksis betyder det, at der findes hundredvis af ARM-processorvarianter med ret forskellig adfærd og ydeevne , selvom de alle deler den samme instruktionssætbase, hvilket muliggør udvikling af kompatible operativsystemer og applikationer.
En kort historie om ARM: fra Acorn til markedsdominans

Historien om ARM begynder i 1983, da Acorn Computers besluttede at udvikle en ny processor baseret på deres erfaringer med MOS 6502 , den chip, der blev brugt i mange af deres personlige computere på det tidspunkt. Projektet blev ledet af Sophie Wilson og Steve Furber.
Deres mål var at skabe en avanceret, men internt meget simpel processor, uden mikrokode og med en klar RISC-filosofi . I 1985 færdiggjorde de designet af den første prototype, ARM1, og i 1986 kom ARM2, den første kommercielle version, der blev brugt i computere som Acorn Archimedes.
ARM2 havde en 32-bit databus, et 26-bit adresserum og 16 32-bit generelle registre . Et af disse registre blev brugt som en programtæller (PC), med nogle bits brugt til statusflag. Teknisk set var det ekstremt simpelt: omkring 30.000 transistorer og ingen cachehukommelse.
Denne enkelhed resulterede i et latterligt lavt energiforbrug i forhold til den tid og ydeevne, der var bedre end en Intel 286. Dens efterfølger, ARM3, tilføjede en lille samlet cache på 4 KB, der forbedrede adgangen til gentagen hukommelse betydeligt.
I slutningen af 80'erne begyndte Apple at samarbejde med Acorn om nye versioner af ARM-kernen . For at undgå bekymringer fra andre producenter blev det uafhængige firma Advanced RISC Machines (ARM) oprettet i 1990, der havde til opgave at designe og licensere fremtidige generationer af processorer.
I denne fase opstod ARM6, introduceret i 1991, brugt af Apple i Newton (ARM 610) og af Acorn i RiscPC. Kernen forblev overraskende enkel: kun 35.000 transistorer , hvilket gjorde det muligt at integrere den med forskellige perifere enheder og danne brugerdefinerede systemer.
ARMs massive spring ind på forbrugermarkedet kom med ARM7TDMI, som findes i millioner af mobiltelefoner, håndholdte konsoller og indlejrede systemer . Samtidig licenserede Digital (DEC) designet og skabte StrongARM, der er i stand til at operere ved 233 MHz og samtidig forbruger omkring 1 W, en milepæl inden for effektivitet.
Med tiden kom denne teknologi i hænderne på Intel, som integrerede den i sin Intel i960-familie og XScale-løsninger, mens andre giganter som Freescale, IBM, Texas Instruments, Nintendo, Philips, Samsung, STMicroelectronics eller Atmel også licenserede ARM-arkitekturen.
I dag har omtrent tre fjerdedele af verdens 32-bit processorer ARM-kerner . Dette repræsenterer en massiv tilstedeværelse: harddiske, routere, legetøj, biler, fjernsyn, mobiltelefoner, tablets, bærbare computere og i stigende grad personlige computere og servere.
De vigtigste ARM-processorfamilier
I løbet af årtierne har ARM udgivet forskellige familier og versioner af arkitekturer (ARMv1, v2, v3 osv.), hver med forbedringer i ydeevne, hukommelseskapacitet, cacher, understøttelse af flydende komma og ekstra funktioner.
De første generationer, såsom ARM1, ARM2 og ARM3 (ARMv1 og ARMv2) , fokuserede på at levere en meget simpel 32-bit CPU til computere som BBC Micro med en ARM-coprocessor, Acorn Archimedes eller RiscPC. Disse chips manglede en fuld MMU (i nogle tilfælde ved hjælp af en ekstern MEMC) og havde næsten ingen cache.
Med ARM6 (ARMv3) -familien tages springet til fuld 32-bit adressering, og kerner som ARM600 eller ARM610 er indarbejdet, nogle med integreret cache og specifikke busser til flydende komma-coprocessorer.
Senere kom ARM7 og ARM7TDMI (ARMv3 og ARMv4T) med understøttelse af 16-bit Thumb-instruktionssættet, en 3-trins pipeline og varianter med cache, MMU eller MPU. Disse kerner er grundlaget for populære produkter som Game Boy Advance, Nintendo DS, Apple iPod og indlejrede systemer fra NXP, Atmel og Psion.
Parallelt hermed dukker StrongARM (ARMv4) -familien op , resultatet af et samarbejde med DEC, der fokuserer på at opnå høje MIPS pr. watt for PDA'er og små computere (Apple Newton 2×00, iPAQ, Zaurus osv.) med relativt store L1-caches for tiden og en komplet MMU.
Senere introducerede ARM9-, ARM9E- og ARM10E-serierne (ARMv4T og ARMv5) dybere pipelines, forbedringer af DSP-instruktioner, bredere Thumb-understøttelse, Jazelle-funktioner til at udføre Java bytecode i hardware og større, konfigurerbare caches. Disse kerner bruges i mobiltelefoner, digitale kameraer, netværksenheder, håndholdte konsoller og utallige andre system-on-a-chips (SoC'er).
En vigtig gren er XScale (ARMv5TE) , opkøbt af Intel, designet til applikationsprocessorer og netværksprocessorer med høje frekvenser, generøse L1/L2-caches og i nogle tilfælde RAID-acceleratorer eller meget specifikke funktioner til I/O.
ARM11 (ARMv6) introducerede en pipeline på op til 9 stadier, SIMD-understøttelse, Thumb-2, Jazelle DBX, DSP-forbedringer og sikkerhedsteknologier såsom TrustZone. Disse kerner er blevet brugt i velkendte enheder som den første iPhone, tidlig generation af iPod touch, nogle Nokia Nseries-telefoner, spillekonsoller og den første Raspberry Pi.
Den store moderne revolution kom med Cortex- familien , især i ARMv7-A og senere applikationsprofiler. Kerner som Cortex-A5, Cortex-A8, Cortex-A9 og deres multi-core varianter (MPCore) blev de facto standarden i smartphones, tablets, smart-tv'er og lette bærbare computere.
Disse kerner inkorporerer superskalar udførelse, dybe pipelines, NEON (SIMD), VFP til floating-point operationer, avanceret Thumb-2 og TrustZone . De findes i SoC'er såsom dem i Texas Instruments OMAP-serien, Samsung Exynos, Nvidia Tegra, Qualcomm Snapdragon og Apple A4/A8 og efterfølgere.
Inden for indlejrede systemer og mikrocontrollere skiller Cortex-R (realtidsprofil) og Cortex-M (mikrocontrollerprofil) familierne sig ud med varianter som Cortex-R4, Cortex-M0, M1, M3 og M4, der er designet til kritiske systemer, industriel styring, bilindustrien og forbrugerelektronik, hvor forudsigelighed og effektivitet i responstider er altafgørende.
ARM-instruktionssæt: RISC, betingede tilstande og tommelfingertilstande
ARM-instruktionssættet blev designet fra bunden som ren RISC: simple instruktioner med fast størrelse, der i mange tilfælde kan udføres i én clockcyklus . Nøglen er, at compileren genererer effektive sekvenser med et par meget atomare instruktioner.
En helt særlig funktion er, at hver instruktion i klassiske 32-bit tilstande indeholder en betingelseskode i dens højeste 4 bits . Dette gør det muligt for stort set enhver instruktion at være betinget (kun udføres, hvis bestemte flag er opfyldt), hvilket reducerer behovet for hop og forhindrer pipeline-bobler i små kodeblokke med hyppige betingelser.
Derudover tillader ARM at kombinere aritmetiske/logiske operationer med registerskift og -rotationer i en enkelt instruktion . For eksempel kan noget, der i C svarer til "a += (j << 2);", udtrykkes som en enkelt ARM-instruktion, der tilføjer en forskudt værdi til registeret, hvilket gemmer instruktioner og hukommelsestilgange.
En anden fordel er, at adressesættet understøtter præ- og post-inkrement-tilstande, relativ adressering og andre fleksible adresseringsmetoder , som er usædvanlige i andre arkitekturer, der også betragtes som RISC. Alt dette bidrager til at reducere det samlede antal instruktioner og forbedre ydeevnen pr. cyklus.
Den klassiske arkitektur definerer 16 programmør-synlige registre på 32 bit (R0-R15) . I princippet er de symmetriske, selvom R15 bruges som en programtæller (PC), R14 fungerer normalt som et linkregister (returadresse for subrutiner eller undtagelser), og R13 bruges som en stakpointer.
ARM har to primære udførelsestilstande: ARM-tilstand (32-bit instruktioner) og Thumb-tilstand (16-bit instruktioner) . ARM-tilstand tilbyder mere kraft (et mere komplet instruktionssæt), men genererer større kode; Thumb-tilstand halverer størrelsen af hver instruktion, hvilket forbedrer kodetætheden og i mange tilfælde ydeevnen på systemer med smallere hukommelsesbusser.
Thumb er i bund og grund en delmængde af de mest anvendte instruktioner i ARM-spillet . Den første processor, der inkorporerede den, var ARM7TDMI, og siden da har stort set alle efterfølgende familier (ARM9, XScale, Cortex osv.) understøttet Thumb eller dens udvikling, Thumb-2.
Derudover er der Jazelle DBX, en teknologi der tillader Java bytecode at køre direkte på hardware i bestemte kerner (dem hvis navn indeholder et "J", såsom ARM926EJ-S). Denne funktionalitet havde til formål at accelerere Java virtuelle maskiner på enheder med begrænsede ressourcer.
Vigtige fordele ved ARM-arkitekturen
ARMs popularitet er ikke tilfældig: den stammer fra en kombination af energieffektivitet, designfleksibilitet, omkostninger og ydeevne, der er tilstrækkelig til de fleste anvendelser.
På den ene side, da ARM-kerner er en RISC-arkitektur med et relativt lille instruktionssæt og ingen tung mikrokode, kan de fremstilles med langt færre transistorer end et tilsvarende x86-design . Færre transistorer betyder lavere strømforbrug, mindre varme og mindre, billigere chips.
Dette gør det muligt for ARM-processorer at tilbyde en meget god ydeevne med minimalt strømforbrug , noget der er kritisk i mobiltelefoner, tablets, ultralette bærbare computere, IoT-enheder og indlejrede systemer, der drives af batterier eller med termiske begrænsninger.
Licensmodellen fungerer også til dens fordel: ARM sælger den intellektuelle ejendomsret til sine kerner til alle slags producenter , som kan tilpasse dem, flette dem sammen med andre blokke (GPU, modem, AI-acceleratorer) og skabe SoC'er, der er fuldt tilpasset deres produkter.
Dette skaber et enormt økosystem af producenter med løbende forbedringer i ydeevne og effektivitet og en meget bred vifte af tilbud til næsten enhver niche: fra ultrabillige mikrocontrollere til 64-bit CPU'er til servere.
Kort sagt tilbyder ARM lavt strømforbrug, overkommelig pris, god kodetæthed, modne værktøjer og mere end acceptabel ydeevne, der fortsætter med at forbedres . Det når ikke altid de rå ydeevneniveauer for x86 i high-end gaming-desktops, men det behøver det heller ikke i de fleste scenarier.
32-bit og 64-bit ARM: den seneste udvikling
De første ARM-designs var 32-bit, og i årtier dominerede de markedet for indlejrede og mobile enheder . Fra 2011 introducerede Arm dog arkitekturer med indbygget 64-bit understøttelse (ARMv8 og senere), hvilket åbnede døren for langt tungere arbejdsbyrder.
Overgangen til 64-bit arkitektur i ARM er ikke sket på bekostning af RISC-effektivitet; snarere er det opnået takket være det mere sofistikerede design af det moderne instruktionssæt . Dette muliggør meget større hukommelsesadresser og aritmetiske operationer med udvidet præcision, noget der allerede er essentielt i avancerede mobile enheder og selvfølgelig i computere og servere.
Den reducerede kompleksitet sammenlignet med x86 er fortsat en fordel: selv i deres 64-bit versioner bruger ARM-processorer færre transistorer til den samme opgave , hvilket resulterer i lavere produktionsomkostninger og lavere strømforbrug.
Inden for personlige computere har dette materialiseret sig i processorer som Apple Silicon (M1, M2, M3…) og Qualcomms nye Snapdragon X Elite , der kombinerer højtydende kerner med højeffektive kerner og integreret grafik, der er i stand til at konkurrere med mange x86-bærbare computere i generelle opgaver.
Brug af ARM i computere, bærbare computere og andre enheder
Traditionelt var ARM-processorer forbeholdt smartphones, tablets, smart-tv'er, routere, bærbare konsoller og gadgets, hvor lavt strømforbrug var afgørende, og fuld desktop-kraft ikke var nødvendig.
Men det ændrer sig hurtigt. På den ene side har enheder som Raspberry Pi vist, at et ARM-system kan fungere perfekt som en stationær mikrocomputer eller mini-pc til kontoropgaver med et passende operativsystem (normalt Linux) til kontorarbejde, browsing og let programmering.
Vi har også set mere kraftfulde ARM-baserede produkter som NVIDIA Tegra X1 , der bruges af Nvidia i deres Shield TV og frem for alt af Nintendo i Switch, hvor balancen mellem grafikydelse og strømforbrug er afgørende.
Inden for avancerede tablets har Apple med sine A-serie (og senere M-serie) chips vist, at en veldesignet ARM SoC kan levere spektakulær ydeevne i kreative applikationer, kontorarbejde og tung multitasking uden at kræve aggressive blæsere.
Microsoft integrerer på sin side ARM-processorer i enheder som Surface Pro X og andre varianter af Surface-familien og satser på lette, lydløse enheder med integreret LTE-forbindelse, der kan konkurrere med traditionelle bærbare computere til mobilt arbejde.
I mellemtiden promoverer Google kraftigt ARM i sit Chromebook-økosystem . Chrome OS, baseret på Chromium og Android, passer perfekt til denne arkitektur og tilbyder overkommelige, lette bærbare computere med fremragende batterilevetid. Mange Chromebook-producenter vælger ARM SoC'er netop for at maksimere batterilevetiden og reducere omkostningerne.
ARM og operativsystemer: Windows, macOS, Linux og andre
Selvom mange mennesker kun forbinder ARM med mobile enheder, har de fleste større operativsystemer allerede moden understøttelse af denne arkitektur , både i indlejrede varianter og i desktop- og servermiljøer.
Inden for mobilverdenen har Android og iOS i årevis næsten udelukkende kørt på ARM-processorer og udnyttet deres effektivitetsfordele. Apple har med overgangen til Apple Silicon også udvidet denne filosofi til sine stationære og bærbare computere og har opgivet Intel x86-processorer.
På Mac-computere med ARM-processorer tilbyder Apple Rosetta 2, et oversættelsessystem, der gør det muligt for applikationer, der er kompileret til Intel, at køre med overraskende god ydeevne. Dette har i høj grad lettet overgangen, i en sådan grad, at næsten alle relevante applikationer i dag har en native ARM-version.
Inden for Microsofts økosystem har Windows udforsket forskellige tilgange til ARM . Windows CE og Windows Embedded Compact understøttede ARMv5, v6 og v7 i den embedded-verden i årevis. Senere kom Windows 8 RT til ARM-tablets som den første Surface, med beskedne resultater på grund af softwarebegrænsninger.
Windows 10 og Windows 11 tager dette et skridt videre og tilbyder ARM-versioner med x86-applikationsemulering . I Windows 11 er emulering og ydeevne forbedret betydeligt, selvom der stadig er kompatibilitetsproblemer med noget klassisk desktop-software.
I mellemtiden har Linux og UNIX-lignende systemer taget ARM ret entusiastisk til sig . Distributioner som Debian, Ubuntu, Arch Linux, Kali, Manjaro, Gentoo og Oracle Linux tilbyder officielle images til forskellige ARM SoC'er, herunder Raspberry Pi og andre bundkort.
På BSD-siden understøtter FreeBSD, NetBSD og OpenBSD alle flere ARM-platforme , og historiske systemer som RISC iX kørte på Acorn-maskiner baseret på ARM2/ARM3. Derudover har Solaris og andre UNIX-varianter også haft implementeringer til denne arkitektur.
Inden for realtids- og indlejrede operativsystemer findes ARM i Android (i tilfælde af indlejrede enheder), Windows CE/Embedded, .NET Micro Framework, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus, QNX, RTEMS, ThreadX, VxWorks, uTasker, MQX og mange flere . Listen er enorm, fordi stort set alle moderne RTOS tilbyder understøttelse af mindst én ARM-profil.
Intel, ARM og inspirationen bag big.LITTLE-arkitekturen
Klassiske stationære og bærbare computere, især dem fra Intel og AMD, har i årevis brugt CISC x86/x86-64-arkitekturer med større og mere komplekse kerner , drevet af kraftfulde strømforsyninger og dedikerede kølesystemer.
I modsætning hertil har ARM-design til mobiltelefoner og indlejrede SoC'er længe valgt heterogene arkitekturer af big.LITTLE-typen , der kombinerer kraftfulde kerner og effektive kerner inden for den samme chip for at tilpasse forbruget til arbejdsbyrden.
Denne idé har direkte inspireret Intels nye generation af hybrid Core-processorer, som kombinerer højtydende kerner (P-kerner) med højeffektive kerner (E-kerner) i én pakke. Selvom de ikke bruger ARM, replikerer de den tilgang, der blev introduceret af ARM, for at forbedre den samlede effektivitet og ydeevne.
Hvad angår direkte konkurrence, var ARM indtil for nylig henvist til meget specifikke desktopprojekter eller Apples økosystem . Med Snapdragon X Elite og andre lignende projekter sigter Qualcomm og andre producenter dog mod at udfordre x86 i mainstream-bærbare computere.
Den største hindring for ARM i mainstream-pc'er er softwarekompatibilitet, og i tilfælde af spil, afhængigheden af GPU'er og drivere optimeret til x86 . Så længe AMD og Intel opretholder deres dominans inden for dedikerede grafikkort og højtydende CPU'er, vil spilverdenen forblive stærkt bundet til x86.
ARM vs RISC-V: To forskellige RISC-arkitekturer
I de senere år har RISC-V, en anden RISC-arkitektur, der konkurrerer direkte med ARM på mange fronter , opnået betydelig synlighed . Ligesom ARM er RISC-V rettet mod enheder med lavt strømforbrug, men den adskiller sig på ét vigtigt aspekt: det er en åben og licensfri ISA.
Selvom brugen af x86-64 eller ARM indebærer betaling af royalties til Intel, AMD eller Arm Ltd. , kan enhver virksomhed eller enkeltperson designe, fremstille og sælge RISC-V-processorer uden at betale rettigheder til instruktionssæt. Dette gør RISC-V særligt attraktivt for lande og producenter, der søger teknologisk uafhængighed og omkostningsreduktion.
I øjeblikket har både ARM og RISC-V, hvad angår rene funktioner, 64-bit udvidelser og understøttelse af komplette operativsystemer . ARM er allerede veletableret i Android, iOS, macOS og Linux, mens RISC-V begynder at få officiel understøttelse i Android (Google promoverer det som en toparkitektur) og i Linux-distributioner som Ubuntu og Fedora.
Med hensyn til producentsupport har ARM fortsat en overvældende fordel . Næsten alle smartphones, tablets og smart-enheder, der er tilgængelige i dag, bruger ARM, mens de fleste nuværende RISC-V-chips stadig er rettet mod udvikling, mikrocontrollere og meget specifikke produkter.
RISC-V vinder dog klart med hensyn til pris og designfrihed . Uden licensomkostninger er det lettere at skabe ultra-billige eller meget tilpassede produkter, hvilket forklarer interessen hos lande som Kina og Rusland i at anvende denne arkitektur til deres egne projekter.
Hvis vi skulle vælge en "vinder" lige nu, ville ARM stadig være overlegen i økosystem, tilgængelig software og modenhed . RISC-V er dog en meget lovende konkurrent for fremtiden, især inden for områderne billige enheder, IoT, routere, entry-level pc'er og budget smartphones.
Når man ser på det store billede, har ARM-arkitekturen etableret sig som en af hjørnestenene i moderne databehandling : den driver alt fra de mobiltelefoner, vi bruger hver dag, til ultralette bærbare computere, Chromebooks, Macs med Apple Silicon og en bred vifte af indlejrede enheder. Dens RISC-filosofi, kombinationen af energieffektivitet og mere end rigelig ydeevne, dens licensmodel og brede understøttelse af operativsystemer forklarer, hvorfor den dominerer så mange segmenter, selvom nyere tilbud som RISC-V begynder at dukke op som et åbent alternativ i CPU-verdenen.
Index
- 1 Hvad er ARM-arkitektur, og hvad er den baseret på?
- 2 En kort historie om ARM: fra Acorn til markedsdominans
- 3 De vigtigste ARM-processorfamilier
- 4 ARM-instruktionssæt: RISC, betingede tilstande og tommelfingertilstande
- 5 Vigtige fordele ved ARM-arkitekturen
- 6 32-bit og 64-bit ARM: den seneste udvikling
- 7 Brug af ARM i computere, bærbare computere og andre enheder
- 8 ARM og operativsystemer: Windows, macOS, Linux og andre
- 9 Intel, ARM og inspirationen bag big.LITTLE-arkitekturen
- 10 ARM vs RISC-V: To forskellige RISC-arkitekturer