ARM的工作模式和状态

ARM的两种工作状态:
       ARM状态:    32位的字对齐,运行ARM指令
       Thumb状态: 16位的半字对齐的Thumb指令
注: CPU在两种状态中切换时并不影响CPU的工作模式和相应的寄存器中的内容。

ARM的7种工作模式
       3种正常运行态:
           用户模式(User):大部分任务(比如用户应用程序)执行在这种模式。
           系统模式(System):运行操作系统的特权任务。
           管理模式(Supervisor):当复位或者软中断指令执行时将会进入这种模式。
       2种中断模式
           快速中断模式(FIQ--First Interrupt Request):当一个高优先级中断(FIQ)产生时会进入这种模式。
           外部中断模式(IRQ--Interrupt Request):当一个低优先级(Normal)中断产生时进入这种模式。
       注:FIQ和IRQ的区别--- FIQ模式必须尽快处理,处理结束后离开这个模式;IRQ模式可以被FIQ模式中断,但IRQ不能中断FIQ模式;为使FIQ模式响应更快,FIQ模式具有更多的影子(Shadow)寄存器(硬件自动完成相应寄存器的数据备份)。 ARM的FIQ模式提供了更多的banked寄存器,r8到r14还有SPSR,而IRQ模式就没有那么多,R8,R9,R10,R11,R12对应的banked的寄存器就没有,这就意味着在ARM的IRQ模式下, 中断处理程序自己要保存R8到R12这几个寄存器 ,然后退出中断处理时程序要恢复这几个寄存器,而FIQ模式由于这几个寄存器都有banked寄存器, 模式切换时CPU自动保存 这些值到banked寄存器,退出FIQ模式时自动恢复,所以这个过程FIQ比IRQ快。
      2种异常模式
          数据访问终止模式(Abort):当数据或指令预取终止时进入这种模式。
          未定义指令终止模式(Undef):当执行未定义指令时进入这种模式。
对于Cortex A系列的ARM处理器来说,还有一种特有的Minitor模式:
      1种特有模式:
           Monitor模式:是为了安全而扩展出的用于执行安全监控代码的模式,也是一种他特权模式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值