(2)主要应用领域:
工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。
2、ARM9系列微处理器 (V4T)
?ARM9系列微处理器在高性能和低功耗特性方面提供最佳的表现,哈佛存储体系结构。具有以下特点:?5级整数流水线,指令执行效率更高。 ?提供1.1MIPS/MHz的哈佛结构。
?支持32位ARM指令集和16位Thumb指令集。
?支持32位的高速AMBA(Advanced Microcontroller Bus Architecture)总线接口。 ?全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。 ?MPU支持实时操作系统。
?支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
?ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。?ARM9系列微处理器包含ARM920T、ARM922T和ARM940T, ARM926EJ-S、ARM946E-S和ARM966E-S类型,以适用于不同的应用场合。 3、ARM10E系列微处理器 (V5TE) ?ARM10E系列微处理器的主要特点如下:
?支持DSP指令集,适合于需要高速数字信号处理的场合。 ?6级整数流水线,指令执行效率更高。 ?支持32位ARM指令集和16位Thumb指令集。 ?支持32位的高速AMBA总线接口和AHB总线接口。 ?支持VFP10浮点处理协处理器。
?全性能的MMU,支持众多主流嵌入式操作系统。 ?支持数据Cache和指令Cache,具有更高的处理能力 ?主频最高可达400M。 ?内嵌并行读/写操作部件。
16
?ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、3G通信和信息系统等领域。?ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。 4、ARM11系列 V6
ARM11系列微处理器的主要特点如下:
?支持DSP指令集,适合于需要高速数字信号处理的场合。 ?8级整数流水线,指令执行效率更高。
?支持32位ARM V6指令集和16位Thumb指令集。 ?支持32位的高速AMBA总线接口。 ?支持VFP10浮点处理协处理器。
?全性能的MMU,支持众多主流嵌入式操作系统。 ?支持数据Cache和指令Cache,具有更高的处理能力 ?主频最高可达700M。 ?内嵌并行读/写操作部件。
?ARM11系列微处理器主要应用数字消费品、成像设备、路由器、3G通信和信息系统等领域。?
5、SecurCore微处理器系列
?SecurCore系列微处理器除了具有ARM体系结构各种主要特点外,还在系统安全方面具有如下的特点:
?带有灵活的保护单元,确保操作系统和应用数据的安全。 ?采用软内核技术,防止外部对其进行扫描探测。 ?可集成用户自己的安全特性和其他协处理器。
?SecurCore系列微处理器主要应用于一些对安全性要求较高的应用产品及应用系统,如电子商务、电子政务、电子银行业务、网络和认证系统等领域。?SecurCore系列微处理器包含SecurCore SC100、SecurCore SC110、SecurCore SC200和SecurCore SC210四种类型,以适用于不同的应用场合。 6、StrongARM系列微处理器 (V4)
17
? Intel Strong ARM 系列处理器是采用ARM体系结构高度集成的32位RISC微处理器。它融合了Intel公司的设计和处理技术以及ARM体系结构的电源效率,采用在软件上兼容ARMv4体系结构、同时采用具有Intel技术优点的体系结构。?Intel Strong ARM处理器是便携式通讯产品和消费类电子产品的理想选择,已成功应用于多家公司的掌上电脑系列产品。SA-1100 、SA-1110、SA-1111、SA-1112处理器,主频达到206MHz。 7、Xscale处理器 (V5)
? Intel Xscale 系列处理器是基于ARM_v5TE体系结构的解决方案,是一款全性能、高性价比、低功耗的处理器。它支持16位的Thumb指令和DSP指令集,已使用在数字移动电话、个人数字助理和网络产品等场合。?Xscale PXA250、Xscale PXA260、Xscale PXA270 处理器是Intel目前主要推广的ARM微处理器,主频达600MHz。 8、ARM_Cortex处理器(V7)
先进3级流水线,ARM_V7指令集,单周期乘法,硬件除法器,1.6MPIS/MHz。
§2.3 ARM微处理器编程模型
编程模型是指ARM处理器使用者从编制引导程序、系统初始化及配置程序的角度所看到的处理器的内部结构。 §2.3.1 ARM 微处理器的工作状态
从编程的角度看,处理器工作状态是指处理器工作在何种指令集系统的状态。ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: ?ARM状态,此时处理器执行32位的字对齐的ARM指令; ?Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 ARM处理器启动后直接进入ARM工作状态。 1、ARM与Thumb指令
?Thumb是ARM体系结构的扩展,Thumb指令是ARM指令的子集,其代码密度高 ?Thumb指令与ARM指令可以相互调用,只要遵循一定的调用规则(ATPCS)。 ?Thumb指令与ARM指令的时间效率和空间效率比较如下:
?Thumb代码占用存储空间约为ARM代码的60%~70%
18
?Thumb代码指令数比ARM代码多约30%~40% ?在存储器为32位时,ARM代码比Thumb代码快约40% ?在存储器为16位时,Thumb比ARM代码快约40~50% ?使用Thumb代码,存储器的功耗会降低约30%
ARM处理器的工作状态是由CPST寄存器的T位决定的。当CPSR[T]=1时,当前工作状态是Thumb状态,当CPSR[T]=0时,当前工作状态是ARM状态,CPSR[T]位的值可以通过指令BX改变,ARM处理器启动后的初始工作状态是ARM状态。 2、工作状态切换方法
? ARM指令集和Thumb指令集中均有切换处理器工作状态的指令(BX),并可在两种工作状态之间相互切换。ARM处理器在初始化(开始)执行代码时,应该处于ARM状态。
在对程序进行汇编、编译时,通过“CODE”汇编伪指令告诉汇编器哪些指令序列时ARM指令,汇编时将助记符翻译成32位的目标代码,哪些指令序列时Thumb指令,汇编时将助记符翻译成16位的目标代码。
如:CODE32 ;其后指令序列时ARM指令,汇编器翻译时译成32位目标码 CODE16 ;其后指令序列时Thumb指令,汇编器翻译时译成16位目标码 在执行程序过程中,处理器通过“CPSR[T]”位的值来确定当前工作状态时ARM状态还是Thumb状态的。当CPSR[T]=1时,当前工作状态是Thumb状态,处理器取指令时去16位目标码来执行。当CPSR[T]=0时,当前工作状态是ARM状态,处理器取指令时去32位目标码来执行。 (1)由ARM状态进入Thumb状态
? 对于“BX Rm”指令,当操作数寄存器的状态位即Rm[0]为1时, 可以采用执行“BX Rm”指令的方法,使微处理器从ARM状态切换到Thumb状态(执行该指令能够将Rm[0]位传送给CPSR[T]位)。例如:BX Rm指令的Rm[0]值为1,执行其实现ARM处理器从ARM状态切换到Thumb状态(即使得CPSR[T]位置1)。
? 当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 (2)从Thumb状态切换到ARM状态
? 对于“BX Rm”指令,当操作数寄存器的状态位即Rm[0]为0时,执行“BX Rm”指令时可以使ARM微处理器从Thumb状态切换到ARM状态。例如:BX Rm指令的Rm的
19
位[0]值为0,执行其实现ARM处理器从Thumb状态切换到ARM状态(即使得CPSR[T]位置0)。
? 在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。 §2.3.2 ARM处理器运行模式
? ARM微处理器运行模式是指处理器以何种权力(方式)运行程序的的的模式。ARM微处理器支持7种运行模式,由ARM处理器中的CPSR(当前程序状态寄存器)的低5位CPSR[4:0]标识和定义的,7种运行模式分别为: 处理器模式 用户模式User(usr) 系统模式System(sys) 快速中断模式(fiq) 外部中断模式(irq) 管理模式Supervisor(svc) 数据访问中止模式Abort(abt) 未定义指令中止模式Undfined(und) CPSR[4:0] 10000 11111 10001 10010 10011 10111 11011 支持硬件协处理器的软件仿真。 模式描述 ARM处理器正常的程序执行模式 运行具有特权的操作系统任务,中断嵌套处理 用于高速数据传输或通道处理 用于通用的中断处理 OS使用的保护模式,处理软件中断(SWI) 用于虚拟存储及存储保护 当出现未定义指令执行(中止)时进入该模式,
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。
1、用户模式(usr)和特权模式
? 用户模式:大多数的用户程序运行在用户模式下,此时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。
? 用户模式下,当需要进行处理器模式切换时,应用程序可以产生异常,在异常处理过程中进行处理器模式的切换。
特权模式:除了用户模式之外的其他6种处理器模式称为特权模式。特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。改变处理器工作模式的方法是用指令将特定的位序列写入到CPSR的M[4:0]字段。特权模式中,除系统模式(sys)外,其他5种模式又称为异常模式。 2、运行模式切换
20