课时3-ARM编程模型.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文档。上传文档
查看更多
课时3-ARM编程模型

第三章 ARM编程模型 课程目的 掌握ARM工作模式 掌握ARM工作状态 掌握ARM寄存器组 课程内容 ARM数据类型 ARM体系结构的存储器格式 ARM微处理器的工作模式 ARM微处理器的工作状态 ARM体系结构的寄存器组织 ARM体系结构的异常中断 3.1 ARM数据类型 3.1 数据类型 字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。 字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。 (注:字必须与4字节的边界对准。) 半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。(注:半字必须与2字节的边界对准。) 3.2 ARM体系结构的存储器格式 3.2 ARM体系结构的存储器格式 ARM体系结构将存储器看作是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。 作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB(232字节)。 3.2 ARM体系结构的存储器格式 ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式。 大端格式(big-endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中 3.2 ARM体系结构的存储器格式 小端格式(low-endian):与大端存储格式相反。低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。 3.3 ARM微处理器的工作状态 3.3 ARM微处理器的工作状态 两种工作状态: ARM:处理器执行32位的字对齐的ARM指令 Thumb:处理器执行16位的半字对齐的Thumb指令 程序执行过程中,通过执行工作状态切换指令BX随时切换两种工作状态。并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容 ARM的体系结构 3.3 ARM微处理器的工作状态 进入Thumb状态 当操作数寄存器的状态位为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef等),则异常处理返回时,自动切换到Thumb状态 进入ARM状态 当操作数寄存器的状态位为0时,执行BX指令可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态 3.4 ARM微处理器的工作模式 3.4 ARM微处理器的工作模式 ARM 有7个基本工作模式 1、用户模式(usr):非特权模式,大部分任务执行在这种模式 正常程序执行的模式 2、快速中断模式(fiq):当一个高优先级(fast)中断产生时将会进入这种模式高速数据传输或通道处理 3、外部中断模式(irq):当一个低优先级(normal)中断产生时将会进入这种模式 通常的中断处理 3.4 ARM微处理器的工作模式 4、管理模式(svc):当复位或软中断指令执行时将会进入这种模式 供操作系统使用的一种保护模式 5、中止模式(abt): 当存取异常时将会进入这种模式 虚拟存储及存储保护 6、未定义模式(und): 当执行未定义指令时会进入这种模式 软件仿真硬件协处理器 7、系统模式(sys):供需要访问系统资源的操作系统任务使用 特权级的操作系统任务 3.4 ARM微处理器的工作模式 当处理器工作在usr模式时,正常执行的程序不能访问某些被保护的系统资源,也不能改变模式,除非异常发生。 除用户模式外的6种模式称为特权模式(fiq、irq、svc、abt、und和sys)。特权模式是为了服务中断,或访问保护的资源,它们可以自由地访问系统资源和改变模式。 其中, fiq、irq、svc、abt、und称为异常模式。当特定的异常出现时,进入相应的模式。 每种模式都有某些附加的寄存器,以避免异常出现时用户模式的状态不可靠。其中,sys模式与usr模式有完全相同的寄存器,但它是特权模式,并不受usr模式的限制。 3.5 ARM体系结构的寄存器组织 3.5 ARM体系结构的寄存器组织 ARM处理器总共有37个寄存器: 31个32位的通用寄存器; 6个状态寄存器。这些寄存器都是32位的,但只使用了其中的12位 每一组处理器模式都有一组相应的寄存器组; 在任意的处理器模式下,可见的寄存器包括15个通用寄存器(R0-R14)、1个或2个状态寄存器和程序寄存器。 ARM的体系结构 3.5.1 ARM状态下

文档评论(0)

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

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

1亿VIP精品文档

相关文档