The ARM processor core is a key component of many successful 32-bit embedded systems. You probably own one yourself and may not even realize it! ARM cores are widely used in mobile phones, handheld organizers, and a multitude of other everyday portable consumer devices.



ARM’s designers have come a long way from the first ARM1 prototype in 1985. Over one billion ARM processors had been shipped worldwide by the end of 2001. The ARM company bases their success on a simple and powerful original design, which continues to improve today through constant technical innovation. In fact, the ARM core is not a single core, but a whole family of designs sharing similar design principles and a common instruction set.

For example, one of ARM’s most successful cores is the ARM7TDMI. It provides up to 120 Dhrystone MIPS1 and is known for its high code density and low power consumption, making it ideal for mobile embedded devices.

The RISC design philosophy

The ARM core uses a RISC architecture. RISC is a design philosophy aimed at delivering simple but powerful instructions that execute within a single cycle at a high clock speed. The RISC philosophy concentrates on reducing the complexity of instructions performed by the hardware because it is easier to provide greater flexibility and intelligence in software rather than hardware. As a result, a RISC design places greater demands on the compiler. In contrast, the traditional complex instruction set computer (CISC) relies more on the hardware for instruction functionality, and consequently the CISC instructions are more complicated. The RISC philosophy is implemented with four major design rules:

  1. Instructions—RISC processors have a reduced number of instruction classes. These classes provide simple operations that can each execute in a single cycle. The compiler or programmer synthesizes complicated operations (for example, a divide operation) by combining several simple instructions. Each instruction is a fixed length to allow the pipeline to fetch future instructions before decoding the current instruction. In contrast, in CISC processors the instructions are often of variable size and take many cycles to execute.
  2. Pipelines—The processing of instructions is broken down into smaller units that can be executed in parallel by pipelines. Ideally the pipeline advances by one step on each cycle for maximum throughput. Instructions can be decoded in one pipeline stage. There is no need for an instruction to be executed by a miniprogram called microcode as on CISC processors.
  3. Registers—RISC machines have a large general-purpose register set. Any register can contain either data or an address. Registers act as the fast local memory store for all data processing operations. In contrast, CISC processors have dedicated registers for specific purposes.
  4. Load-store architecture—The processor operates on data held in registers. Separate load and store instructions transfer data between the register bank and external memory. Memory accesses are costly, so separating memory accesses from data processing provides an advantage because you can use data items held in the register bank multiple times without needing multiple memory accesses. In contrast, with a CISC design the data processing operations can act on memory directly.
These design rules allow a RISC processor to be simpler, and thus the core can operate at higher clock frequencies. In contrast, traditional CISC processors are more complex and operate at lower clock frequencies. Over the course of two decades, however, the distinction between RISC and CISC has blurred as CISC processors have implemented more RISC concepts.

The ARM Design Philosophy

There are a number of physical features that have driven the ARM processor design. First, portable embedded systems require some form of battery power. The ARM processor has been specifically designed to be small to reduce power consumption and extend battery operation—essential for applications such as mobile phones and personal digital assistants (PDAs).

High code density is another major requirement since embedded systems have limited memory due to cost and/or physical size restrictions. High code density is useful for applications that have limited on-board memory, such as mobile phones and mass storage devices.

In addition, embedded systems are price sensitive and use slow and low-cost memory devices. For high-volume applications like digital cameras, every cent has to be accounted for in the design. The ability to use low-cost memory devices produces substantial savings. Another important requirement is to reduce the area of the die taken up by the embedded processor. For a single-chip solution, the smaller the area used by the embedded processor, the more available space for specialized peripherals. This in turn reduces the cost of the design and manufacturing since fewer discrete chips are required for the end product.

ARMhas incorporated hardware debug technology within the processor so that software engineers can view what is happening while the processor is executing code. With greater visibility, software engineers can resolve issues faster, which has a direct effect on the time to market and reduces overall development costs.

The ARM core is not a pure RISC architecture because of the constraints of its primary application—the embedded system. In some sense, the strength of the ARM core is that it does not take the RISC concept too far. In today’s systems the key is not raw processor speed but total effective system performance and power consumption.

ARM Holdings

ARM Holdings is the world's leading semiconductor intellectual property (IP) supplier and as such is at the heart of the development of digital electronic products. Headquartered in Cambridge, UK, and employing over 1700 people, ARM has offices around the world, including design centers in France, India, Sweden, and the US.

Company Highlights

  • The world’s leading semiconductor IP company
  • Founded in 1990
  • Over 15 billion ARM based chips shipped to date
  • 600 processor licenses sold to more than 200 companies
  • Royalties received on all ARM-based chips
  • Gaining market share in long-term secular growth markets
  • ARM revenues typically grow faster than overall semiconductor industry revenues

The ARM business model involves the designing and licensing of IP rather than the manufacturing and selling of actual semiconductor chips. We licence IP to a network of Partners, which includes the world's leading semiconductor and systems companies. These Partners utilize ARM IP designs to create and manufacture system-on-chip designs, paying ARM a license fee for the original IP and a royalty on every chip or wafer produced. In addition to processor IP, we provide a range of tools, physical and systems IP to enable optimized system-on-chip designs.

Popular ARM Microcontroller manufacturers

Luminary Micro

Luminary Micro is the industry leader in bringing 32-bit capabilities and the full benefits of ARM Cortex-M3 based microcontrollers to the broadest reach of the microcontroller market. Their award-winning Stellaris family of mixed-signal microcontrollers is available world-wide in component form and in development systems. Stellaris with Cortex-M3 offers a direct path to the strongest ecosystem of development tools, software and knowledge in the industry. Designers who migrate to Stellaris will benefit from great tools, small code footprint and outstanding performance.

Atmel

Atmel AT91SAM 32-bit ARM Flash MCUs and embedded MPUs are designed for system control, wired and wireless connectivity, user interface management, low power and ease of use. They have received wide acceptance in markets like POS terminals, security, building automation, industrial control, medical, white goods, PC and gaming peripherals, toys and cellular phone accessories.AT91SAM 32-bit ARM-based Microcontrollers.


The AT91SAM Flash MCUs are based on the ARM7TDMI, Cortex-M3 and ARM926EJ processors, and start with Flash memory densities of 16k Bytes, migrating up to 512k Bytes, and operate at up to 200 MHz. A coherent set of peripherals facilitates reuse of software over the complete family. The utilization of DMA channels on the majority of peripherals optimizes the on-chip bus usage, freeing the processor for the application and increasing peripheral data transfer rates. Atmel set the reference for ARM7DMI-based Flash MCUs and introduced the first single-chip ARM926-based Flash MCU.

STMicroelectronics

The STM32 family of 32-bit Flash Microcontrollers is based on the breakthrough ARM Cortex-M3 core - a core specifically developed for embedded applications. The STM32 family benefits from the Cortex-M3 architectural enhancements including the Thumb-2 instruction set to deliver improved performance with better code density, significantly faster response to interrupts, all combined with industry leading power consumption.


The STM32 family is built to offer new degrees of freedom to MCU users. It offers a complete 32-bit product range that combines high-performance, real-time, low-power and low-voltage operation, while maintaining full integration and ease of development.Compatibility of pin-assignments, peripherals and software across all STM32 devices is a core technical feature throughout this family of microcontrollers.

NXP

LPC2000 and LH7 - Experience NXP's ARM7-based microcontroller families

NXP's ARM7 devices are designed for use in real-time embedded applications requiring high performance and low power consumption in a cost-effective, 32-bit MCU. Operating at up to 72MHz from flash or RAM, these devices feature up to 512KB on-chip flash program memory and a wide range of peripherals including Ethernet, USB, CAN, LCD controller, SD/MMC, I²S, EMC, and more.

LPC3000, LPC2900, and LH7A - Experience NXP's ARM9-based microcontrollers

NXP's ARM9-based MCUs are based on the ARM926 core (LPC3000), the ARM968 core (LPC2900), or the ARM922T core (LH7A).The LPC3200 series is the only ARM9 microcontroller that provides a vector floating-point co-processor and integrated Ethernet, USB On-The-Go, as well as LCD controller. At 125MHz, the members of the LPC2900 series are the fastest ARM968 MCUs available.

LPC1700 and LPC1300 - Experience NXP's Cortex-M3 based microcontroller series

NXP's LPC1700 series is the industry's highest performance Cortex-M3 based MCU series, operating at speeds up to 100 MHz and offering peripherals like Ethernet, USB 2.0 Host/OTG/Device, and CAN 2.0B.NXP's LPC1300 series is the industry's lowest power Cortex-M3 based MCU series, operating at 200uA/MHz, and starting at only $0.99 in 10,000 unit volumes.