ARM基础知识(一)

本文介绍了ARM处理器的两种工作状态:ARM状态和Thumb状态,以及两种状态之间的切换方式。接着详细阐述了ARM处理器的7种模式,包括用户模式、系统模式、中断模式等,并解释了特权模式的概念。最后,讲解了ARM指令中的寄存器分布,包括通用寄存器、状态寄存器的特性和不同工作模式下的使用情况。
摘要由CSDN通过智能技术生成

一、ARM处理器的两种工作状态:

1、ARM状态:32位,ARM状态执行字对齐的32位ARM指令。

2、Thumb状态,16位,执行半字对齐的16位3、用Bx Rn指令来进行两种状态的切换: 其中Bx是跳转指令,而Rn是寄存器(1个字,32位),如果Rn的位0为1,则进入Thumb状态;如果Rn的位为0,这进入ARM状态。(原 因:ARM指令的后两位始终为0,没有用,而Thumb指令的后一位始终为0,没有用,因此采用位0来表示ARM指令与Thumb指令的切换标志位。)注:1、ARM和Thumb两种状态之间的切换不影响处理器的工作模式和寄存器的内容。

 2、ARM处理器在处理异常时,不过处理器处于什么状态,则都将切换到ARM状态。(**********)

二、ARM处理器的7种模式:

1、用户模式

2、系统模式 说明:用户模式与系统模式两者使用相同的寄存器,都没有SPSR(Saved Program Statement Register,已保存程序状态寄存器),但系统模式比用户模式有更高的权限。

3、快中断模式(Fast Interrupt Request)

4、一般中断模式(IRQ)

5、管理模式(Supervisor,SVC) 说明:系统复位或开机时则进入到SVC模式下

6、中止(abort) 说明:当遇到软中断(SWI,Software Interrupt)时,也将进入到SVC模式下

7、未定义(undefine)

说明:1、用户模式外,其它6种模式称为特权模式。所谓特权模式,即具有如下权利:a.MRS(把状态寄存器的内容放到通用寄存 器);b.MSR(把通用寄存器的内容放到状态寄存器中)。由于状态寄存器中的内容不能够改变,因此要先把内容复制到通用寄存器中,然后修改通用寄存器中 的内容,再把通用寄存器中的内容复制给状态寄存器中即可完成“修改状态寄存器”的任务。2、剩下的六种模式中除去系统模式外,统称为异常模式。

ARM处理器的7种工作模式

处理器工作模式

    

用户(user,usr)模式

 

正常程序运行模式

快速中断(FIQfiq)模式

异常模式

特权模式privileged modes

快速中断处理

外部中断(IRQirq)模式

普通中断处理

超级用户(supervisorsvc)模式

提供操作系统使用的一种保护模式,swi命令状态

数据访问终止(abortabt)模式

用于虚拟存储和存储保护

未定义指令终止(undefinedund)模式

用于支持通过软件仿真硬件的协处理

系统(systemsys)模式

 

用于运行特权级的操作系统任务


三、ARM指令中有37个寄存器,有31个通用寄存器和6个状态寄存器。 原因:系统模式和用户模式共享相同的寄存器。用户、系统模式没有“保存的程序状态寄存器(SPSR)”,而其他5种模式分别有一个对应的“保存的状态寄存 器(SPSR)”,即共五个SPSR,七个模式共用一个“当时程序状态寄存器(CPSR)”,即共六个状态寄存器,还有31个通用寄存器。

ARM处理器各种工作模式下的寄存器

usr模式

sys模式

svc模式

abt模式

und模式

irq模式

fiq模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值