ARM微处理器概述
ARM-Advanced RISC Machines
ARM-公司成立于英国剑桥,主要出售芯片设计技术的授权。
应用领域
- 工业控制领域
作为32的RISC架构 - 无线通信领域
高性能和低成本 - 网络应用
ADSL芯片正逐步获得竞争优势 ARM在语音及视频处理上进行了优化,也对DSP的应用领域提出了挑战。 - 消费类电子产品
数字音频播放器、数字机顶盒和游戏机中得到广泛应用。 - 成像和安全产品
SIM智能卡
ARM微处理器的特点
采用RISC架构的ARM微处理器一般具有如下特点
1.体积小、低功耗、低成本、高性能:
2.支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8、16位器件。
3.大量使用寄存器,指令执行速度更快:
4.大多数数据操作都在寄存器中完成:
5.寻址方式灵活简单,执行效率高:
6.指定长度固定:
ARM微处理器系列
ARM7系列
ARM9系列
ARM9E系列
ARM10E系列 :以上4个是通用处理器系列
SecurCore系列:专门为安全要求较高的应用而设计
ARM7微处理器系列
ARM7系列处理器为低功耗的32为RISC处理器,最适合用于对价位和功耗要求较高的消费应用。ARM7微处理器系列具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品
- 能够提供0.9/MHZ的三级流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对操作系统的支持广泛,包括WindowsCE、Linux、PalmOS等。
- 指令系统与ARM9系列,ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARMTMDI是目前使用最广泛的32位嵌入式RISC处理器:
T支持16位压缩指令集Thumb
D:支持片上Debug
M:内嵌硬件乘法器(Multiplier)
I:嵌入式ICE,支持片上断点和调试点。
ARM9微处理器
高性能和低功耗
- 5级整数流水线
- 1.1MIPS/MHZ的哈弗结构
- 支持32位ARM指令集和16位Thumb指令集
- 支持32位的高速AMBA总线接口
- 全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统
- 支持MPU实时操作系统
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合
ARM9E微处理器系列
ARM9E系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java应用系统的解决方案,极大的减少了芯片的面积和系统复杂程度。ARM9E系列微处理器提供了增强的DSP处理能力,很适合那些需要同时使用DSP和微控制器的应用场合。
ARM9E系列微处理器的主要特点如下:
- 支持DSP指令集,适合于需要高速数字信号处理的场合。
- 5级整数流水线,指令执行效率更高。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- ** 支持VFP9浮点处理协处理器 **。
- 全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。
- MPU支持实时操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
- 主频最高可达300MIPS。
ARM10E微处理器系列
ARM10E系列微处理器具有高性能、低功耗的特点。由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高近50%,同时,ARM10E系列处理器采用了两种先进的节能方式,使其功耗极低。
ARM10E系列微处理器的主要特点如下:
- 支持DSP指令集,适合于需要高速数字信号处理的场合。
- 6级整数流水线,指令执行效率更高。
- 支持32位ARM指令集和16位Thumb指令集。
- 支持32位的高速AMBA总线接口。
- VFP10浮点处理协处理器。
- 全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统。
- 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
- 主频最高可达400MIPS。
- 内嵌并行读/写操作部件。
ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。
ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。
SecurCore微处理器系列
提供对安全解决方案的支持、提供了完善的32位RISC技术的安全解决方案。
SecurCore系列处理器包含SecurCoreSC100、SecurCoreSC110、SecurCoreSC200和SecurCoreSC210四种类型,以适用于不同的应用场合。
StrongARM微处理器系列
InterStrongARM SA-1100处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Inter公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。
ARM微处理器结构
RISC体系结构
传统的CISC(Complex Instruction Set Computer 复杂指令集计算机)结构有其固有的缺点,即并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提供运算速度上。RISC结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。
RISC体系结构应具有如下特点:
-
采用固定长度的指令格式,指令归正、简单、基本寻址方式有2~3种。
-
使用单周期指令,便于流水线操作执行。
-
大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率。
除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,并降低功耗: -
所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率。
-
可用加载/存储指令批量传输数据,以提高数据的传输效率。
-
在循环处理中处理指令同时完成逻辑处理和移位处理。
当然,和CISC架构相比较,尽管RISC架构有上述的优点,但决不能认为RISC架构就可以取代CISC架构(x86),事实上,RISC和CISC各有优势,而且界限并不那么明显。现代的CPU往往采用CISC的外围,内部假如了RISC的特性,如超长指令集CPU(VLIW(超长指令字))就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。
1.4.2ARM微处理器的寄存器结构
ARM处理器共有37个寄存器,被分为若干组(BANK),这些寄存器包括:
- 31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器
- 6个状态寄存器,用以标识CPU的工作状态级程序的运行状态,均为32位,目前只使用了其中的一部分。
同时,ARM处理器又有7种不同的处理器模式,在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器种,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。
1.4.3ARM微处理器的指令架构
ARM微处理器的在较新的体系结构中支持两种指令集:ARM和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%~40%以上的存储空间,同时具备32位代码的所有优点。
ARM微处理器内核的选择
WINCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。