ch4ARM处理器编程模型与指令系统.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统设计大学教程 第四章 ARM处理器 编程模型与指令系统 主要内容 4.1 ARM微处理器的工作状态 4.2 ARM微处理器的运行模式 4.3 ARM体系结构的存储器格式 4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.1 ARM微处理器的工作状态 从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: ARM状态:此时处理器执行32位的字对齐的ARM指令 Thumb状态:此时处理器执行16位的、半字对齐的Thumb指令 4.1 ARM微处理器的工作状态 ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,但ARM微处理器在开始执行代码时,应该处于ARM状态 进入ARM状态:当操作数寄存器的状态位(位0)为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。 进入Thumb状态 :当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。 主要内容 4.1 ARM微处理器的工作状态 4.2 ARM微处理器的运行模式 4.3 ARM体系结构的存储器格式 4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.2 ARM微处理器的运行模式 ARM微处理器支持7种运行模式,分别为: 1.用户模式(usr):ARM处理器正常的程序执行状态; 2.快速中断模式(fiq):用于高速数据传输或通道处理; 3.外部中断模式(irq):用于通用的中断处理; 4.管理模式(supervisor):操作系统使用的保护模式; 5.数据访问终止模式(abort):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护; 6.系统模式(system):运行具有特权的操作系统任务; 7.未定义指令中止模式(undefined):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。 4.2 ARM微处理器的运行模式 除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes); 除用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。 主要内容 4.1 ARM微处理器的工作状态 4.2 ARM微处理器的运行模式 4.3 ARM体系结构的存储器格式 4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.3 ARM体系结构的存储器格式 ARM体系结构可以用两种方法存储字数据 大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 4.3 ARM体系结构的存储器格式 ARM体系结构可以用两种方法存储字数据 小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。 主要内容 4.1 ARM微处理器的工作状态 4.2 ARM微处理器的运行模式 4.3 ARM体系结构的存储器格式 4.4 寄存器组织 4.5 ARM的异常 4.6 ARM微处理器的指令系统基础 4.7 ARM指令的寻址方式 4.8 ARM指令集 4.9 Thumb指令及应用 4.4 寄存器组织 4.4.1 ARM状态下的寄存器组织 通用寄存器 :通用寄存器包括R0~R15,可以分为三类: 未分组寄存器R0~R7 分组寄存器R8~R14 程序计数器PC(R15) ARM状态下的寄存器组织 4.4 寄存器组织 4.4.1 ARM状态下的寄存器组织 状态寄存器 当前程序状态寄存器(Current Program Status Register,CPSR) 备份的程序状态寄存器(Saved Program Status Register,SPSR) 4.4 寄存器组织 程序状态寄存器格式 4.4 寄存器组织 4.4.2 Thumb状态下的寄存器组织 Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7~R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。 Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系 4.4 寄存器组织 Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档