ARM系列处理器体系结构
2、ARM处理器当前只要有6个系列产品:ARM7、ARM9、ARM9E、ARM10E、SecurCore及最新的ARM11系列。进一步的产品则来自于ARM公司的合作伙伴,如Intel公司的StrongARM产品和XScale微体系结构等,不过Intel公司已经于2006年将该架构出售给Marvell Technology Group Ltd了。ARM公司还把ARM IP Core提供给其它芯片设计公司用于设计ARM+DSP、ARM+FPGA等SOC结构的芯片
3、在ARM处理器内核中有多个功能模块可供生产厂商根据不同用户的不同要求来配置生产。这些模块分别用T、D、M、I、E、J、S等来表示,这些模块一般从处理器的内核版本上可以区分出来。
4、ARM7处理器:ARM7处理器采用了ARMV4T(冯-诺依曼)体系结构,这种体系结构将程序指令存储器和数据存储器合并在一起。主要特点就是程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址和数据总线,程序指令和数据的宽度相同。这样,处理器在执行指令时,必须先从存储器中取出指令进行译码,再取操作数执行运算。总体来说,ARM7体系结构具有三级流水线、空间统一的指令与数据Cache、平均功耗为0.6mW/MHz、时钟速度为66MHz、每条指令平均执行1.9个时钟周期等特性。其中的ARM710、ARM720和AEM740为内带Cache的ARM核。目前主流的ARM内核是ARM7TDMI、ARM7TDMI-S、ARM7EJ-S、ARM720T。通常来说,前两三年大部分手机基带部分的应用处理器基本上都以ARM7为主。还有很多的通信模块,如CDMA模块、GPRS模块和GPS模块中都含有ARM7处理器。
5、ARM9、ARM9E处理器:ARM9处理器采用ARMV4T(哈佛)体系结构。这种体系结构是一种将程序指令存储器和数据存储器分开的存储器结构,是一种并行体系结构。其主要特点是程序和数据存储在不同的存储空间中,即程序存储器和数据存储器。它们是两个相互独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统的4套总线,程序的数据总线和地址总线,数据的数据总线和地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获取指令字和操作数,从而提高了执行速度,使数据的吞吐量提高了已一倍。又由于程序和数据存储器在两个分开的物理空间中,因而取指和执行能完全重叠。ARM采用五级流水线及分离的Cache结构,平均功耗为0.7mW/MHz。时钟速度为120~200MHz,每条指令平均执行1.5个时钟周期。其中,ARM920、ARM940和ARM9E处理器均为含有Cache的CPU内核,性能为132MIPS(120MHz时钟,3.3V供电)或200MIPS(200MHz时钟)。常用于无线设备、仪器仪表、联网设备、机顶盒设备、高端打印机以及数码相机等应用中。ARM9E内核在ARM内核的基础上增加了紧密耦合存储器的TCM及DSP部分。目前主流的ARM9内核是ARM920T、ARM922T、ARM940。主流的ARM9E内核有ARM926EJ-S、ARM946SJ-S、ARM966EJ-S等。目前市场上常见的PDA,比如说PocketPC中一般都是用ARM9处理器。
10、ARM10E处理器:ARM10E处理器采用ARMVST体系结构,可以分为6级流水线处理,采用指令与数据分离的Cache结构,平均功耗1000mW,时钟速度为300MHz,每条指令平均执行1.2个时钟周期。ARM10TDMI与所有的ARM核在二进制级代码中兼容,内带高速32*16MAC,预留DSP协处理器接口。其中的VFP10(向量浮点单元)为七级流水线结构。其中的ARM1020T处理器是由ARM10TDMI、32KB指令、数据Caches及MCU部分构成的。其系统时钟高达300MHz,指令Cache和数据Cache分别为32KB,数据宽度为64位,能够支持多种商用操作系统,适用于下一代高性能手持式因特网设备及数字式消费类应用。主流的ARM10内核是ARM1020E、ARM1022E,ARM1026EJ-S等。
11、SecurCore处理器:SecurCore系列处理器提供了基于高性能的32位RISC技术的安全解决方案,该系列处理器具有体积小、功耗低、代码密度大和性能高等特点。另外最为特别的就是该系列处理器提供了安全解决方案的支持。采用软内核技术,以提供最大限度的灵活性,以及防止外部对其进行扫描探测,提供面向智能卡的和低成本的存储保护单元MPU,可以灵活地集成用户自己的安全特性和其他的协处理器,目前含有SC100、SC110、SC200、SC210四种产品。
12、StrongARM处理器:StrongARM处理器采用ARMV4T的五级流水线体系结构。目前有SA110、SA1100、SA1110等3个版本。另外,Intel公司的基于ARMV5TE体系结构的XScale PXA27x系列处理器,与StrongARM相比,增加了I/D Cache,并且介入了部分DSP功能,更适合于移动多媒体应用。目前市场上的大部分智能手机的核心处理器就是XScale系列处理器。
13、ARM11处理器:ARM11处理器系列可以在使用130nm代工厂技术、小至2.2 芯片面积和低至0.2mW/MHz的前提下达到高达500MHz的性能表现。ARM11采用的是8级流水线结构。ARM11处理器系列以众多消费产品市场为目标,推出了许多新的技术,包括针对媒体处理的SIMD,用以提高安全性能的TrustZone技术,智能能源管理(IEM),以及需要非常高的、可升级的超过2600Dhrystone 2.1 MIPS性能的系统多处理技术。主要的ARM11处理器有ARM136JF-S、ARM1156T2F-S、ARM1176JZF-S、ARM11 MCORE等多种。
1.4 ARM处理器的工作模式
1、BSP:Board Support Package-板级支持包
2、正在执行Thumb指令集的处理器是工作在Thumb状态下的。同样,正在执行ARM指令集的处理器是工作在ARM状态下的。ARM状态下的处理器不能执行Thumb指令,在Thumb状态下的处理器也不能执行ARM指令。必须确保处理器不接受对当前来说为错误指令集的指令。每个指令集都包括切换处理器状态的指令。ARM处理器总是在ARM状态下开始执行代码。ARM处理器支持7种处理器模式,取决于体系结构版本。
3、ARM处理器共有7种运行模式,如下表所示:
处理器模式 | 描述 |
用户模式(User, usr) | 正常程序执行的模式 |
快速中断模式(FIQ, fiq) | 用于高速数据传输和通道处理 |
外部中断模式(IRQ, irq) | 用于通常的中断使用 |
特权模式(Supervisor, sve) | 供操作系统使用的一种保护模式 |
数据访问中止模式(Abort, abt) | 用于虚拟存储以及存储保护 |
未定义指令中止模式(Undefined, und) | 用于支持通过软件仿真硬件的协处理器 |
系统模式(System, sys) | 用于运行特权级的操作系统任务 |
评论