ARM is an abbreviation for “Advanced RISC Machine.” It was developed by Acorn Computers Ltd in the 1980s and used in its Archimedes range of computers. It was the first processor able to outperform the Intel 80386, and it still has a significant market share as feasible for embedded systems. ARM has now evolved into a complicated micro-controller with powerful features like touchscreen displays, WiFI connectivity, GPS navigation, and more!
The following article talks about what you need to know about ARM: how it works, what makes it special, and why we should care about this piece of technology.
Acorn Computers Ltd was founded in Cambridge, England, in 1978 by Herman Hauser and Chris Curry. They produced the first commercially available desktop computer in 1985 called the Acorn Archimedes.
The ARM architecture was developed in the 1980s by three members of Acorn: Sophie Wilson joined soon after its formation and led the architecture team, and Steve Furber led the hardware design. Together they worked on the Acorn RISC Machine (ARM) project that produced the ARM1 processor in 1985. The initial aim of this project was to create a computer for CAD work.
Wilson and Furber wanted to create a computer that was faster than the Intel 80386. The ARM architecture was not initially aimed at producing a general-purpose processor, but it was chosen for the CAD workstation project because it met their design requirements of low cost, simplicity, and speed.
The first-ever ARM1 microprocessor had a clock speed of 12 MHz. It had 32 KB of RAM in the form of four 8KB cache memories to improve performance. ARM1 was fabricated using an NMOS process with a 3.3 volt supply and 5V input/output levels.
ARM2 was released in 1987, which included support for an external 4-way 16 KB direct-mapped data cache. It had a clock speed of 20 MHz and was available as both a CPU and as an on-chip controller for memory. The ARM2 architecture still exists today in the form of embedded CPUs.
ARM3 was released in 1990, and it had two major changes: firstly, it had support for reading/write control allowing it to directly interface with standard memory, and secondly, the external 4-way 16 KB data cache was replaced by an on-chip full Harvard architecture of 16/32 KB. The ARM3 processor also allowed for 32 bit systems, whereas the previous versions only supported 8-bit or 16-bit systems.
ARM4, released in 1993, had support for hardware floating-point and a reduced instruction set (RISC), allowing it to operate at 25 MHz while drawing less power than its predecessors. The release of the ARM4 meant that all future ARM processors would be based on the same load/store RISC architecture.
ARM5 was released in 1996, and it included an on-chip memory management unit (MMU) that allowed the ARM to support operating systems in addition to real-time operating systems. It also had a reduced power consumption in comparison with previous versions, which made it suitable for battery-powered devices like PDAs and mobile phones.
ARM7 was released in 1997 and was mostly used in embedded applications. It included an integrated low-speed memory (similar to a ROM) and a high-speed memory interface.
ARM8 was released in 1999, and it had reduced power consumption, which meant that new features could be added to products without increasing power consumption. It also included support for 8KB of data cache on-chip for low-cost systems.
ARM9 was the first ARM architecture with TrustZone technology in 2002. TrustZone is a system in which the digital rights management (DRM) software operates in non-secure mode, while everything else, including all programs and data, are operating in a secure mode. The ARM9 also has support for hardware floating-point.
ARM10 was released in 2005 with support for virtualization that allows multiple guest operating systems to run on a host processor, with each system having its own secure memory. It also supported 4 KB pages and hardware floating-point.
ARM11 was the first ARM architecture to include NEON technology in 2007. The NEON is a SIMD media processing engine that enables parallel processing of large data sets, which can be used for video/image/sound processing and 3D graphics.
ARM12, released in 2010, supported the Flash standard, which is widely used today for non-volatile storage. It also included fast interrupts that are between 4x to 16x faster than previous versions of the ARM architecture.
The latest version, ARMv7-A, was released in 2011 and included DSP instructions that improve the performance of DSP applications specifically.