I PC sono passati ai 64-bit ben prima degli smartphone, ma non è stata Intel a coniare la moderna architettura x86-64 (nota anche come x64). Quel riconoscimento appartiene all’annuncio di AMD del 1999, che ha adattato l’architettura x86 esistente di Intel.
Architettura ARM
ARM è basata su RISC (Reduced Instruction Set Computing) mentre Intel (x86) è CISC (Complex Instruction Set Computing). Le istruzioni della CPU Arm sono ragionevolmente atomiche, con una correlazione molto stretta tra il numero di istruzioni e i micro-operazioni. CISC, in confronto, offre molte più istruzioni, molte delle quali eseguono operazioni multiple (come la matematica ottimizzata e il movimento dei dati). Questo porta a migliori prestazioni, ma a un maggiore consumo energetico nella decodifica di queste istruzioni complesse.
Arm ha introdotto la sua architettura ARMv8 a 64 bit nel 2011. Piuttosto che estendere il suo set di istruzioni a 32 bit, Arm offre un’implementazione pulita a 64 bit. Per realizzare questo, l’architettura ARMv8 utilizza due stati di esecuzione, AArch32 e AArch64. Come i nomi implicano, uno è per l’esecuzione di codice a 32-bit e uno per 64-bit. La bellezza del design ARM è che il processore può passare senza problemi da una modalità all’altra durante la sua normale esecuzione. Questo significa che il decoder per le istruzioni a 64-bit è un nuovo design che non ha bisogno di mantenere la compatibilità con l’era a 32-bit, ma il processore nel suo complesso rimane compatibile all’indietro.
La vittoria di ARM sull’ecosistema mobile
Le differenze architettoniche discusse sopra spiegano in parte gli attuali successi e problemi affrontati dai due colossi dei chip. L’approccio a bassa potenza di Arm è perfettamente adatto ai requisiti TDP (Thermal Design Power) di 3.5W del mobile, ma le prestazioni scalano fino ad eguagliare anche i chip per laptop di Intel. Nel frattempo, il tipico Core i7 di Intel con TDP di 100W vince alla grande nei server e nei desktop ad alte prestazioni, ma storicamente lotta per scendere sotto i 5W.
Una caratteristica unica dell’architettura di Arm è stata particolarmente determinante nel mantenere basso il TDP per le applicazioni mobili, il computing eterogeneo. L’idea è abbastanza semplice, costruire un’architettura che permetta a diverse parti della CPU (in termini di prestazioni e potenza) di lavorare insieme per una migliore efficienza. Heterogeneous Multiprocessing (HMP) è già grande nello spazio Android, vedi chip come lo Snapdragon 810, Exynos 7420 o Helio X20, ma Heterogeneous Compute (HC) è la prossima evoluzione.
Vedete, i processori possono essere progettati per eseguire certi compiti in modo più efficiente, ma un singolo design fatica ad essere grande in tutto. La vostra tipica CPU può essere buona per l’elaborazione seriale, mentre una GPU può gestire flussi di dati paralleli e un DSP è meglio ottimizzato per calcolare i numeri ad alta precisione in tempo reale. Con una gamma più ampia di opzioni tra cui scegliere, la teoria è che scegliere il miglior processore per ogni compito specifico si tradurrà in migliori prestazioni ed efficienza energetica.
Il computer più veloce del mondo al momento della scrittura è basato su ARM!
Fugaku è ora il supercomputer più veloce del mondo. Come parte del progetto TOP500, il computer giapponese Fugaku è stato classificato come il più veloce del mondo ed è alimentato dal processore A64FX. Fugaku si trova presso il RIKEN Center for Computational Science a Wakō, Giappone.
Compatibilità software
Applicazioni e software devono essere compilati per l’architettura CPU su cui girano, storicamente gli ecosistemi come Android su Arm o Windows su x86 non hanno problemi a girare su più piattaforme o architetture. I Mac basati su Arm di Apple, Chrome OS di Google e Windows on Arm di Microsoft sono tutti esempi moderni in cui il software deve girare sia su architetture Arm che Intel. Compilare il software nativo per entrambe è un’opzione per le nuove applicazioni e per gli sviluppatori disposti a investire nella ricompilazione. Per colmare le lacune, queste piattaforme si affidano anche all’emulazione del codice. In altre parole, la traduzione del codice compilato per un’architettura CPU per funzionare su un’altra. Questo è meno efficiente e degrada le prestazioni rispetto alle app native, ma una buona emulazione è attualmente possibile per garantire che le app funzionino.
Dopo anni di sviluppo, l’emulazione Windows on Arm è in uno stato abbastanza buono per la maggior parte delle applicazioni. Anche le applicazioni Android girano decentemente sui Chromebook Intel per la maggior parte. Dovremo aspettare e vedere se i Macbook Arm funzionano altrettanto bene.
Spero che l’articolo ti sia piaciuto e che tu abbia ottenuto le informazioni che volevi da esso, se è così seguimi per altri post come questo in futuro. Sto facendo del mio meglio per fornire informazioni di valore a tutti coloro che le cercano.
Sono un po’ più che soddisfatto.