ARM系列微处理器的核心及体系结构 |
序号 | ARM微处理器核心 | 体系结构版本 |
1 | ARM1 | v1 |
2 | ARM2 | v2 |
3 | ARM2AS ARM3 | v2a |
4 | ARM6、ARM600、ARM610、ARM7、ARM700、ARM710 | v3 |
5 | StrongARM、ARM8、ARM810 | v4 |
6 | ARM7TDMI、ARM710T、ARM720T、ARM740T、ARM9TDMI、ARM920T、ARM940T | v4T |
7 | ARM9E-S、ARM10TDMI、ARM1020E | v5TE |
| ARM7EJ-S、ARM926EJ-S、ARM1026EJ-S | v5TEJ |
8 | ARM1136J(F)-S、ARM1176JZ(F)-S、ARM11 MPCore | v6 |
9 | ARM1156T2(F)-S | v6T2 |
10 | ARM Cortex-M、ARM Cortex-R、ARM Cortex-A | v7 |
|
[tr][/tr]
ARM微处理器产品的命名规则中各后缀的含义 |
后缀变量 | 含义 |
X | 处理器类型,如ARM7/ARM9/ARM11等 |
Y | 存储管理/保护单元 |
Z | Cache |
T | 支持Thumb指令集 |
D | 表示内核中放置了一个边界扫描链JTAG,支持片上调试,可方便进行断点设置和单步调试 |
M | 表示内嵌硬件乘法器,支持增强型乘法器功能 |
I | 表示Embedded ICE Logic,支持嵌入式跟踪调试,用以实现断点观测及变量观测的逻辑电路部分 |
E | 基于TDMI增强型,支持DSP指令(支持增强型DSP功能) |
J | 支持Jazelle加速,即Java加速器 |
F | 支持向量浮点运算 |
-S | ARM内核的可综合(Synthesizable)版本(软核) |
|
相同的架构,指令集完全一样,不同的架构,大部分指令相同,小部分不同。 |
ARM指令集体系结构版本对比,划分标准:使用指令集的版本。各体系结构之间除指令集不同外,还会扩展一些功能 |
体系结构版本 | 特点 |
v1 | 没有商用化,只在原型机ARM1上出现过。它的寻址空间为64MB,只提供基本的数据处理指令,甚至不包括乘法指令。此外,v1提供基于字节、字、多字的Load/Store存储器访问指令;子程序调用指令(BL)和链接指令;完成操作系统调用的软件中断指令SWI。 |
v2 | 版本v2和v2a都是v1的扩展。相对于v1,v2增加了一些功能:它支持乘法指令和乘加指令;支持协处理器操作指令;对于快速中断(FIQ)提供影子寄存器支持;支持SWP和SWPB指令,实现最基本的存储器和寄存器内容的交换。
|
v3 | v3相对于v1和v2有较大变化,分为三个方面:1、地址空间扩展到32位,而且向前兼容26位的地址空间;2、v3增加了两个非常重要的寄存器:CPSR和SPSR,同时为了方便读写这两个寄存器,v3还增加了两条指令:MSR指令和MRS指令,MSR将通用寄存器中的值还原到状态寄存器,MRS将状态寄存器的值保存到通用寄存器中;3、v3增加了两种异常模式:中止(Abort)和未定义两种异常模式。 |
v4 | v4和之前版本相比在很多地方有飞跃性创新,是被广泛应用的ARM体系结构。1、v4只支持32位ARMv4指令,支持32位的地址空间,不再强制要求与26位地址空间兼容;2、v4在处理器系统模式上增加了系统模式,在该模式下处理器使用的是用户模式下的寄存器;3、增加了对有符号、无符号半字和有符号字节的存/取指令;4、三级流水线 |
v4T | 1、增加了16位的Thumb指令集,以兼容数据总线宽度为16位的应用系统,它可以产生更紧凑的代码,与形同功能的ARM代码相比,可以节省超过38%的存储空间,同时具备32位代码的所有优点。2、采用五级流水线 |
v5 | v5版本是在v4基础上增加了一些新的指令,v5版本主要分两个变型版本:v5TE和v5TEJ。v5在v4基础上指令集主要有以下变化:1、提高了ARM指令集和Thumb指令集混合使用的频率;2、增加了前导零技术(CLZ)指令,使整数除法和中断优先级排队操作更有效;3、增加了带有链接和交换的转移BLX指令;4、引入了软件断点(BKPT)指令,可以用来进行中断调试;5、其中v5TE中的E表示增强型DSP指令集,包括全部算法操作和16位乘法操作(v5TE版);6、v5TEJ,J表示支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能。 |
v6 | v6在v5版架构的基础上强化了图形处理性能,增加了一些新功能。1、v6具备高性能定点DSP功能;2、在多媒体处理处理性能上,v6在降低耗电量的前提下提高了图像处理能力,通过支持SIMD技术(Single Instruction Multiple Data,单指令流多数据流技术),是语音和图像处理能力提高到原型机的4倍;3、Thumb增强功能,使得35%的代码压缩;4、JazelleTM功能,有效降低了Java应用程序对内存的空间占用,使Java性能优化,速度可提高8倍;5、v6支持多微处理器内核。 |
v7 | v7版本在性能和多媒体处理能力方面进一步改进。1、v7采用Thumb-2技术,该技术比纯32位代码减少了31%的内存占用,却能够提供比已有的基于Thumb技术的解决方案高出38%的性能表现;2、向前兼容为早期处理器编写的代码;3、*采用NEON技术(进阶SIMD延伸集),是一个结合64位和128位的SIMD指令集,从而将DSP和媒体处理能力提高了近4倍;4、支持改良的浮点运算;5、支持改良的运行环境,以迎合不断增加的JIT和DAC技术的使用。6、采用新型13级流水线,指令吞吐量更高;7、增加了硬件处理中断嵌套功能,具有更好的实时性。 |
|
即便有相同指令集,即相同的指令集架构下,搭配不同部件也可以组装出具有不同功能的处理器,基于ARM体系结构设计的微处理器不同系列,不同内核的单片机也有不同的性能特点,根据基本内核结构,它们可以分为8个系列: |
系列 | 特点 |
ARM7系列 | ARM7系列微处理器为低功耗的32位RISC处理器,支持16位Thumb指令集,
典型处理速度为0.9MIPS/MHz,常见的系统主时钟为20MHz~30MHz,适用于价位低、功耗低(对功耗要求高)的消费级应用。
ARM7TDMI是目前使用最广范的32位嵌入式RISC处理器,没有MMU,只能运行像uCLinux那样不需要MMU支持的操作系统,而无法运行标准的Liunx。
主要应用领域有:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。 |
ARM9系列 | ARM9系列微处理器提供更高的性能:1、流水线由ARM7的三级增加到五级,2、支持数据Cache和指令Cache,具备更高的指令和数据处理能力;3、增加了对32位ARM指令集的支持;4、提供全性能的MMU,支持Windows CE、Linux、Paim OS等多种主流嵌入式操作系统。
典型处理速度为1.1MIPS/MHz,常见的ARM9芯片的系统主时钟为100MHz~233MHz。
主要应用领域:无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。 |
ARM9E系列 | ARM9E系列微处理器为综合处理器:1、使用单一的处理器内核;2、支持VFP9浮点处理协处理器;3、提供了微控制器、DSP、Java应用系统的解决方案,极大地减少了芯片的面积和系统的复杂程度;4、ARM9E系列微处理器提供了增强型的DSP处理能力,很适合于那些需要同时使用DSP和微处理器的应用场合。
ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。 |
ARM10E系列 | ARM10E系列微处理器由于采用了新的体系结构,支持VFP10浮点处理协处理器,并且内嵌并行读/写操作部件。同时由于采用了两种先进的节能方式,ARM10E系列微处理器得以保留功耗极低的优点。
ARM10E系列与同等的ARM9器件相比较,在相同的时钟频率下,性能提高了近50%,其典型处理速度为1.25MIPS/MHz,其时钟频率则可以高达400MHz。
ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 |
ARM11系列 | ARM11系列微处理器基于ARMv6指令集架构的第一代设计实现,ARM11处理器的流水线呢与以往内核不同,由8级流水线组成,比以往的ARM内核提高了近40%的吞吐量,2、通过forwarding技术来避免流水线太长造成的执行效率降低;3、ARM11允许用户在要求授权时选择是否包括浮点处理器内核,增加了定值的灵活性。
ARM11内核时钟频率可达350MHz。
ARM11媒体处理能力强,功耗低,特别适合用于无线和消费类电子产品;高数据吞吐量和高性能社和网络应用;而且它具有很高的实时性,能够满足高端的嵌入式实时应用系统。 |
Cortex系列 | 由于以前的命名规则太老土,所以,原本的ARM12系列被舍弃,而更名为Cortex系列。
Cortex系列基于ARMv7架构(除了Cortex-M0和Cortex-M1,他们是基于v6架构)。Cortex主要分为三个系列:Cortex-A、 Cortex-R和Cortex-M。
Cortex-A面向高性能应用,具有长达13级的流水线,并且可以支持1-4个核,每个核处理速度高达1.5-2.5DMIPS/MHz。
Cortex-R面向具有高实时性要求的应用,通常应用于专用集成电路(ASIC)。它仍然采用8级流水线,处理速度为1.6DMIPS/MHz,但是能耗出奇的低,仅有6.3DMIPS/mW。
Cortex-M是全球微控制器的标准,面向对能耗和价格有较高要求的用户,它采用低延迟的3级流水线,支持休眠模式,并提供多级电源域、 |
SecurCore系列 | SecurCore系列微处理器专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案。其在系统安全方面的特点:1、带有灵活的保护单元,以确保操作系统和应用数据的安全;2、采用软内核技术,防止外部对其进行扫描检测;3、可集成用户自己的安全特性和其它协处理器。
SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如:电子商务、电子政务、电子银行业务、网络和认证系统等。 |
StrongARM系列
| StrongARM系列和XScale系列是Intel公司基于ARM架构设计的两个系列。StrongARM主要有四个型号:SA-110、SA-1100、SA-1110和SA-1500.
SA-110采用经典的RISC五级流水线,指令为顺序执行,并且没有包含指令转移预测硬件。
SA-1100是SA-110的后继版本,它定位于像PDA这样的便携式应用,比起SA-110 16KB的缓存,SA-1110减小到8KB,并将内存、PCMCIA和彩色LCD控制器集成到片上系统总线。
SA-1110是SA-110的另一个分支,有133到206MHz两个版本,并分别支持66MHz和103MHz的SDRAM。
SA-1500由DEC设计,本来是面向机顶盒,但Intel接管后并没有投入生产。 |
XScale系列 | XScale处理器是基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。 |
|
[tr][/tr]
[tr][/tr]
[tr][/tr]
家族 | 架构 | 内核 | 主要特点 |
ARM7系列 | ARMv4T | ARM7TDMI(-S) | 基本内核/无Cache/无MMU,三级流水线 |
ARM710T | ARM7TDMI+8KB/8KB(Cache大小,指令/数据)+MMU |
ARM720T | ARM710T的超集 |
ARM740T | ARM7TDMI+8KB/8KB+MPU |
ARMv5TEJ | ARM7EJ-S | ARM7TDMI+DSP+Jazelle+可综合(隐含没有MMU,这些信息应该看出来) |
ARM9系列 | ARMv4T | ARM9TDMI | 基本内核/无Cache/无MMU,五级流水线 |
ARM920T | ARM9TDMI+16KB/16KB+MMU |
ARM922T | ARM9TDMI+8KB/8KB+MMU |
ARM940T | ARM9TDMI+4KB/4KB+MPU |
ARM9E系列 | ARMv5TE | ARM946E-S | ARM9E+可变(Cache大小)+MPU+可综合(-S) |
ARM966E-S | ARM9E+无Cache+TCMs(紧耦合存储器)+可综合 |
ARM968E-S | ARM9E+无Cache+TCMs+可综合 |
ARMv5TEJ | ARM926EJ-S | ARM9E+无Cache+MMU+Jazelle+可综合 |
ARMv5TE | ARM996HS | ARM966E(无振荡器) |
ARM10E系列 | ARMv5TE | ARM1020E | ARM10E+32KB/32KB+MMU+(VFP)(浮点运算) |
ARM1022E | ARM10E+16KB/16KB+MMU+(VFP) |
ARMv5TEJ | ARM1026EJ-S | ARM10E+可变+MMU+(VFP)+Jazelle+可综合 |
ARM11系列 | ARMv6 | ARN1136J(F)-S | ARM11+可变+MMU+JazelleDBX+(VFP) |
ARMv6T2 | ARM1156T2(F)-S | ARM11+可变+MMU+JazelleDBX+(VFP) |
ARMv6KZ | ARM1176JZ(F)-S | ARM11+可变+MMU+JazelleDBX+(VFP)+TrustZone |
ARMv6K | ARM11 MPCore | ARM11+可变+MMU+JazelleDBX+(VFP)+对称多核处理器 |
Cortex系列 | ARMv7-A | Cortex-A8 | 可变动+MMU+VFP+NEON+Jazelle RCT+Thumb-2+TrustZone |
ARMv7-R | Cortex-R4(F) | 可变动+(MMU)+(FPU)+Embedded profile |
ARMv7-M | Cortex-M3 | 基本核心+无Cache+MPU |
ARMv7-ME | Cortex-M4 | Optional 8 region MPU with sub regions and background region |
|
[tr][/tr]
[tr][/tr]
ARM指令集体系结构版本和ARM处理器系列,就好比,用同一个ARM指令集体系结构版本的ARM处理器,其指令集可以互通,都只支持这么多指令;而不同ARM处理器系列具有不同的内核结构,即内核功能模块的组成和搭建不同,同一个ARM处理器系列的内核结构相同。--《嵌入式系统及应用》李登峰 汪贵平 |
ARM内核有分别以后缀T、D、M、I表示的四个基本功能模块,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
不同系列的ARM处理器内核结构不同。 |