Le differenze tra ARM e Intel x86-64

Con i chip ARM ormai ubiqui nei laptop ad alte prestazioni e nei server edge, è legittimo chiedersi se questi nuovi dispositivi meritino il tuo prossimo acquisto. È ora di comprendere le differenze tecniche tra i processori ARM e i più potenti predecessori x86-64 che in precedenza dominavano senza ostacoli il mercato dei chip.
Indice
- Cosa significa x86-64?
- Insiemi di istruzioni
- Consumo di energia
- Dovrei scegliere un sistema ARM o x86?
Leggi: Potrà ARM eventualmente sostituire la CPU x86 nei laptop? Scopriamolo!
Cosa significa x86-64?
I processori Intel presenti nei computer desktop e laptop sono talvolta denominati “processori x86”. L’architettura a 64 bit che tutti i computer moderni utilizzano oggi si basa sul modello x86, che ora è definito “x86-64”.
Tutto ciò può sembrare un po’ confuso, ma aiuta a spiegare perché ci sono due diverse cartelle Program Files su Windows.

Per semplificare, tutte le applicazioni a 32 bit vanno nella cartella x86 e quelle a 64 bit vanno nell’altra cartella. Questa è stata una convenzione sin da quando Microsoft ha rilasciato la sua versione a 64 bit di Windows XP nel 2001.
Per semplificare ulteriormente, ci riferiremo a “x86-64” come “x86”, poiché ci sono abbastanza somiglianze tra chip a 32 bit e 64 bit da raggrupparli insieme.
L’etichetta “x86” deriva dal capostipite del processamento moderno, un microprocessore creato da Intel chiamato 8086. Questo chip a 16 bit operava sotto un insieme di istruzioni ancora utilizzato in gran parte dai processori moderni oggi per eseguire attività di calcolo avanzate.
Tutto, dal tuo editor di testo a software avanzati di rendering video, ha ancora la capacità di operare sotto un’architettura nata nel 1978!
Dalla release del microprocessore 8086, Intel ha continuato a utilizzare la convenzione di denominazione per i modelli futuri come 80286 e 80386 fino a interrompere questa tradizione con il rilascio della serie Pentium. Tuttavia, rendiamo omaggio a quei vecchi chip categorizzando tutti i processori successivi che utilizzano il suo insieme di istruzioni come “x86”.
Anche i processori a 64 bit più moderni che AMD ha rilasciato per la prima volta nella serie Opteron nei primi anni 2000 ricevono la stessa designazione, poiché la stragrande maggioranza dei processori a 64 bit nei sistemi desktop e nei server continua a poggiare sul pilastro dell’umile 8086.
Insiemi di istruzioni
Tutta la funzionalità di un processore si basa su quello che viene chiamato un insieme di istruzioni. Questo è un insieme fisso di operazioni di base che un chip può eseguire. Ogni istruzione dice al chip di eseguire operazioni come calcoli di base e spostare dati. Alla base di ogni bit di codice in ogni programma che esegui sulla tua macchina c’è uno strato che comunica con il processore. Questo strato utilizza anche il proprio codice noto come linguaggio assembly, che si traduce in un’istruzione ancora più semplice, spesso chiamata codice macchina o linguaggio macchina.

È qui che arriviamo alla differenza fondamentale tra i chip ARM e x86.
I chip x86 usano il computing a complessi insiemi di istruzioni (CISC), mentre i chip ARM usano il computing a insiemi di istruzioni ridotti (RISC). Mentre i chip CISC cercano di mettere più “lavoro” in un’unica istruzione sacrificando cicli di clock per svolgere questo compito, i chip RISC hanno (come il nome implica) un insieme di istruzioni molto più piccolo che scompone tutto in passaggi più semplici che possono essere eseguiti in un singolo ciclo di clock.
CISC vs. RISC
Se un chip CISC deve moltiplicare due numeri, potrebbe eseguire un singolo comando: MULT 2, 3. Questo singolo comando coprirebbe il caricamento dei numeri dalla memoria, moltiplicarli insieme e memorizzare il risultato nella posizione di memoria corretta. Un chip RISC che esegue la stessa operazione richiederebbe molti più passaggi. Prima, un’istruzione LOAD per spostare i numeri dai registri all’unità di esecuzione. Poi, un’istruzione PROD per moltiplicare i numeri. Infine, un’istruzione STOR per collocare il risultato nel registro corretto.

Anche se il chip CISC potrebbe sembrare più efficiente perché i suoi comandi appaiono più semplici, considera alcune differenze importanti:
- Primo, i chip CISC eseguono comandi su più cicli di clock, mentre ogni istruzione in un chip RISC viene eseguita su un singolo ciclo di clock. Per questo motivo, il nostro ipotetico comando
MULTpotrebbe essere eseguito nella stessa quantità di cicli di un insieme di istruzioni RISC che svolge lo stesso compito. - Secondo, tutte le istruzioni e la logica di CISC devono essere memorizzate nei transistor. I chip RISC possono utilizzare meno transistor perché devono memorizzare meno istruzioni.
- Infine, il numero ridotto di transistor richiesti dai RISC consente un uso di energia inferiore.
Ci sono alcuni vantaggi per CISC. In primo luogo, il computer non deve fare molto lavoro per convertire da un linguaggio di programmazione a livello umano come C a un linguaggio assembly a livello di processore. Infatti, il comando MULT menzionato sopra è molto simile al comando C foo = foo * bar.
I chip RISC chiedono al compilatore di fare molto più lavoro per ridurre il codice in linguaggio assembly. I chip CISC possono anche eseguire le loro operazioni direttamente sulla memoria di sistema mentre i chip RISC devono prelevare i dati dalla memoria sui registri del processore prima di lavorarci sopra.
In una competizione di prestazioni faccia a faccia tra i due, per quanto riguarda i consumatori, non c’è un chiaro vincitore. Tuttavia, i RISC hanno un ulteriore asso nella manica per ottenere davvero un vantaggio sui CISC.
Consumo di energia
Tra CISC e RISC, non c’è assolutamente confronto quando si tratta di utilizzo energetico. RISC prende categoricamente il premio qui. Un insieme di istruzioni ridotto offre un’impronta della wafer ridotta, rendendo il chip più piccolo e quindi meno energivoro.

Chip più piccoli con meno componenti microscopici hanno anche meno resistenza elettrica da affrontare e non richiedono tanta potenza per funzionare. Il miglior studio di caso per questo è la tecnologia comprovata degli smartphone, un dispositivo “computer leggero” che offre un’immensa quantità di prestazioni per le sue dimensioni relativamente ridotte, ma riesce a resistere in molti casi per oltre 24 ore con una batteria relativamente piccola.
Detto ciò, ciò non significa che tutti i computer inizieranno a utilizzare chip ARM per ridurre il consumo di energia. Nel mercato desktop, dove il sistema dipende tipicamente da una connessione diretta a una presa a muro piuttosto che da una batteria, l’efficienza energetica non è una priorità enorme. I chip CISC continuano a funzionare in modo sorprendente in queste situazioni e non ci sono segni che questo cambi presto.
Dovrei scegliere un sistema ARM o x86?
Con Microsoft che rilascia anche il suo Windows 11 per l’architettura ARM e Apple che passa ai chip ARM per i suoi Mac, potresti essere interessato a ottenere un PC ARM anche tu. Tuttavia, si riduce a una domanda molto semplice: stai cercando di spremere ogni singolo bit di prestazioni per wattora di potenza fornita dalla tua batteria? O sei più incline a spingere il maggior numero possibile di prestazioni grezze attraverso il tuo dispositivo a scapito della durata della batteria?
Per la maggior parte dei casi d’uso per cui qualcuno acquisterebbe un sistema, la decisione è così semplice. Alla fine, assicurati solo di non dimenticare di portare con te il tuo cavo di ricarica!