[工学]第2章 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文档。上传文档
查看更多
[工学]第2章 ARM体系结构及编程模型

程序状态寄存器的条件码标志 N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行 在ARM状态下,绝大多数的指令都是有条件执行的。 在Thumb状态下,仅有分支指令是有条件执行的。 ARM微处理器的工作状态 影响标志位的指令 标志位 含 义 N 当用两个补码表示的带符号数进行运算时,N=1 表示运算的结果为负数;N=0 表示运算的结果为正数或零; Z Z=1 表示运算的结果为零;Z=0表示运算的结果为非零; C 加法运算结果进位时,C=1,减法运算借位时,C=0; 移位操作的非加/减运算指令,C为移出的最后一位; 其他的非加/减运算指令,C的值通常不改变。 V 加/减法运算指令,V=1表示符号位溢出。 对于其他的非加/减运算指令,C的值通常不改变。 Q 在ARM v5及以上版本的E系列处理器中,Q标志指示DSP运算指令是否溢出。在其他版本中,Q标志位无定义。 ARM微处理器的工作状态 程序状态寄存器的控制位 状态寄存器的低8位(I、F、T和M[4:0])称为控制位,发生异常时这些位可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。 中断禁止位I、F: I=1 禁止IRQ中断; F=1 禁止FIQ中断。 T标志位:该位反映处理器的运行状态 ARM体系结构v5及以上的版本的T系列处理器,当该位为1时,程序运行于Thumb状态,否则运行于ARM状态。 ARM体系结构v5及以上的版本的非T系列处理器,当该位为1时,执行下一条指令以引起为定义的指令异常;当该位为0时,表示运行于ARM状态。 运行模式位M[4:0]是模式位,决定处理器的运行模式 ARM微处理器的工作状态 处理器运行模式及可以访问的寄存器 M[4:0] 处理器模式 可访问的寄存器 0b10000 用户模式 PC,CPSR,R0-R14 0b10001 FIQ模式 PC,CPSR, SPSR_fiq,R14_fiq-R8_fiq, R7~R0 0b10010 IRQ模式 PC,CPSR, SPSR_irq,R14_irq, R13_irq, R12~R0 0b10011 管理模式 PC,CPSR, SPSR_svc,R14_svc, R13_svc, R12~R0, 0b10111 中止模式 PC,CPSR, SPSR_abt,R14_abt,R13_abt, R12~R0, 0b11011 未定义模式 PC,CPSR, SPSR_und,R14_und, R13_und, R12~R0, 0b11111 系统模式 PC,CPSR(ARM v4及以上版本), R14~R0 ARM微处理器的寄存器格式 * 若异常是从ARM状态进入,LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关); 若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。 例如:在软件中断异常SWI,指令 MOV PC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。 * 处理器模式 ARM微处理器的工作模式 usr:ARM处理器正常的程序执行状态 fiq:用于高速数据传输或通道处理 irq:用于通用的中断处理 svc:操作系统使用的保护模式 abt:用于虚拟存储及存储保护 sys:运行具有特权的操作系统任务 und:当出现未定义指令终止时进入该模式 用户模式和特权模式 ARM微处理器的工作模式 除了用户模式之外的其他6种处理器模式称为特权模式 特权模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。 特权模式中,除系统模式外,其他5种模式又称为异常模式 大多数的用户程序运行在用户模式下,此时,应用程序不能够访问一些受操作系统保护的系统资源,应用程序也不能直接进行处理器模式的切换。 用户模式下,当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行处理器模式的切换。 模式切换 ARM微处理器的工作模式 处理器模式可以通过软件进行切换,也可以通过外部中断或者异常处理过程进行切换。 当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式下都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的寄存器不被破坏。 系统模式并不是通过异常进入的,它和用户模式具有完全一样的寄存器。但是系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换。它主要供操作系统任务使用。通常操作系统的任务需要访问所有的系统资源,同时该任务仍然使用用户模式的寄

文档评论(0)

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

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

1亿VIP精品文档

相关文档