From: eLinux.org
ARM Processor
The ARM architecture (previously, the Advanced RISC Machine, and prior
to that Acorn RISC Machine) is a 32-bit RISC processor architecture
developed by ARM Limited that is widely used in a number of embedded
designs. Because of their power saving features, ARM CPUs are dominant
in the mobile electronics market, where low power consumption is a
critical design goal.
Today, the ARM family accounts for approximately 75% of all embedded
32-bit RISC CPUs,making it one of the most prolific 32-bit architectures
in the world. ARM CPUs are found in all corners of consumer electronics,
from portable devices (PDAs, mobile phones, media players, handheld
gaming units, and calculators) to computer peripherals (hard drives,
desktop routers). Important branches in this family include:
- Marvell‘s
XScale - Texas Instruments
OMAP series - Samsung‘s
S3C24xx series - NXP‘s
Bluestreak series - Freescale‘s
I.MX series - Atmel
- Boardcom
- Qualcomm
- AllWinner
- RockChip
TECHNICAL INFORMATION
CPU Core | MMU/MPU | ISA |
---|---|---|
StrongArm | MMU | v4 |
ARM7TDMI | none | v4T |
ARM7EJ-S | none | v5TEJ |
ARM720T | MMU | v4T |
ARM920T | MMU | v4T |
ARM922T | MMU | v4T |
ARM926EJ-S | MMU | v5TEJ |
ARM940T | MPU | v4T |
XScale | MPU | v5TE |
ARM946E-S | MPU | v5TE |
ARM966E-S | none | v5TE |
ARM1020E | MMU | v5TE |
ARM1022E | MMU | v5TE |
ARM1026EJ-S | MMU+MPU | v5TE |
ARM1136J-S | MMU | v6 |
ARM1136JF-S | MMU | v6 |
Cortex-M1 | none | v6-M |
Cortex-A8 | MMU | v7-A |
Cortex-R4 | MPU optional | v7-R |
Cortex-M3 | MPU | v7-M |
CPU Core | Pipeline Depth | Typical MHz |
---|---|---|
ARM7 | 3 stage | 80 |
StrongArm | 5 stage | 133 |
ARM9 | 5 stage | 150 |
ARM10 | 6 stage | 260 |
XScale | 8 stage | 400 |
ARM11 | 8 stage | 335 |
NOTE: increased pipeline length reduces the amount of work done at each
stage in the pipeline, therefor enabling higher operating frequencies
and performance. however, as the pipeline length increases, system
latency also increases due to increased number of clock cycles needed to
fill the pipeline before an instruction can be executed. an example
would be an ARM920T running at 400MHz might have comparable performance
to an Xscale running at 600MHz