ARM9体系结构,ARM9内部资源,ARM9内部结构教程

ARM9体系结构,ARM9内部资源,ARM9内部结构教程

ID:36432834

大小:1.10 MB

页数:108页

时间:2019-05-09

ARM9体系结构,ARM9内部资源,ARM9内部结构教程_第1页
ARM9体系结构,ARM9内部资源,ARM9内部结构教程_第2页
ARM9体系结构,ARM9内部资源,ARM9内部结构教程_第3页
ARM9体系结构,ARM9内部资源,ARM9内部结构教程_第4页
ARM9体系结构,ARM9内部资源,ARM9内部结构教程_第5页
资源描述:

《ARM9体系结构,ARM9内部资源,ARM9内部结构教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章ARM体系结构硅谷芯微技术贡献网址:www.threeway.cc本章中,将着眼于ARM9内核、处理器状态与模式、内部寄存器、程序状态寄存器、异常、中断及其向量表和存储系统的学习,这是成为一个应用工程师必备的基础。本章中程序范例除非特别声明,否则处理器均处于ARM状态,执行字方式的ARM指令。第2章目录1.ARM9TDMI2.ARM的模块、内核和功能框图3.ARM处理器状态4.ARM处理器模式5.ARM内部寄存器6.当前程序状态寄存器7.ARM体系的异常、中断及向量表8.ARM体系的存储系统9.课后练习2.1ARM9TDMIARM9TDMI是基于ARM体系结构v4版本的高端

2、ARM核(注意:核并非芯片,ARM核与其他部件(如RAM、ROM、片内外设)组合在一起才构成现实的芯片)。ARM9TDMI是从ARM7核发展而来的。ARM9TDMI后缀的涵义如下:■T:支持高密度Thumb指令集扩展;■D:支持片上调试;■M:支持64位乘法指令;■I:带EmbeddedICE硬件仿真功能模块。ARM9TDMI-S是ARM9TDMI的可综合(synthesizable)版本(软核),对应用工程师来说,除非芯片生产厂商对ARM9TDMI-S进行了裁剪,否则在逻辑上ARM9TDMI-S与ARM9IDMI没有太大区别,其编程模型与ARM7TDMI一致。2.1.1存储器的

3、字与半字(1)ARM处理器使用了冯·诺依曼(vonNeumann)结构,提供单一的主存接口。比如ARM7处理器就是标准的冯·诺依曼(vonNeumann)结构。而ARM9处理器的CPU/MMU/CACHE系统是指令和数据分开的,不过通常也还是提供单一的主存接口,因此ARM9处理器也可以看成是哈佛(Harvard)结构。从大的方面讲,无论哪种ARM处理器结构,都可以看成是是冯·诺依曼(vonNeumann)结构,指令和数据共用一条32位总线,因此只有装载、存储和交换指令可以对存储器中的数据进行访问。ARM处理器直接支持8位字节、16位半字或者32位字的数据类型。其中,以能被4整除的

4、地址开始连续的4个字节构成1个字,字的数据类型为4个连续的字节。从偶数地址开始连续的2个字节构成一个半字,半字的数据类型为2个连续的字节。ARM指令的长度刚好是1个字,Thumb指令的长度刚好是一个半字。2.1.1存储器的字与半字(2)如果一个数据是以字方式存储的,那么它就是字对齐的,否则就是非字对齐的。如果一个数据是以半字方式存储的,那么它就是半字对齐的,否则就是非半字对齐的,半字与字对齐的实际情况见表2.1。表2.1半字与字对齐2.1.1存储器的字与半字(3)注意:ARM处理器直接支持对齐的半字或字数据的存取,也就是可以使用一条相应的指令来实现对应操作(详见第三章)。如果访问

5、非对齐的半字或字数据,将需要多条指令组合才能实现对应的操作,这对程序的执行效率影响较大。因此,在C语言编程中,定义的多字节变量或结构体,最好使其为对齐存放。2.1.25级流水线(1)ARM处理器使用流水线来增加处理指令流的速度,这样可使几个操作同时进行,并使处理和存储器之间的操作更加流畅、连续,能提供1.1MIPS/MHz的指令执行速度。相比ARM7(3级流水线),ARM9增加了2个功能部件分别访问存储器并写回结果,且将读寄存器的操作转移到译码部件上,使流水线各部件在功能上更平衡。5级流水线如图2.1所示(其中PC为程序计数器),流水线使用5个阶段,因此指令分为5个阶段执行。■取

6、指:从存储器装载一条指令;■译码:识别将要被执行的指令;■执行:处理指令,产生ALU运算结果或产生存储器地址(对于存储器访问指令来讲);■访存:访问数据存储器;■回写:将执行结果写回寄存器。2.1.25级流水线(2)图2.1ARM9的5级指令流水线2.1.25级流水线(3)在传统的80C51单片机中,处理器只有完成一条指令的读取和执行后,才会开始下一条指令的处理所以PC总是指向正在“执行”的指令。而ARM9处理器采用5级流水线,具有5个工位,将指令的处理分为5个阶段,分别是取指、译码、执行、访存和回写。因此ARM“正在执行”第3条指令的同时对第4条指令进行译码,将第5条指令从存储

7、器中取出,对第2条指令完成访存操作,对第1条指令完成回写操作。那么一条ARM9流水线只有在取第6条指令的时,第一条指令才算完成执行。也就是说,在流水线中同时存在5条指令,它们分别处于不同的处理阶段。下面用图2.2来进一步阐述5级流水线的处理机制,这样更加形象和具体。该图反映了处理器处于第三个周期时的PC指向。在执行“指令1”的同时对“指令2”进行译码,并将“指令3”从存储器中取出。也就是说当“指令1”2.1.25级流水线(4)完成执行时,才开始对“指令4”的取指处理。由此可见,与

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

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

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