ARM处理器工作模式
学习ARM处理器参考的首选资料是ARM Architecture Reference Manual,是最专业权威的学习资料。
ARM处理器共有7种工作模式,如表1-1和1-2所示:

表1-1
| 
 处理器工作模式  | 
 特权模式  | 
 异常模式  | 
 说明  | 
| 
 用户(user)模式  | 
 用户程序运行模式  | 
||
| 
 系统(system)模式  | 
 该组模式下可以任意访问系统资源  | 
 运行特权级的操作系统任务  | 
|
| 
 一般中断(IRQ)模式  | 
 通常由系统异常状态切换进该组模式  | 
 普通中断模式  | 
|
| 
 快速中断(FIQ)模式  | 
 快速中断模式  | 
||
| 
 管理(supervisor)模式  | 
 提供操作系统使用的一种保护模式,swi命令状态  | 
||
| 
 中止(abort)模式  | 
 虚拟内存管理和内存数据访问保护  | 
||
| 
 未定义指令终止(undefined)模式  | 
 支持通过软件仿真硬件的协处理  | 
表1-2 ARM处理器工作模式
ARM处理器工作模式可以简单的理解为当前CPU的工作状态。比如:当前操作系统正在执行用户程序,那么此时CPU工作在用户模式,假设网卡上有数据到达,产生中断信号,CPU会自动切换到一般中断模式下处理网卡数据(普通应用程序没有权限直接访问硬件),处理完网卡数据后,再返回到用户模式下继续执行用户程序。
Linux系统用户程序运行在ARM的Usr模式,Linux内核运行在ARM的svc模式!
除用户模式外,其它模式均为特权模式(Privileged Modes)。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。
特权模式中除系统(system)模式之外的其他5种模式又统称为异常模式。它们除了可以通过在特权下的程序切换进入外,也可以由特定的异常进入。比如硬件产生中断信号进入中断异常模式,读取没有权限数据进入中止异常模式,执行未定义指令时进入未定义指令中止异常模式。其中管理模式也称为超级用户模式,是为操作系统提供软中断的特有模式,正是由于有了软中断,用户程序才可以通过系统调用切换到管理模式。

1、用户模式(User):
用户模式是用户程序的工作模式,它运行在操作系统的用户态,它没有权限去操作其它硬件资源,只能执行处理自己的数据,也不能切换到其它模式下,要想访问硬件资源或切换到其它模式只能通过软中断或产生异常。
2、系统模式(System):
系统模式是特权模式,不受用户模式的限制。用户模式和系统模式共用一套寄存器,操作系统在该模式下可以方便的访问用户模式的寄存器,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。
3、一般中断模式(IRQ):
一般中断模式也叫普通中断模式,用于处理一般的中断请求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问系统硬件资源。
4、快速中断模式(FIQ):
快速中断模式是相对一般中断模式而言的,它是用来处理对时间要求比较紧急的中断请求,主要用于高速数据传输及通道处理中。
5、管理模式(Supervisor):
管理模式是CPU上电后默认模式,因此在该模式下主要用来做系统的初始化,软中断处理也在该模式下,当用户模式下的用户程序请求使用硬件资源时通过软件中断进入该模式。
6、终止模式(Abort):
中止模式用于支持虚拟内存或存储器保护,当用户程序访问非法地址,没有权限读取的内存地址时,会进入该模式,linux下编程时经常出现的segment fault通常都是在该模式下抛出返回的。
7、未定义模式(Undefined):
未定义模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式。
ARM处理器工作模式的更多相关文章
- [国嵌笔记][021-022][ARM处理器工作模式]
		
[ARM处理器工作模式] 处理器工作模式 1.User(urs):用户模式,linux应用程序运行在用户模式 2.FIQ(fiq):快速中断模式 3.IRQ(irq):中断模式 4.Superviso ...
 - 【嵌入式开发】ARM 芯片简介 (ARM芯片类型 | ARM处理器工作模式 | ARM 寄存器 |  ARM 寻址)
		
: 12MHz 晶振 对应 405 ~ 532 MHz 处理速度; -- : 16K 指令缓存, 16K 数据缓存; -- : 32KB 指令缓存, 32KB 数据缓存; (3) 内存接口对比 : 提 ...
 - 2.2 ARM处理器工作模式
		
ARM Architecture Reference Manual Arm 指令框架手册 种工作模式 Processor mode Mode number Description User usr 0 ...
 - ARM的工作模式和寄存器
		
以前学的时候学的是S3C6410的开发板,它是三星公司推出的基于ARM v6架构(指令集),处理器是ARM11. ARM架构是构建每个ARM处理器的基础. 目前最新的是ARM v8架构:http:// ...
 - ARM之工作模式
		
前言 以下内容是个人学习之后的感悟,转载请注明出处~ ARM工作模式 ARM工作模式根据功能不同,可分为7类: User Mode:用户模式.操作系统的Task一般以这种模式执行 ...
 - 021ARM处理器工作模式
		
1.User模式:usr,普通应用程序运行的模式: 2.FIQ模式:fiq,快速中断模式,当一个程序正在运行时,突然产生一个中断,而且这种中断属于快速中断,那么将进入快速中断模式下运行: 3.IRQ模 ...
 - Part2_lesson2---ARM处理器工作模式
		
arm公司发布的学习手册:ARM Architecture Reference Manual. 打开之: 找到Programmers' Model->A2.2 Processor modes. ...
 - ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 【转】
		
转自:http://blog.chinaunix.net/uid-28458801-id-3494646.html ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常 ...
 - ARM处理器的寄存器,ARM与Thumb状态,7中运行模式
		
** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式 分类: 嵌入式 ARM处理器工作模式一共有 7 种 : USR 模式 正常用户模式,程序正常执行模式 FIQ模式(Fast ...
 
随机推荐
- 5--OC--构造方法
			
// Created by Stephen on 16/3/2.// Copyright © 2016年 Stephen. All rights reserved.//// 回顾上一章节Perso ...
 - 转:Selenium Grid深入学习
			
应网友要求写一个用Selenium Grid控制多系统多浏览器并行执行test case的例子. 因为我这里有两台机子,我打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub ...
 - 一个设置 material design icon的插件工具
			
一个设置 material design icon的插件工具 github地址:https://github.com/konifar/android-material-design-icon-gene ...
 - git bash退回上一个文件夹
			
cd ..\ a@w3311 MINGW32 /f/Projects/crm (master) $ cd..\ > bash: cd..: command not found a@w3311 M ...
 - alt+shift+j,添加日期、作者等
			
在preference->Java->codestyle->codetemplates->commnets->type 可以编辑如: /** * @author ${us ...
 - C# 经典入门15章-TextBoxControl
			
第一步:设计界面如下:
 - js 中ajax请求时设置 http请求头中的x-requestd-with= ajax
			
今天发现 AngularJS 框架的$http服务提供的$http.get() /$http.post()的ajax请求中没有带 x-requested-with字段. 这样的话,后端的php 就无法 ...
 - css背景图片、隐藏、指针、垂直居中、去除下划线、缩进、列表类型
			
<html><head lang="en"> <meta charset="UTF-8"> <title>< ...
 - service引用
			
已引用 attachmentManager 为例 ApplicationContext applicationContext = WebApplicationContextUtils.getWebAp ...
 - thinkphp5.0 架构
			
1.0 MVC的意义:MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 2.0入口 ...