要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。
1.ARM实现方法
ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线(冯诺伊曼结构下,数据和指令共用一条总线)。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。
ARM公司对Cortex-M3的定位是:向专业嵌入式市场提供低成本、低功耗的芯片。在成本和功耗方面,Cortex-M3具有相当好的性能,ARM公司认为它特别适用于汽车和无线通信领域。和所有的ARM内核一样,ARM公司将内该设计授权给各个制造商来开发具体的芯片。迄今为止,已经有多家芯片制造商开始生产基于Cortex-M3内核的微控制器。
ARM7TDMI(包括ARM7TDMIS)系列的ARM内核也是面向同一类市场的。这类内核已经存在了十多年之久,并推动了ARM成为处理器内核领域的主导者。众多的制造商(据ARM宣称,多达16家)出售基于ARM7系列的处理器以及其他配套的系统软件、开发和调试工具。在许多方面,ARM7TDMI都可以称得上是嵌入式领域的实干家。
2.两者差异
除了使用哈佛结构, Cortex-M3 还具有其他显著的优点:具有更小的基础内核,价格更低,速度更快。与内核集成在一起的是一些系统外设,如中断控制器、总线矩阵、调试功能模块,而这些外设通常都是由芯片制造商增加的。 Cortex-M3 还集成了睡眠模式和可选的完整的八区域存储器保护单元。它采用 THUMB-2指令集,最大限度降低了汇编器使用率。
3.指令集
ARM7可以使用ARM和Thumb两种指令集,而 Cortex-M3只支持最新的 Thumb-2指令集。这样设计的优势在于:
- 免去 Thumb和ARM代码的互相切换,对于早期的处理器来说,这种状态切换会降低性能。
- Thumb-2指令集的设计是专门面向C语言的,且包括If/Then结构(预测接下来的四条语句的条件执行)、硬件除法以及本地位域操作。
- Thumb-2指令集允许用户在C代码层面维护和修改应用程序,C代码部分非常易于重用。
- Thumb-2指令集也包含了调用汇编代码的功能:Luminary公司认为没有必要使用任何汇编语言。
- 综合以上这些优势,新产品的开发将更易于实现,上市时间也大为缩短。
|