ARM Architectures, Families, and CPU Cores
RISC processors employ fixed length instructions. The ARM instruction set is defined
by a particular version of the ARM architecture. Each specific ARM CPU core
implements a specific architecture version. The ARM architecture dates all the way
back to version 1 that corresponds to the first design developed at Acorn. Here are
the primary architecture versions used in recent processor families:
Figure 3-1: RISC shipments from 1994 to 2001
72
Chapter 3
■ ARMv4T
■ ARMv5T
■ ARMv5TE
■ ARMv5TEJ
■ ARMv6
There are four families of ARM processors currently being used in new SoC designs:
■ ARM7 family uses ARMv4T
■ ARM9 family uses ARMv4T, ARMv5TE and the ARMv5TEJ
■ ARM10 family uses ARMv5T, ARMv5TE and the ARMv5TEJ
■ ARM11 family uses ARMv6
There are many ARM processors that are actively being used in new designs today.
Following is a list of the most common variants and the highlights of each:
■ ARM7TDMI: Developed in 1995, it is still one of the most popular today.
Uses a three-stage pipeline and the v4T architecture to provide good performance
and very low power and small size. It’s available as both a hard and soft
macrocell.
■ ARM720T: Includes the ARM7TDMI core plus an 8k unified (instruction
and data) cache, MMU, and write buffer and can run operating systems such
as Windows CE and Symbian OS. Available as a hard macrocell.
■ ARM9TDMI: An upgrade to the ARM7TDMI that uses the same v4T
architecture, but moves to a five-stage pipeline and Harvard architecture.
Available as a hard macrocell.
■ ARM940T: Includes the ARM9TDMI core plus dual 4k caches (separate
instruction and data) and an MPU that supports most real-time operating
systems. Available as a hard macrocell.
■ ARM920T / ARM922T: Includes the ARM9TDMI core plus dual 16k
caches for ARM920T and dual 8k caches for ARM922T. Other than cache
size they are identical. Both support operating systems like Windows CE,
Symbian OS, PalmOS and Linux. Available as hard macrocells.
■ ARM9E-S: Uses a five-stage pipeline to support the v5TE architecture that
includes an enhanced multiplier for improved DSP performance. Available as
a soft macrocell. Represents the first shift to synthesizable CPU cores.
■ ARM966E-S: Includes an ARM9E-S CPU and instruction and data tightly
coupled memory (TCM). Targets “hard” real-time embedded applications, no
caches or MPU/MMU. Available as a soft macrocell.
■ ARM946E-S: Adds user configurable instruction and data caches and MPU
to the ARM966E-S. Supports popular real-time operating systems.
■ ARM9EJ-S: Adds Jazelle Java technology to the ARM9E-S core to support
the v5TEJ architecture. Available as a soft macrocell.
■ ARM926EJ-S: Includes the ARM9EJ-S core and instruction cache, data
cache and MMU. Supports operating systems such as Windows CE, Symbian
OS, PalmOS and Linux. Available as a soft macrocell. The most popular
ARM9 core.
■ ARM1020E / ARM1022E: Combines the ARM10E integer core with sixstage
pipeline with DSP extensions and supports the v5TE architecture with
instruction and data caches and MMU. Supports operating systems such as
Windows CE, Symbian OS, PalmOS and Linux. First design to use 64-bit internal
data paths and 64-bit external data buses. ARM1020E and ARM1022E
are identical except for cache sizes. ARM1020E is 32k/32k and ARM1022E is
16k/16k. Available as a hard macrocell.
■ ARM1026EJ-S: Combines the ARM10EJ integer core with six-stage
pipeline, DSP instructions, Jazelle technology and supports the v5TEJ architecture
with instruction and data caches, MMU and instruction and data
TCM. Fully synthesizable design that allows cache sizes and external bus
widths to be configured by the user. Capable of running all operating systems.
Available as a soft macrocell.
■ ARM1136J-S: Represents the first implementation of the v6 architecture
(some 80+ new instructions) with eight-stage pipeline. The highest performance
processor with