ARM版本及系列

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM 指令集版本和ARM 版本
常常能看到ARM7,ARM9,ARM11,以及armv6k等不同的表达。

且在GCC编译中,常常要用到-march, -mcpu等。

他们分别表达什么涵义呢?Sam自己也不很清楚,只是大概有个模糊的概念。

今天就仔细研究一下。

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业。

设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。

1985年,第一个ARM原型在英国剑桥诞生。

ARM公司的特点是只设计芯片,而不生产。

ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。

利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。

ARM公司定义了6种主要的指令集体系结构版本。

V1-V6。

(所以上面提到的ARMv6是指指令集版本号)
ARMv1:
该版本的原型机是ARM1,没有用于商业产品。

ARMv2:
对V1版进行了扩展,包含了对32位结果的乘法指令和协处理器指令的支持。

ARMv3:
ARM公司第一个微处理器ARM6核心是版本3的,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。

ARMv4:
当前应用最广泛的ARM指令集版本。

ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。

ARMv5:
ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E以及XScale是ARMv5TE的。

ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S是基于ARMv5EJ的。

ARM10也采用。

其中后缀意义如下:
E:增强型DSP指令集。

包括全部算法和16位乘法操作。

J:支持新的Java。

ARMv6:
采用ARMv6核的处理器是ARM11系列。

ARM1136J(F)-S基于ARMv6主要特性有SIMD、Thumb、Jazelle、DBX、(VFP)、MMU。

ARM1156T2(F)-S基于ARMv6T2 主要特性有SIMD、Thumb-2、(VFP)、MPU。

ARM1176JZ(F)-S基于ARMv6KZ 在ARM1136EJ(F)-S 基础上增加MMU、TrustZone。

ARM11 MPCore基于ARMv6K 在ARM1136EJ(F)-S基础上可以包括1-4 核SMP、MMU。

ARM处理器核:
ARM公司开发了很多ARM处理器核,最新版位ARM11。

ARM7微处理器系列
低功耗的32位RISC处理器,冯·诺依曼结构。

极低的功耗,适合便携式产品。

具有嵌入式ICE-RT逻辑,调试开发方便。

3级流水线结构。

能够提供0.9MIPS的三级流水线结构
代码密度高,兼容16位的Thumb指令集。

对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。

指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。

主频最高可达130MIPS。

主要应用领域:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。

ARM7TDMI微处理器
4种类型:
ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。

ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。

注:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。

ARM9微处理器系列
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。

5级整数流水线,
哈佛体系结构。

支持32位ARM指令集和16位Thumb指令集。

全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

支持数据Cache和指令Cache,具有更高的指令和数据处理能力。

主要应用:无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数码照相机和数码摄像
机。

3种类型:ARM920T、ARM922T和ARM940T。

ARM9E微处理器系列
单一处理器内核提供微控制器、DSP、Java应用系统的解决方案。

支持DSP指令集。

5级整数流水线,指令执行效率更高。

支持32位ARM指令集和16位Thumb指令集。

支持VFP9浮点处理协处理器。

全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

MPU支持实时操作系统。

支持数据Cache和指令Cache,
主频最高可达300MIPS。

主要应用:下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。

3种类型:ARM926EJ-S、ARM946E-S和ARM966E-S。

ARM10E微处理器系列
与同等的ARM9比较,在同样的时钟频率下,性能提高了近50%,功耗极低。

支持DSP指令集。

6级整数流水线,指令执行效率更高。

支持32位ARM指令集和16位Thumb指令集。

支持VFP10浮点处理协处理器。

全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

支持数据Cache和指令Cache。

主频最高可达400MIPS。

内嵌并行读/写操作部件。

主要应用:下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。

3种类型:ARM1020E、ARM1022E和ARM1026EJ-S。

SecurCore微处理器系列
专为安全需要而设计,提供了完善的32位RISC技术的安全解决方案。

灵活的保护单元,以确保操作系统和应用数据的安全。

采用软内核技术,防止外部对其进行扫描探测。

可集成用户自己的安全特性和其他协处理器。

主要应用:对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。

4种类型:SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210。

Xscale处理器
基于ARMv5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。

支持16位的Thumb指令和DSP指令集。

已使用在数字移动电话、个人数字助理和网络产品等场合。

Xscale处理器是Intel目前主要推广的一款ARM微处理器
当使用ARM toolchain时,会有-march -mcpu等。

此时使用的是ARM指令集版本号。

例如:-mprch=armv6k
它在编译时可以指出哪些指令是可用的。

ARM体系结构的版本
ARM指令集体系结构,从最初开发至今已有了重大改进,而且将会不断完善和发展。

为了精确表达每个ARM实现中所使用的指令集,到目前ARM体系结构共定义了6个版本,以版本号v1~v6表示,各版本特点如下。

1. 版本1(v1)
该版本包括:
●基本数据处理指令(不包括乘法)。

●字节、字以及半字加载/存储指令。

●分支(branch)指令,包括用于子程序调用的分支与链接(branch-and-link)指令。

●软件中断指令,用于进行操作系统调用。

●26位地址总线。

2. 版本2(v2)
与版本1相比,版本2增加了下列指令:
●乘法和乘加指令(multiply & multiply-accum ulate)。

●支持协处理器。

●原子性(atomic)加载/存储指令SWP和SWPB(稍后的版本称v2a)。

●FIQ中的两个以上的分组寄存器。

3. 版本3(v3)
版本3较以前的版本发生了大的变化,具体改进如下:
●推出32位寻址能力。

●分开的CPSR(current program status register,当前程序状态寄存器)和SPSR(saved program status register,备份的程序状态寄存器),当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR。

●增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常。

●增加了MRS指令和MSR指令,用于完成对CPSR和SPSR寄存器的读/写;修改了原来的从异常中返回的指令。

4. 版本4(v4)
版本4在版本3的基础上增加了如下内容:
●有符号、无符号的半字和有符号字节的load和store指令。

●增加了T变种,处理器可工作于Thumb状态,在该状态下,指令集是16位压缩指令集(Thumb指令集)。

●增加了处理器的特权模式。

在该模式下,使用的是用户模式下的寄存器。

另外,在版本4中还清楚地指明了哪些指令会引起未定义指令异常。

版本4不再强制要求与以前的26位地址空间兼容。

5. 版本5(v5)
与版本4相比,版本5增加或修改了下列指令:
●提高了T变种中ARM/Thumb指令混合使用的效率。

●增加了前导零计数(CLZ)指令。

●增加了BKPT(软件断点)指令。

●为支持协处理器设计提供了更多的可选择的指令。

●更加严格地定义了乘法指令对条件标志位的影响。

6. 版本6(v6)
ARM体系版本6是2001年发布的。

该版本在降低耗电的同时,还强化了图形处理性能。

通过追加有效多媒体处理的SIMD (single instruction m ultiple datastream,单指令流,多数据流)功能,将语音及图像的处理功能提高到了原机型的4倍。

ARM体系版本6首先在2002年春季发布的ARM11处理器中使用。

除此之外,v6还支持多微处理器内核。

表2.1给出了
ARM处理器核使用ARM体系结构版本的情况。

表2.1? ARM处理器核使用ARM体系结构版本的情况。

相关文档
最新文档