LLMpediaThe first transparent, open encyclopedia generated by LLMs

Rosetta 2

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Apple silicon Hop 4
Expansion Funnel Raw 56 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted56
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Rosetta 2
NameRosetta 2
DeveloperApple Inc.
ReleasedNovember 10, 2020
Operating systemmacOS
GenreBinary translation software
LicenseProprietary

Rosetta 2 is a dynamic binary translator developed by Apple Inc. for its macOS operating system. It enables software compiled for Intel x86-64 processors to run on Apple silicon Mac computers, which are based on the ARM architecture. This translation layer was a critical component of Apple's transition to Apple silicon, ensuring compatibility for users and developers during the platform migration. It was first included in macOS Big Sur and continues to be a core system technology.

Overview

Rosetta 2 is designed to translate applications built for the Intel Core-based MacBook Pro and iMac lines so they function seamlessly on newer hardware like the MacBook Air with the M1 chip. Unlike its predecessor, it performs much of its translation at the time of app installation, improving runtime performance. The technology is integrated directly into the macOS system software and operates transparently to the end-user. Its development was a strategic necessity for Apple to maintain its vast Mac App Store ecosystem during the architectural shift.

Technical details

At its core, Rosetta 2 translates x86-64 instruction set architecture instructions into the equivalent ARM64 instructions used by Apple silicon chips like the M2 and M3. It employs a combination of ahead-of-time (AOT) compilation during installation and just-in-time (JIT) translation for dynamic code. The system leverages the macOS kernel and virtual memory subsystems to manage translated code pages efficiently. Rosetta 2 also includes emulation for important x86 features like the SSE instruction extensions, ensuring broad compatibility with legacy software.

Performance and compatibility

In general, applications running under Rosetta 2 on an M1 Mac demonstrate significantly better performance than the same software did on many older Intel Mac models, a feat attributed to the efficiency of the Apple M1 chip. However, performance can vary depending on the app's specific use of SIMD instructions or kernel extensions. Notably, Rosetta 2 does not support the translation of virtualization apps to run other x86 operating systems like Microsoft Windows, nor does it translate Intel AVX instructions. Most popular software from developers like Adobe and Microsoft has since been natively compiled for Apple silicon.

Comparison with Rosetta and other translation layers

The original Rosetta was used during Apple's transition to Intel processors from PowerPC, translating code in a purely JIT manner, which often led to noticeable performance overhead. Rosetta 2's use of AOT compilation provides a substantial performance advantage. Other translation technologies, such as Microsoft's Windows on ARM compatibility layer and QEMU in the open-source world, also perform dynamic recompilation but are designed for different operating systems and use cases. Unlike Wine, which translates Windows API calls, Rosetta 2 focuses exclusively on CPU instruction set translation within the macOS environment.

History and development

Rosetta 2 was first announced at WWDC 2020 alongside the unveiling of the Apple silicon transition plan. It was made available to developers through the Xcode toolchain and Developer Transition Kit based on an A12Z Bionic chip. The technology publicly launched in November 2020 with the release of the first M1-powered Mac mini and MacBook Air. Its development was led by Apple's software engineering teams, building upon decades of experience with architecture transitions and compiler technology from projects like LLVM and Clang. Rosetta 2 remains a supported feature in subsequent versions of macOS, including macOS Ventura and macOS Sonoma. Category:Apple Inc. software Category:MacOS Category:Binary translation