Vai al paragrafo

Qual è la differenza tra ARM e x86?

Copia URL

Come passare da CentOS Linux a un sistema operativo cloud ready

Nella scelta del sistema operativo per la migrazione da CentOS Linux è fondamentale scegliere una soluzione adatta alle proprie strategie cloud. Red Hat Enterprise Linux è un sistema operativo open source adatto ad ambienti fisici, virtualizzati, hybrid cloud, multicloud, e infrastrutture per l’edge computing.

I computer progettati sulla base dei processori ARM e quelli sviluppati a partire da Intel o AMD non sono intercambiabili. ARM e x86 si distinguono nello specifico per il diverso approccio ai due quesiti fondamentali della progettazione di processori:

  • Come trovare un equilibrio tra il numero di transistor e la complessità dei programmi?
  • A quale aspetto dare la priorità tra velocità, consumo di energia e costi?

Le risposte a queste due domande hanno guidato l'innovazione tecnologica e lo sviluppo del software in qualunque ambito, dagli smartphone ai supercomputer, negli ultimi quarant'anni.

Contestualizziamo dando una breve definizione di cosa sono i processori x86 e quelli ARM.

Noti a chi opera nel settore IT, i processori x86 sono quelli più utilizzati per i componenti hardware di computer e server. Dal punto di vista architetturale, tutti i componenti all'interno di un sistema x86, come schede grafiche, schede audio, memoria, storage e CPU, sono indipendenti gli uni dagli altri. Infatti la maggior parte dei componenti ha chip separati, chiamati controller, e si possono modificare o ampliare senza ripercussioni sulla connettività o sul funzionamento della piattaforma hardware.

I processori ARM invece non prevedono una CPU separata, ma l'unità di elaborazione si trova sullo stesso substrato fisico degli altri controller hardware (circuito integrato). Diversamente dalle CPU Intel o AMD, non esiste un vero produttore dei processori ARM: Arm Holdings concede in licenza i progetti per i chip ai diversi produttori di soluzioni hardware che li incorporano nei loro progetti. Inoltre, a differenza dei computer tradizionali basati su x86, i chip ARM non sono intercambiabili e sono chip per applicazioni specifiche. Quando i componenti come nel caso di questi processori si trovano sullo stesso circuito integrato si parla di SoC (System-on-a-chip).

Un vecchio dibattito che risale agli albori dell'informatica ha portato alla nascita di due scuole di pensiero contrapposte: chi punta a semplificare il lavoro del programmatore e chi quello del microprocessore.
Perché un computer esegua una qualunque operazione, è necessario che il sistema operativo e i programmi che esegue interagiscano con la Central Processing Unit (CPU) e con gli altri componenti hardware come memoria, storage e schede di rete. La CPU funge da intermediario tra il sistema operativo, e i programmi in esecuzione, e i componenti hardware. Per semplificare il lavoro dei programmatori, la CPU dispone di un insieme di azioni e calcoli predefiniti chiamati set di istruzioni o ISA (Instruction Set Architecture). Il sistema operativo e i programmi in esecuzione, entrambi scritti dai programmatori, si basano su queste istruzioni per eseguire funzioni a basso livello come:

  1. Le interazioni fra la CPU e i componenti hardware (memoria, storage, rete, ecc.)
  2. Le operazioni aritmetiche (addizione, sottrazione, ecc.)
  3. La manipolazione dei dati (spostamenti binari, ecc.)

Le CPU x86 originali avevano, e hanno ancora oggi, un set di istruzioni complesso. Ad esempio una singola istruzione è in grado di completare un intero calcolo, come una moltiplicazione, o spostare un blocco di dati direttamente da una posizione all'altra della memoria. Potrebbero sembrare attività banali, ma sia la moltiplicazione che lo spostamento di dati tra due posizioni della memoria richiedono numerose istruzioni a basso livello, che nei sistemi x86 si possono eseguire in un solo ciclo. Le unità di elaborazione con un set di istruzioni di questo tipo sono chiamate Complex Instruction Set Computer (CISC).

Però, per quanto efficaci siano le loro istruzioni, le architetture CISC necessitano di un gran numero di transistor, che occupano spazio e consumano energia.

Per questo motivo nei primi anni '80 sono stati condotti diversi studi per capire se fosse possibile migliorare l'efficienza energetica e semplificare i set di istruzioni delle CPU. Questi studi hanno evidenziato che la maggior parte dei computer utilizza solo una piccola parte del vasto set di istruzioni fornito dai computer CISC. Questa scoperta ha portato alla nascita di un nuovo tipo di processori: i Reduced Instruction Set Computer (RISC), così chiamati perché prevedono un set di istruzioni ridotto in cui ciascuna istruzione rappresenta solo un'operazione semplice e richiede meno energia. I RISC complicano il lavoro del programmatore, ma semplificano il lavoro del processore. Nel caso dei processori RISC e delle macchine RISC avanzate, le operazioni complesse vengono svolte eseguendo più istruzioni o trasferendo la complessità al compilatore anziché ai core della CPU.

L'architettura perfetta non esiste, in entrambi i casi si tratta di prediligere determinati aspetti piuttosto che altri. Ad esempio, le CPU x86 hanno una potenza di calcolo più rapida e offrono maggiore chiarezza e semplicità nella programmazione e nel numero di istruzioni, ma richiedono anche un chip con molti transistor, più ingombrante e più costoso. I processori ARM invece si dimostrano sì veloci per certi tipi di operazioni, ma il fatto di dover svolgere più cicli per una singola istruzione finisce per rallentarli nel momento in cui le operazioni diventano più complesse. Il risultato è che il lavoro per la definizione e l'esecuzione delle operazioni ricade sulle spalle dei programmatori e non sul set di istruzioni. 

Infine, poiché i vari tipi di processori richiedono diversi set di istruzioni per eseguire la stessa attività, risulta difficile calcolare il MIPS (milioni di istruzioni al secondo), ovvero una misura approssimativa della potenza grezza di un computer.

L'architettura RISC è nata dalla necessità di realizzare chip di dimensioni ridotte che garantissero prestazioni elevate per computer più piccoli o microcomputer (i PC odierni). Ed è qui che si inserisce la seconda domanda fondamentale della progettazione di processori: è meglio concentrarsi sulle prestazioni del chip (velocità di elaborazione o velocità di clock) o sul consumo di energia (efficienza energetica)?

Integrati come SoC, i processori ARM sono pensati principalmente per ottimizzare le risorse, per cui in generale consumano meno energia e producono meno calore. Basti pensare che le architetture ARM (come ARMv8) di norma non prevedono sistemi di raffreddamento semplificati (non ci sono ventole sui telefoni cellulari). Le CPU x86 invece privilegiano la velocità di elaborazione rispetto alla riduzione del consumo energetico.

Sebbene entrambi i tipi di CPU possano garantire prestazioni elevate (sia ARM che x86 sono utilizzati su alcuni dei supercomputer più veloci al mondo), i progetti ARM tendono a concentrarsi su aspetti quali fattori di forma più piccoli, durata della batteria, dimensioni, riduzione del raffreddamento e, forse l'aspetto più importante di tutti, il costo. Per questo motivo i processori ARM sono prevalentemente adottati sui piccoli dispositivi elettronici e mobili come smartphone, tablet e persino sui sistemi Raspberry Pi. Le architetture x86 trovano invece larga diffusione su server, PC e persino laptop, ovvero in tutti quei contesti in cui la velocità e la flessibilità sono più importanti di raffreddamento e dimensioni.

I chip ARM vengono scelti sempre più spesso per l'High Performance Computing (HPC) e per gli scenari di utilizzo legati al cloud (come AWS Graviton e Azure). Due contesti in cui Red Hat Enterprise Linux offre una piattaforma in grado di garantire prestazioni ottimali per l'elaborazione, la compatibilità, lo sviluppo, l'ottimizzazione e l'implementazione di app.

Sono ormai anni che le architetture ARM utilizzano i sistemi operativi Linux, dai sistemi basati su Android per gli smartphone a quelli su misura per Raspberry Pi. Perfino uno dei supercomputer più veloci al mondo utilizza Red Hat Enterprise Linux su un'architettura ARM (Red Hat alla base di Fugaku).

A differenza delle CPU x86, l'hardware per ciascuna progettazione ARM è unico. Ed è questo contesto a denotare l'importanza di una vasta community open source come quella di Red Hat Enterprise Linux, che conta centinaia di fornitori di soluzioni hardware testate e certificate, tra cui figurano anche produttori e progettisti di hardware ARM. Red Hat dispone di un programma per l'accesso anticipato alle novità dei fornitori di soluzioni ARM grazie al quale gli utenti possono collaborare e valutare in anteprima lo sviluppo di nuove tecnologie ARM.

Red Hat Enterprise Linux è in grado di offrire prestazioni elevate in diversi footprint, cloud, server e perfino all'edge. La combinazione di tecnologia, ecosistema e stabilità costante permette alle organizzazioni di adattarsi alle evoluzioni dell'IT attraverso l'innovazione.

Keep reading

Articolo

Che cos'è Linux

Linux è un sistema operativo open source formato da un kernel, ovvero il componente base del sistema operativo, e dagli strumenti, dalle app e dai servizi integrati con il kernel.

Articolo

Cos'è SELinux?

Security-Enhanced Linux (SELinux) è un'architettura di sicurezza per i sistemi Linux®, che offre agli amministratori un livello di controllo superiore sugli utenti autorizzati ad accedere al sistema.

Articolo

Cos'è il kernel Linux?

Il kernel Linux è il componente principale di un sistema operativo Linux e l'interfaccia primaria tra l'hardware di un sistema e i suoi processi.

Scopri di più su Linux

Prodotti

Una base stabile e versatile ideale per rilasciare nuove applicazioni, virtualizzare gli ambienti e ottenere un cloud ibrido più sicuro.

Risorse

Ebook

Estendi l'innovazione e l'efficienza operativa con Linux.

Continua a leggere

CHECKLIST

L'azienda tecnologica globale promuove l'utilizzo del 5G all'edge della rete

CHECKLIST

L'importanza del sistema operativo

CHECKLIST

Perché Red Hat Enterprise Linux è meglio di CentOS Stream per l'uso in produzione

CHECKLIST

4 modi con cui Red Hat e Nutanix risolvono le sfide dell'IT moderno

INFOGRAFICA

Red Hat Enterprise Linux su Microsoft Azure

CHECKLIST

5 modi per rinnovare l'ambiente SAP con Red Hat e AWS

SCHEDA INFORMATIVA

Guida alle sottoscrizioni Red Hat Enterprise Linux

SCHEDA TECNICA

Automazione e gestione con Red Hat Enterprise Linux

SCHEDA TECNICA

Red Hat Enterprise Linux per i carichi di lavoro all'edge

SCHEDA TECNICA

Passa da CentOS Linux a Red Hat Enterprise Linux

SCHEDA TECNICA

Red Hat Edge

SINTESI

Prestazioni di Red Hat Enterprise Linux

SINTESI

Sicurezza e conformità con Red Hat Enterprise Linux

SINTESI

Incrementa la sicurezza e la coerenza del cloud ibrido

SINTESI

Percorso per l'acquisizione di competenze per Red Hat Enterprise Linux

SINTESI

Incrementa prestazioni e agilità del database

SINTESI

Missione compiuta: edge computing nello spazio

PANORAMICA

Riduci i downtime di SAP HANA con la tecnologia Red Hat

PANORAMICA

Semplifica la transizione al cloud con Red Hat e Google Cloud

EBOOK

Nove motivi per provare Red Hat Enterprise Linux 9

EBOOK

Ottieni il massimo dall'ambiente operativo Linux

EBOOK

Red Hat Enterprise Linux e Microsoft Azure

EBOOK

Un framework IT efficiente come base per il successo dell'impresa moderna

EBOOK

La standardizzazione come strategia per migliorare l'efficienza IT

EBOOK

Apri le porte a nuove possibilità di innovazione e crescita nelle tre aree chiave dell'IT, con Red Hat

EBOOK

Come gestire gli ambienti Linux con tecniche e strumenti moderni