ARM的编程模式和七种工作模式

一、编程模式:ARM CPU的基本设定、编程时遵守的规则。如CPU所使用指令大小等。
1、ARM基本设定采用32位架构
2、ARM的约定:
Byte 8bits 永远不会变
Halford: 16bits (2byte) 半字
Word: 32 bits
3、大部分ARM core提供ARM指令集(32bit)
Thumb指令集(16bit)
Thumb2指令集(16 或 32bit)
每种汇编指令都是特定CPU的特性,ARM提供了三种指令集都可以编程。
二、ARM处理器工作模式:(7个基本工作模式)
User:(用户模式)非特权模式,大部分任务执行在这种模式(除这以外都是特权模式)
FIQ(快速) 当一个高优先级(fast)中断产生时将会进入该模式
IRQ(普通) 当一个低优先级(normal)产生会进入该模式
supervisor 复位或软中断指令执行时进入该模式(引导启动)
abort 当存取异常时进入这种模式
undef 当执行未定义指令时会进入这种模式
system 使用和user模式相同寄存器集特权模式(内核运行在这种模式)
注意:除user是Normal(普通用户)外,其它六种都是privilege(特殊模式)privilege中除sys模式外,其余5种为异常模式。
各种模式的切换可以是程序员通过代码主动切换(通过写CPSR寄存器);也可以是CPU在某些情况下自动切换(中断来了);各种模式下权限和可以访问的寄存器不同。
三、CPU为什么设计这些模式?
1、CPU是硬件,OS是软件,软件的设计是要依赖硬件的特性,硬件的设计要考虑软件的需要,便于实现软件特性。
2、操作系统有安全级别要求,因此CPU设计多种模式是为了方便操作系统的多种角色安全等级需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值