Arhitektura ARM je arhitektura računalniških procesorjev, ki se pogosto uporablja v vgrajenih sistemih in mobilnih napravah, kot so mobilni telefoni, tablični računalniki in ročne igralne konzole, kot je Game Boy Advance. Procesorji ARM porabijo zelo malo električne energije in proizvajajo zelo malo toplote. Večina procesorjev ARM deluje z baterijskim napajanjem in ne potrebuje hladilnega ventilatorja. Operacijski sistem Linux se najpogosteje uporablja na procesorjih ARM.
Leta 2013 je bil ARM najbolj priljubljena 32-bitna procesorska arhitektura na svetu. Od takrat se je proizvodnja povečala na milijone na dan. Od takrat je na voljo 64-bitni ARM, ki omogoča naslavljanje pomnilnika, večjega od 3,8 GB, in se uporablja v večini sodobnih pametnih telefonov.
Glavne značilnosti arhitekture ARM
ARM je zasnovan kot RISC (Reduced Instruction Set Computer) arhitektura, kar pomeni, da uporablja relativno enostavne in hitre ukaze. Zaradi tega je nizka poraba energije in učinkovita izvedba pri poustvarjanju večine nalog. Med pomembnejšimi značilnostmi so:
- Raven varčevanja z energijo: nizka poraba in minimalno oddajanje toplote omogočata delovanje z baterijami brez aktivnega hlajenja.
- Heterogena zasnova: tehnologije, kot je big.LITTLE, združujejo varčne in zmogljive jedra v istem sistemu na čipu (SoC) za optimalno ravnotežje med porabo in zmogljivostjo.
- Različni nabori navodil: ARM podpira originalni ARM nabor, krajši Thumb in izpopolnjen Thumb-2 za manjšo porabo pomnilnika ter AArch32/AArch64 pri novih različicah.
- SIMD in plavajoča vejica: NEON (SIMD) in VFP razširitve pospešujejo multimedijske in matematične operacije.
- Varnostne razširitve: TrustZone omogoča ločitev zaupnih in navadnih opravil, obstajajo pa tudi razširitve za virtualizacijo in varno zaganjanje.
- Podpornost za realnočasovne sisteme: Cortex-R družina je optimizirana za realnočasovne aplikacije, medtem ko je Cortex-M namenjen mikrokrmilnikom in vgrajenim rešitvam.
Različice in družine jeder
Arm Ltd. (prej ARM Holdings) oblikuje arhitekturo in licencira zasnove, ki jih uporabljajo različni proizvajalci polprevodniških čipov. Glavne serije jeder so:
- Cortex-A: jedra za aplikacijske procesorje v pametnih telefonih, tablicah in manjših računalnikih (visoka zmogljivost, podpira operacijske sisteme kot so Linux, Android in iOS).
- Cortex-R: jedra za realnočasovne sisteme (avtomobilske aplikacije, diskovni nadzor, telekomunikacije).
- Cortex-M: jedra za mikrokrmilnike v IoT, senzorjih in majhnih vgrajenih napravah (nizka poraba, preprosta integracija).
Uporaba v mobilnih napravah in SoC-ekosistem
ARM jedra so standardni del sodobnih mobilnih naprav, ker omogočajo dolgo življenjsko dobo baterije in zadostno zmogljivost za aplikacije, multimedia in igre. V mobilnih napravah so jedra običajno integrirana v sistem na čipu (SoC), ki poleg CPU vključuje grafični procesor (GPU), čipe za komunikacijo (Wi‑Fi, LTE/5G), ISP za kamere in druge specializirane enote.
Večje podjetja, kot so Qualcomm, Apple, Samsung, MediaTek in Broadcom, licencirajo ARM dizajne ali jih uporabljajo kot osnovo za lastna prilagojena jedra. Apple na primer uporablja lastne ARM‑kompatibilne jedra v iPhonih, tablicah in prenosnikih, kar je prispevalo h konkurenci na področju zmogljivosti in učinkovitosti.
Programska podpora in razvoj
ARM ekosistem je široko podprt: operacijski sistemi (Android, iOS, številne Linux distribucije, pa tudi Windows on ARM v naraščajoči meri), prevajalniki (GCC, Clang), orodja za razvoj in optimizacijo ter obsežna skupnost. Različni nabori ukazov (AArch32 vs AArch64) zahtevajo ustrezno prilagoditev programske opreme, vendar je prehod na 64-bitno arhitekturo v mobilnih napravah skoraj dokončan, kar omogoča večji naslovni prostor in boljše zmogljivosti v nekaterih obremenitvah.
Prednosti in omejitve
- Prednosti: nizka poraba energije, majhna toplota, visoka integracija v SoC, široka podpora OS in razvojnih orodij, prilagodljivost z licenciranjem.
- Omejitve: zgodnje 32-bitne verzije so imele omejitve naslavljanja pomnilnika; zmogljivostna primerjava z velikimi x86 strežniškimi CPU je odvisna od aplikacije in optimizacije; proizvajalci morajo optimizirati strojno in programsko opremo za maksimalno učinkovitost.
Primeri uporabe
- Pametni telefoni in tablice — glavni trg za ARM jedra.
- Vgrajeni sistemi in IoT naprave — Cortex-M mikrokrmilniki.
- Enokartični računalniki (npr. Raspberry Pi) in nizkocenovni strežniki — ARM postaja vse bolj prisoten tudi v strežniškem prostoru in robnih napravah.
- Avtomobilska elektronika in realnočasovni sistemi — Cortex-R in specializirane implementacije.
Skupaj ARM arhitektura predstavlja temelj sodobne mobilne in vgrajene elektronike zaradi kombinacije energetske učinkovitosti, fleksibilnosti licenciranja in široke programske podpore. Zaradi nenehnega razvoja ISA, novih varnostnih in zmogljivostnih razširitev ter vedno večjega števila proizvajalcev, ARM ostaja ena najpomembnejših arhitektur v svetu potrošniške in vgrajene računalniške tehnologije.