ARM7 内核是0.9MIPS/MHz 的三级流水线和冯·诺伊曼结构; ARM9 内核是5 级流水线,提供1.1MIPS/MHz 的哈佛结构。 arm7 没有mmu,arm720T 是MMU 的;arm9 是有mmu 的,arm940T 只有Memory protection unit.不是一个完整的MMU。 ARM7TDMI 提供了非常好的性能-功耗比。它包含了THUMB 指令集快速乘法指令和ICE调试技术的内核。ARM9 的时钟频率比ARM7 更高,采用哈佛结构区分了数据总线和指令总线。 ARM9 与ARM7 的比较及优化 目前越来越多的嵌入式系统设计开始采用ARM9 处理器。理解ARM9 与ARM7 的差别,以及如何针对ARM9 进行系统优化,成为了一个令人关注的话题。本文通过对ARM9 处理器的特点介绍,介绍针对ARM9 处理器进行系统优化的一些有效方法。 随着更多应用在嵌入式系统中的实现,嵌入式系统设计向着更高级、更复杂的方向发展。作为32 位结构体系中的翘楚,ARM 在各种应用领域里得到了极其广泛的应用,成为目前国内电子设计领域里面的焦点之一(2005 年一项针对国内嵌入式系统开发者的调查表明,有63%的工程师把 ARM作为32 位 CPU 的首选)。过去几年里,绝大部分ARM 系统都是基于 ARM7 处理器,最近一年里,基于 ARM9 处理器的产品越来越多,研究 ARM9 的特点以及如何优化从 ARM7 到 ARM9 的移植,成为很多嵌入式系统设计者所关注的热点问题。 我们惯称的ARM9 系列中又存在ARM9 与ARM9E 两个系列,其中ARM9 属于 ARM v4T 架构,典型处理器如ARM9TDMI 和ARM922T;而 ARM9E 属于 ARM v5TE 架构,典型处理器如ARM926EJ 和ARM946E。因为后者的芯片数量和应用更为广泛,所以我们提到 ARM9 的时候更多地是特指ARM9E 系列处理器(主要就是ARM926EJ 和ARM946E 这两款处理器)。下面关于 ARM9的介绍也是更多地集中于 ARM9E。 ARM7 处理器和ARM9E 处理器的流水线差别 对嵌入式系统设计者来说,硬件通常是第一考虑的因素。针对处理器来说,流水线则是硬件差别的最明显标志,不同的流水线设计会产生一系列硬件差异。让我们来比较一下ARM7和ARM9E的流水线,如图 1。 可以看到 ARM9E 从 ARM7 的3 级流水线增加到了5 级,ARM9E 的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。比如原来 ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E 的5 级流水中,寄存器读取、逻辑运算...