Rosetta is a dynamic binary translator developed by Apple Inc. for macOS, an application compatibility layer between different instruction set architectures.
[3] Macintosh has used CPUs with several different instruction set architectures: the Motorola 68000 series, PowerPC, Intel x86, and ARM64 in Apple silicon.
This emulator uses PowerPC features and is embedded at the lowest levels of the operating system, integrated with the Mac OS nanokernel.
[6] Rosetta is neither included nor supported in Mac OS X Lion (10.7) (released in 2011) or later, which therefore cannot run PowerPC applications.
One of the key reasons why Rosetta 2 provides such a high level of translation efficiency is the support of x86-64 memory ordering in the Apple M1 SOC.
An option also exists to force a universal binary to run as x86-64 code through Rosetta 2, even on an ARM-based machine.
There have been instances[20] of developers installing this runtime binary on third-party hardware, provided that it includes a CPU that supports at least the ARMv8.2-A instruction set; the memory ordering will be different from native x86.
Some developers have noted that it might violate macOS's licensing agreements, since the runtime is bundled[21] within Apple's Virtualization framework.