ARM微处理器概述

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

ARM微处理器概述

ARM微处理器概述

ARM公司简介

ARM于1990年11月在英国伦敦成立,前身为Acorn['eikɔ:n]计算机公司Advance RISC Machines [mə'ʃi:n] (ARM)

全球领先的16/32位嵌入式RISC微处理器解决方案供应商。

ARM公司是知识产权(IP Intellectual [,intə'lektjuəl, -tʃuəl] Property ['prɔpəti])公司,本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。

目前,全世界有几十家著名的半导体公司都使用ARM公司的授权,其中包括摩托罗拉、IBM、Intel、SONY、NEC、LG、ATMEL等,从而保证了大量的开发工具和丰富的第三方资源,它们共同保证了基于ARM处理器核的设计可以很快投入市场。

ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。

ARM微处理器的特点

采用RISC架构的ARM微处理器一般具有如下特点:

●体积小、低功耗、低成本、高性能;

●支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;

●大量使用寄存器,指令执行速度更快;

●大多数数据操作都在寄存器中完成;

●寻址方式灵活简单,执行效率高;

●指令长度固定。

ARM体系结构

ARM体系结构的版本

ARM指令集体系结构,从最初开发至今已有了重大改进,而且将会不断完善和发展。为了精确表达每个ARM实现中所使用的指令集,到目前ARM体系结构共定义了7个版本,以版本号v1~v7表示。

1. 版本1(v1)

基本数据处理指令(不包括乘法)。

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

分支(branch [brɑ:ntʃ, bræntʃ])指令,包括用于子程序调用的分支与链接(branch-and-link)指令。

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

26位地址总线。

使用此版本的处理器核:ARM1

2. 版本2(v2)

与版本1相比,版本2增加了下列指令:

乘法和乘加指令(multiply ['mʌltiplai] & multiply-accumulate)。

支持协处理器。

原子性(atomic [ə'tɔmik])加载/存储指令SWP和SWPB(稍后的版本称v2a)。

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

使用此版本的处理器核:ARM2 v2

ARM2aS、ARM3 v2a

3. 版本3(v3)

版本3较以前的版本发生了大的变化,具体改进如下:

推出32位寻址能力。

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

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

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

使用此版本的处理器核:ARM6、ARM600、ARM610

ARM7、ARM700、ARM710

4. 版本4(v4)

版本4在版本3的基础上增加了如下内容:

有符号、无符号的半字和有符号字节的load和store指令。

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

增加了处理器的特权模式。在该模式下,使用的是用户模式下的寄存器。

另外,在版本4中还清楚地指明了哪些指令会引起未定义指令异常。版本4不再强制要求与以前的26位地址空间兼容。

使用此版本的处理器核:

ARM7TDMI、ARM710T、ARM720T、ARM740T v4T

Strong ARM、ARM8、ARM810 v4

ARM9TDMI、ARM920T、ARM940T v4T

5. 版本5(v5)

与版本4相比,版本5增加或修改了下列指令:

提高了T变种中ARM/Thumb指令混合使用的效率。

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

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

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

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

使用此版本的处理器核:

ARM9E-S v5TE

ARM10TDMI、ARM1020E v5TE

6. 版本6(v6)

ARM体系版本6是2001年发布的。该版本在降低耗电的同时,还强化了图形处理性能。通过追加有效多媒体处理的SIMD(single instruction multiple datastream,单指令流,多数据流)功能,将语音及图像的处理功能提高到了原机型的4倍。ARM体系版本6首先在2002年春季发布的ARM11处理器中使用。除此之外,v6还支持多微处理器内核。表2.1给出了ARM处理器核使用ARM 体系结构版本的情况。

使用此版本的处理器核:

ARM11、ARM1156T2-S、ARM1156T2F-S、ARM1176JZF-S、ARM11JZF-S

7. 版本7(v7)

ARM体系版本7是2005年发布的。该版本扩展了130条指令的THUMB-2指令集;具有NEON媒体引擎,该引擎具有SIMD(single instruction multiple datastream,单指令流,多数据流)执行流水线和寄存器堆,可共享访问的L1、L2高速缓冲。Jazelle-RCT技术、TrustZone、AXI高带宽系统总路线。

使用此版本的处理器核:ARM Cortex

ARM体系结构的变种及命名格式

1、Thumb指令集(T变种)

Thumb[θʌm]指令集是将ARM指令集中的一部分指令重新编码形成的一个子集, Thumb指令长度是16位的。使用Thumb指令可以得到比ARM指令更高的代码密度,这有助于减小系统的存储器容量,从而降低系统的成本。另外,对于数据线是8或16位的系统,使用Thumb指令集可以取得好于使用ARM指令集的性能。在ARM体系命名中通用“T”来表示该版本支持Thumb指令集。在ARMv4T中使用v1版Thumb指令集;ARMv5T使用v2版的Thumb指令集。和Thumb v1相比Thumb v2 具有如下特点:

通过对指令的修改,来提高ARM指令和Thumb指令混合使用是的效率。

增加软件断点指令。

严格定义了Thumb乘法指令对条件标志位的影响。

与ARM指令集相比,Thumb指令集具有以下局限性:

完成相同的操作,Thumb指令通常需要更多的指令。

Thumb指令集没有包含进行异常处理时需要的一些指令,异常返回时需要从ARM状态返回。

2 长乘法指令(M变种)

M变种增加了两条用于进行长乘法的ARM指令。其中一条用于实现32位整数乘以32位整数,生成64位整数的长乘法操作;另一条指令用于实现32位整数乘以32位位整数,然后加上32位整数,生成64位整数的长乘加操作。

3 增强型DSP指令(E变种)

E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型的DSP

相关文档
最新文档