历史上的今天

今天是:2024年09月28日(星期六)

2021年09月28日 | ARM体系中的CPSR与SPSR

发布者:Tianyun2021 来源: eefocus关键字:ARM体系  CPSR  SPSR 手机看文章 扫描二维码
随时随地手机看文章

CPSR:程序状态寄存器(current program statusregister) cpsr在用户级编程时用于存储条件码


CPSR包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息。


程序状态寄存器
***************************************************************
CPSR(当前程序状态寄存器)在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。每一种处理器模式下都有一个专用的物理状态寄存器,称为SPSR(备份程序状态寄存器)。当特定的异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容。在异常中断退出时,可以用SPSR来恢复CPSR。由于用户模式和系统模式不是异常中断模式,所以他没有SPSR。当用户在用户模式或系统模式访问SPSR,将产生不可预知的后果。


CPSR格式如下所示。SPSR和CPSR格式相同。
31 30 29 28 27 26 7 6 5 4 3 2 1 0
N Z C V Q DNM(RAZ) I F T M4 M3 M2 M1 M0
***条件标志位***
N——本位设置成当前指令运算结果的bit[31]的值。当两个表示的有符号整数运算时,n=1表示运算结果为负数,n=0表示结果为正书或零。


z——z=1表示运算的结果为零;z=0表示运算的结果不为零。对于CMP指令,Z=1表示进行比较的两个数大小相等。


C——下面分四种情况讨论C的设置方法:
在加法指令中(包括比较指令CMP),当结果产生了进位,则C=1,表示无符号运算发生上溢出;其他情况C=0。
在减法指令中(包括减法指令CMP),当运算中发生错位,则C=0,表示无符号运算数发生下溢出;其他情况下C=1。
对于包含移位操作的非加碱运算指令,C中包含最后一次溢出的的位的数值
对于其他非加减运算指令,C位的值通常不受影响
V——对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号为溢出;通常其他指令不影响V位。


***Q标识位***
在ARMV5的E系列处理器中,CPSR的bit[27]称为q标识位,主要用于指示增强的dsp指令是否发生了溢出。同样的spsr的bit[27]位也称为q标识位,用于在异常中
断发生时保存和恢复CPSR中的Q标识位。
在ARM V5以前的版本及ARM V5的非E系列的处理器中,Q标识位没有被定义。


***CPSR中的控制位***
CPSR的低八位I、F、T、M[4:0]统称为控制位。当异常中断发生时这些位发生变化。在特权级的处理器模式下,软件可以修改这些控制位。
**中断禁止位:当I=1时禁止IRQ中断,当F=1时禁止FIQ中断
**T控制位:T控制位用于控制指令执行的状态,即说明本指令是ARM指令还是Thumb指令。对于ARMV4以更高版本的T系列ARM处理器,T控制位含义如下:
T=0表示执行ARM指令
T=1表示执行Thumb指令
对于ARM V5以及更高版本的非T系列处理器,T控制位的含义如下
T=0表示执行ARM指令
T=1表示强制下一条执行的指令产生未定指令中断
***M控制位***
M控制位控制处理器模式,具体含义如下:
M[4:0] 处理器模式 可访问的寄存器
ob10000 user pc,r14~r0,CPSR
0b10001 FIQ PC,R14_FIQ-R8_FIQ,R7~R0,CPSR,SPSR_FIQ
0b10010 IRQ PC,R14_IRQ-R13_IRQ,R12~R0,CPSR,SPSR_IRQ
0B10011 SUPERVISOR PC,R14_SVC-R13_SVC,R12~R0,CPSR,SPSR_SVC
0b10111 ABORT PC,R14_ABT-R13_ABT,R12~R0,CPSR,SPSR_ABT
0b11011 UNDEFINEED PC,R14_UND-R8_UND,R12~R0,CPSR,SPSR_UND
0b11111 SYSTEM PC,R14-R0,CPSR(ARM V4以及更高版本)
***CPSR中的其他位***
这些位用于将来扩展。应用软件不要操作这些位。

关键字:ARM体系  CPSR  SPSR 引用地址:ARM体系中的CPSR与SPSR

上一篇:ARM的异常处理过程分析(异常向量/工作模式)
下一篇:ARM 中断发生时 PC,LR,SPSR,CPSR寄存器相关问题总结

推荐阅读

Arm以引领安全为己任,加速自动驾驶技术在大众市场部署Arm “安全就绪”(Safety Ready)计划:协助Arm芯片合作伙伴开发车用SoC分核-锁步(Split-Lock):在应用处理器中首次搭载具有颠覆性的安全创新针对7纳米制程进行优化,Cortex-A76AE是全球第一款具有集成安全、高性能、领先效率和防护等IP选项的自动驾驶级处理器Arm今天宣布推出 “安全就绪”(Ar...
本章参考资料:《STM32F4xx 中文参考手册》 USART 章节。学习本章时,配合《STM32F4xx 中文参考手册》 USART 章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。特别说明, 本书内容是以 STM32F42xxx 系列控制器资源讲解。17.1 串口通讯协议简介:物理层: 规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输...
我们的智能手机上有一个叫做蓝牙的功能,可能有些消费者会问,为什么它不叫绿牙、红牙呢,对于这个问题,中国电信进行了解答。图片来源:百度中国电信表示“蓝牙”的名称起源于中世纪丹麦的一位国王Harald Blatand,他曾经一统丹麦、挪威和瑞典。传说这位国王很喜欢吃蓝莓,吃到牙齿都变成蓝色的了,所以被称为“蓝牙王’1998年,爱立信、诺基亚、东芝、...
STM8单片机有自己的独特的终端系统什么是中断?什么是中断源?引发中断的一个事件或者根源就称为中断源。STM8S208RB单片机共有27个中断源:可以分为两大类:1、不可屏蔽中断源 :3个 REST : 此中断时软件和硬件最高级的中断,此中断响应时,其他所有的中断将会被禁止掉,如果想要在开启这个中断必须要执行“RIM”指令来操作。TRAP :此中断时不可以...

史海拾趣

问答坊 | AI 解惑

FPGA开发

请问谁有——FPGA开发全攻略~ 我想看,不知道哪里下载~如果你有,请与我联系~ qq:605514687谢谢~…

查看全部问答∨

evc 如何弹出另一窗口界面???

各位大侠,我想在一个界面上按一个按钮,弹出另一界面,请问应该使用什么函数去调用产生另一个界面呢?…

查看全部问答∨

无源晶振为什么只有一个脚起振?? 高手进!

芯片能正常工作,但是27M无源晶振只有一个输出脚起振,输入脚为0电平。 我示波器是200M的,应该没问题。…

查看全部问答∨

STM32的I2C设计的很不合理!

大家先反映反映自己的看法。 从与 ATMEL ARM7 I2C、 NXP ARM7 I2C 比较的结果看。…

查看全部问答∨

【求助】[B]请问为什么仿真器下装程序时出现Connot load program because flash Emulation Toll not found

请问为什么仿真器下装程序时出现Connot load program because flash Emulation Toll not found,发现知识等不亮,芯片位置我已经放的正确了,请问这有可能是什么原因造成的,恳请高手解答!!…

查看全部问答∨

关于Arduino 一个很简单很简单的设计,知道的请进

我现在需要完成一个很简单的小型设计,学校里的,想请咨询几个问题。就是拿一个Arduino UNO 的板子和L298 Motor Shield ,外加2个马达,实现一艘模型船的前进与后退。我有几个问题想问问先:1,除了我提供1块9V 碱性电池给Arduino Uno供电外,L298 ...…

查看全部问答∨

矢量网络分析仪的技术指标

  矢量网络分析仪的结构   矢量网络分析仪(vector network analyzer),本身自带了一个信号发生器,可以对一个频段进行频率扫描. 如果是单端口测量的话,将激励信号加在端口上,通过测量反射回来信号的幅度和相位,就可以判断出阻抗或者反射情 ...…

查看全部问答∨

STM32 项目外包

一个采用STM32系列芯片做的项目(具体型号待选)提供基本框架源代码和设备驱动,如:LED屏,蓝牙需要写一些功能操作。要求:1.在福州,熟悉stm32系列;2.一定要提出合理的报酬3.写好的源代码归我所有.联系 : qq:1186=394503,  ytianhui# ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved