The Big Picture: In 2020, Apple switched from Intel processors and started releasing Macs powered by its own custom chips. Because of the change, Apple needed to find a way to emulate x64-based software on the new silicon. Apple found a way – a very old way.
apple open its first dedicated processor, the Apple M1, during an event in November 2020. The chip was met with high praise for cramming large amounts of power into a small space. Apple’s M1 has people wondering if SoCs are the future of computing.
Due to the switch to ARM architecture, Apple had to figure out a way to allow M1 Macs to use software that was designed with Intel-based Macs in mind.
Apple took the simplest and most efficient way: emulating the x64 architecture within the Apple M1 itself. The simulation method is called “Rosetta 2” after the Rosetta Stone.
People were surprised at how effective Rosetta 2 was. Dougal Johnson, an Australian security researcher, thinks he now knows Why This is it.
There is an unannounced extension within Rosetta 2 that simplifies the process of storing equivalence and tuning flags within an application. This allows for a more accurate and “snappy” simulation, according to Johnson. The most surprising part is the origin of the extension – it was built into Intel’s second ever processor, the Intel 8080, from 1974.
The old 8-bit microprocessor handled these tweaks and parity buffers specifically, and the feature has continued to find its way into current Intel processors. If you have a new Core i9-13900 kThere is a direct (albeit slight) association with the processors that have powered some computers for nearly 50 years.
Bits 26 and 27 in the ARM flags register are dedicated to this operation, although these two bits are only dedicated to this action when Rosetta 2 is active. Rosetta 2 does not activate unless it detects that a program was built with Intel-based Macs in mind, resetting the two bits and allowing Rosetta 2 to run at its usual fast pace.
It’s interesting to see the methods Apple has used to allow people to continue using software designed for older Intel-based Macs. The idea of having an entire architecture that redirects two bits to handle processes in the same way that the processor released under the Nixon administration did is a great idea.