ARM的编程模式和7种工作模式

1 ARM的基本设定

  • ARM 采用的是32位架构(S5PV210)。
      
  • ARM 约定:

    • Byte : 8 bits
    • Halfword :16 bits (2 byte)
    • Word : 32 bits (4 byte)
        
  • 大部分ARM core 提供:

    • ARM 指令集(32-bit)
    • Thumb 指令集(16-bit )
    • Thumb2指令集(16 & 32bit)
        
  • Jazelle cores 支持 Java bytecode

2 ARM处理器的工作模式

ARM 有7个基本工作模式:

  • User : 非特权模式,大部分任务执行在这种模式
      
  • FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式
  • IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式
  • Supervisor :当复位或软中断指令执行时将会进入这种模式管理模式
  • Abort : 当存取异常时将会进入这种模式
  • Undef : 当执行未定义指令时会进入这种模式
      
  • System : 使用和User模式相同寄存器集的特权模式
      

注意

除User(用户模式)是Normal(普通模式)外,其他6种都是Privilege(特权模式)。Privilege中除Sys模式外,其余5种为异常模式。各种模式的切换,可以是程序员通过代码主动切换(通过写CPSR寄存器);也可以是CPU在某些情况下自动切换。各种模式下权限和可以访问的寄存器不同。
  
  
CPU为什么设计这些模式?
  
CPU是硬件,OS是软件,软件的设计要依赖硬件的特性,硬件的设计要考虑软件需要,便于实现软件特性。
  
操作系统有安全级别要求,因此CPU设计多种模式是为了方便操作系统的多种角色安全等级需要。

你可能感兴趣的:(汇编语言,--------【ARM汇编】)