Con il loro nuovo processore, i Mac M1 offrono prestazioni rivoluzionarie, ma le applicazioni costruite per funzionare su chip Intel potrebbero dover utilizzare la nuovissima tecnologia di traduzione Rosetta 2 per funzionare. Ma cos’è e che cosa fa esattamente Rosetta 2?

Un sostegno per Apple Silicon

Grazie alla decisione di migrare a una piattaforma completamente proprietaria abbandonando Intel, Apple controlla ora il futuro di tutte le sue piattaforme e il suo nuovo processore M1 sta già impressionando gli utenti a livello di prestazioni e stabilità. Il chip M1 vanta una CPU a 8 core e la GPU integrata più veloce al mondo su un Mac.

Detto questo, le applicazioni sono costruite per funzionare su processori specifici e non tutti gli sviluppatori hanno svolto tutto il lavoro necessario per far funzionare le proprie app in modo nativo sui Mac Apple Silicon. I Mac basati su M1 possono eseguire applicazioni native, universali (in cui il programma di installazione trasporta il codice per chip Intel e Apple) e Intel. Apple sta incoraggiando gli sviluppatori a rilasciare app universali ove possibile e sta rendendo possibile eseguire le app Intel sul nuovo SoC Apple utilizzando la tecnologia di emulazione chiamata Rosetta 2.

Cos’è Rosetta 2?

Rosetta 2 è un emulatore progettato per colmare la transizione tra i processori Intel e Apple. In breve, traduce le app create per Intel in modo che funzionino su Apple Silicon. Ci sono anche alcune app (comprese le app di Microsoft Office) che vengono “tradotte” la prima volta che le eseguite. Questa necessità di tradurre alla prima esecuzione significa che le app potrebbero inizialmente avviarsi un po’ più lentamente del normale (fino a 20 secondi, in alcuni casi), ma non si verificherà lo stesso ritardo la prossima volta che si esegue l’applicazione.

L’intero processo si svolge in background e, sebbene possa influire un po’ sulle prestazioni, i primi report suggeriscono che l’aumento delle prestazioni del passaggio al chip M1 compensa ampiamente tutto questo.

Ecco cosa dice Apple:

“Rosetta 2 è un processo di traduzione che consente agli utenti di eseguire sul SoC M1 applicazioni che contengono istruzioni x86-64. Rosetta 2 ha lo scopo di facilitare la transizione ad Apple Silicon, dando il tempo di creare un codice universale per la vostra app”.

Qual è esattamente il processo di traduzione?

“Se un eseguibile contiene solo istruzioni Intel, macOS avvia automaticamente Rosetta 2 e avvia il processo di traduzione. Al termine della traduzione, il sistema avvia l’eseguibile tradotto al posto dell’originale. Tuttavia, il processo di traduzione richiede tempo, quindi gli utenti potrebbero percepire che le app tradotte si avviano o vengono eseguite più lentamente a volte”, spiega Apple.

Rosetta 2 può anche tradurre codice dinamico o JavaScript al volo.

apple-m1-core-100866119-large

Posso eseguire un plug-in x86 con la mia app?

Quando utilizzate un Mac M1, scoprirete che questo preferirà sempre eseguire le istruzioni di arm64 su Apple Silicon. Tuttavia, a volte un’app trasporterà sia le istruzioni per ARM, sia quelle per X86 e, in questo caso, l‘utente può riavviare l’app utilizzando la traduzione di Rosetta dalla finestra Ottieni informazioni dell’app nel Finder. Selezionate l’app, premete Command-I e spuntate la casella di controllo Apri con Rosetta. Ciò è realmente necessario solo se dovete eseguire un vecchio plug-in all’interno di un’app che viene eseguita in modo nativo su M1.

Chi supporta Rosetta 2?

Tutte le applicazioni Apple supportano già nativamente il chip M1. Gli sviluppatori stanno anche creando applicazioni universali che verranno eseguite in modo nativo su Mac con Intel e M1. Le app che non sono ancora disponibili in formato nativo o universale potrebbero richiedere un piccolo aggiornamento per abilitare il supporto per Rosetta 2, ma funzioneranno perfettamente.

App chiave come Word funzionano già su M1 e Adobe promette una versione nativa M1 di Photoshop per l’inizio del prossimo anno, con Lightroom che dovrebbe però arrivare prima. Ovviamente, potete anche eseguire app iOS sul chip M1 se gli sviluppatori di quelle app lo consentono.

Cosa non può tradurre Rosetta 2?

Rosetta 2 non può tradurre le estensioni del kernel o le app della macchina virtuale che virtualizzano le piattaforme x86_64. Gli sviluppatori devono essere consapevoli del fatto che Rosetta 2 non è in grado di tradurre le istruzioni vettoriali AVX, AVX2 e AVX512.

Come sono le prestazioni?

Sto utilizzando un Mac mini M1 da alcuni giorni e in base alla mia esperienza, la maggior parte delle applicazioni funziona altrettanto bene (spesso, anzi, sono significativamente più veloci) quando vengono eseguite sul chip M1 rispetto all’equivalente Mac con processore Intel. È poi degno di nota il fatto che questi processori eccellono anche nella gestione della memoria.

Apple ha infatti sviluppato una tecnologia chiamata Unified Memory Architecture (UMA) che condivide la memoria tra tutte le funzioni del processore. Poiché la memoria, il processore e altri elementi di sistema sono tutti ospitati sul chip, potete aspettarvi prestazioni eccellenti. Ciò è particolarmente visibile su app ad alta intensità grafica, che ho trovato funzionare ancora più velocemente di prima.

Per quanto tempo sarà disponibile Rosetta 2?

Non sappiamo se Rosetta 2 sarà sempre disponibile. Storicamente, Rosetta è stata inclusa in Mac OS X 10.4.4 Tiger, è diventata un’opzione scaricabile in OS X 10.6 Snow Leopard, ma è scomparsa l’anno successivo. In quel caso, la transizione è stata completata prima del previsto quando Apple ha smesso di vendere Mac basati sulla vecchia architettura PowerPC.

Apple si è impegnata a completare la transizione tra i processori Intel e Apple Silicon entro due anni e sa bene che le persone acquisteranno ancora nuovi Mac con processori Intel durante questa transizione. Sembra quindi plausibile pensare che Apple manterrà il supporto per Rosetta 2 all’interno di macOS almeno fino al 2023.