ARM应用笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ARM应用笔记
一、ARM体系结构
ARM是Advanced RISC Machines的缩写,是一家微处理器行业的知名企业,设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。ARM公司只设计芯片,而不生产。它技术授权给半导体、软件和OEM厂商,并提供服务。
ARM体系结构的目前7个版本:
ARM V1版架构:只在原型机ARM1出现过,只有26位的寻址空间,没有用于商业产品。
ARM V2版架构:对V1版进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32位乘法指令和协处理器指令的支持。同样为26位寻址空间,现在已经废弃不再使用。
ARM V3版架构:1990年设计的第一个微处理器采用的是版本3的ARM6,作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU,V3版架构(目前已废弃)对ARM体系结构作了较大的改动。
ARM V4版架构:V4版架构在V3版上作了进一步扩充,V4版架构是目前应用最广的ARM体系结构,ARM7、ARM8、ARM9和StrongARM都采用该架构。V4不再强制要求与26位地址空间兼容。
ARM V5版架构:V5版架构是在V4版基础上增加了一些新的指令,ARM10和Xscale都采用该版架构。
ARM V6版架构:V6版架构是2001年发布的,首先在2002年春季发布的ARM11处理器中使用。在降低耗电量地同时,强化了图形处理性能。
ARM V7版架构:ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,是在ARM的Thumb代码压缩技术的基础上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销,同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。
命名方式上,基于ARMv7架构的ARM处理器已经不再延用过去的数字命名方式,而是冠以Cortex的代呼。基于v7A的称为“Cortex-A”,基于v7R的称为“Cortex-R”,基于v7M的称为“Cortex-M”。
二、ARM处理器
1、ARM7微处理器系列
低功耗的32位RISC处理器,冯·诺依曼结构。
极低的功耗,适合便携式产品。
能够提供0.9MIPS的三级流水线结构代码密度高,兼容16位的Thumb指令集。主频最高可达130MIPS。
对操作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
主要应用领域:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用
2、ARM7TDMI微处理器
ARM7TMDI是使用广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
注:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。
4种类型:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。
3、ARM9微处理器系列
ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。5级整数流水线,哈佛体系结构。
支持32位ARM指令集和16位Thumb指令集。
全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
主要应用:无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数码照相机和数码摄像机。
3种类型:ARM920T、ARM922T和ARM940T。
4、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。
5、ARM10E微处理器系列
与同等的ARM9比较,在同样的时钟频率下,性能提高了近50%,功耗极低。支持DSP 指令集。
6级整数流水线,指令执行效率更高。支持32位ARM指令集和16位Thumb指令集。
支持VFP10浮点处理协处理器。
全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。
支持数据Cache和指令Cache。主频最高可达400MIPS。
内嵌并行读/写操作部件。
主要应用:下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。
3种类型:ARM1020E、ARM1022E和ARM1026EJ-S。
6、ARM11微处理器系列
ARM1136J-S发布于2003年,针对高性能和高能效的应用而设计。
集成具有独立load-store和算术流水线的8级流水线。
可进行快速浮点运算,增加了向量浮点单元。
7、ARM Cortex微处理器系列
(1)ARM Cortex-M
ARM Cortex-M3处理器是面向低成本,小管脚数目以及低功耗应用,且具有高运算能力和中断响应能力的处理器32位内核。
Cortex-m3处理器采用了纯Thumb-2指令。
中断延迟最大需12个周期(ARM7为24~42个)。
带睡眠模式,8段MPU(存储器保护单元)。
处理速度1.25MIPS/MHz(ARM7为0.9MIPS/MHz)。
功耗为0.19Mw/MHz(ARM7为0.28mW/MHz)。
目前最便宜的Cortex-M3内核的ARM单片机售价1美元。
(2)ARM Cortex-R
ARM Cortex-R系列处理器目前包括ARM CortexR4和ARM Cortex-R4F两个型号,主要适用于实时系统的嵌入式处理器,如硬盘、打印机、汽车安全系统。
ARM CortexR4采用了90纳米生产工艺,最高运行频率可达400MHz。基于低耗费的超量8段流水线,带有高级分支预测功能,运算速度超过1.6MPIS/MHz。
ARM Cortex-R4F拥有针对汽车市场而开发的各项先进功能,包括自动除错功能、可相互连结的错误侦测机制,以及可选择优化的浮点运算单元(FPU,Floating-Point Unit)。(3)ARM Cortex-A
ARM v7-A系列支持大型嵌入式操作系统(Symbian、Linux、WinCE、WM等)。典型应用:高端手机、手持仪器。
ARM Cortex-A8处理器是基于ARMv7架构的首款应用级处理器。
运算能力:600MHz~1GHz。
具有13级整数运算流水线,10级NEON媒体运算流水线。
功耗最优的同时,实现2.0MIPS/MHz的性能。
三、Cortex-M3
1、特点
采用哈佛结构,有独立的指令总线I-Code和数据总线D-Code,具有带分支预测功能的3级流水线。
32位单周期乘法,支持硬件除法。