- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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) 若处理器数据访问指令的地址不存在,或该地址不允许当
您可能关注的文档
最近下载
- 津津有味·读经典Level3《威尼斯商人》译文和答案.docx
- (正式版)G-B 5135.10-2006 自动喷水灭火系统 第10部分:压力开关.docx VIP
- 2023年胆总管结石的治疗指南.pptx
- GB 50788-2012 城镇给水排水技术规范.docx VIP
- (正式版)G-B 5135.6-2018 自动喷水灭火系统 第6部分:通用阀门.docx VIP
- 上海市六年级(下)数学同步讲义 第9讲 一元一次方程的应用.doc VIP
- (正式版)-B 5135.5-2018 自动喷水灭火系统 第5部分:雨淋报警阀.docx VIP
- 《烟草秸秆生物有机肥生产技术指南》编制说明.pdf VIP
- 安全风险隐患排查表(国家隐患排查导则版)(1).xlsx VIP
- DB34_T 3448-2019装卸软管定期检验规程.docx
文档评论(0)