1.3 初识ARM系列处理器
ARM处理器当前有6个产品系列:ARM7、ARM9、ARM9E、ARM10E、ARM11和SecurCore,其中ARM11为最近推出的产品。进一步的产品来自于合作伙伴,例如Intel Xscale ARM7、ARM9、ARM9E、ARM10E是4个通用处理器系列。每个系列提供一套特定的性能来满足设计者对功耗、性能、体积的需求。SecurCore是第5个产品系列,是专门为安全设备而设计的。
表1.2总结了ARM各系列处理器所包含的不同类型。
表1.2 ARM各系列处理器所包含的不同类型
ARM系列 |
包 含 类 型 |
ARM7系列 |
ARM7EJ-S ARM7TDMI ARM7TDMI-S ARM720T |
ARM9/9E系列 |
ARM920T |
续表
ARM系列 |
包 含 类 型 |
ARM9/9E系列 |
ARM922T ARM926EJ-S ARM940T ARM946E-S ARM966E-S ARM968E-S |
向量浮点运算(Vector Floating Point)系列 |
VFP9-S VFP10 |
ARM10E系列 |
ARM1020E ARM1022E ARM1026EJ-S |
ARM11系列 |
ARM1136J-S ARM1136JF-S ARM1156T2(F)-S ARM1176JZ(F)-S ARM11 MPCore |
SecurCore系列 |
SC100 SC110 SC200 SC210 |
其他合作伙伴产品 |
StrongARM XScale MBX |
本节简要介绍ARM各个系列处理器的特点。
1.3.1 ARM7系列
ARM7内核采用冯·诺伊曼体系结构,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。
ARM7系列处理器主要用于对功耗和成本要求比较苛刻的消费类产品。其最高主频可以到达130MIPS(MIPS指每秒执行的百万条指令数)。ARM7系列包括ARM7TDMI、ARM7TDMI-S、ARM7EJ-S和ARM720T 4种类型,主要用于适应不同的市场需求。
ARM7系列处理器主要具有以下特点:
· 成熟的大批量的32位RICS芯片;
· 最高主频到达130MIPS;
· 功耗低;
· 代码密度高,兼容16位微处理器;
· 开发工具多、EDA仿真模型多;
· 调试机制完善;
· 提供0.25µm、0.18µm及0.13µm的生产工艺;
· 代码与ARM9系列、ARM9E系列以及ARM10E系列兼容。
1.3.2 ARM9系列
ARM9系列于1997年问世。由于采用了5级指令流水线,ARM9处理器能够运行在比ARM7更高的时钟频率上,改善了处理器的整体性能;存储器系统根据哈佛体系结构(程序和数据空间独立的体系结构)重新设计,区分了数据总线和指令总线。
ARM9系列的第一个处理器是ARM920T,包含独立的数据指令Cache和MMU。此处理器能够被用在要求有虚拟存储器支持的操作系统上。此系列的ARM922T是ARM920T的变种,只有一半大小的数据指令Cache。
ARM940T包含一个更小的数据指令Cache和一个MPU。它是针对不要求运行操作系统的应用而设计的。ARM920T、ARM940T都执行v4T架构指令。
1.3.3 ARM9E系列
ARM9系列的下一个处理器是基于ARM9E-S内核的。这个内核是ARM9内核带有E扩展的一个可综合版本。它有ARM946E-S和ARM966E-S两个变种。两者都执行v5TE架构指令。它们也支持可选的嵌入式跟踪宏单元,支持开发者实时跟踪处理器上指令和数据的执行。当调试对时间敏感的程序段时,这种方法非常重要。
ARM946E-S包括TCM、Cache和一个MPU。TCM和Cache的大小可配置。该处理器是针对要求有确定的实时响应的嵌入式控制而设计的。ARM966E-S有可配置的TCM,但没有MPU和Cache扩展。
ARM9系列的ARM926EJ-S内核为可综合的处理器内核,发布于2000年。它是针对小型便携式Java设备,诸如3G手机和PDA应用而设计的。ARM926EJ-S是第一个包含Jazelle技术,可加速Java字节码执行的ARM处理器内核。它还有一个MMU、可配置的TCM以及具有零或非零等待存储器的数据/指令Cache。
1.3.4 ARM10系列
ARM10发布于1999年,具有高性能、低功耗的特点。它所采用的新的体系使其在所有ARM产品中具有最高的MIPS/MHz。它将ARM9的流水线扩展到6级,也支持可选的向量浮点单元VFP,对ARM10的流水线加入了第7段。VFP明显增强了浮点运算性能并与IEEE 754.1985浮点标准兼容。
ARM10E系列处理器采用了新的节能模式,提供了64位的Load/Store体系,支持包括向量操作的满足IEEE 754的浮点运算协处理器,系统集成更加方便,拥有完整的硬件和软件开发工具。ARM10E系列包括ARM1020E、ARM1022E和ARM1026EJ-S 3种类型。
1.3.5 ARM11系列
ARM1136J-S发布于2003年,是针对高性能和高能效应而设计的。ARM1136J-S是第一个执行ARMv6架构指令的处理器。它集成了一条具有独立的Load/Stroe和算术流水线的8级流水线。ARMv6指令包含了针对媒体处理的单指令流多数据流扩展,采用特殊的设计改善视频处理能力。
1.3.6 SecurCore系列
SecurCore系列处理器提供了基于高性能的32位RISC技术的安全解决方案。SecurCore系列处理器除了具有体积小、功耗低、代码密度高等特点外,还具有它自己特别优势,即提供了安全解决方案支持。下面总结了SecurCore系列的主要特点:
① 支持ARM指令集和Thumb指令集,以提高代码密度和系统性能;
② 采用软内核技术以提供最大限度的灵活性,可以防止外部对其进行扫描探测;
③ 提供了安全特性,可以抵制攻击;
④ 提供面向智能卡和低成本的存储保护单元MPU;
⑤ 可以集成用户自己的安全特性和其他的协处理器。
SecurCore系列包含SC100、SC110、SC200和SC210 4种类型。
1.3.7 其他系列处理器
StrongARM处理器最初是ARM公司与Digital Semiconductor公司合作开发的,现在由Intel公司单独许可。在低功耗、高性能的产品中应用很广泛。它是哈佛架构的,具有独立的数据和指令Cache,有MMU(Memory Management Unit)。StrongARM是第一个包含5级流水线的高性能ARM处理器,但它不支持Thumb指令集。
Intel公司的Xscale是Strong ARM的后续产品,在性能上有显著改善。它执行v5TE架构指令,也是哈佛结构的,类似于StrongARM也包含一个MMU。
1.3.8 Cortex-M3和MPCore
为了适应市场的需要,ARM推出了两个新的处理器:Cortex-M3和MPCore。Cortex-M3主要针对微控制器市场,而MPCore主要针对高端消费类产品。
Cortex-M3改进了代码密度,减少了中断延时并有更低的功耗。Cortex-M3中实现了最新了Thumb-2指令集。MPCore提供了Cache一致性,每个支持1~4个ARM11核,这种设计为现代消费类产品对性能和功耗的需求作了很好的平衡。ARM还引入了L2Cache控制器来改进系统的整体性能。