ARM processors are a family of central processing units (CPUs) based on a reduced instruction set computer (RISC) architecture. ARM stands for Advanced RISC Machine. ARM architectures represent a different approach to how the hardware for a system is designed when compared to more familiar server architectures like x86.
The ARM ecosystem has emerged over the last several years with server optimized products and solutions that are designed for cloud and hyperscale computing, telecommunications, and edge computing, as well as high-performance computing (HPC) applications. Learn how Red Hat® Enterprise Linux® for ARM delivers a reliable, high-performance platform that includes a consistent application environment across physical, virtual, and cloud deployments.
Understanding the use cases and applications for ARM architectures really starts with an understanding of the history of ARM processors.
x86 is an older architectural approach, with the first x86 CPU design launching in 1978. That was also back in the day of massive, room-sized mainframe computers. As technology modernized toward "microcomputers" (PCs), determining how to configure components for high performance and a smaller design became a challenge. In the early 1980s, Acorn Computers designed microcomputers, but they experienced performance limitations with their chip design.
Around the same time (starting in 1981), a project at the University of California, Berkeley was evaluating resource usage with computer chips. Processing units have certain predefined operations collectively called instruction sets. Operating systems and programs use those instruction sets to execute themselves. What programmers at Berkeley found was that most programs used only a small subset of the instruction set. If they reduced the number of predefined instructions—cutting out complex and hard to implement (and little used) instructions —the remaining simple instructions would run faster and take up much less power and space on the chip. This is called reduced instruction set computer (RISC) architecture. x86 is a complex instruction set computer (CISC) architecture. Both RISC and CISC are considered instruction set architectures.
Typical server architectures like the ubiquitous x86 design have a modular approach based on a motherboard with swappable components. The CPU and other components—such as graphics cards and GPUs, memory controllers, storage, or processing cores—are optimized for specific functions and can be easily swapped out or expanded. However, this ease comes at a price; these hardware components are typically more homogenized system architectures, which can allow hackers to quickly breach and attack systems with "write once, run anywhere" exploits.
An ARM-based processor takes a different approach. Rather than having the processing unit separate from the rest of the hardware, the CPU cores are part of the physical platform for the integrated circuit. Other hardware functions (like I/O bus controllers such as peripheral component interconnect) are on the same physical platform, and all of the different functions are integrated together through an internal bus. When components like these are placed on the same integrated circuit, this is called a system on a chip or SOC.
This adaptability and integration is a key motivation for selecting ARM processors for a given system. There is no single ARM processor manufacturer, like AMD or Intel processors for x86 architectures. Arm Holdings licenses designs for ARM processors—in series for different specialized purposes and optimizations—with certain performance benchmarks, and then hardware manufacturers take those designs and adapt them to their specific devices.
In a sense, asking "what is an ARM-based processor?" misses the point of ARM-based processors. Using an ARM-based processor represents a different system architecture with a different set of underlying priorities for system performance and connectivity.
ARM architectures are the most common electronic design in the world, even though x86 is more common in the server market. ARM architectures are used in almost all smartphone designs, as well as in other small mobile devices and laptops.
x86 chips are designed to optimize performance; ARM-based processors are designed to balance cost with smaller sizes, lower power consumption, lower heat generation, speed, and potentially longer battery life.
Because Arm Holdings sells designs, not hardware, this allows hardware manufacturers to customize the microarchitecture to their specific requirements while maintaining a small size, high performance, and energy efficiency. This has both advantages and drawbacks, since it also means that operating systems like Linux, Windows, and Android need to support a wider spectrum of hardware.
This doesn’t mean that ARM architectures are only used for small mobile devices—one of the world’s fastest supercomputers, Fugaku designed by Fujitsu and Riken, uses an ARM processor. In Fujitsu’s case, they designed their own ARM chip for their supercomputer, but ARM also provides a design profile for HPC architectures. Because of the reduced size, lower power consumption, and lower heat (reducing the need for additional cooling), more organizations are starting to use ARM systems to create nodes or clusters for HPC and cloud fleets (such as Amazon Web Services Graviton and Microsoft Azure). The Arm Compiler for Linux toolchain is tailored for developing HPC applications. It is important to evaluate the compatibility between your existing apps, use cases, and ARM processors as you integrate them.
Using an ARM architecture gives hardware designers more control over their designs and performance, as well as more control over their supply chains. That combination of control and performance is appealing in small consumer devices and large scale computing environments alike.
ARM architectures have long used Linux operating systems (notably in devices like Raspberry Pi boards and smartphones from Samsung and Apple). However, there was a storied development history with ARM processors and Linux: every ARM design had to have its own custom Linux kernel build because of a lack of consistency between ARM designs, even within the same manufacturer or model. This changed in 2012 when the Linux kernel community added multiplatform support for ARM SOCs to the Linux kernel.
Arm Holdings has defined specific architectures to support Linux servers and workstations: the SystemReady series. These architectures define specifications for hardware, firmware, boot requirements, and security. Red Hat Enterprise Linux for ARM has been certified for Arm SystemReady SR. The goal for SystemReady architectures is to make sure that every layer in the technology stack—starting with the operating system—just works.
Community is a crucial factor with ARM designs. One benefit of the Red Hat subscription is its broad set of hardware vendors, which have collaborative engineering efforts and tested and certified deployments. This includes ARM hardware manufacturers and designers. Since ARM remains closely coupled with the hardware design itself, Red Hat Enterprise Linux has an early access program with its hardware ecosystem vendors to evaluate new ARM development.
Red Hat’s investment in the ARM community and Red Hat Enterprise Linux’s open source enterprise life cycle, security, and performance, make it a great platform for ARM workloads.