ARM处理器的工作状态

一,ARM处理器的工作状态

       在ARM的体系结构中,可以工作在三种不同的状态,一是ARM状态,二是Thumb状态及Thumb-2状态,三是调试状态。

           1,ARM状态

    arm处理器工作于32位指令的状态,所有指令均为32


2,thumb状态

    arm执行16位指令的状态,即16位状


3,thumb-2状态

                              这个状态是ARM7版本的ARM处理器所具有的新的状态,新的thumb-2内核技术兼有16位及32位指令,实现了更高的性能,更有效的功耗及更少地占用内存。总的来说,感觉这个状态除了兼有arm和thumb的优点外,还在这两种状态上有所提升,优化。


         4,调试状态

                    处理器停机时进入调试状态。


          5,arm与thumb间的切

                  1,由arm状态切换到thumb

状态将寄存器的最低位设置为1

       BX指令:R0[0]=1,则执行BX R0指令将进入thumb状态

    2thumb状态切换到ARM状态

    寄存器最低位设置为0

        BX指令:R0[0]=0,则执行BX R0指令将进入arm状态

  

当处理器进行异常处理时,则从异常向量地址开始执行,将自动进入ARM状态。


        注意:ARM处理器复位后开始执行代码时总是只处于ARM状态;

                  Cortex-M3只有Thumb-2状态和调试状态;

                  由于Thumb-2具有16位/32位指令功能,因此有了thumb-2就无需Thumb了。

                  另外,具有Thumb-2技术的ARM处理器也无需再ARM状态和Thumb-2状态间进行切换了,因为thumb-2具有32位指令功能。



  总的说,arm状态与Thumb状态的本质区别就是指令的位数不同,arm是32位的指令状态,而thumb是16位 的指令状态,而thumb-2状态是arm状态和thumb状态的结合和优化。



      


  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水田如雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值