ARM编程模式和7种模式

ARM采用的是32位架构

ARM阅读

--Byte:        8   bits

--Halfword:  16  bits(2 byte)  半字

--Word:       32  bits(4 byte)

大部分ARM core提供: core(核心)

–ARM指令集(32 bit) (有些占内存、时间快)

–Thumb指令集(16 bit) (省内存、但是浪费时间)

–Thumb2指令集(16 & 32bit)
(ARM v7(S5PV210) 大概2005年才开始推出)

ARM有7种基本工作模式(6个特权模式和一个用户模式)

—-User(用户模式): 非特权模式,大部分任务执行在这种模式

—-FIQ(快速中断):当一个高优先级(fast)中断产生时将会进入这种模式 – |

—-IRQ(普通中断):当一个低优先级(nomal)中断产生时会进入这种模式 |

—-Supervisor(管理模式):当复位或软中断指令执行时将会进入这种模式 |——-异常模式

—-Abort(异常模式):当存取异常时会进入这种模式 |

—-Under(未定义模式):当执行未定义指令时会进入这种模式 – |

—-System(系统模式):使用和User模式相同寄存器的特权模式

注意:

 除了User(用户模式)是Normal(普通模式)外,其他6种都是Privilege(特权模式)。

 Privilege中除Sys模式外,其余5种为异常模式

 各种模式的切换,可以是程序员通过代码主动切换(通过写CPSR寄存器);也可以是CPU在某些情况下自动切换。

 各种模式下权限和可以访问的寄存器不同。
为什么需要那么多种模式?

CPU 是硬件,OS是软件,软件的设计要依赖硬件的特性,硬件的设计要考虑软件需要,便于实现软件特性。
操作系统有安全级别要求,因此CPU设计多种模式为了方便操作系统的多种角色安全等级需要。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值