ARM微处理器概述

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

ARM微处理器概述
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
算法的处理性能。

主要包括:
⼏条新的实现16位数据乘法和乘加操作的指令
实现饱和的带符号数的加减法操作的指令。

所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进⾏卷绕(Wrapping around),⽽是使⽤最⼤的整数或最⼩的负数来表⽰。

进⾏双字数据操作的指令,包括双字读取指令LDRD、双字写⼊指令STRD 和协处理器的寄存器传输指令MCRR/MRRC。

Cache预取指令PLD
4 Java加速器Jazelle(J变种)
ARM的Jazelle技术将Java的优势和先进的32位RISC芯⽚完美地结合在⼀起。

Jazelle技术提供了Java加速功能,可以得到⽐普通Java虚拟机⾼得多的性能。

与普通的Java虚拟机相⽐,Jazelle使代码运⾏速度提⾼了8倍,⽽且功耗降低了80%。

Jazelle技术使得程序员可以在⼀个单独的处理器上同时运⾏Java应⽤程序、已经建⽴好的操作系统、中间件以及其他的应⽤程序。

与使⽤协处理器和双处理器相⽐,使⽤单独得处理器可以在提供⾼性能的同时,保证低功耗和低成本。

5 SIMD变种(ARM媒体功能扩展)
ARM媒体功能扩展SIMD技术极⼤地提⾼了嵌⼊式应⽤系统的⾳频和视频处理器能⼒,它可使微处理器的⾳频和视频性能提⾼4倍。

新⼀代的Internet应⽤产品、移动电话和PDA等设备终端需要提供⾼性能的流式媒体,包括⾳频和视频等。

⽽且这些设备需要提供更加⼈性化的界⾯,包括语⾔输⼊和⼿写输⼊等。

这样,就对处理器的数字信号处理能⼒提出了很⾼的要求,同时还必须保证低功耗。

ARM的SIMD媒体功能扩展为这些应⽤系统提供了解决⽅案,它为包括⾳频和视频处理在内的应⽤系统提供了优化功能,其主要特点如下:使处理器的⾳频和视频处理的性能提⾼了2~4倍。

可同时进⾏2个16位操作数或者4个8位操作数的运算。

⽤户可⾃定义饱和运算的模式。

可进⾏2个16位操作数的乘加/乘减运算及32位乘以32位的⼩数乘加运算。

同时8 /16位选择操作。

ARM体系结构的命名格式
ARM体系架构版本号⼀般命名格式:ARMvN(x)B(x)B…
基本字符串ARMv。

N为ARM指令集版本号,⽬前是1-7的数字字符。

B为ARM指令集所含变种的字符。

由于在ARM体系版本4以后,M变种成为系统的标准部件,所以字符M通常也不单独列出来。

最后使⽤的字符x表⽰排除某种功能。

ARM微处理器系列
ARM7微处理器
ARM7采⽤采⽤ARMV4T冯·诺依曼(V on-Neumann)结构,数据存储器和程序存储器重合在⼀起。

同时,此结构也被⼤多数计算机所采⽤。

ARM7为三级流⽔线结构(取指,译码,执⾏),平均功耗为0.6mW/MHz,
时钟速度为66MHz,每条指令平均执⾏1.9个时钟周期。

ARM7系列微处理器包括如下⼏种类型的核:ARM7TDMI、ARM7TDMI-S(software)、ARM720T(带8K的CACHE、MMU、AMBA接⼝和写缓冲器)、ARM7EJ。

ARM7TMDI是⽬前使⽤最⼴泛的32位嵌⼊式RISC处理器,属低端ARM 处理器核。

TDMI的基本含义为:
T:⽀持16为压缩指令集Thumb;
D:⽀持⽚上Debug;
M:内嵌硬件乘法器(Multiplier)
I:嵌⼊式ICE,⽀持⽚上断点和调试点;
如:samsung的s3c44b0x
ARM7 系列微处理器的主要应⽤领域为:⼯业控制、Internet 设备、⽹络和调制解调器设备、移动电话等多种多媒体和嵌⼊式应⽤。

ARM9微处理器
ARM9采⽤ARMV4T哈佛(Harvard)结构,程序存储器与数据存储器分开,提供了较⼤的存储器带宽。

同时,⼤多数DSP都采⽤此结构。

ARM9为五级流⽔(取指,译码,执⾏,缓冲/数据,回写),平均功耗为0.7mW/MHz。

时钟速度为120MHz-200MHz,每条指令平均执⾏1.5个时钟周期。

ARM9系列微处理器核包含ARM9TDMI、ARM920T(Instruction and data caches 16K/16K)(MMUmemory management unit和Cache)、ARM922T(Instruction and data caches 8K/8K)和ARM940T MPU(Memory Protect Unit和Cache)三种类型,以适⽤于不同的应⽤场合。

ARM9 系列微处理器主要应⽤于⽆线设备、仪器仪表、安全系统、机顶盒、⾼端打印机、数字照相机和数字摄像机等。

ARM9E微处理器
ARM9E 系列微处理器为可综合处理器,使⽤单⼀的处理器内核提供了微控制器、DSP、Java应⽤系统的解决⽅案,极⼤的减少了芯⽚的⾯积和系统的复杂程度。

ARM9E 系列微处理器提供了增强的DSP 处理能⼒,很适合于那些需要同时使⽤DSP 和微控制器的应⽤场合。

ARM10E微处理器
ARM10E 系列微处理器具有⾼性能、低功耗的特点,由于采⽤了新的体系结构(6 级整数流⽔线,指令执⾏效率更⾼),与同等的ARM9器件相⽐较,在同样的时钟频率下,性能提⾼了近50%,同时,ARM10E 系列微处理器采⽤了两种先进的节能⽅式,使其功耗极低。

SecurCore微处理器
SecurCore 系列微处理器专为安全需要⽽设计,提供了完善的32 位RISC 技术的安全解决⽅案,因此,SecurCore 系列微处理器除了具有ARM 体系结构的低功耗、⾼性能的特点外,还具有其独特的优势,即提供了对安全解决⽅案的⽀持。

StrongARM 微处理器
StrongARM 系列处理器是英特尔旗下的嵌⼊式处理器,基于ARMV4T 结构,旨在⽀持WinCE3.0-PocketPC 系统。

Xscale 微处理器
Xscale 处理器是基于 ARMv5TE 体系结构的解决⽅案,是⼀款全性能、⾼性价⽐、低功耗的处理器。

它⽀持 16 位的 Thumb 指令和 DSP 指令集,已使⽤在数字移动电话、个⼈数字助理和⽹络产品等场合。

Xscale 处理器是以前Intel 主要推⼴的⼀款ARM 微处理器. 但在2006年11⽉8⽇,Marvell 完成了对英特尔公司⼿机和应⽤处理器业务部门的收购。

根据该项收购协议,英特尔将在2008年6⽉前为Marvell 制造和供应芯⽚. ARM Cortex 系列
基于ARMv7版本的ARM Cortex 系列产品由A 、R 、M 三个系列组成,具体分类延续了⼀直以来ARM ⾯向具体应⽤设计CPU 的思路。

Arm Cortex-A8
该处理器是ARM 公司所开发的基于ARMv7架构的⾸款应⽤级处理器,其特⾊是运⽤了可增加代码密度和加强性能的技术、可⽀持多媒体以及信号处理能⼒的NEONTM 技术、以及能够⽀持Java 和其他⽂字代码语⾔的提前和即时编译的Jazelle@RTC 技术。

众多先进的技术使其适⽤于家电以及电⼦⾏业等各种⾼端的应⽤领域。

Arm Cortex-R4
该处理器是⾸款基于ARMv7架构的⾼级嵌⼊式处理器,其主要⽬标为产量巨⼤的⾼级嵌⼊式应⽤系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。

CortexTM-R4F 处理器简介
该处理器在CortexTM-R4处理器的基础上加⼊了代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA 综合配置的能⼒,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA 访问以及调试⽅⾯的能⼒。

Arm Cortex-M3
该处理器是⾸款基于ARMv7-M 架构的处理器,采⽤了纯Thumb2指令的执⾏⽅式,具有极⾼的运算能⼒和中断相应能⼒。

Cortex-M3主要应⽤于汽车车⾝系统,⼯业控制系统和⽆线⽹络等对功耗和成本敏感的嵌⼊式应⽤领域。

⽬前最便宜的基于该内核的ARM 单⽚机售价为1美元。

A 应⽤处理器(Application Processor )R 实时控制处理(Real Time Control )系M 微控制器(Micro Controller )系列ARM微处理器的应⽤
1、⼯业控制领域:作为32的RISC架构,基于ARM核的微控制器芯⽚不但占据了⾼端微控制器市场的⼤部分市场份额,同时也逐渐向低端微控制器应⽤领域扩展,ARM微控制器的低功耗、⾼性价⽐,向传统的8位/16位微控制器提出了挑战。

2、⽆线通讯领域:⽬前已有超过85%的⽆线通讯设备采⽤了ARM技术,ARM以其⾼性能和低成本,在该领域的地位⽇益巩固。

3、⽹络应⽤:随着宽带技术的推⼴,采⽤ARM技术的ADSL芯⽚正逐步获得竞争优势。

此外,ARM在语⾳及视频处理上⾏了优化,并获得⼴泛⽀持,也对DSP的应⽤领域提出了挑战。

4、消费类电⼦产品:ARM技术在⽬前流⾏的数字⾳频播放器、数字机顶盒和游戏机中得到⼴泛采⽤。

5、成像和安全产品:现在流⾏的数码相机和打印机中绝⼤部分采⽤ARM 技术。

⼿机中的32位SIM智能卡也采⽤了ARM技术。

ARM微处理器的应⽤选型
从应⽤的⾓度出发,对在选择ARM微处理器时所应考虑的主要问题:
ARM微处理器内核的选择
从前⾯所介绍的内容可知,ARM微处理器包含⼀系列的内核结构,以适应不同的应⽤领域,⽤户如果希望使⽤WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯⽚,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM 都带有MMU功能。

⽽ARM7TDMI则没有MMU,不⽀持Windows CE和标准Linux,但⽬前有uCLinux等不需要MMU⽀持的操作系统可运⾏于ARM7TDMI硬件平台之上。

事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他⽅⾯都有上佳表现。

系统的⼯作频率
系统的⼯作频率在很⼤程度上决定了ARM微处理器的处理能⼒。

ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯⽚系统主时钟为20MHz-133MHz。

ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz。

ARM10最⾼可以达到700MHz。

不同芯⽚对时钟的处理不同,有的芯⽚只需要⼀个主时钟频率,有的芯⽚内部时钟控制器可以分别为ARM核和USB、UART、DSP、⾳频等功能部件提供不同频率的时钟。

芯⽚内存储器的容量
⼤多数的ARM微处理器⽚内存储器的容量都不太⼤,需要⽤户在设计系统
时外扩存储器.
但也有部分芯⽚具有相对较⼤的⽚内存储空间,如ATMEL的AT91F40162就具有⾼达2MB的⽚内程序存储空间,⽤户在设计时可考虑选⽤这种类型,以简化系统的设计。

⽚内外围电路的选择
⼏乎所有的ARM芯⽚均根据各⾃不同的应⽤领域,扩展了相关功能模块,并集成在芯⽚之中,称之为⽚内外围电路.
如USB接⼝、IIS接⼝、LCD控制器、键盘接⼝、RTC、ADC和DAC、DSP 协处理器等,设计者应分析系统的需求,尽可能采⽤⽚内外围电路完成所需的功能,这样既可简化系统的设计,同时提⾼系统的可靠性。

ARM体系结构的特点
(1)、RISC型处理器结构
ARM采⽤RISC结构,在简化处理器结构,减少复杂功能指令的同时,提⾼了处理器的速度。

考虑到处理器与存储器打交道的指令执⾏时间远远⼤于在寄存器内操作的指令执⾏时间,RISC型处理器采⽤了
Load/Store(加载/存储)结构,即只有Load/Store指令可与存储器打交道,其余指令都不允许进⾏存储器操作。

同时,为了进⼀步提⾼指令和数据的存取速度,RISC型处理器增加了指令⾼速缓冲I-Cache和数据⾼速缓冲D-Cache及多处理器结构,使指令的操作尽可能在寄存器之间进⾏。

(2)、Thumb指令集;
虽然ARM处理器本⾝是32位设计,但考虑到RISC型处理器的指令功能相对较弱,新型的ARM体系结构中定义了16位的Thumb指令集。

Thumb指令集⽐通常的8/16位CISC/RISC处理器有更好的代码密度,⽽芯⽚⾯积只增加6%,却可以使程序存储器更⼩。

(3)、多处理器状态模式;
ARM体系结构定义了7种处理器模式:⽤户(usr)、快中断(fiq)、中断(irq)、管理(svc)、终⽌(abt)、未定义(und)和系统(sys),⼤⼤提⾼了ARM处理器的效率。

(4)、两种处理器⼯作状态;
ARM状态(执⾏32位ARM指令)和Thumb状态(执⾏16位Thumb指令)。

(5)、嵌⼊式在线仿真调试;
ARM体系结构的处理器芯⽚都嵌⼊了在线仿真In-Circuit Emulator,ICE ICE-RT逻辑,便于通过JTAG(联合测试⾏动组(Joint Test Action Group);调试接⼝)来仿真调试芯⽚,省去了价格昂贵的在线仿真器。

(6)、灵活⽅便的接⼝;
ARM体系结构具有协处理器接⼝,允许接16个协处理器。

既可以使基本的ARM处理器内核尽可能⼩,⽅便地扩充ARM指令集,也可以通过未定义指令来⽀持协处理器的软件仿真。

(7)、低电压功耗的设计。

考虑到ARM体系结构的处理器主要⽤于⼿持式嵌⼊式系统中,ARM体系结构在设计中就⼗分注意功耗的设计。

相关文档
最新文档