1.10.ARM的编程模式和7种工作模式

ARM的基本设定:

* ARM采用的是32位架构

* ARM约定:

   - Byte(字节):8bits

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

   - Word(字):32bits(4 Byte) 

* 大部分ARM core提供

   - ARM指令集(32-bit)

   - Thumb指令集(16-bit)

   - Thumb2指令集(16&32 bit)

* Jazelle cores 提供 java bytecode


ARM处理器的7种工作模式:

   - User:非特权模式,大部分任务执行在这种模式下。

   - FIQ:(Fast interrupt Request 快速中断请求),当一个高优先级(fast)中断产生时将进入这种模式。

   - IRQ:(interrupt request 中断请求),当一个低优先级(normal)中断产生时将进入这种模式。

   - Supervisor:当复位或软中断指令执行时将进入这种模式。

   - Abort:当存取异常时将进入这种模式。

   - Undef:当执行未定义指令时将进入这种工作模式。

  - System:使用和User模式相同指令集的特权模式。


注意:

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

* Privilege中除System模式外,其余5种为异常模式。

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

* 各种模式下权限和可以访问的寄存器不同。


CPU为什么设计这些模式?

* CPU是硬件,OS是软件。软件的设计要依赖硬件的特性,硬件的设计要考虑软件的需求,便于实现软件特性。

* 操作系统有安全级别要求,因此CPU设计多种模式是为了方便操作系统的多种角色安全等级需要。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值