当前位置:网站首页>ARM处理器模式与寄存器
ARM处理器模式与寄存器
2022-06-12 11:37:00 【fanxiaoyu321】
模式
不同的体系结构所定义的模式是有差异的,不过它们是向后兼容的,下面是ARM920T CPU所支持的处理器模式。
| 模式名称 | 代码 | 描述 |
|---|---|---|
| User(USR) | 10000 | 大部分应用程序运行时所处的用户模式,也叫非特权模式 |
| FIQ | 10001 | FIQ异常中断 |
| IRQ | 10010 | IRQ异常中断 |
| Supervisor(SVC) | 10011 | 管理调用指令被执行或者reset的时候 |
| Monitor(MON) | 10110 | 安全扩展模式,只用于安全 |
| Abort(ABT) | 10111 | 存储访问模式 |
| Hyp(HYP) | 11010 | 虚拟化扩展 |
| Undef(UND) | 10011 | 未定义指令执行的时候 |
| System(SYS) | 11111 | 系统模式,该模式与USR模式共享寄存器 |
上述几个模式除了USR模式外,其它模式都属于特权模式。
寄存器

通用寄存器
R0—R12这13个叫做通用寄存器,一般来说它们可以用作任何用途。
R13:也叫sp,通常用作栈指针,注意每一种模式都有自己的R13寄存器副本。
R14:也叫lr(连接寄存器)。该寄存器有两个用途:一是在子程序调用时,lr用于保存返回地址;二是当异常中断发生时,该异常模式的特定的物理lr寄存器被设置成该异常模式将要返回的地址(这步由硬件自动完成)。
R15:也叫pc,即程序计数器,保存的永远是当前要取址(注意流水线技术)的指令的地址。在ARM状态下,它与当前正在执行的指令的地址相差8个字节(3级流水线)。
状态寄存器
CPSR(当前程序状态寄存器)可以在任何处理器模式下被访问,它包含了条件标志位、中断禁止位、当前处理器模式标志以及其它一些控制和状态位,格式如图所示。此外,每一种异常模式还有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器),当特定的异常发生时,这个寄存器用于保存CPSR的内容,在异常模式返回时,可以用SPSR中保存的值来恢复CPSR。
- M:处理器模式位,通过修改该部分,可以切换处理器工作模式;
- T:标识当前是否正在使用Thumb指令,0为ARM指令模式,1为Thumb指令模式;
- F:FIQ禁用标志位,如果为1,则禁用FIQ,0为打开;
- I:类似的,这是IRQ禁用标志位;
- V:ALU操作溢出标记;
- C:ALU进位标记;
- Z:ALU零位标记;
- N:ALU负数;
指令集
ARM支持如下指令。


指令条件码
几乎所有的ARM指令都可以携带条件码,使得指令只有在条件满足的情况下才执行,支持的条件码如下:

边栏推荐
- Clickhouse column basic data type description
- Reentrantlock source code analysis
- 890. find and replace mode
- mysql的悲观锁和乐观锁
- ReentrantLock源码分析
- 【藍橋杯單片機 國賽 第十一届】
- 十折交叉验证代码中的问题
- Golang Foundation (7)
- AcWing 1986. Mirror (simulation, ring diagram)
- Unlimited growth, we will all go to the future | the 15th anniversary of the founding of InfoQ China
猜你喜欢

B+ 树的简单认识

K52. Chapter 1: installing kubernetes v1.22 based on kubeadm -- cluster deployment

Signal relay rxsf1-rk271018dc110v

6.6 分离卷积

conda环境下pip install 无法安装到指定conda环境中(conda环境的默认pip安装位置)

21 reasons why you need social media QR code

Record the pits encountered when using JPA

M-arch (fanwai 10) gd32l233 evaluation -spi drive DS1302

Clickhouse column basic data type description
![[the 11th national competition of Blue Bridge Cup single chip microcomputer]](/img/da/3c8a9efd5b28f67816f239531a0339.png)
[the 11th national competition of Blue Bridge Cup single chip microcomputer]
随机推荐
Arm cross compilation chain download address
Unlimited growth, we will all go to the future | the 15th anniversary of the founding of InfoQ China
Reentrantlock source code analysis
Differences among various cross compiling tools of arm
FormatConversionTool. exe
Pytoch notes
一个人必须不停地写作,才能不被茫茫人海淹没。
6.6 RL:MDP及奖励函数
Go sends SMS based on alicloud
^34 scope interview questions
人類想要擁有金錢、權力、美麗、永生、幸福……但海龜只想做一只海龜
6.6 分离卷积
【clickhouse专栏】基础数据类型说明
go基于阿里云实现发送短信
AcWing 1986. Mirror (simulation, ring diagram)
Socket Programming TCP
A.前缀极差
视频分类的类间和类内关系——正则化
【数据库】sqlite版本升级、降级
如何查看glibc版本