Cos'è un processore ARM?
I processori ARM (Advanced RISC Machine) sono una tipologia di CPU basata su un'architettura di tipo RISC (Reduced Instruction Set Computer) così chiamati perché prevedono un set di istruzioni ridotto. ARM è l'acronimo di Advanced RISC Machine. Se paragonate ad altre architetture server come x86, le architetture ARM propongono un approccio alternativo alla progettazione hardware per i sistemi.
L'ecosistema ARM ha iniziato ad affermarsi negli ultimi anni con l'introduzione sul mercato di prodotti ottimizzati per i server e di soluzioni progettate per il cloud computing, l'hyperscale computing, le telecomunicazioni, l'edge computing e per le applicazioni di High Performance Computing (HPC). Red Hat® Enterprise Linux® for ARM offre una piattaforma affidabile e funzionale che include un ambiente applicativo coerente per deployment fisici, virtuali e cloud.
L'origine dei processori ARM
Per comprendere gli scenari di utilizzo e le applicazioni per le architetture ARM è necessario conoscere l'origine di tali processori.
Con il primo progetto rilasciato nel 1978, x86 è un modello architetturale più datato che risale a quando i computer mainframe erano strutture enormi, grandi quanto una stanza. Ma con la modernizzazione delle tecnologie e la progressiva riduzione del footprint fino ai "microcomputer" (i PC odierni), si presentò il problema di creare componenti che riuscissero a offrire prestazioni elevate in un design sempre più contenuto. All'inizio degli anni '80, ad esempio, Acorn Computers progettò dei microcomputer che però avevano prestazioni limitate a causa della dimensione del chip.
Più o meno nello stesso periodo, a partire dal 1981, alla UC Berkeley era in corso uno studio sull'utilizzo delle risorse nei chip dei computer. Le unità di elaborazione hanno dei set di istruzioni, ovvero un determinato numero di operazioni predefinite, che i sistemi operativi e i programmi usano per poter funzionare. I programmatori di Berkeley scoprirono però che la maggior parte dei programmi utilizza solo una parte del set di istruzioni. Riducendo quindi il numero di istruzioni predefinite, eliminando cioè quelle complesse e difficili da implementare e quelle poco utilizzate, era possibile accelerare l'esecuzione delle restanti istruzioni semplici che avrebbero richiesto meno energia e spazio sul chip. Questo tipo di architettura con set di istruzioni ridotto prende il nome di RISC (Reduced Instruction Set Computer) e si contrappone alle architetture con set di istruzioni complesse o CISC (Complex Instruction Set Computer), come x86. Sono entrambe architetture con set di istruzioni.
Risorse da Red Hat
ARM e x86
Le classiche architetture server, come il più diffuso x86, si basano su un approccio modulare che prevede di avere una scheda madre e dei componenti sostituibili. La CPU e gli altri componenti, come schede grafiche e GPU, controller di memoria, storage o i core di elaborazione, sono ottimizzati per funzioni specifiche e si possono sostituire o espandere in base alle necessità. Tuttavia, in questo approccio i componenti hardware, che sono in genere architetture di sistema più omogenee, risultano anche più vulnerabili agli hacker, i quali possono violare e attaccare i sistemi in breve tempo con exploit "write once, run anywhere" (scrivi una volta, esegui ovunque).
I processori basati su ARM adottano un approccio diverso. Anziché avere l'unità di elaborazione separata dal resto dell'hardware, i core della CPU fanno parte della piattaforma fisica per il circuito integrato. Anche le altre funzioni hardware, ad esempio i controller del bus di I/O come l'interconnessione dei componenti periferici, si trovano sulla piattaforma fisica e vengono integrate tramite un bus interno. Quando i componenti si trovano sullo stesso circuito integrato si parla di SoC (System-on-a-Chip).
L'adattabilità e la facilità di integrazione fanno dei processori ARM la scelta ideale per molti sistemi. Non esiste però un unico produttore di processori ARM, come succede per le architetture x86 con i processori AMD o Intel. Arm Holdings concede in licenza i progetti per processori ARM — in serie per obiettivi e ottimizzazioni specializzati — con determinati benchmark delle prestazioni, e sono i produttori di soluzioni hardware ad adattare quei progetti ai loro dispositivi specifici.
Quindi chiedersi cos'è un processore basato su ARM ha senso fino a un certo punto. Usare un processore basato su ARM significa scegliere un'architettura di sistema che si basa su un approccio alternativo, con priorità differenti, alla gestione di connettività e prestazioni del sistema.
Quali sono i vantaggi dell'architettura ARM?
Le architetture ARM, presenti in quasi tutti gli smartphone, i dispositivi mobili di piccole dimensioni e i laptop, sono il modello più diffuso per i componenti elettronici, mentre il modello x86 è largamente impiegato nel settore dei server.
I chip x86 sono progettati per ottimizzare le prestazioni. I processori basati su ARM invece sono studiati per offrire dimensioni ridotte, minore consumo di energia, meno calore generato, velocità, maggiore durata della batteria e costi inferiori.
Arm Holdings vende progetti e non soluzioni hardware. Questo significa che i produttori di hardware possono personalizzare la microarchitettura in base ai loro requisiti specifici, sfruttando tutte le caratteristiche di ARM: dimensioni ridotte, prestazioni elevate ed efficienza energetica. Un tale approccio ha però sia vantaggi che svantaggi, considerato che i sistemi operativi come Linux, Windows e Android devono supportare una gamma più ampia di hardware.
Il campo di applicazione delle architetture ARM non si limita unicamente ai piccoli dispositivi mobili. Infatti Fugaku, uno dei supercomputer più veloci al mondo progettato da Fujitsu e Riken, utilizza un processore ARM. In questo caso Fujitsu ha progettato il proprio chip ARM per il supercomputer, ma ARM fornisce anche un profilo di progettazione per le architetture HPC. Grazie a caratteristiche quali dimensioni ridotte, minor consumo energetico e limitata produzione di calore (che riduce la necessità di raffreddamento aggiuntivo), sempre più organizzazioni scelgono di utilizzare i sistemi ARM per creare nodi o cluster per l'HPC e per le loro soluzioni cloud (come Amazon Web Services Graviton e Microsoft Azure). La toolchain Arm Compiler for Linux è concepita appositamente per lo sviluppo di applicazioni HPC. In ogni caso, prima di integrare i processori ARM, è essenziale valutare la compatibilità con gli scenari di utilizzo e le app esistenti.
Le architetture ARM assicurano ai progettisti di componenti hardware prestazioni elevate e un maggiore controllo sui progetti e sulle catene di distribuzione. La combinazione di controllo e prestazioni offerta da questo approccio rende l'architettura ARM adatta sia ai piccoli dispositivi di consumo sia agli ambienti di elaborazione su larga scala.
Perché scegliere Red Hat Enterprise Linux for ARM?
Le architetture ARM utilizzano da tempo i sistemi operativi Linux, in particolare su dispositivi come le schede Raspberry Pi e gli smartphone di Samsung e Apple. Tuttavia, è risaputo che per ciascun progetto ARM era necessario disporre di una build del kernel Linux specifica a causa della mancanza di coerenza tra i progetti ARM, persino con lo stesso produttore o all'interno dello stesso modello. La situazione è cambiata nel 2012 quando la community del kernel Linux ha aggiunto al kernel Linux il supporto multipiattaforma per ARM SoC.
Arm Holdings ha definito la cosiddetta serie SystemReady, ovvero una serie di architetture specifiche per supportare i server e le workstation Linux, che stabiliscono le specifiche per hardware, firmware, requisiti di avvio e sicurezza. Red Hat Enterprise Linux for ARM è certificato per Arm SystemReady SR. Le architetture SystemReady sono concepite per garantire il corretto funzionamento di ogni livello nello stack tecnologico, a partire dal sistema operativo.
La community è un elemento indispensabile per i progetti ARM. Uno dei vantaggi della sottoscrizione Red Hat è il suo ampio ecosistema di fornitori di soluzioni hardware che si impegnano a sviluppare nuove soluzioni in maniera collaborativa e offrono prodotti testati e certificati. L'ecosistema include produttori e progettisti di hardware ARM. Poiché ARM è strettamente legato alla progettazione hardware, Red Hat Enterprise Linux dispone di un programma per l'accesso anticipato alle novità dei fornitori di soluzioni hardware dell'ecosistema grazie al quale gli utenti possono valutare in anteprima lo sviluppo di nuove tecnologie ARM.
L'investimento di Red Hat nella community ARM coniugato alle caratteristiche open source e concepite per le aziende di Red Hat Enterprise Linux lo rendono una piattaforma ideale per i carichi di lavoro ARM.
Il blog ufficiale di Red Hat
Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.