我想知道ARM7和RM9的区别在那里?

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:30:32
我刚刚开始学ARM,有很多地方都不懂,欢迎大虾们指导,谢谢!

系列处理器是英国ARM公司设计的主流嵌入式处理器
ARM7内核是0.9MIPS/MHz的三级流水线和冯•诺伊曼结构;
ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。
ARM7没有MMU,ARM720T是MMU的 ,ARM9主要包括ARM9TDMI和ARM9E-S等系列ARM9是有MMU的,ARM940T只有Memory protection unit.不是一个完整的MMU。
ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线, ARM7处理器采用3级流水线,而ARM9采用5级流水线, 5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。指令周期的改进,
指令周期的改进:
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并没有对分枝指令进行预测处理。
ARM9结构及特点
以ARM9