一、ARM工作模式

1、工作状态
从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:
第一种为 ARM状态, 此时处理器执行32位的字对齐的ARM指令。
第二种为 Thumb状态 ,此时此时处理器执行16位的、半字对齐的ARM指令。
当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;
当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。
在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器的内容。

2、存储器格式
ARM体系结构将存储器看作是从零地址开始的 字节的线性组合 。(按字排列)
从零字节到三字节放置第一个存储的字(32位)数据,从第四个字节到第七个字节放置第二个存储的字数据,依次排列。
作为32位的微处理器,ARM体系结构所支持的最大寻址空间为 4GB
ARM体系结构可以用两种方法存储字数据,称之为 大端格式 小端格式
大端格式:字数据的 高字节 存储在 低地址 中,字数据的 低字节 存放在 高地址 中。
小端格式: 低地址 中存放的是字数据的 低字节 高地址 存放的是字数据的 高字节

3、指令长度
ARM微处理器的指令长度可以是 32位 (在ARM状态下),也可以是16位(在Thumb状态下)。
ARM微处理器中支持字节(8位)、半字(16位)、字(32位)三种数据类型,
其中,字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0)

4、工作模式
ARM微处理器支持7种工作模式,分别为:
(1)用户模式(Usr)
用于正常执行程序。
(2)快速中断模式(FIQ)
用于高速数据传输。
(3)外部中断模式(IRQ)
用于通常的中断模式。
(4)管理模式(svc)
操作系统使用的保护模式
(5)数据访问终止模式(abt)
当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
(6)系统模式(sys)
运行具有特权的操作系统任务。
(7)未定义指令终止模式(und)
当未定义的指令执行时进入该模式,可用于支持硬件

ARM微处理器的运行模式可以 通过软件改变 ,也可以 通过外部中断或异常处理改变
应用程序运行在用户模式下时 ,当时处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。

除用户模式以外, 其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes) ;其中 除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes) ,常用于处理中断或异常,以及需要访问受保护的资源等情况。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值