ARM7与ARM9的区别及ARM体系结构.pdf

ARM7与ARM9的区别及ARM体系结构.pdf

ID:52737890

大小:535.46 KB

页数:41页

时间:2020-03-30

ARM7与ARM9的区别及ARM体系结构.pdf_第1页
ARM7与ARM9的区别及ARM体系结构.pdf_第2页
ARM7与ARM9的区别及ARM体系结构.pdf_第3页
ARM7与ARM9的区别及ARM体系结构.pdf_第4页
ARM7与ARM9的区别及ARM体系结构.pdf_第5页
资源描述:

《ARM7与ARM9的区别及ARM体系结构.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ARM7与ARM9的区别及ARM体系结构一、ARM7与ARM9的区别新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。1时钟频率的提高ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。2指令周期

2、的改进指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。2.1loads指令矛nstores指令指令周期数的改进最明显的是loads指令和stores指令。从ARM7到ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。这叫作改进型哈佛结构。而ARM7只有数据存储器接

3、口,它同时用来取指令和数据访问。(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。以上两点实现了一个周期完成loads指令和stores指令。2.2互锁(interlocks)技术当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。2.3分枝指令ARM9和ARM7的分枝指令周期

4、是相同的。而且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。3其它区别ARM7内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构;ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。arm7没有mmu,arm720T是MMU的;arm9是有mmu的,arm940T只有Memoryprotectionunit.不是一个完整的MMU。ARM7TDMI提供了非常好的性能-功耗比。它包含了THUMB指令集快速乘法指令和ICE调试技术的内核。ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线。A

5、RM9E从ARM7的3级流水线增加到了5级,ARM9E的流水线中容纳了更多的逻辑操作,但是每一级的逻辑操作却变得更为简单。比如原来ARM7的第三级流水,需要先内部读取寄存器、然后进行相关的逻辑和算术运算,接着处理结果回写,完成的动作非常复杂;而在ARM9E的5级流水中,寄存器读取、逻辑运算、结果回写分散在不同的流水当中,使得每一级流水处理的动作非常简洁。这就使得处理器的主频可以大幅度地提高。因为每一级流水都对应CPU的一个时钟周期,如果一级流水中的逻辑过于复杂,使得执行时间居高不下,必然导致所需的时钟周期变长,造成CPU的主频不能提升。所

6、以流水线的拉长,有利于CPU主频的提高。在常用的芯片生产工艺下,ARM7一般运行在100MHz左右,而ARM9E则至少在200MHz以上。像ARM926EJ和ARM946E这两个最常见的ARM9E处理器中,都带有一套存储器子系统,以提高系统性能和支持大型操作系统。一个存储器子系统包含一个MMU(存储器管理单元)或MPU(存储器保护单元)、高速缓存(Cache)和写缓冲(WriteBuffer);CPU通过该子系统与系统存储器系统相连。系统实时性考虑带MMU和Cache的系统在实时性上不如一些简单的处理器,一个简单的办法是在需要的时候关闭M

7、MU和Cache,这样就变成一个简单处理器了,可以马上提高系统实时性。当然很多情况下这不可行;在ARM的MMU和Cache设计中,有一个锁定的功能,就是说你可以指定某一块页表在MMU中不会被更新掉,某一段代码或数据可以在Cache中锁定而不会被刷新掉;程序员可以利用这个功能来支持那些实时性要求最高的代码,保证这些代码始终能够得到最快的响应和支持。系统软件优化在嵌入式系统开发中,很多系统软件优化的方法都是相同和通用的,多数情况下这种规则也适用于ARM9E架构上。最重要的是Cache的作用,Cache本身并不带来编程模型和接口的变化,但是如果

8、我们考察Cache的行为,就能够发现对于软件优化,Cache是有比较大的影响的。Cache在物理上就是一块高速SRAM,ARM9E的Cache组织宽度(cacheline)都是4个word(也

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。