Chip M1
Chip M1

Quando Apple presentò il suo primo processore proprietario per Mac, il chip M1, molti pensarono che le performance mostrate durante l’evento fossero delle trovate di marketing per spingere le vendite.

Con dei test indipendenti, invece, presto scoprimmo che le dichiarazioni di velocità triple e consumi nettamente ridotti erano veri. Anzi, i nuovi Mac superavano anche il top dei modelli venduti fino a qualche mese prima.

Ma come è possibile? Come è riuscita la società a creare un processore così potente da diventare molto più veloce di quelli venduti dalla concorrenza? Concorrenza che investe risorse da decine di anni.

La spiegazione viene data da Erik Engheim in un interessante articolo. Alla base del salto generazionale dei chip M1 c’è un approccio completamente diverso nel settore dell’informatica. Apple ha praticamente fatto storia arrivando a una pietra miliare che sarà ricordata nei decenni a venire.

I processori classici in silicio hanno un’unità di calcolo CPU con architettura RISC. Semplificando il processo possiamo dire che le istruzioni di calcolo sono inviate alla memoria del computer, che le passa a un Program Counter per iniziarle a gestire, il tutto viene tradotto in istruzioni per il Register che regola le priorità di calcolo con il supporto di un Decoder.

Quindi le istruzioni per far funzionare i software passano da un registro nella memoria che si occupa di farle processare all’unità di calcolo e ottenere un risultato.

Negli anni Intel e AMD per aumentare la velocità dei chip hanno semplicemente aggiunto core. Consideriamo un core come un ragionerie che fa calcoli a mano velocemente. Se aggiungiamo più ragionieri si possono fare più calcoli contemporaneamente. Attualmente siamo arrivati ai chip Altra Max da 128 core usati nel settore del cloud.

I chip M1 sostanzialmente non sono processori. Tecnicamente sono dei SoC (System on Chip). Apple ha usato la sua conoscenza nel settore dei chip, nata dall’acquisizione di molte aziende, per costruire il suo SoC proprietario.

Il Soc è praticamente un blocco unico fatto da più processori: ognuno occupato per operazioni ben precise. Nel SoC M1 troviamo:

  • Una CPU da 8 core per i calcoli
  • Una GPU da 8 core per le operazioni grafiche
  • Una ISP per processare le immagini
  • Un DSP per le funzioni matematiche della CPU
  • Un NPU da 16 core per le operazioni di machine learning e intelligenza artificiale
  • Un chip per il video encoding e decoding
  • Un Secure Enclave per la sicurezza dei file
  • Una memoria unificata

Le operazioni, quindi, non sono inviate tutte al register e gestite dalla CPU, ma inviate nel rispettivo chip e questo consente di compiere un gran numero di operazioni nello stesso tempo.

Molto importante è anche il concetto di memoria unificata. La CPU ha bisogno di pochi dati ma velocemente, mentre la GPU di molti dati anche se più lentamente. Anziché suddividere la memoria in più parti e assegnare le parti a CPU e GPU, Apple ha creato una memoria unica super veloce.

Complici le SSD velocissime usate nei Mac, ora il sistema può godere di una memoria unificata che può fornire molti o pochi dati sempre velocemente. Questo è il motivo per cui Apple non insiste sull’avere tanta memoria RAM. Con il SoC M1 non è necessario avere molti GB.

A chiudere questo quadro di perfezione ci sono altri due concetti. Il primo è il fatto che l’architettura ARM consente di avere una miniaturizzazione così efficiente da ridurre i consumi e la produzione di calore. Questo permette di costruire i MacBook Air velocissimi ma senza ventola.

L’altro concetto è aver superato il concetto di multi-core a favore del OoOE (Out of Order Execution). In pratica pensiamo a un magazzino gestito da robot. Una CPU è un robot. Quindi se diamo delle istruzioni a un robot questo inizierà a portarle a termine. Con più robot (un processore a più core) faremo più operazioni contemporaneamente.

I robot gestiti con OoOE, nel nostro esempio, non solo conoscono le proprie istruzioni, ma mediante dei micro-ops conoscono anche le dipendenze delle proprie istruzioni da quelle degli altri robot. Questo permette a ogni robot di non lavorare solo in una direzione, ma muoversi per ottimizzare le operazioni senza scontrarsi mai con gli altri robot.

I robot di Amazon riescono a muoversi in varie direzioni sapendo dove sono gli altri robot
I robot di Amazon riescono a muoversi in varie direzioni sapendo dove sono gli altri robot

Nei processori con OoOE, quindi, le operazioni sono ottimizzate al massimo per effettuare un gran numero di calcoli aggiuntivi. Il tutto è stato reso possibile da un piccolo miracolo: integrare 8 decoder nel chip anziché 4 come in uso presso Intel e AMD.

E se pensate che basterà aggiungere decoder per arrivare ai livelli di Apple sappiate che non è così facile. Aggiungere decoder significa dover ripensare a tutta la gestione dell’architettura e questo richiede anni e ingenti investimenti.

Quindi Apple è riuscita a costruire un SoC nettamente superiore a qualsiasi chip venduto dalla concorrenza. La velocità dei processori di Cupertino è destinata a crescere grazie alla miniaturizzazione dei componenti. Attualmente usano un’architettura a 5 nm, ma TSMC (partner di Apple) sta già investendo su quella da 3 nm e 2 nm. Ridurre la grandezza dei componenti consentirà di aggiungere core e nuovi chip, rendendo il SoC sempre più potente, preservando i consumi.

Per Intel e AMD giungere ai livelli di Apple richiederà molti anni e questo rende i Mac i computer più veloci del mercato.

Leave a comment

Cosa ne pensi?