ARM工作模式

ARM工作模式:

1、   工作状态:ARM状态(32位的字对齐的ARM指令),Thumb状态(16位的半字对齐的Thumb指令);区别ARM指令的长度不一样;

2、   (理解!!!)ARM存储器格式:从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字(32位)数据,依次排列;32位成的微处理器,ARM体系结构所支持的最大寻址空间为4GB。

ARM体系结构可以用两种方式存储字数据,称为:大端格式和小端格式。(ARM11和ARM9采用的是小端存储)

.大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

.小端格式:字数据的低字节存储在低地址中,而字数据的高字节则存放在高地址中。

逻辑高位

80

逻辑低位

   70

例如图:

                   0x8070

 

 

80

70

 

 

 

                               1

  

  

                   (物理地址)0   (小端格式)  数据的逻辑高位放在地     址高位,数据的逻辑低位放在地址低位;   大端格式是相反的;

ARM微处理器的指令长度可以是32位(ARM状态),也可以是16位(Thumb状态);

4字节对齐:

如图:

 

OK

NO

NO

NO

OK

  

4

 

3

 

2

 

1

 

0 满足4的倍数处才可以存储数据

3、工作模式:(死记硬背!!!)

   1. 用户模式(Usr)

          用于正常执行程序

   2. 快速中断模式(FIQ)(处理优先级高一些)

          用于高速数据传输

3. 外部中断模式(IRQ)

  用于通常的中断处理

4.  管理模式(svc)

     操作系统使用的保护模式

 5. 数据访问终止模式(abt)

   当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;

 6. 系统模式(sys)

   运行具有特权的操作系统任务;

 7 .未定义指令中止模式(und)

未定义的指令执行时进入该模式,可用于支持硬件;

      工作模式的切换:1.通过程序员编写软件去控制切换,2.外部的原因引起,例如:在处于Usr模式下运行突然产生串口中断,从Usr模式切换到IRQ模式;

     除用户模式以外,其余的所有的6种模式称为非用户模式或特权模式;

     除用户模式和系统模式以外的5种模式又称为异常模式;

posted @ 2016-05-04 12:02  Bright-Ho~蜗牛~  阅读(266)  评论(0编辑  收藏  举报