Nel 2020 Apple ha fatto una mossa audace; hanno scaricato Intel e sono passati al loro silicio proprietario per alimentare i loro MacBook. Sebbene il passaggio all'architettura ARM dal linguaggio di progettazione x86 abbia sollevato diverse sopracciglia, Apple ha dimostrato che tutti si sbagliavano quando i MacBook alimentati da silicio Apple hanno offerto prestazioni strabilianti per watt.
Secondo diversi esperti, il passaggio all'architettura ARM è stato un grande motivo per l'aumento delle prestazioni/watt. Tuttavia, anche la nuova Unified Memory Architecture ha svolto un ruolo cruciale nel migliorare le prestazioni dei MacBook di nuova generazione.
Quindi, qual è l'architettura di memoria unificata di Apple e come funziona? Bene, scopriamolo.
Perché il tuo computer ha bisogno di memoria?
Prima di entrare nell'architettura di memoria unificata di Apple, è essenziale capire perché sono necessari in primo luogo i sistemi di archiviazione primari come la memoria ad accesso casuale (RAM).
Vedete, un processore tradizionale funziona a una velocità di clock di 4 GHz durante a
turbo boost. A questa velocità di clock, un processore può eseguire attività in un quarto di nanosecondo. Tuttavia, le unità di archiviazione, come SSD e HDD, possono fornire dati alla CPU solo ogni dieci millisecondi, ovvero 10 milioni di nanosecondi. Ciò significa che nel tempo che intercorre tra la CPU che termina l'elaborazione dei dati su cui sta lavorando e la ricezione del successivo batch di informazioni, è inattiva.Ciò mostra chiaramente che le unità di archiviazione non possono tenere il passo con la velocità del processore. I computer risolvono questo problema utilizzando sistemi di archiviazione primari come la RAM. Sebbene questo sistema di memoria non possa archiviare i dati in modo permanente, è molto più veloce rispetto agli SSD: può inviare dati in appena 8,8 nanosecondi: infinitamente più veloce degli SSD più veloci del momento.
Questo basso tempo di accesso consente alla CPU di ricevere i dati più velocemente, consentendole di elaborare continuamente le informazioni invece di attendere che l'SSD invii un altro batch per l'elaborazione.
A causa di questa architettura di progettazione, i programmi nelle unità di archiviazione vengono spostati nella RAM e quindi accessibili dalla CPU attraverso i registri della CPU. Pertanto, un sistema di archiviazione principale più veloce migliora le prestazioni di un computer, ed è esattamente ciò che Apple sta facendo con la sua architettura di memoria unificata.
Capire come funzionano i sistemi di memoria tradizionali
Ora che sappiamo perché è necessaria la RAM, dobbiamo capire come la utilizzano la GPU e la CPU. Sebbene sia la GPU che la CPU siano progettate per l'elaborazione dei dati, la CPU è progettata per eseguire calcoli generici. Al contrario, la GPU è progettata per eseguire lo stesso compito su core diversi. A causa di questa differenza di design, la GPU è altamente efficiente nell'elaborazione e nel rendering delle immagini.
Sebbene la CPU e la GPU abbiano architetture diverse, dipendono dai sistemi di archiviazione primari per ottenere i dati. Esistono due tipi di memorie ad accesso casuale su un sistema tradizionale con una GPU dedicata. Questa è la VRAM e la RAM di sistema. Conosciuta anche come Video RAM, la VRAM è responsabile dell'invio dei dati alla GPU e la RAM del sistema trasferisce i dati alla CPU.
Ma per comprendere meglio i sistemi di gestione della memoria, diamo un'occhiata a un esempio reale di te che stai giocando.
Quando apri il gioco, la CPU viene visualizzata e i dati del programma per il gioco vengono spostati nella RAM di sistema. Successivamente, la CPU elabora i dati e li invia alla VRAM. La GPU quindi elabora questi dati e li rimanda alla RAM affinché la CPU visualizzi le informazioni sullo schermo. Nei casi di un sistema GPU integrato, entrambi i dispositivi di elaborazione condividono la stessa RAM ma accedono a spazi diversi nella memoria.
Questo approccio tradizionale comporta molto movimento di dati che rende il sistema inefficiente. Per risolvere questo problema, Apple utilizza l'architettura di memoria unificata.
Come funziona l'architettura di memoria unificata su Apple Silicon?
Apple fa diverse cose in modo diverso quando si tratta di sistemi di memoria.
Nel caso di sistemi generici, la RAM è collegata alla CPU tramite un socket sulla scheda madre. Questa connessione crea colli di bottiglia nella quantità di dati inviati alla CPU.
D'altro canto, Silicio di mela utilizza lo stesso substrato per il montaggio della RAM e del SoC. Sebbene la RAM non faccia parte del SoC in tale architettura, Apple utilizza un substrato interposer (Fabric) per collegare la RAM al SoC. L'interposer non è altro che uno strato di silicio tra il SOC e la RAM.
Rispetto alle prese tradizionali, che si basano su fili per trasferire i dati, l'interposer consente alla RAM di connettersi al chipset utilizzando via di silicio. Ciò significa che i MacBook Apple alimentati al silicio hanno la RAM inserita direttamente nel pacchetto, rendendo più veloce il trasferimento dei dati tra la memoria e il processore. La RAM è anche fisicamente più vicina a dove sono necessari i dati (i processori), consentendo così ai dati di arrivare prima dove sono necessari.
A causa di questa differenza nella connessione della RAM al chipset, può accedere a larghezze di banda dati elevate.
Oltre alla differenza sopra menzionata, Apple ha anche cambiato il modo in cui la CPU e la GPU accedono al sistema di memoria.
Come spiegato in precedenza, la GPU e la CPU hanno pool di memoria diversi nelle impostazioni tradizionali. Apple, al contrario, consente a GPU, CPU e Neural Engine di accedere allo stesso pool di memoria. Per questo motivo, non è necessario trasferire i dati da un sistema di memoria all'altro, migliorando ulteriormente l'efficienza del sistema.
A causa di tutte queste differenze nell'architettura della memoria, l'Unified Memory System offre un'elevata larghezza di banda dei dati al SoC. In effetti, l'M1 Ultra offre una larghezza di banda di 800 GB/s. Questa larghezza di banda è sostanzialmente maggiore rispetto a GPU ad alte prestazioni come la AMD Radeon RX 6800 e 6800XT, che offrono una larghezza di banda di 512 GB/s.
Questa elevata larghezza di banda consente a CPU, GPU e Neural Engine di accedere a vasti pool di dati in nanosecondi. Inoltre, Apple utilizza moduli RAM LPDDR5 con clock a 6400 MHz nella serie M2 per fornire dati a velocità sorprendenti.
Di quanta memoria unificata hai bisogno?
Ora che abbiamo una conoscenza di base dell'architettura di memoria unificata, possiamo vedere quanta ne hai bisogno.
Sebbene l'architettura della memoria unificata offra numerosi vantaggi, presenta ancora alcuni difetti. Innanzitutto, la RAM è collegata al SoC, quindi gli utenti non possono aggiornare la RAM sul proprio sistema. Inoltre, CPU, GPU e Neural Engine accedono allo stesso pool di memoria. A causa di ciò, la quantità di memoria richiesta dal sistema aumenta drasticamente.
Pertanto, se sei una persona che naviga in Internet e utilizza un sacco di elaboratori di testi, 8 GB di memoria sarebbero sufficienti per te. Ma se usi spesso i programmi Adobe Creative Cloud, ottenere la variante da 16 GB è un'opzione migliore in quanto avrai un'esperienza più fluida nella modifica di foto, video e grafica sul tuo computer.
Dovresti anche considerare l'M1 Ultra con 128 GB di RAM se stai addestrando molti modelli di deep learning o lavorando su sequenze temporali video con tonnellate di livelli e filmati 4K.
L'architettura della memoria unificata è tutta per il bene?
L'architettura di memoria unificata su silicio Apple apporta diverse modifiche ai sistemi di memoria su un computer. Dalla modifica del modo in cui la RAM è collegata alle unità di calcolo alla ridefinizione dell'architettura della memoria, Apple sta cambiando il modo in cui i sistemi di memoria sono progettati per migliorare l'efficienza dei loro sistemi.
Detto questo, la nuova architettura crea una condizione di competizione tra CPU, GPU e Neural Engine, aumentando la quantità di RAM necessaria al sistema.