- L'architettura ARM è un progetto RISC a basso consumo utilizzato in ogni ambito, dai microcontrollori ai computer completi.
- Il suo successo si basa su un set di istruzioni semplice, sulle licenze di terze parti e su un'efficienza energetica di gran lunga superiore a quella di x86.
- ARM è presente nei telefoni cellulari, nei tablet, nei Chromebook, nei Mac con Apple Silicon e in numerosi sistemi operativi come Android, iOS, Windows e Linux.
- RISC-V emerge come alternativa aperta ad ARM, ma è ancora molto indietro nel supporto dei produttori e nell'ecosistema software.
L'architettura ARM si è evoluta, passando dall'alimentare semplici gadget all'alimentare laptop, desktop e server . Se avete mai usato uno smartphone Android, un iPhone, un Raspberry Pi o un Mac recente, avete già avuto a che fare con processori basati su questa architettura, anche senza esserne consapevoli.
Nelle righe seguenti, analizzeremo nel dettaglio cos'è l'architettura ARM nei computer, come funziona, le sue origini e perché sta cambiando il panorama rispetto all'architettura x86 di Intel e AMD . Discuteremo anche il suo rapporto con RISC-V, il suo ruolo in Windows, macOS e Linux e i motivi per cui i principali produttori hanno adottato questo tipo di CPU.
Cos'è l'architettura ARM e su cosa si basa?
Quando parliamo di ARM ci riferiamo a un'architettura RISC (Reduced Instruction Set Computing) , progettata per processori a basso consumo energetico ma sempre più potenti, utilizzati dai piccoli microcontrollori ai personal computer e ai data center.
A differenza delle architetture CISC come x86/x86-64 (si vedano le differenze tra i processori Intel e AMD ), ARM si basa su un set di istruzioni più semplice, compatto ed efficiente . Ciò consente di realizzare processori con un minor numero di transistor, una minore complessità interna e un consumo energetico significativamente inferiore, un fattore chiave per dispositivi mobili e laptop ultraleggeri.
Un punto importante da sottolineare è che ARM Holdings (ora Arm Ltd.) non produce processori . L'azienda progetta l'architettura e i core, per poi concedere in licenza tale tecnologia a terze parti (Apple, Qualcomm, Samsung, ecc.), che la integrano nei propri SoC aggiungendo GPU personalizzate, controller di memoria, modem e altri componenti.
In pratica, ciò significa che esistono centinaia di varianti di processori ARM con comportamenti e prestazioni piuttosto diversi , pur condividendo tutte la stessa base di istruzioni, il che consente lo sviluppo di sistemi operativi e applicazioni compatibili.
Una breve storia di ARM: da Acorn al dominio del mercato

La storia di ARM inizia nel 1983, quando Acorn Computers decise di sviluppare un nuovo processore basandosi sull'esperienza maturata con il MOS 6502 , il chip utilizzato all'epoca in molti dei suoi personal computer. Il progetto fu guidato da Sophie Wilson e Steve Furber.
Il loro obiettivo era creare un processore avanzato ma internamente molto semplice, senza microcodice e con una chiara filosofia RISC . Nel 1985 completarono la progettazione del primo prototipo, l'ARM1, e nel 1986 arrivò l'ARM2, la prima versione commerciale utilizzata in computer come l'Acorn Archimedes.
L'ARM2 aveva un bus dati a 32 bit, uno spazio di indirizzamento a 26 bit e 16 registri generici a 32 bit . Uno di questi registri veniva utilizzato come contatore di programma (PC), con alcuni bit impiegati per i flag di stato. Tecnicamente, era estremamente semplice: circa 30.000 transistor e nessuna memoria cache.
Questa semplicità si tradusse in un consumo energetico incredibilmente basso per l'intervallo di tempo considerato e in prestazioni superiori a quelle di un Intel 286. Il suo successore, l'ARM3, aggiunse una piccola cache unificata da 4 KB che migliorò significativamente gli accessi ripetitivi alla memoria.
Alla fine degli anni '80, Apple iniziò a collaborare con Acorn su nuove versioni del core ARM . Per evitare problemi con altri produttori, nel 1990 venne creata la società indipendente Advanced RISC Machines (ARM), incaricata di progettare e concedere in licenza le future generazioni di processori.
In questa fase emerse l'ARM6, introdotto nel 1991, utilizzato da Apple nel Newton (ARM 610) e da Acorn nel RiscPC. Il core rimase sorprendentemente semplice: solo 35.000 transistor , il che ne consentiva l'integrazione con diverse periferiche e la realizzazione di sistemi personalizzati.
Il grande ingresso di ARM nel mercato consumer è avvenuto con l' ARM7TDMI, presente in milioni di telefoni cellulari, console portatili e sistemi embedded . Contemporaneamente, Digital (DEC) ha acquisito la licenza del progetto e ha creato lo StrongARM, in grado di operare a 233 MHz consumando circa 1 W, un traguardo fondamentale in termini di efficienza.
Nel corso del tempo, questa tecnologia è passata nelle mani di Intel, che l'ha integrata nella sua famiglia Intel i960 e nelle soluzioni XScale, mentre altri colossi come Freescale, IBM, Texas Instruments, Nintendo, Philips, Samsung, STMicroelectronics e Atmel hanno anch'essi ottenuto la licenza per l'architettura ARM.
Oggi, circa tre quarti dei processori a 32 bit presenti nel mondo incorporano core ARM . Ciò rappresenta una presenza massiccia: dischi rigidi, router, giocattoli, automobili, televisori, telefoni cellulari, tablet, computer portatili e, sempre più spesso, personal computer e server.
Principali famiglie di processori ARM
Nel corso dei decenni, ARM ha rilasciato diverse famiglie e versioni di architettura (ARMv1, v2, v3, ecc.), ognuna con miglioramenti in termini di prestazioni, capacità di memoria, cache, supporto per i numeri in virgola mobile e funzionalità aggiuntive.
Le prime generazioni, come ARM1, ARM2 e ARM3 (ARMv1 e ARMv2) , si concentravano sulla fornitura di una CPU a 32 bit molto semplice per computer come il BBC Micro con un coprocessore ARM, l'Acorn Archimedes o il RiscPC. Questi chip erano privi di una MMU completa (in alcuni casi utilizzavano una MEMC esterna) e avevano poca o nessuna cache.
Con la famiglia ARM6 (ARMv3) , si compie il passaggio all'indirizzamento a 32 bit completo e vengono integrati core come ARM600 o ARM610, alcuni con cache integrata e bus specifici per coprocessori a virgola mobile.
Successivamente arrivarono ARM7 e ARM7TDMI (ARMv3 e ARMv4T) , con supporto per il set di istruzioni Thumb a 16 bit, una pipeline a 3 stadi e varianti con cache, MMU o MPU. Questi core sono alla base di prodotti popolari come Game Boy Advance, Nintendo DS, Apple iPod e sistemi embedded di NXP, Atmel e Psion.
Parallelamente, emerge la famiglia StrongARM (ARMv4) , frutto di una collaborazione con DEC, che si concentra sul raggiungimento di un elevato MIPS per watt per PDA e piccoli computer (Apple Newton 2×00, iPAQ, Zaurus, ecc.), con cache L1 relativamente grandi per l'epoca e una MMU completa.
In seguito, le serie ARM9, ARM9E e ARM10E (ARMv4T e ARMv5) hanno introdotto pipeline più profonde, miglioramenti alle istruzioni DSP, un supporto Thumb più ampio, funzionalità Jazelle per l'esecuzione di bytecode Java in hardware e cache più grandi e configurabili. Questi core sono utilizzati in telefoni cellulari, fotocamere digitali, dispositivi di rete, console portatili e innumerevoli altri system-on-a-chip (SoC).
Un ramo importante è XScale (ARMv5TE) , acquisito da Intel, progettato per processori applicativi e processori di rete con alte frequenze, ampie cache L1/L2 e, in alcuni casi, acceleratori RAID o funzioni I/O molto specifiche.
ARM11 (ARMv6) ha introdotto una pipeline fino a 9 stadi, il supporto SIMD, Thumb-2, Jazelle DBX, miglioramenti DSP e tecnologie di sicurezza come TrustZone. Questi kernel sono stati utilizzati in dispositivi famosi come il primo iPhone, i primi iPod touch, alcuni telefoni Nokia serie N, console per videogiochi e il primo Raspberry Pi.
La grande rivoluzione moderna è arrivata con la famiglia Cortex , soprattutto con i profili applicativi ARMv7-A e successivi. Core come Cortex-A5, Cortex-A8, Cortex-A9 e le loro varianti multi-core (MPCore) sono diventati lo standard di fatto per smartphone, tablet, smart TV e laptop leggeri.
Questi core integrano l'esecuzione superscalare, pipeline profonde, NEON (SIMD), VFP per operazioni in virgola mobile, Thumb-2 avanzato e TrustZone . Si trovano in SoC come quelli della serie OMAP di Texas Instruments, Samsung Exynos, Nvidia Tegra, Qualcomm Snapdragon e Apple A4/A8 e successivi.
Nel campo dei sistemi embedded e dei microcontrollori, spiccano le famiglie Cortex-R (profilo real-time) e Cortex-M (profilo microcontrollore) , con varianti come Cortex-R4, Cortex-M0, M1, M3 e M4, progettate per sistemi critici, controllo industriale, settore automobilistico ed elettronica di consumo, dove la prevedibilità dei tempi di risposta e l'efficienza sono di fondamentale importanza.
Set di istruzioni ARM: RISC, condizionali e modalità Thumb
Il set di istruzioni ARM è stato progettato fin dall'inizio come puro RISC: istruzioni semplici e a dimensione fissa che, in molti casi, possono essere eseguite in un singolo ciclo di clock . La chiave sta nel fatto che il compilatore generi sequenze efficienti con poche istruzioni altamente atomiche.
Una caratteristica molto particolare è che, nelle classiche modalità a 32 bit, ogni istruzione include un codice di condizione nei suoi 4 bit più significativi . Ciò consente di rendere praticamente qualsiasi istruzione condizionale (eseguendola solo se vengono soddisfatti determinati flag), riducendo la necessità di salti e prevenendo bolle di pipeline in piccoli blocchi di codice con condizioni frequenti.
Inoltre, ARM consente di combinare operazioni aritmetiche/logiche con spostamenti e rotazioni di registro in una singola istruzione . Ad esempio, un'istruzione equivalente in C a "a += (j << 2);" può essere espressa come una singola istruzione ARM che aggiunge un valore spostato al registro, risparmiando istruzioni e accessi alla memoria.
Un ulteriore vantaggio è che il set di indirizzi supporta le modalità di pre- e post-incremento, l'indirizzamento relativo e altri metodi di indirizzamento flessibili , che sono rari in altre architetture considerate RISC. Tutto ciò contribuisce a ridurre il numero totale di istruzioni e a migliorare le prestazioni per ciclo.
L'architettura classica definisce 16 registri a 32 bit visibili al programmatore (R0-R15) . In linea di principio sono simmetrici, sebbene R15 sia utilizzato come contatore di programma (PC), R14 agisca solitamente come registro di collegamento (indirizzo di ritorno di subroutine o eccezioni) e R13 sia utilizzato come puntatore di stack.
ARM ha due modalità di esecuzione principali: la modalità ARM (istruzioni a 32 bit) e la modalità Thumb (istruzioni a 16 bit) . La modalità ARM offre maggiore potenza (un set di istruzioni più completo) ma genera codice più grande; la modalità Thumb dimezza le dimensioni di ciascuna istruzione, migliorando la densità del codice e, in molti casi, le prestazioni su sistemi con bus di memoria più stretti.
Thumb è essenzialmente un sottoinsieme delle istruzioni più utilizzate nell'architettura ARM . Il primo processore a integrarlo è stato l'ARM7TDMI e da allora praticamente tutte le famiglie successive (ARM9, XScale, Cortex, ecc.) includono il supporto per Thumb o la sua evoluzione, Thumb-2.
Inoltre, esiste Jazelle DBX, una tecnologia che consente l'esecuzione del bytecode Java direttamente sull'hardware in determinati core (quelli il cui nome include una "J", come ad esempio ARM926EJ-S). Questa funzionalità mirava ad accelerare le macchine virtuali Java su dispositivi con risorse limitate.
Principali vantaggi dell'architettura ARM
La popolarità di ARM non è casuale: deriva da una combinazione di efficienza energetica, flessibilità di progettazione, costo e prestazioni sufficienti per la maggior parte degli utilizzi.
Da un lato, essendo un'architettura RISC con un set di istruzioni relativamente ridotto e senza microcodice complesso, i core ARM possono essere realizzati con un numero di transistor di gran lunga inferiore rispetto a un design x86 equivalente . Un minor numero di transistor si traduce in un minore consumo energetico, una minore produzione di calore e chip più piccoli ed economici.
Ciò consente ai processori ARM di offrire prestazioni molto buone con un consumo energetico minimo , un aspetto fondamentale per telefoni cellulari, tablet, laptop ultraleggeri, dispositivi IoT e sistemi embedded alimentati a batteria o con limitazioni termiche.
Anche il modello di licenza gioca a suo favore: ARM vende la proprietà intellettuale dei suoi core a produttori di ogni tipo , che possono personalizzarli, integrarli con altri blocchi (GPU, modem, acceleratori AI) e creare SoC completamente adattati ai loro prodotti.
Questo crea un enorme ecosistema di produttori, con continui miglioramenti in termini di prestazioni ed efficienza e una gamma molto ampia di offerte per quasi ogni nicchia: dai microcontrollori ultra-economici alle CPU a 64 bit per server.
In sintesi, ARM offre bassi consumi energetici, costi accessibili, buona densità di codice, strumenti maturi e prestazioni più che accettabili, in continuo miglioramento . Non sempre raggiunge i livelli di prestazioni pure di x86 nei desktop da gioco di fascia alta, ma nella maggior parte dei casi non è necessario.
ARM a 32 bit e 64 bit: evoluzione recente
I primi progetti ARM erano a 32 bit e per decenni hanno dominato il mercato dei dispositivi embedded e mobili . Tuttavia, a partire dal 2011, Arm ha introdotto architetture con supporto nativo a 64 bit (ARMv8 e successive), aprendo la strada a carichi di lavoro molto più complessi.
Il passaggio all'architettura a 64 bit in ARM non è avvenuto a scapito dell'efficienza RISC; al contrario, è stato reso possibile grazie alla progettazione più sofisticata del moderno set di istruzioni . Ciò facilita indirizzi di memoria molto più ampi e operazioni aritmetiche a precisione estesa, caratteristiche già essenziali nei dispositivi mobili di fascia alta e, naturalmente, nei computer e nei server.
La minore complessità rispetto all'architettura x86 rimane un vantaggio: anche nelle loro versioni a 64 bit, i processori ARM mantengono un numero inferiore di transistor per svolgere la stessa funzione , con conseguente riduzione dei costi di produzione e del consumo energetico.
Nel campo dei personal computer, ciò si è concretizzato in processori come Apple Silicon (M1, M2, M3…) e il nuovo Snapdragon X Elite di Qualcomm , che combinano core ad alte prestazioni con core ad alta efficienza e grafica integrata in grado di competere con molti laptop x86 nelle attività generiche.
Utilizzo di ARM in computer, laptop e altri dispositivi
Tradizionalmente, i processori ARM erano riservati a smartphone, tablet, smart TV, router, console portatili e gadget in cui il basso consumo energetico era fondamentale e non era necessaria la piena potenza di un computer desktop.
Ma la situazione sta cambiando rapidamente. Da un lato, dispositivi come il Raspberry Pi hanno dimostrato che un sistema ARM può funzionare perfettamente come microcomputer desktop o mini PC per attività d'ufficio, con un sistema operativo adatto (solitamente Linux) per lavoro d'ufficio, navigazione web e programmazione leggera.
Abbiamo anche visto prodotti basati su ARM più potenti come l'NVIDIA Tegra X1 , utilizzato da Nvidia nella sua Shield TV e, soprattutto, da Nintendo nella Switch, dove l'equilibrio tra prestazioni grafiche e consumo energetico è cruciale.
Nel campo dei tablet di ultima generazione, Apple, con i suoi chip della serie A (e successivamente della serie M), ha dimostrato che un SoC ARM ben progettato può offrire prestazioni spettacolari in applicazioni creative, lavori d'ufficio e multitasking intensivo, senza bisogno di ventole aggressive.
Microsoft, dal canto suo, integra processori ARM in dispositivi come Surface Pro X e altre varianti della famiglia Surface , puntando su dispositivi leggeri e silenziosi con connettività LTE integrata, in grado di competere con i laptop tradizionali per il lavoro in mobilità.
Nel frattempo, Google sta promuovendo con forza ARM nel suo ecosistema Chromebook . Chrome OS, basato su Chromium e Android, si adatta perfettamente a questa architettura, offrendo laptop economici e leggeri con un'eccellente durata della batteria. Molti produttori di Chromebook stanno optando per i SoC ARM proprio per massimizzare la durata della batteria e ridurre i costi.
ARM e sistemi operativi: Windows, macOS, Linux e altri
Sebbene molti associno ARM esclusivamente ai dispositivi mobili, la maggior parte dei principali sistemi operativi offre già un supporto maturo per questa architettura , sia nelle varianti embedded che negli ambienti desktop e server.
Nel settore mobile, Android e iOS utilizzano da anni quasi esclusivamente processori ARM , sfruttandone i vantaggi in termini di efficienza. Apple, con la transizione ad Apple Silicon, ha esteso questa filosofia anche ai suoi computer desktop e portatili, abbandonando i processori Intel x86.
Sui Mac con processori ARM, Apple offre Rosetta 2, un sistema di traduzione che permette alle applicazioni compilate per Intel di funzionare con prestazioni sorprendentemente buone. Ciò ha facilitato notevolmente la transizione, al punto che oggi quasi tutte le applicazioni più rilevanti hanno una versione nativa per ARM.
Nell'ambito dell'ecosistema Microsoft, Windows ha esplorato diversi approcci all'architettura ARM . Windows CE e Windows Embedded Compact hanno supportato ARMv5, v6 e v7 nel mondo embedded per anni. Successivamente è arrivato Windows 8 RT per tablet ARM come il primo Surface, con risultati modesti a causa di limitazioni software.
Windows 10 e Windows 11 fanno un ulteriore passo avanti, offrendo versioni ARM con emulazione di applicazioni x86 . In Windows 11, l'emulazione e le prestazioni sono migliorate considerevolmente, sebbene permangano problemi di compatibilità con alcuni software desktop classici.
Nel frattempo, Linux e i sistemi simili a UNIX hanno accolto ARM con grande entusiasmo . Distribuzioni come Debian, Ubuntu, Arch Linux, Kali, Manjaro, Gentoo e Oracle Linux offrono immagini ufficiali per vari SoC ARM, tra cui Raspberry Pi e altre schede.
Per quanto riguarda il BSD, FreeBSD, NetBSD e OpenBSD supportano tutti diverse piattaforme ARM , e sistemi storici come RISC iX giravano su macchine Acorn basate su ARM2/ARM3. Inoltre, anche Solaris e altre varianti di UNIX hanno avuto implementazioni per questa architettura.
Nell'ambito dei sistemi operativi in tempo reale e embedded, ARM è presente in Android (nel caso di dispositivi embedded), Windows CE/Embedded, .NET Micro Framework, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus, QNX, RTEMS, ThreadX, VxWorks, uTasker, MQX e molti altri . L'elenco è enorme perché praticamente ogni RTOS moderno offre supporto per almeno un profilo ARM.
Intel, ARM e l'ispirazione dietro l'architettura big.LITTLE
I processori classici per desktop e laptop, soprattutto quelli di Intel e AMD, utilizzano da anni architetture CISC x86/x86-64 con core più grandi e complessi , alimentati da potenti alimentatori e sistemi di raffreddamento dedicati.
Al contrario, i progetti ARM per telefoni cellulari e SoC embedded hanno a lungo optato per architetture eterogenee di tipo big.LITTLE , che combinano core potenti e core efficienti all'interno dello stesso chip per adattare i consumi al carico di lavoro.
Quest'idea ha ispirato direttamente la nuova generazione di processori Core ibridi di Intel, che combinano core ad alte prestazioni (P-core) con core ad alta efficienza (E-core) in un unico package. Sebbene non utilizzino l'architettura ARM, ne replicano l'approccio introdotto da ARM per migliorare l'efficienza e le prestazioni complessive.
Per quanto riguarda la concorrenza diretta, fino a poco tempo fa ARM era relegato a progetti desktop molto specifici o all'ecosistema Apple . Tuttavia, con lo Snapdragon X Elite e altri progetti simili, Qualcomm e altri produttori puntano a sfidare x86 nel mercato dei laptop di fascia media.
Il principale ostacolo per ARM nei PC di fascia media rimane la compatibilità software e, nel caso del gaming, la dipendenza da GPU e driver ottimizzati per x86 . Finché AMD e Intel manterranno il loro dominio nelle schede grafiche dedicate e nelle CPU ad alte prestazioni, il mondo del gaming rimarrà fortemente legato all'architettura x86.
ARM vs RISC-V: due diverse architetture RISC
Negli ultimi anni, RISC-V, un'altra architettura RISC che compete direttamente con ARM su molti fronti , ha acquisito notevole visibilità . Come ARM, RISC-V è orientata ai dispositivi a basso consumo energetico, ma se ne differenzia per un aspetto fondamentale: è un'ISA aperta e senza licenza.
Mentre l'utilizzo di architetture x86-64 o ARM implica il pagamento di royalty a Intel, AMD o Arm Ltd. , qualsiasi azienda o individuo può progettare, produrre e vendere processori RISC-V senza dover pagare i diritti sul set di istruzioni. Questo rende RISC-V particolarmente attraente per i paesi e i produttori che cercano indipendenza tecnologica e riduzione dei costi.
Attualmente, in termini di pure capacità, sia ARM che RISC-V dispongono di estensioni a 64 bit e supporto per sistemi operativi completi . ARM è già ben consolidato in Android, iOS, macOS e Linux, mentre RISC-V sta iniziando a ottenere supporto ufficiale in Android (Google lo sta promuovendo come architettura di punta) e in distribuzioni Linux come Ubuntu e Fedora.
In termini di supporto da parte dei produttori, ARM continua a detenere un vantaggio schiacciante . Quasi tutti gli smartphone, tablet e dispositivi intelligenti attualmente disponibili utilizzano ARM, mentre la maggior parte dei chip RISC-V esistenti è ancora orientata allo sviluppo, ai microcontrollori e a prodotti molto specifici.
Tuttavia, RISC-V vince nettamente in termini di prezzo e libertà di progettazione . Senza costi di licenza, è più facile creare prodotti ultra-economici o altamente personalizzati, il che spiega l'interesse di paesi come la Cina e la Russia nell'adottare questa architettura per i propri progetti.
Se dovessimo scegliere un "vincitore" ora, ARM sarebbe ancora superiore in termini di ecosistema, software disponibile e maturità . RISC-V, tuttavia, è un concorrente molto promettente per il futuro, soprattutto nei settori dei dispositivi a basso costo, dell'IoT, dei router, dei PC entry-level e degli smartphone economici.
Guardando al quadro generale, l'architettura ARM si è affermata come una delle pietre angolari dell'informatica moderna : alimenta di tutto, dai telefoni cellulari che usiamo quotidianamente ai laptop ultraleggeri, ai Chromebook, ai Mac con Apple Silicon e a una vasta gamma di dispositivi embedded. La sua filosofia RISC, la combinazione di efficienza energetica e prestazioni più che sufficienti, il suo modello di licenza e l'ampio supporto dei sistemi operativi spiegano perché domina così tanti segmenti, anche se nuove offerte come RISC-V stanno iniziando a emergere come alternativa aperta nel mondo delle CPU.
Indice
- 1 Cos'è l'architettura ARM e su cosa si basa?
- 2 Una breve storia di ARM: da Acorn al dominio del mercato
- 3 Principali famiglie di processori ARM
- 4 Set di istruzioni ARM: RISC, condizionali e modalità Thumb
- 5 Principali vantaggi dell'architettura ARM
- 6 ARM a 32 bit e 64 bit: evoluzione recente
- 7 Utilizzo di ARM in computer, laptop e altri dispositivi
- 8 ARM e sistemi operativi: Windows, macOS, Linux e altri
- 9 Intel, ARM e l'ispirazione dietro l'architettura big.LITTLE
- 10 ARM vs RISC-V: due diverse architetture RISC