科普
ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32位元精简指令集(RISC) 中央处理器(processor)架构,其广泛地使用在许多嵌入式系统(embedded)设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。
ARM架构RISC特性
1.读取/储存 架构
2.不支援地址不对齐内存存取(ARMv6内核现已支援)
3.正交指令集(任意存取指令可以任意的寻址方式存取数据Orthogonal instruction set)
4.大量的16 × 32-bit 暂存器档案(寄存器阵列register file)
5.固定的32 bits 操作码宽(opcode),降低编码数量所产生的耗费,减轻解码和管线化的负担。
6.大多均为一个CPU周期执行。
为了补强这种简单的设计方式,相较于同时期的处理器如Intel 80286和Motorola 68020,还多加了一些特殊设计:
1.大部分指令可以条件式地执行,降低在分支时产生的负重,弥补分支预测器(branch predictor)的不足。
2.算数指令只会在要求时更改条件编码(condition code)
3.32-bit筒型位移器(barrel shifter)可用来执行大部分的算数指令和寻址计算而不会损失效能
4.强大的索引寻址模式(addressing mode)
5.精简但快速的双优先级中断子系统,具有可切换的暂存器组
内核种类
家族
| 架构
| 内核
| 特色
| 高速缓存 (I/D)/MMU
| 常规 MIPS 于MHz
| 应用
| ARM1
| ARMv1
| ARM1
| | 无
| | | ARM2
| ARMv2
| ARM2
| Architecture 2 加入了MUL(乘法)指令
| 无
| | Acorn Archimedes,Chessmachine
| ARMv2a
| ARM250
| Integrated MEMC (MMU),图像与IO处理器。Architecture 2a 加入了SWP和SWPB(置换)指令。
| 无,MEMC1a
| 7 MIPS @ 12MHz
| Acorn Archimedes
| | ARM3
| ARMv2a
| ARM2a
| 首次在ARM架构上使用处理器高速缓存
| | 12 MIPS @ 25MHz
| Acorn Archimedes
| ARM6
| ARMv3
| ARM610
| v3 架构首创支援寻址32位的内存(针对26位)
| 均为4K
| 28 MIPS @ 33MHz
| Acorn Risc PC 600,Apple Newton
| ARM7
| ARMv3
| | | | | | ARM7TDMI
| ARMv4T
| ARM7TDMI(-S)
| 三级流水线
| 无
| 15 MIPS @ 16.8 MHz
| Game Boy Advance,Nintendo DS,iPod
| ARM710T
| | 均为8KB, MMU
| 36 MIPS @ 40 MHz
| Acorn Risc PC 700,Psion 5 series,Apple eMate 300
| | | ARM720T
| | 均为8KB, MMU
| 60 MIPS @ 59.8 MHz
| Zipit
| | | ARM740T
| | MPU
| | | | | ARMv5TEJ
| ARM7EJ-S
| Jazelle DBX
| 无
| | | | StrongARM
| ARMv4
| | | | | | ARM8
| ARMv4
| | | | | | ARM9TDMI
| ARMv4T
| ARM9TDMI
| 五级流水线
| 无
| | | ARM920T
| | 16KB/16KB, MMU
| 200 MIPS @ 180 MHz
| Armadillo,GP32,GP2X(第一颗内核), Tapwave Zodiac(Motorola i. MX1)
| | | ARM922T
| | 8KB/8KB, MMU
| | | | | ARM940T
| | 4KB/4KB, MPU
| | GP2X(第二颗内核)
| | | ARM9E
| ARMv5TE
| ARM946E-S
| | 可变动,tightly coupled memories, MPU
| | Nintendo DS,Nokia N-Gage Conexant 802.11 chips
| ARM966E-S
| | 无高速缓存,TCMs
| | ST Micro STR91xF,包含Ethernet
| | | ARM968E-S
| | 无高速缓存,TCMs
| | | | | ARMv5TEJ
| ARM926EJ-S
| Jazelle DBX
| 可变动,TCMs, MMU
| 220 MIPS @ 200 MHz
| 移动电话:Sony Ericsson(K, W系列),Siemens和Benq(x65系列和新版的)
| | ARMv5TE
| ARM996HS
| 无振荡器处理器
| 无高速缓存,TCMs, MPU
| | | | ARM10E
| ARMv5TE
| ARM1020E
| (VFP),六级流水线
| 32KB/32KB, MMU
| | | ARM1022E
| (VFP)
| 16KB/16KB, MMU
| | | | | ARMv5TEJ
| ARM1026EJ-S
| Jazelle DBX
| 可变动,MMU or MPU
| | | | XScale
| ARMv5TE
| 80200/IOP310/IOP315
| I/O处理器
| | | | 80219
| | | 400/600MHz
| Thecus N2100
| | | IOP321
| | | 600 BogoMips @ 600 MHz
| Iyonix
| | | IOP33x
| | | | | | | IOP34x
| 1-2核,RAID加速器
| 32K/32K L1, 512K L2, MMU
| | | | | PXA210/PXA250
| 应用处理器,七级流水线
| | | Zaurus SL-5600
| | | PXA255
| | 32KB/32KB, MMU
| 400 BogoMips @ 400 MHz
| Gumstix,Palm Tungsten E2
| | | PXA26x
| | | 可达 400 MHz
| Palm Tungsten T3
| | | PXA27x
| | | 800 MIPS @ 624 MHz
| HTC Universal, Zaurus SL-C1000,3000,3100,3200, Dell Axim x30, x50,和 x51系列
| | | PXA800(E)F
| | | | | | | Monahans
| | | 1000 MIPS @ 1.25 GHz
| Mavell PXA300/PXA310/PXA320, Max frequency : PXA300@624Mhz, PXA310/PXA320@806Mhz
| | | PXA900
| | | | Blackberry 8700, Blackberry Pearl (8100)
| | | IXC1100
| Control Plane Processor
| | | | | | IXP2400/IXP2800
| | | | | | | IXP2850
| | | | | | | IXP2325/IXP2350
| | | | | | | IXP42x
| | | | NSLU2
| | | IXP460/IXP465
| | | | | | | ARM11
| ARMv6
| ARM1136J(F)-S
| SIMD, Jazelle DBX, (VFP),八级流水线
| 可变动,MMU
| | Nokia N93,Zune,Nokia N800
| ARMv6T2
| ARM1156T2(F)-S
| SIMD, Thumb-2, (VFP),九级流水线
| 可变动,MPU
| | | | ARMv6KZ
| ARM1176JZ(F)-S
| SIMD, Jazelle DBX, (VFP)
| 可变动,MMU+TrustZone
| | | | ARMv6K
| ARM11 MPCore
| 1-4核对称多处理器,SIMD, Jazelle DBX, (VFP)
| 可变动,MMU
| | | | Cortex
| ARMv7-A
| Cortex-A8
| Application profile, VFP, NEON, Jazelle RCT, Thumb-2, 13-stage pipeline
| 可变动 (L1+L2), MMU+TrustZone
| up to 2000(2.0 DMIPS/MHz从600 MHz到超过1 GHz的速度)
| Texas Instruments OMAP3
| Cortex-A9
| | | | | | | Cortex-A9 MPCore
| | | | | | | ARMv7-R
| Cortex-R4(F)
| Embedded profile, (FPU)
| 可变动高速缓存,MMU可选配
| 600 DMIPS
| Broadcom is a user
| | ARMv7-M
| Cortex-M3
| Microcontroller profile
| 无高速缓存,(MPU)
| 120 DMIPS @ 100MHz
| Luminary Micro微控制器家族
| | ARMv6-M
| Cortex-M0
| | | | | | Cortex-M1
| | | | | | | ARMv7-ME
| Cortex-M4
| | Optional 8 region MPU with sub regions and background region
| 1.25 DMIPS/MHz
|
|