微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 选择ARM处理器的ARM7还是Cortex-M3

选择ARM处理器的ARM7还是Cortex-M3

时间:11-17 来源:互联网 点击:
1.1 ARM处理器系列

每个ARM处理器都有一个特定的指令集架构(ISA),而一个ISA版本又可以有多种处理器实现。ISA随着嵌入式市场的需求而发展,至今已经有多个版本。ARM公司规划该发展过程,使得在较早的架构版本上编写的代码也可以在后继版本上执行(即代码的兼容性)。

1.1.1 命名规则
早期ARM使用如图1.1所示的命名规则来描述一个处理器。在“ARM”后的字母和数字表明了一个处理器的功能特性。随着更多特性的增加,字母和数字的组合可能会改变。注意:命名规则不包含体系结构(ISA)的版本信息。

ARM {x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}
x——系列
y——存储管理/保护单元
z——cache
T——Thumb 16位译码器
D——JTAG调试器
M——快速乘法器
I——嵌入式跟踪宏单元
E——增强指令(基于TDMI)
J——Jazelle
F——向量浮点单元
S——可综合版本
图1.1 早期ARM命名规则

关于ARM命名法则,还有一些附加的要点:
? ARM7TDMI之后的所有ARM内核,即使“ARM”标志后没有包含那些字符,也都包括了TDMI功能特性。
? 处理器系列是共享相同硬件特性的一组处理器具体实现。例如,ARM7TDMI、ARM740T和ARM720T都共享相同的系列特性,都属于ARM7系列。
? JTAG是由IEEE1149.1标准测试访问端口(Standard Test Access
Port)和边界扫描结构来描述的。它是ARM用来发送和接收处理器内核与测试仪器之间调试信息的一系列协议。
? 嵌入式ICE宏单元(EmbeddedICE macrocell)是建立在处理器内部用来设置断点和观察点的调试硬件。
? 可综合的——意味着处理器内核是以源代码形式提供的,这种源代码形式又可以被编译成一种易于EDA工具使用的形式。

随着近年来ARM架构的产品爆炸性地涌入市场,以及对于维护架构一致性的高层次的要求,ARM重新组织了ARM架构的规范,定义了以ARM v7架构的Cortex系列。

1.1.2 ARM处理器系列
ARM公司设计了许多处理器,它们可以根据使用的不同内核划分到各个系列中。系列划分是基于ARM7、ARM9、ARM10、ARM11和Cortex内核。后缀数字7、9、10和11表示不同的内核设计。数字的升序说明性能和复杂度的提高。ARM8开发出来以后很快就被取代了。
在每个系列中,存储器管理、cache和TCM处理器扩展也有多种变化。ARM继续在可用的产品系列和每个系列内部的不同变种两方面做进一步开发。
表1.1总结了各种处理器的不同功能特性。值得注意的是,指令集架构(
ISA)是体现CPU核性能特点的重要因素,如采用v5TEJ架构的ARM926EJ-S与采用v4T架构的
ARM920T处理器,在相同的工作频率下,前者的处理能力要高得多。

表1.1 ARM处理器不同功能特性

a: E扩展提供了增强的乘法指令和饱和运算指令(DSP

1.1.2.1 ARM7系列
ARM7内核是冯?诺伊曼体系结构,数据和指令使用同一条总线。内核有一条3级流水线,执行ARMv4指令集。
ARM7TDMI是ARM公司于1995年推出的新系列中的第一个处理器内核。是目前一个非常流行的内核,已被用在许多32位嵌入式处理器上。它提供了非常好的性能——功耗比。ARM7TDMI处理器内核已经许可给许多世界顶级半导体公司,它是第一个包括Thumb指令集、快速乘法指令和嵌入式ICE调试技术的内核。
ARM7系列中一个重要的变化是ARM7TDMI-S。ARM7TDMI-S与标准ARM7TDMI有相同的操作特性,但它是可综合的(见2.6.1小节)。
ARM720T是ARM7系列中最具灵活性的成员,因为它包含了一个MMU。MMU的存在意味着ARM720T能够处理Linux和Microsoft嵌入式操作系统(如WinCE)。这一处理器还包括了一个8KB的统一cache(指令/数据混合cache)。向量表可以通过设置一个协处理器15(CP15)寄存器来重定位到更高的地址。
另一个成员是ARM7EJ-S处理器,它也是可综合的。ARM7EJ-S与其他ARM7处理器有很大不同,因为它有一条5级流水线,并且执行ARMv5TEJ指令。这个版本是ARM7中唯一一个提供java加速和增强指令,而没有任何存储器保护的处理器。

1.1.2.2 ARM9系列
ARM9系列于1997年问世。由于采用了5级指令流水线,ARM9处理器能够运行在比ARM7更高的时钟频率上,提高了处理器的整体性能。存储器系统根据哈佛体系结构重新设计,区分了数据D和指令I总线。
ARM9系列的第一个处理器是ARM920T,它包含独立的D+I
cache和一个MMU。这个处理器能够被用在要求有虚拟存储器(虚存)支持的操作系统上。ARM922T是ARM920T的变种,只有一半大小的D+I cache。
ARM940T包括一个更小的D+I cache和一个MPU。它是针对不要求运行平台操作系统的应用而设计的。ARM920T和ARM940T都执行v4T架构指令。
ARM9系列的下一个处理器是基于ARM9E-S
内核的。这个内核是ARM9内核带有E扩展的一个可综合版本。它有二个变种:ARM946E-S和ARM966E-S。两者都执行v5TE架构指令。它们也支持可选的嵌入式跟踪宏单元(ETM),它允许开发者实时跟踪处理器上指令和数据的执行。当调试对时间敏感(time-critical)的程序段时,这种方法非常重要。
ARM946E-S包括TCM、cache和一个MPU。TCM和cache的大小可配置。该处理器是针对要求有确定的实时响应的嵌入式控制应用而设计的。而ARM966E有可配置的TCM,但没有MPU和cache扩展。
ARM9产品线的最新内核是ARM926EJ-S可综合的处理器内核,发布于2000年。它是针对小型便携式java设备,诸如3G手机和个人数字助理(PDA)应用而设计的。ARM926EJ-S是第一个包含Jazelle技术(可加速java字节码的执行)的ARM处理器内核。它还有一个MMU、可配置的TCM,以及具有零或非零等待存储器的D+I
cache。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top