ARM9系列处理器—嵌入式处理器
扫描二维码
随时随地手机看文章
arm9系列处理器是英国arm公司设计的主流嵌入式处理器,主要包括arm9tdmi和arm9e-s等系列。 新一代的arm9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于arm7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。 1 时钟频率的提高 arm7处理器采用3级流水线,而arm9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,arm9tdmi处理器的时钟频率是arm7tdmi的1.8~2.2倍。 2 指令周期的改进 指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。 2.1 loads 指令矛n stores指令 指令周期数的改进最明显的是loads指令和stores指令。从arm7到arm9这两条指令的执行时间减少了30%。指令周期的减少是由于arm7和arm9两种处理器内的两个基本的微处理结构不同所造成的。 (1)arm9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。这叫作改进型哈佛结构。而arm7只有数据存储器接口,它同时用来取指令和数据访问。 (2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。 以上两点实现了一个周期完成loads指令和stores指令。 2.2 互锁(interlocks)技术 当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。 2.3 分枝指令 arm9和arm7的分枝指令周期是相同的。而且arm9tdmi和arm9e-s并没有对分枝指令进行预测处理。 3 arm9结构及特点 以arm9e-s为例介绍arm9处理器的主要结构及其特点。arm9e-s的结构如图4所示。其主要特点如下: (1)32bit定点risc处理器,改进型arm/thumb代码交织,增强性乘法器设计。支持实时(real-time)调试; (2)片内指令和数据sram,而且指令和数据的存储器容量可调; (3)片内指令和数据高速缓冲器(cache)容量从4k字节到1m字节; (4)设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护; (5)采用amba ahb总线接口,为外设提供统一的地址和数据总线; (6)支持外部协处理器,指令和数据总线有简单的握手信令支持; (7)支持标准基本逻辑单元扫描测试方法学,而且支持bist(built-in-self-test); (8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。 4 arm9的典型应用 ti公司的omap730是最新的无线通信基带信号处理器。该处理器是ti的gprs class 12通信模块与专用于应用处理的arm926通用处理器(gpp)的集成。由于gpp的速度可达200mhz,因此omap730具有两倍于上一代omap710处理器的应用处理性能。如同所有的omap处理器一样,omap730可支持领先的移动操作系统,其中包括microsoft的智能电话与pocket pc phoneedition、svmbian os与series 60、palm os以及linux。 欢迎转载