嵌入式系统设计大学教程3 基于ARM的处理器体系结构.ppt

嵌入式系统设计大学教程3 基于ARM的处理器体系结构.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.2.4ARM微处理器的寄存器组织 1.ARM状态下的寄存器组织 (1)通用寄存器 :通用寄存器包括R0~R15,可以分为三类: 未分组寄存器R0~R7 分组寄存器R8~R14 程序计数器PC(R15) ARM状态下的寄存器组织 3.2.4ARM微处理器的寄存器组织 3.2.4ARM微处理器的寄存器组织 1.ARM状态下的寄存器组织 (2)状态寄存器 : 当前程序状态寄存器(Current Program Status Register,CPSR) 程序状态寄存器( Saved Program Status Register,SPSR ) 程序状态寄存器格式 3.2.4ARM微处理器的寄存器组织 2. Thumb状态下的寄存器组织 Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7~R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。 3.2.4ARM微处理器的寄存器组织 Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系 3.2.4ARM微处理器的寄存器组织 3.Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系: Thumb状态下和ARM状态下的R0~R7是相同的; Thumb状态下的SP对应于ARM状态下的R13; Thumb状态下的LR对应于ARM状态下的R14; Thumb状态下的程序计数器对应于ARM状态下R15; Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的 3.2.4ARM微处理器的寄存器组织 3.2.4ARM微处理器的寄存器组织 4.访问Thumb状态下的高位寄存器 在Thumb状态下,高位寄存器R8~R15并不是标准寄存器集的一部分,但可使用汇编语言程序受限制地访问这些寄存器,将其用作快速的暂存器。使用带特殊变量的MOV指令,数据可以在低位寄存器和高位寄存器之间进行传送。高位寄存器的值可以使用CMP和ADD指令进行比较或加上低位寄存器中的值。 3.2.1 ARM微处理器结构 3.2.2 ARM流水线 3.2.3 工作状态和运行模式 3.2.4 ARM微处理器的寄存器组织 3.2.5 ARM微处理器的存储器格式 3.2ARM体系结构 3.2.5ARM微处理器的存储器格式 ARM体系结构可以用两种方法存储字数据 大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。 3.2.5ARM的存储器格式 ARM体系结构可以用两种方法存储字数据 小端格式: 与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。 主要内容 3.1 ARM微处理器概述 3.2 ARM体系结构 3.3 ARM异常处理 3.4 ARM编程方法 3.3ARM的异常处理 3.3.1 ARM体系结构支持的异常类型 3.3.2 各类异常的具体描述 3.3.3 对异常的响应 3.3.4 从异常返回 3.3.5 异常的进入/退出 3.3.1ARM体系结构支持的异常类型 当正常的程序执行流程发生暂时的停止时,称之为异常 。 在处理异常之前,当前处理器的状态必须保留 处理器允许多个异常同时发生,它们将会按固定的优先级进行处理 异常与中断的概念并不完全等同 3.3.1ARM体系结构支持的异常类型 3.3.1 ARM体系结构所支持的异常类型 在ARM体系结构中,异常中断用来处理软件中断、未定义指令陷阱(不是真正的“意外”事件)、系统复位功能(在逻辑上发生在程序执行前而不是程序执行中)和外部事件。这些“不正常”事件都被划归“异常”,因为在处理器的控制机制中,它们都使用同样的流程进行异常处理。 3.3.1ARM体系结构支持的异常类型 ARM异常按引起异常事件的不同可分为以下3类 : 指令执行引起的直接异常 指令执行引起的间接异常 外部产生的与指令流无关的异常 异常类型 具体含义 复位 (RESET) 当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行。 未定义指令 (UDEF) 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可使用该异常机制进行软件仿真。 软件中断 (SWI) 该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用。 指令预取中止 (PABT) 若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。 数据中止 (DABT) 若处理器数据访问指令的地址不存在,或该地址不允许当

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档