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