中断体系结构

来源:互联网 发布:看门狗mac版 编辑:程序博客网 时间:2024/06/05 16:52

一、arm中断体系结构


ARM920T体系的CPU有以下7种工作模式:

  • 用户模式:ARM处理器正常的程序执行状态。
  • 快速中断模式:用于高速数据传输或通道处理。
  • 中断模式:用于通用的中断处理。
  • 管理模式:操作系统使用的保护模式。
  • 数据访问终止模式:当数据或指令预取终止时进入该模式,可用于虚拟机存储及存储保护。
  • 系统模式:运行具有特权的操作系统任务。
  • 未定义指令终止模式:当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。


上图中R0-R15可以直接访问,这些寄存器中除R15外都是通用寄存器,即他们既可以用于保存数据也可以用于保存地址。另外,R13-R15稍有特殊。R13又被称为栈指针寄存器,通常被用于保存栈指针。R14又被称为程序连接寄存器或连接寄存器,当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。而当发生中断或异常时,对应的R14_svc,R14_irq,R14_fiq,R14_abt或R14_und中保存R15返回值。R15是程序计数器。

    快速中断模式有7个备份寄存器R8-R14(即R8_fiq-R14_fiq),这使得进入快速中断模式执行很大部分程序时(只要它们不改变R0-R7),甚至不需要保存任何寄存器。用户模式,管理模式,数据访问终止模式和未定义指令终止模式都含有两个独立的寄存器副本R13,R14,这样可以令每个模式拥有自己的栈指针寄存器和连接寄存器。
    每个工作模式除R0-R15共16个寄存器外,还有第17个寄存器CPSR,即“当前程序状态寄存器”(Current Program Status Register)。CPSR中一些位被用于标示各种状态,一些位被用于标示当前处于什么工作模式。
CPSR中各位意义如下:




0 0
原创粉丝点击