- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02J第2章ARM体系结构.ppt
ARM 嵌入式系统第2章 ARM体系结构 ARM微处理器的编程模型 ARM微处理器的工作状态 ARM体系结构的存储器格式 ARM体系结构的指令长度及数据宽度 ARM微处理器的处理器模式 ARM体系结构的寄存器组织 ARM微处理器的异常状态 字、半字、字节 字(Word) 在ARM体系结构中,字的长度为32位 半字(Half-Word) 在ARM体系结构中,半字的长度为16位 字节(Byte) 在ARM体系结构中,字节的长度为8位。 字对齐:四字节对齐 半字对齐:两字节对齐 ARM微处理器的工作状态(1) 两种状态: ARM状态:处理器执行32位的字对齐的ARM指令 Thumb状态:处理器执行16位的、半字对齐的Thumb指令 处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。 ARM微处理器的工作状态(2) ARM体系结构的存储器格式(1) ARM体系结构的存储器格式(2) (0H)=0123H (4H)=4567H (8H)=89ABH ARM体系结构的存储器格式(3) ARM体系结构的指令长度及数据宽度 指令长度: 32位(在ARM状态下) 16位(在Thumb状态下) 数据宽度: 字节(8位) 半字(16位) 字(32位) 三种数据宽度对存储器及外部设备的访问。 其中,字数据需要按4字节对齐(地址的低两位为0)、半字数据需要按2字节对齐(地址的最低位为0)。 ARM微处理器的处理器模式(1) 7种处理器模式: 用户模式(usr): 用户应用程序 系统模式(sys): 特权模式 快速中断模式(fiq):用于快速数据传输 中断模式(irq): 通用的中断处理 管理模式(svc): 操作系统使用的保护模式 终止模式(abt): 数据访问中止或指令预取中止 未定义指令模式(und):未定义的指令执行时 管理模式(svc)是系统复位后的默认模式 特权模式(Privileged Modes) 异常模式(Exception Modes) ARM微处理器的处理器模式(2) ARM微处理器的运行模式可以通过软件改变(特权模式),也可以通过外部中断或异常处理改变。 大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。也不能改变模式。除非异常发生。 特权模式可以自由地访问系统资源和改变模式。 ARM体系结构的寄存器组织(1) 37个32位的寄存器: 31个通用寄存器 未分组寄存器(Unbanked Register):R0~R7 分组寄存器(Banked Register):R8~R14 程序计数器R15(PC指针) 6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,目前只使用了其中的一部分 在每一种处理器模式下均有一组相应的寄存器与之对应。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器 ARM状态下的寄存器组织(2) ARM状态下的寄存器组织(3) 未分组寄存器(Unbanked Register)R0~R7 同一个寄存器名,在ARM微处理器内部只有一个独立的物理寄存器与之对应。 在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途。 在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引起注意。 ARM状态下的寄存器组织(4) ARM状态下的寄存器组织(5) ARM状态下的寄存器组织(6) Example: Call Subroutine Example: User to FIQ mode ARM状态下的寄存器组织(7) ARM状态下的寄存器组织(8) ARM状态下的寄存器组织(9) ARM状态下的寄存器组织(10) ARM状态下的寄存器组织(11) ARM状态下的寄存器组织(12) ARM状态下的寄存器组织(13) ARM状态下的寄存器组织(14) ARM状态下的寄存器组织(15) ARM微处理器的异常状态(1) 异常(Exception) 当正常的程序执行流程发生改变时,称之为异常。 异常类型 运行模式 复位 svc 未定义指令 und 软件中断 svc 指令预取中止 abt 数据中止 abt IRQ(外部中断请求) irq FIQ(快速中断请求) fiq ARM微处理器的异常状态(2) Example: User to FIQ mode ARM微处理器的异常状态(3) 对异常的响应 ARM
文档评论(0)