Recentemente abbiamo ricevuto una grande domanda che ci ha fatto ricordare che non tutti si tengono aggiornati sulle specifiche e sul design dell'hardware. Qualcuno ha chiesto cosa intendesse ARM.
Innanzitutto, questa è una domanda fantastica. Posso immaginare che sia difficile dare un senso ad alcuni dei discorsi tecnici che accadono se non sei sicuro nemmeno delle basi, e l'unico modo per scoprirlo è chiedere. Quindi, siamo contenti che tu l'abbia chiesto!
ARM è un'azienda e ARM è un'architettura di processore che sviluppano e vendono.
Quando vedi una discussione tecnologica e viene usata la parola ARM, sta descrivendo un tipo di processore. La definizione ultra tecnica di un processore ARM è una CPU costruita sull'architettura basata su RISC sviluppata da Acorn Computers negli anni '80 ed è ora sviluppata da Advanced RISC Machines (quindi ARM).
Non è molto utile quando non sai cosa significhi. Quindi parliamo di cosa significhi.
ARM, Ltd. è una società in Inghilterra che sviluppa e progetta un'architettura di processore. L'abbreviazione ARM per il design del processore sta per Acorn RISC Machine e l'abbreviazione ARM per la società che progetta e vende la licenza per utilizzare quell'architettura sta per Advanced RISC Machines. Non rimanere bloccato su quale ARM significhi quale cosa, poiché al giorno d'oggi entrambi sono intercambiabili. ARM la società progetta un metodo per costruire processori ARM e aziende come Qualcomm, Apple e Samsung concedono in licenza per costruire i propri processori personalizzati. Molte altre aziende concedono in licenza anche il design ARM. Quasi tutti i dispositivi piccoli e alimentati a batteria che necessitano di un cervello utilizzeranno un processore ARM.
Le CPU ARM sono progettate per svolgere molte semplici operazioni contemporaneamente senza richiedere molta energia.
RISC sta per calcolo del set di istruzioni ridotto. Il processore Intel o AMD che troverai nel tuo laptop o computer desktop è probabilmente un processore CISC (Complesso di istruzioni complesse). I due diversi tipi sono progettati per esigenze diverse. Un processore RISC è progettato per eseguire una quantità inferiore di istruzioni (le istruzioni definiscono quali ordini possono essere inviati a un processore da un programma) rispetto a un processore CISC. Poiché possono fare meno cose, possono avere una frequenza più alta - i numeri di Gigahertz di cui si sente parlare - ed eseguire più MIPS (milioni di istruzioni al secondo) di un processore CISC.
Quando si riduce il numero di istruzioni che il processore può calcolare, è possibile creare un circuito più semplice all'interno del chip. Un processore RISC utilizza meno transistor che a loro volta consumano meno energia. Poiché i circuiti sono semplici (sono noti come percorsi ottimizzati in linguaggio tecnico), è possibile utilizzare una dimensione dello stampo più piccola per costruire il processore. La dimensione dello stampo è la misura di un chip sul wafer di silicio su cui è costruito un processore. Quando le dimensioni dello stampo sono inferiori, è possibile posizionare più componenti con meno cavi sulla superficie del processore. Ciò rende i processori ARM piccoli e molto meno affamati di energia.
Processori piccoli, veloci e semplici sono perfetti per cose come i telefoni. Un telefono non sta chiedendo alla CPU di elaborare cose come i dati di collisione 3D (a meno che non sia un telefono Tango) o di provare a eseguire centinaia di thread sul suo numero limitato di core. Il software mobile, sia il sistema operativo che le applicazioni che lo eseguono, sono codificati e ottimizzati per il set di istruzioni ridotto utilizzato dal processore ARM. Ciò non significa che le CPU ARM non siano potenti.
L'attuale specifica ARM consente la progettazione a 32 e 64 bit, la virtualizzazione hardware, la gestione avanzata dell'alimentazione in grado di interfacciarsi con il software utente e un'architettura di caricamento / archiviazione che è principalmente esecuzione a ciclo singolo e ortogonale. Se sei curioso di sapere quali sono queste cose, puoi cercare architetture di set di istruzioni per computer per ulteriori informazioni.
Tutto quello che devi sapere è che significa che i processori ARM sono anche davvero bravi in cose che non sono telefoni o lettori multimediali. Cose come i supercomputer.
Eccellente playlist video di Architecture Fundamentals
ARM ha un ottimo rapporto prestazioni-watt. Un software correttamente codificato può fare più watt di elettricità utilizzata su un chip ARM rispetto a una CPU x86 (un processore CISC reso popolare da Intel). Ciò semplifica il ridimensionamento di cose come server e supercomputer quando si utilizzano processori ARM.
È possibile ottenere la quantità di potenza di elaborazione grezza necessaria da 24 core di CPU x86 oppure da centinaia di core ARM di piccole dimensioni a bassa potenza. I core x86 useranno la loro potenza di calcolo per eseguire i calcoli necessari su pochi core e thread della CPU, mentre i core ARM distribuiranno i compiti su molti core a bassa capacità e meno complessi. I core ARM hanno un numero molto più alto ma non richiedono più potenza o più spazio rispetto ai 24 core x86. Ciò semplifica il ridimensionamento, aggiungendo più potenza di elaborazione al design di un processore, con ARM. Basta aggiungere più core della CPU e assicurarsi che il software sia scritto per funzionare bene con il set di istruzioni ARM.
I processori ARM si adattano molto bene e funzionano su supercomputer e server nonché su Android o iPad.
Alla fine, una singola istanza di un processore ARM non sarà mai così potente come qualcosa come un Intel Core i7 che potresti trovare in un PC da gioco. Non è molto efficace nell'esecuzione del software scritto per il processore Intel x86 e sono necessarie molte modifiche alla codifica, o una macchina virtuale, per fare le stesse cose. Ma Intel Core i7 consuma circa 12 volte la potenza, ha bisogno di un sistema di raffreddamento attivo e non si adatta mai al corpo di un telefono. Il processore ARM meno complesso funziona bene quando il software è scritto per supportarlo direttamente e, grazie al suo set di funzionalità a basso consumo e design ridotto, è facile aggiungere alcuni core ad alta velocità di clock a una CPU per eseguire il software avanzato che tutti desideriamo da utilizzare sui nostri telefoni.
E se hai un data center in montagna da qualche parte, puoi continuare a ridimensionare e aggiungere più core fino a quando non crei computer in grado di gestire cose come le auto intelligenti di NVIDIA o le macchine di apprendimento di Google.