Rosetta 2

Med Rosetta 2 kan de nye Macene kjøre «gammel» programvare

Oversetter fra x64- til ARM-instruksjoner.

Apples Rosetta-teknologi er oppkalt etter den egyptiske Rosettasteinen, som ga nøkkelen til dechiffreringen av hieroglyfene. Det er en kopi av steinen, utstilt ved British Museum i London, som er avbildet.
Apples Rosetta-teknologi er oppkalt etter den egyptiske Rosettasteinen, som ga nøkkelen til dechiffreringen av hieroglyfene. Det er en kopi av steinen, utstilt ved British Museum i London, som er avbildet. (Foto: Wikimedia (GNU Free Documentation License))

Oversetter fra x64- til ARM-instruksjoner.

Som ventet lanserte Apple i går selskapets første Mac-modeller med selskapets ARM-baserte M1-prosessor. Innen to år skal alle Mac-modellene være utstyrt med en CPU av denne typen.

Fordi M1-prosessoren er basert på en helt annen arkitektur enn x86_64-prosessorene som Apple har brukt i Mac siden 2006, kan ikke eksisterende MacOS-applikasjoner kjøres direkte på M1-prosessoren. 

«Universelle» binærfiler

I utgangspunktet må all MacOS-programvare derfor bygges på nytt, slik at den blir tilgjengelig som en Universal MacOS Binary, en versjon som kan kjøres på begge prosessorarkitekturer. En relativt enkel oppskrift på hvordan dette kan gjøres, er tilgjengelig her. De universelle utgavene kan bygges med Xcode 12 på både ARM64- og x86_64-baserte Mac-er. 

All MacOS-programvare fra Apple selv skal nå være tilgjengelig i den universelle typen. Men det kan ta lang tid før det samme gjelder all tredjepartsprogramvare. 

Apple har derfor valgt å gjøre det samme som selskapet gjorde da Mac gikk fra PowerPC til x64-prosessorer, nemlig å tilby en teknologi som oversetter mellom den arkitekturene. 

Rosetta 2

Den opprinnelige oversetteren, som ble lansert i 2005, het Rosetta. Den nye heter Rosetta 2 og følger med nye MacOS Big Sur.

Rosetta 2 skal kunne oversette de aller fleste x86_64-baserte MacOS-applikasjoner til ARM64-instruksjoner. De viktigste unntakene er kjerneutvidelser og virtuelle maskiner som som virtualiserer x86_64-datamaskiner. 

Selv om Rosetta 2 vil fungere i de fleste tilfeller, vil oversettelsen ta noe tid. Det betyr at det kan ta lenger tid å starte programvaren, og den kan kjøre langsommere enn det en Universal-utgave vil gjøre. 

Også programvare som er tilgjengelig som Universal MacOS Binary, og dermed inkluderer både ARM64- og x86_64-instruksjoner, vil kunne kjøres via Rosetta 2. Dette kan være aktuelt for programvare hvor det finnes eldre plugins og andre utvidelser som ennå ikke støtter den nye arkitekturen. 

Les også

Kommentarer (1)

Kommentarer (1)
Til toppen