ARM9体系结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二、模式分类及特点 七种模式可以划分成四类 1、用户模式特点: 应用程序不能够访问受操作系统保护的系统资源。 应用程序不能进行处理器模式的切换。 2、系统模式特点: 不属于异常模式,不是通过异常进入的。系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行模式的切换。它主要供操作系统使用。 3、特权模式及其特点: 特权模式:除用户模式之外的工作模式又称为特权模式 特点: 应用程序可以访问所有的系统资源 可以任意地进行处理器模式的切换 4、异常模式及其特点: 异常模式: 除用户模式、系统模式之外的五种模式称为异常模式。 特点:以各自的中断或异常方式进入,并且处理各自的中断或异常。对管理模式 (svc)进入方式和处理内容有: ①系统上电复位后进入管理模式,运行系统初始化程序,如中断允许/禁止,主时钟设置,SDRAM配置,各个功能模块初始化等。 ②当执行软件中断指令SWI时,进入管理模式。 处理器模式的切换方式: 软件控制进行切换。 通过外部中断和异常进行切换 处理器启动时的模式转换图 管理模式 (Supervisor) 多种特权 模式变化 用户程序的 运行模式 复位后的缺省模式 主要完成各模式的堆栈设置,注意不要进入用户模式 一般为用户模式User 本节主要内容 1、ARM寄存器概述 2、ARM通用寄存器 3、ARM状态寄存器 2.5.1、ARM寄存器概述 ARM处理器v4及以上版本有37个32位的寄存器 其中31个为通用寄存器;6个为状态寄存器。 31个通用寄存器 R0~R15; R13_svc、R14_svc; R13_abt、R14_abt; R13_und、R14_und; R13_irq、R14_irq; R8_fiq-R14_fiq 6 个状态寄存器 CPSR SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq和SPSR_fiq 每一类处理器模式都有一组相应的寄存器组; 在任意的处理器模式下,可见的寄存器包括15个通用寄存器(R0-R14)、1个或2个状态寄存器和程序寄存器。 带灰色底纹的单元格表示,用户模式或系统模式使用的一般寄存器,已被异常模式特定的另一寄存器所替代。 User/sys FIQ Svc Abt IRQ Und 2.5.2 ARM的通用寄存器 通用寄存器包括R0~R15,可以分为三类: ─ 未分组寄存器R0~R7 ─ 分组寄存器R8~R14 ─ 程序计数器PC(R15) 一、未分组寄存器R0~R7 在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途,是真正的通用寄存器。 因此,在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄存器中数据的破坏,这一点在进行程序设计时应引起注意。 二、分组的寄存器R8~R14 对于R8~R12,每一次所访问的物理寄存器,与处理器当前的工作模式有关。 1、R8~R12 当处理器工作于fiq模式时,访问的寄存器为R8_fiq~R12_fiq; 除fiq模式以外的其他模式,访问的寄存器为R8_usr~R12_usr。 2、R13和R14: 每个寄存器对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理寄存器,对应于其他5种不同的异常模式。 采用以下的记号来区分不同的物理寄存器: R13_mode R14_mode 其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。 R13:寄存器R13在ARM指令中常用作堆栈指针SP。但这只是一种习惯用法,用户也可使用其他的寄存器作为堆栈指针。而在Thumb指令集中,某些指令强制性的要求使用R13作为堆栈指针。 R14:寄存器R14也称作子程序链接寄存器(Subroutine Link Register)或链接寄存器LR。 当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。 与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值。 三、程序计数器PC(R15) 寄存器R15用作程序计数器(PC)。 在ARM状态下,位[1:0]为0,位[31:2]用于保存PC;在Thumb状态下,位[0]为0,位[31:1]用于保存PC; 使用R15时注意:虽然R15可以用作通用寄

文档评论(0)

ffpg + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档