ARM处理器模式

ARM处理器共有7种运行模式:

  1. l  用户模式(User,usr):正常程序执行的模式
  2. l  快速中断模式(FIQ,fiq):用于高速数据传输和通道处理
  3. l  外部中断模式(IRQ,irq):用于通常的中断处理
  4. l  特权模式(Supervisor,sve):供操作系统使用的一种保护模式
  5. l  数据访问中止模式(Abort,abt):用于虚拟存储及存储保护
  6. l  未定义指令中止模式(Undefined,und):用于支持通过软件仿真硬件的协处理器
  7. l  系统模式(System,sys):用于运行特权级的操作系统任务

  • 除了用户模式之外的其他6种处理器模式称为特权模式(Privileged Modes)。在这些模式下,程序可以访问所有的系统资源,也可以任意地进行处理器模式的切换。其中,除了系统模式外,其他5种特权模式又称为异常模式。
  • 处理器模式可以通过软件控制进行切换,也可以通过外部中断或异常处理过程进行切换。大多数的用户程序运行在用户模式下。这时,应用程序不能访问一些受操作系统保护的系统资源。应用程序也不能直接进行处理器模式的切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理过程中进行处理器模式的切换。这种体系结构可以使操作系统控制整个系统的资源。
  • 当应用程序发生异常中断时,处理器进行相应的异常模式。在每一种异常模式中都有一组寄存器,供相应的异常处理程序使用,这样就可以保证在进入异常模式时,用户模式下的寄存器(保存了程序运行状态)不被破坏。
  • 系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器。但是系统模式属于特权模式,可以访问所有的系统资源,也可以直接进行处理器模式切换。它主要供操作系统任务使用。通常操作系统的任务需要访问所有的系统资源,同时该任务仍然使用用户模式的寄存器组,而不是使用异常模式下相应的寄存器组,这样可以保证当异常中断发生时任务状态不被破坏。
  • ARM处理器7种不同的处理器模式,每一种处理器模式中有一组相应的寄存器组。任意时刻(也就是任意的处理器模式下),可见的寄存器包括15个通用寄存器(R0~R14)、一个或两个状态寄存器(异常模式下有两个,CPSR和SPSR)及程序计数器(PC)。在所有的寄存器中,有些是各模式共用的同一个物理寄存器,有一些寄存器是各模式下自己拥有的独立的物理寄存器。在异常模式下,最多可以使用到的寄存器为18个(15+2+1)。

各种处理器模式下的寄存器:

每种异常模式有相应的独立的R13、R14和SPSR。

时间: 2024-08-03 20:51:00

ARM处理器模式的相关文章

ARM处理器工作模式

++++++++++++++++++++++++++++++++++++++++++ 本文转载自mr_raptor的专栏,感谢mr_raptor大神. http://blog.csdn.net/mr_raptor/article/details/6556157 ++++++++++++++++++++++++++++++++++++++++++ 1.1 ARM处理器工作模式 CPU的模式可以简单的理解为当前CPU的工作状态,比如:当前操作系统正在执行用户程序,那么当前CPU工作在用户模式,这时网

ARM处理器的7种处理器模式

ARM处理器和51单片机不同,arm处理器有不同的模式,而单片机只有一种模式,这也说明了arm处理器的功能要比51单片机的功能要强大的多. arm处理器的7种模式分别是: 用户模式(usr).系统模式(sys).快速中断模式(fiq).中断模式(irq).中止模式(abt).未定义指令模式(und).管理模式(svc) 上述的7中处理器模式中,还可分类为特权模式,异常模式. 特权模式:除了用户模式之外的所有模式都是特权模式.在其他模式下都可以修改模式位来切换至不同的模式,而用户模式下不允许修改模

7.ARM处理器的工作模式

7.ARM处理器的工作模式 ARM七种工作模式:图1-1: 图1-1 上面的七种工作模式可以在cpsr设置:如下的M[4:0]=Mode number. 图1-2 之所以要有这么多种模式,是为了避免致命的错误.例如我们写的应用程序运行在User模式,操作系统的运作在比较高的模式. User模式:普通程序运行的模式. FIQ:快速中断运行的模式 RIQ:普通中断运行的模式 Supervisor:特权模式 Abort:访问内存异常等 Undefined:未定义模式,数据未定义. System:系统模

[国嵌笔记][021-022][ARM处理器工作模式]

[ARM处理器工作模式] 处理器工作模式 1.User(urs):用户模式,linux应用程序运行在用户模式 2.FIQ(fiq):快速中断模式 3.IRQ(irq):中断模式 4.Supervisor(svc):系统保护模式,linux内核运行在系统保护模式 5.Abort(abt):异常模式 6.Undefined(und):未定义指令模式 7.System(sys):系统模式 [ARM寄存器详解] ARM寄存器(37个) 通用寄存器(31个) 1.未分组通用寄存器(R0-R7) 2.分组通

ARM处理器的寄存器,ARM与Thumb状态,7中运行模式

** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 分类: 嵌入式 ARM处理器工作模式一共有 7 种 : USR  模式    正常用户模式,程序正常执行模式 FIQ模式(Fast Interrupt Request)     处理快速中断,支持高速数据传送或通道处理 IRQ模式     处理普通中断 SVC模式(Supervisor)     操作系统保护模式,处理软件中断swi  reset ABT  中止(Abort mode){数据.指令}    处理存储器故障.实现虚拟

ARM处理器的9种模式详解

ARM的处理器模式分几种要看是ARM的哪个系列,但是以现在的系列来说,有九种模式,这九种模式就是CPU在运算的时候,本来在读程序,突然系统发生异常,比如说蓝屏,这个时候操作系统肯定有相关的处理,同时我们也需要CPU一些信号,那么我们就可以通话CPU的切换来进行处理,这样实际上是在最低级别上考虑到的方式来完成了安全控制和效率控制,还有节能控制,所以这就是我们为什么要模式切换的原因,它模式与模式之间相对而言是比较独立的. Cortex-A九种处理器模式 1,user模式:用户模式,大部分程序运行时候

【嵌入式开发】ARM 芯片简介 (ARM芯片类型 | ARM处理器工作模式 | ARM 寄存器 | ARM 寻址)

作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42375701 相关资源下载 :  -- 三星 ARM Architecture Reference Manual 文档 : http://download.csdn.net/detail/han1202012/8324641 一. ARM 芯片类型 1. ARM 分类 (1) ARM 分类类型(芯片 | 核 | 指令架构) ARM 分类 : -- ARM 芯片类型

学习总结之ARM处理器的运行模式及ARM寄存器

1 ARM处理器的运行模式 ? ARM处理器不同模式间的切换: 1 在特权级的运行模式下,可以通过修改程序状态寄存器CPSR的模式控制位,切换运行模式. 2 通过外部中断或者异常处理过程进行运行模式切换. 注意,用户模式下,不能直接进行处理器模式的切换,需要通过产生异常处理,在异常处理过程中,进行处理器运行模式的切换. ? 2 ARM寄存器 ? ? 未备份寄存器:模式间共用. 备份寄存器:某模式下专有. ? 对程序计数器PC的值的理解: PC指向对于读取级的指令地址,而不是处于执行级的指令地址,

ARM处理器寄存器

参考:ARM Architecture Reference Manual的39页 1.ARM处理器寄存器纵览 ARM微处理器共有37个32位寄存器,其中31个为通用寄存器(R13和R13_svc不是同一个寄存器),6个为状态寄存器.但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式.但在任何时候,通用寄存器R14-R0.程序计数器PC.一个状态寄存器都是可访问的. 1.1.通用寄存器     R0-R15     R13_svc.R14_svc