ARM

ARM (previously Advanced RISC Machines and Acorn RISC Machine) is the architecture used by many consumer gadgets, in addition to the company that creates and licenses ARM processor designs.

ARM has its origins in the Acorn Archimedes 32-bit home computer, released in 1987, at a time when competing home computers made use of 8-bit processors. The Archimedes was a successor to Acorn's previous BBC Micro, itself already unique in using a faster MOS 6502 CPU than competitors such as the Apple II.

ARM Ltd. (initially Advanced RISC Machines Ltd.) was founded as a joint venture between Acorn Computers, Apple, and VLSI Technology in 1990, when the Newton project was in need of a low-power CPU. After Newton was cancelled, Apple continued to make use of ARM processor designs in low-power products such as the iPod. ARM became viable for high-performance software needs following the release of the first iPhone and the demand for an App Store on the device, when it became clear that the hardware needed to be capable of a wider variety of functions. ARM architecture designs became split into profiles, indicating their intended use case: A-Profile (application), R-Profile (real-time), and M-Profile (microcontroller). The iPhone 3GS was the first iOS device to switch from the "classic" ARMv6 architecture to the new ARMv7-A architecture.

ARMv6
The ARM name is sometimes used to refer to the armv6 architecture.

On the iPhone, and iPod touch, there are various processors in use, which all use this architecture:


 * Main processors: S5L8900, S5L8720,
 * Baseband processors: PMB8876, PMB8878, XMM6180, MDM6600, MDM6610, and MDM9x00.

ARMv7


The ARM name is sometimes used to refer to the armv7 architecture.

On the iPhone, iPad, iPod Touch, Apple Watch, and Apple TV, there are various processors in use, which all use this architecture:


 * Main processors: S5L8920, S5L8922, S5L8930, S5L8940, S5L8942, S5L8945, S5L8950, S5L8955, S7002, T8002, and T8004.

Instruction set
The following instruction sets are being used:
 * 32-bit:
 * ARMv6: S5L8900 and S5L8720
 * ARMv7: S5L8920, S5L8922, S5L8930, S5L8940, S5L8942, S5L8945, S5L8950, S7002
 * 64-bit:
 * ARMv8: S5L8960, T7000, T7000, T7001, S8000, S8001, S8003, T8010, T8011, T8012, T8015
 * ARM64e: T8020, T8027, T8006, T8030, T8101, T8103, T8301, T6000, T6001, T6002, T8110, T8112, T6020, T6021, T6022, T8120,