科普
ARM架構(gòu)(過去稱作進階精簡指令集機器(Advanced RISC Machine),更早稱作Acorn RISC Machine)是一個32位元精簡指令集(RISC) 中央處理器(processor)架構(gòu),其廣泛地使用在許多嵌入式系統(tǒng)(embedded)設(shè)計。由于節(jié)能的特點,ARM處理器非常適用于移動通訊領(lǐng)域,符合其主要設(shè)計目標(biāo)為低耗電的特性。
ARM架構(gòu)RISC特性
1.讀取/儲存 架構(gòu)
2.不支援地址不對齊內(nèi)存存取(ARMv6內(nèi)核現(xiàn)已支援)
3.正交指令集(任意存取指令可以任意的尋址方式存取數(shù)據(jù)Orthogonal instruction set)
4.大量的16 × 32-bit 暫存器檔案(寄存器陣列register file)
5.固定的32 bits 操作碼寬(opcode),降低編碼數(shù)量所產(chǎn)生的耗費,減輕解碼和管線化的負擔(dān)。
6.大多均為一個CPU周期執(zhí)行。
為了補強這種簡單的設(shè)計方式,相較于同時期的處理器如Intel 80286和Motorola 68020,還多加了一些特殊設(shè)計:
1.大部分指令可以條件式地執(zhí)行,降低在分支時產(chǎn)生的負重,彌補分支預(yù)測器(branch predictor)的不足。
2.算數(shù)指令只會在要求時更改條件編碼(condition code)
3.32-bit筒型位移器(barrel shifter)可用來執(zhí)行大部分的算數(shù)指令和尋址計算而不會損失效能
4.強大的索引尋址模式(addressing mode)
5.精簡但快速的雙優(yōu)先級中斷子系統(tǒng),具有可切換的暫存器組
內(nèi)核種類
家族
| 架構(gòu)
| 內(nèi)核
| 特色
| 高速緩存 (I/D)/MMU
| 常規(guī) MIPS 于MHz
| 應(yīng)用
| 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架構(gòu)上使用處理器高速緩存
| | 12 MIPS @ 25MHz
| Acorn Archimedes
| ARM6
| ARMv3
| ARM610
| v3 架構(gòu)首創(chuàng)支援尋址32位的內(nèi)存(針對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(第一顆內(nèi)核), Tapwave Zodiac(Motorola i. MX1)
| | | ARM922T
| | 8KB/8KB, MMU
| | | | | ARM940T
| | 4KB/4KB, MPU
| | GP2X(第二顆內(nèi)核)
| | | 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
| 應(yīng)用處理器,七級流水線
| | | 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
|
|